.config-layout{--cfg-radius: var(--radius-lg);--cfg-radius-inner: var(--radius-md);--cfg-radius-control: var(--radius-sm);padding-top:calc(var(--navbar-height, 72px) + 1rem);padding-bottom:2.25rem;min-height:100vh;overflow-x:clip}.config-layout>.container{min-width:0}.config-layout .glass,.config-layout .viewport-card,.config-layout .control-panel,.config-layout .uploaded-files-panel,.config-layout .viewport-controls-mini{border-radius:var(--cfg-radius)}.config-header-slim{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;gap:.75rem}.config-header-slim h1{font-size:1.35rem;margin:0;font-weight:700}.settings-placeholder{padding:.5rem .65rem;color:var(--text-dim);font-size:.8rem;text-align:center}.settings-placeholder.hidden,.control-panel.settings-gated #config-form{display:none}.control-panel:not(.settings-gated) .settings-placeholder{display:none}.control-panel:not(.settings-gated) #config-form{display:block}.config-header{text-align:center;margin-bottom:1rem}.config-header h1{font-size:clamp(2rem,6vw,3.5rem);margin:.8rem 0}.config-header p{color:var(--text-secondary);max-width:680px;margin:0 auto;font-size:1.05rem}.config-help-cta{justify-content:center;align-items:center;margin-top:1.25rem;gap:.75rem}.config-help-text{font-size:.9rem;color:var(--text-dim)}.badge{color:var(--brand-orange);text-transform:uppercase;letter-spacing:.25em;font-weight:800;font-size:.75rem;background:#fab01d0d;padding:.4rem 1rem;border-radius:var(--cfg-radius-control);border:1px solid rgba(250,176,29,.2)}.configurator-grid{display:grid;gap:.85rem;align-items:stretch;margin-bottom:1.25rem;min-width:0}.configurator-grid--empty{grid-template-columns:minmax(0,1fr)}.configurator-grid:not(.configurator-grid--empty){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.configurator-grid--empty .viewport-card{height:min(52vh,480px);min-height:300px}.configurator-grid:not(.configurator-grid--empty) .viewport-card{height:min(48vh,400px);min-height:260px}.configurator-left-col{display:flex;flex-direction:column;gap:.65rem;min-width:0}.viewport-card{display:flex;flex-direction:column;height:min(48vh,400px);min-height:260px;min-width:0;overflow:hidden;border:1px solid var(--glass-border)}.dropzone-title{font-size:.88rem;font-weight:600;margin:.35rem 0 .15rem}.dropzone-hint{font-size:.75rem;color:var(--text-dim);margin:0}.dropzone-design{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.06);width:min(100%,22rem)}.dropzone-design-prompt{margin:0;font-size:.75rem;color:var(--text-secondary);line-height:1.35;text-align:center}.no-model-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1rem;text-align:center;background:#0f111aeb;color:var(--text-secondary)}.no-model-placeholder p{margin:0;font-size:.88rem;font-weight:600;color:var(--text-primary)}.no-model-placeholder .placeholder-hint{font-size:.75rem;font-weight:400;color:var(--text-dim)}.field-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0}.part-details-section{display:flex;flex-direction:column;gap:.3rem}.desc-input,.desc-textarea{width:100%;padding:.3rem .45rem;font-size:.82rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-control);color:var(--text-primary);line-height:1.4}.desc-textarea-auto{resize:none;overflow:hidden;min-height:2.25rem}.desc-textarea-sm{min-height:1.75rem}.ref-images-dropzone{border:1px dashed var(--glass-border);border-radius:var(--cfg-radius-control);padding:.4rem;text-align:center;font-size:.75rem;color:var(--text-dim);cursor:pointer}.ref-images-dropzone.dragover{border-color:var(--brand-orange)}.ref-image-previews{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.ref-preview-item{position:relative;width:48px;height:48px}.ref-preview-item img{width:100%;height:100%;object-fit:cover;border-radius:var(--cfg-radius-control)}.ref-preview-remove{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--brand-red);color:var(--text-primary);border:none;font-size:11px;cursor:pointer;line-height:1}.cfg-icon{width:1rem;height:1rem;flex-shrink:0;display:block;color:var(--text-secondary)}.cfg-icon-sm{width:.95rem;height:.95rem}.cfg-icon-lg{width:2rem;height:2rem;color:var(--brand-orange)}.instruction-sub{font-size:.75rem;color:var(--text-dim);font-weight:400;margin-top:.25rem;display:block}.viewport-canvas-container{flex-grow:1;position:relative;cursor:grab}.viewport-canvas-container:active{cursor:grabbing}#three-canvas{width:100%;height:100%;display:block}.upload-dropzone{position:absolute;inset:.6rem;z-index:6;border:2px dashed rgba(250,176,29,.25);border-radius:var(--cfg-radius-inner);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:.75rem;background:#ffffff03;transition:all .3s ease;cursor:pointer;pointer-events:auto}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--brand-orange);background:#fab01d08;box-shadow:inset 0 0 30px #fab01d0d}.upload-icon{width:2.25rem;height:2.25rem;color:var(--text-dim);margin-bottom:.35rem;transition:color .3s}.upload-dropzone:hover .upload-icon{color:var(--brand-orange)}.upload-dropzone p{color:var(--text-secondary);font-size:.82rem;margin:0}.uploaded-files-panel{--order-parts-row-h: 2.05rem;--order-parts-add-row-h: 2.25rem;--order-parts-thead-h: 1.85rem;background:var(--glass-bg);border:1px solid var(--glass-border);padding:.25rem .5rem .4rem;min-width:0}.uploaded-files-panel .order-parts-table-card.data-table-card{background:transparent;border:none;box-shadow:none;padding:0}.uploaded-files-panel .data-table-card__header{padding:.05rem .15rem 0;margin:0;border:none;background:transparent;gap:.25rem;min-height:0}.uploaded-files-panel .data-table-card__header-main{gap:.3rem;align-items:center}.uploaded-files-panel .data-table-card__title{font-size:.65rem;font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-orange);margin:0}.uploaded-files-panel .data-table-card__count{background:var(--brand-orange);color:#000;font-size:.65rem;font-weight:800;padding:.02rem .28rem;border-radius:var(--radius-full);min-width:.95rem;line-height:1.25;text-align:center}.uploaded-files-panel .data-table-scroll{margin-top:0;max-height:none;overflow-x:auto;overflow-y:visible}.uploaded-files-panel .data-table-scroll.order-parts-scroll--locked{max-height:calc(var(--order-parts-thead-h) + (6 * var(--order-parts-row-h)) + var(--order-parts-add-row-h));overflow-x:auto;overflow-y:auto}.order-parts-add-row td{padding:.22rem .35rem .28rem;border-top:1px solid rgba(255,255,255,.06)}.parts-table-add-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:1.65rem;padding:.25rem .5rem;background:#ffffff08;border:1px dashed var(--glass-border);border-radius:var(--cfg-radius-control);color:var(--text-dim);font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.parts-table-add-btn:hover,.parts-table-add-btn:focus-visible{border-color:var(--brand-orange);color:var(--brand-orange);background:#fab01d0d;outline:none}.order-parts-row{cursor:pointer}.order-parts-row.is-selected td{background:#fab01d0f}.order-parts-row.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--brand-orange)}.order-parts-row td[data-col-key=name]{padding:0;height:1px}.order-parts-row .part-name-btn{display:flex;align-items:center;width:100%;min-height:100%;padding:.35rem .5rem;box-sizing:border-box;border-radius:0}.order-parts-row .part-name-btn .order-hover-cell__text{flex:1;min-width:0}.parts-qty-cell{display:inline-flex;align-items:center;gap:.35rem;justify-content:center;width:100%}.part-name-input{width:100%;padding:.15rem .35rem;font-size:.82rem;font-weight:700;background:#ffffff14;border:1px solid var(--brand-orange);border-radius:var(--radius-sm);color:var(--text-primary)}.part-row-remove{background:transparent;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:0;line-height:1}.part-row-remove:hover{color:var(--brand-red)}.file-qty-controls{display:flex;align-items:center;background:#0000004d;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-control);overflow:hidden;height:30px}.fqty-btn{width:26px;height:100%;background:transparent;border:none;color:var(--text-secondary);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.fqty-btn:hover{background:#ffffff0d;color:#fff}.fqty-value{font-size:.82rem;font-weight:700;color:var(--text-primary);width:24px;text-align:center}.control-panel{padding:.5rem;border:1px solid var(--glass-border);height:100%;display:flex;flex-direction:column;min-width:0;max-width:100%}.control-panel-header{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:#00000026;border-bottom:1px solid var(--glass-border);margin:-.5rem -.5rem .4rem;border-top-left-radius:var(--cfg-radius);border-top-right-radius:var(--cfg-radius)}.control-panel-header h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.control-panel-header__title .control-panel-title-btn{display:block;width:100%;text-transform:none;letter-spacing:normal;font-size:.88rem;color:var(--text-primary)}.control-panel-title-btn.is-inert,.settings-gated .control-panel-title-btn{pointer-events:none;cursor:default}.control-panel-title-btn.is-inert:hover,.control-panel-title-btn.is-inert:focus-visible,.settings-gated .control-panel-title-btn:hover,.settings-gated .control-panel-title-btn:focus-visible{border-color:transparent;background:transparent}.control-panel-title-input{width:100%;padding:.15rem .35rem;font-size:.88rem;font-weight:700;background:#ffffff14;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-control);color:var(--text-primary)}.control-panel-header .file-icon{font-size:1rem;color:var(--brand-orange)}.form-section{background:#00000026;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);padding:.4rem .5rem;margin-bottom:.35rem}.cfg-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.cfg-section-title,.form-section h3{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-orange);margin:0;font-weight:700}.cfg-section-hint-link{background:none;border:none;padding:0;font-size:.6rem;font-weight:500;color:#ffffff61;cursor:pointer;text-decoration:none;white-space:nowrap;transition:color .15s;font-family:inherit}.cfg-section-hint-link:hover,.cfg-section-hint-link:focus-visible{color:#fab01dd9;outline:none}.colour-custom-hint{position:relative;display:inline-block;flex-shrink:0;align-self:center}.colour-custom-hint .cfg-section-hint-link{cursor:default}.colour-custom-hint__popover{position:absolute;right:0;left:auto;top:calc(100% + .2rem);z-index:20;min-width:14rem;padding:.45rem .55rem;font-size:.68rem;line-height:1.4;color:var(--text-secondary);background:#14161cfa;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);box-shadow:0 4px 12px #00000073;opacity:0;visibility:hidden;transform:translateY(-2px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}.colour-custom-hint:hover .colour-custom-hint__popover,.colour-custom-hint:focus-within .colour-custom-hint__popover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.colour-custom-hint__popover a{color:var(--brand-orange);font-weight:600;text-decoration:none}.colour-custom-hint__popover a:hover{text-decoration:underline}.material-dropdown-trigger{background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);padding:.35rem .5rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:border-color .15s,background .15s;user-select:none;margin-top:.2rem}.material-dropdown-trigger:hover{border-color:var(--brand-orange);background:#fab01d05}.material-dropdown-trigger:after{content:"";width:10px;height:6px;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;transition:transform .2s;opacity:.7}.material-dropdown-trigger.expanded:after{transform:rotate(180deg)}.materials-dropdown-list{background:#14161cfa;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);padding:.4rem;margin-top:.3rem;box-shadow:0 4px 12px #00000073}.selected-material-info{display:flex;flex-direction:column;gap:.15rem}.selected-material-info .mat-tech{align-self:flex-start;font-size:.65rem;font-weight:800;padding:.1rem .3rem;border-radius:var(--cfg-radius-control);text-transform:uppercase}.selected-material-info .mat-tech[data-tech=FDM]{background:#3b8ea526;color:var(--brand-blue-accent);border:1px solid rgba(59,142,165,.3)}.selected-material-info .mat-tech[data-tech=SLA]{background:#d6404026;color:var(--brand-red);border:1px solid rgba(214,64,64,.3)}.selected-material-info .mat-name{font-size:.85rem;font-weight:700;color:var(--text-primary)}.tech-toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.tech-option-card{position:relative;cursor:pointer;display:block}.tech-option-card input{position:absolute;opacity:0}.tech-card-content{display:flex;flex-direction:column;background:#ffffff05;border:1px solid var(--glass-border);padding:.35rem .5rem;border-radius:var(--cfg-radius-inner);transition:all .2s}.tech-option-card--fdm input:checked+.tech-card-content{border-color:var(--brand-blue-accent);background:#3b8ea514;box-shadow:0 0 12px #3b8ea526}.tech-option-card--sla input:checked+.tech-card-content{border-color:var(--brand-red);background:#d6404014;box-shadow:0 0 12px #d6404026}.tech-title{font-size:.9rem;font-weight:800;color:var(--text-secondary);margin-bottom:.15rem;transition:color .2s}.tech-option-card--fdm input:checked+.tech-card-content .tech-title{color:var(--brand-blue-accent)}.tech-option-card--sla input:checked+.tech-card-content .tech-title{color:var(--brand-red)}.tech-desc{font-size:.65rem;color:var(--text-dim)}.materials-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}.material-option-card{position:relative;cursor:pointer;display:block}.material-option-card input{position:absolute;opacity:0}.material-card-content{display:flex;flex-direction:column;background:#ffffff05;border:1px solid var(--glass-border);padding:.4rem .55rem;border-radius:var(--cfg-radius-inner);transition:all .3s}.material-option-card input:checked+.material-card-content{border-color:var(--brand-orange);background:#fab01d0a;box-shadow:0 0 15px #fab01d1a}.material-tech-badge{align-self:flex-start;font-size:.65rem;font-weight:800;padding:.15rem .4rem;border-radius:var(--cfg-radius-control);margin-bottom:.3rem;text-transform:uppercase}.material-tech-badge[data-tech=FDM]{background:#3b8ea526;color:var(--brand-blue-accent);border:1px solid rgba(59,142,165,.3)}.material-tech-badge[data-tech=SLA]{background:#d6404026;color:var(--brand-red);border:1px solid rgba(214,64,64,.3)}.material-name{font-size:.85rem;font-weight:700;color:var(--text-primary)}.material-brand{font-size:.75rem;color:var(--text-dim)}.material-price{margin-top:.2rem;font-size:.75rem;font-weight:700;color:var(--text-secondary)}.filament-section{padding:.35rem .45rem .3rem}.filament-section .material-dropdown-trigger{margin-top:0;padding:.28rem .45rem}.filament-section .materials-dropdown-list{margin-top:.15rem;padding:.3rem}.filament-colour-row{display:flex;flex-direction:column;align-items:stretch;gap:.12rem;margin-top:.15rem}.filament-colour-picker{width:100%;min-width:0}.filament-colour-row .colour-custom-hint{align-self:flex-end;margin-top:0}.filament-section .color-dropdown-trigger{margin-top:0;width:100%;box-sizing:border-box}.filament-section .colors-dropdown-list{margin-bottom:0}.selected-color-info{display:flex;align-items:center;gap:.5rem;min-width:0}.selected-color-info .color-text{font-size:.85rem;font-weight:700;color:var(--text-primary);text-transform:capitalize}.colors-list{display:flex;flex-direction:column;gap:.25rem}.color-option-card{position:relative;cursor:pointer;display:block}.color-option-card input{position:absolute;opacity:0}.color-option-content{display:flex;align-items:center;gap:.5rem;background:#ffffff05;border:1px solid var(--glass-border);padding:.35rem .5rem;border-radius:var(--cfg-radius-inner);transition:all .2s}.color-option-card:hover .color-option-content{background:#ffffff0a;border-color:#fff3}.color-option-card input:checked+.color-option-content{border-color:var(--brand-orange);background:#fab01d0a;box-shadow:0 0 12px #fab01d1a}.color-option-card input:checked+.color-option-content .color-text{color:#fff;font-weight:700}.color-option-card input:checked+.color-option-content .color-circle{border-color:var(--brand-orange);transform:scale(1.05)}.color-circle{width:1.1rem;height:1.1rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:inline-block;flex-shrink:0;transition:transform .2s,border-color .2s}.color-text{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.no-colors{margin:0;font-size:.75rem;color:var(--text-dim)}.print-option-infill.hidden{display:none}.infill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.05rem}.print-option-label{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.infill-val-badge{color:var(--brand-orange);font-weight:700;font-size:.72rem}.slider-input{width:100%;accent-color:var(--brand-orange);margin:0}.cfg-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal, 1000);display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000a6;backdrop-filter:blur(4px)}.cfg-modal-backdrop.hidden{display:none}.cfg-modal{width:min(100%,28rem);max-height:min(85vh,32rem);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--glass-border)}.cfg-modal--wide{width:min(100%,36rem)}.cfg-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--glass-border)}.cfg-modal__title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary)}.cfg-modal__close{background:none;border:none;color:var(--text-dim);font-size:1.35rem;line-height:1;cursor:pointer;padding:.15rem .35rem;border-radius:var(--cfg-radius-control)}.cfg-modal__close:hover{color:var(--brand-orange);background:#fab01d14}.cfg-modal__body{padding:.85rem 1rem 1rem;overflow-y:auto}.cfg-modal__intro{margin:0 0 .65rem;font-size:.78rem;color:var(--text-dim)}.cfg-modal__footer-note{margin:.75rem 0 0;font-size:.78rem;color:var(--text-secondary)}.cfg-info-block{margin-bottom:.75rem}.cfg-info-block:last-of-type{margin-bottom:0}.cfg-info-block h4{margin:0 0 .25rem;font-size:.82rem;color:var(--brand-orange)}.cfg-info-block p{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-secondary)}.cfg-compare-scroll{overflow-x:auto}.cfg-compare-table{width:100%;border-collapse:collapse;font-size:.75rem}.cfg-compare-table th,.cfg-compare-table td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.cfg-compare-table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-orange);font-weight:700}.cfg-compare-table td{color:var(--text-secondary)}.quantity-counter{display:flex;align-items:center;width:150px;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);overflow:hidden}.qty-btn{width:45px;height:40px;background:transparent;border:none;color:var(--text-primary);font-size:1.2rem;font-weight:700;cursor:pointer;transition:background .3s}.qty-btn:hover{background:#ffffff0d}.quantity-counter input{flex-grow:1;width:50px;height:40px;border:none;background:transparent;color:var(--text-primary);text-align:center;font-family:var(--font-body);font-size:1rem;font-weight:700;appearance:none}.quantity-counter input:focus{outline:none}.estimate-panel{background:#fab01d08;border:1px solid rgba(250,176,29,.15);padding:.45rem .5rem;border-radius:var(--cfg-radius-inner);margin-top:.3rem;margin-bottom:.3rem}.estimate-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-secondary);margin-bottom:.2rem}.estimate-row strong{color:#fff}.estimate-divider{height:1px;background:#fab01d26;margin:.3rem 0}.estimate-row.total{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:.2rem}.estimate-row.total .accent{color:var(--brand-orange)}.estimate-disclaimer{font-size:.68rem;color:var(--text-dim);line-height:1.3;margin:0}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:45px;height:45px;border:4px solid rgba(255,255,255,.05);border-top-color:var(--brand-orange);border-radius:50%;animation:spin 1s infinite linear}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.uploading-indicator{display:inline-flex;align-items:center;gap:.4rem;color:var(--brand-orange);font-size:.75rem;font-weight:700}.spinner-circle{width:12px;height:12px;border:2px solid rgba(250,176,29,.2);border-top-color:var(--brand-orange);border-radius:50%;animation:file-spin .8s infinite linear;display:inline-block}@keyframes file-spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.config-layout .btn-submit-order{padding:.5rem .85rem;font-size:.85rem;margin-top:.5rem}.config-layout #config-form .form-label{margin-bottom:.15rem!important}.mode-toggle-bar{display:flex;justify-content:center;gap:0;margin-bottom:2.5rem;background:#ffffff05;border:1px solid var(--glass-border);border-radius:var(--cfg-radius);overflow:hidden;max-width:500px;margin-left:auto;margin-right:auto}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative}.mode-btn:first-child{border-right:1px solid var(--glass-border)}.mode-btn:hover{background:#ffffff08;color:#fff}.mode-btn.active{background:#fab01d14;color:var(--brand-orange)}.mode-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--brand-orange)}.mode-btn svg{flex-shrink:0}.design-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start;margin-bottom:4rem}.design-images-card,.design-form-card{padding:2.2rem;border:1px solid var(--glass-border);border-radius:var(--cfg-radius)}.design-images-header h3{font-size:1.1rem;margin-bottom:.4rem;color:#fff}.design-images-header p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.optional-tag{font-size:.7rem;color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:.08em;margin-left:.5rem}.design-dropzone{border:2px dashed rgba(250,176,29,.2);border-radius:var(--cfg-radius);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#ffffff03}.design-dropzone:hover,.design-dropzone.dragover{border-color:var(--brand-orange);background:#fab01d08;box-shadow:inset 0 0 30px #fab01d0d}.design-dropzone .upload-icon{width:3rem;height:3rem;color:var(--text-dim);margin-bottom:1rem}.design-dropzone:hover .upload-icon{color:var(--brand-orange)}.design-dropzone p{font-size:.95rem;color:var(--text-secondary);margin-bottom:.3rem}.file-hint{font-size:.75rem;color:var(--text-dim)}.design-image-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.8rem;margin-top:1.2rem}.design-preview-item{position:relative;border-radius:var(--cfg-radius);overflow:hidden;border:1px solid var(--glass-border);background:#0003}.design-preview-item img{width:100%;height:80px;object-fit:cover;display:block}.design-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#d64040d9;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.design-preview-remove:hover{background:#d64040;transform:scale(1.1)}.design-preview-name{display:block;padding:.3rem .4rem;font-size:.65rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-form-card textarea,.design-select{width:100%;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);padding:.9rem 1rem;color:#fff;font-family:var(--font-body);font-size:.9rem;line-height:1.6;resize:vertical;transition:border-color .3s}.design-form-card textarea:focus,.design-select:focus{outline:none;border-color:var(--brand-orange)}.design-form-card textarea::placeholder{color:var(--text-dim)}.design-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.design-select option{background:#1c1f2e;color:#fff}.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.spec-field label{display:block;font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-weight:600}.spec-field input{width:100%;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-inner);padding:.65rem .8rem;color:#fff;font-family:var(--font-body);font-size:.9rem;transition:border-color .3s}.spec-field input:focus{outline:none;border-color:var(--brand-orange)}.spec-field input::placeholder{color:var(--text-dim)}.design-submit-note{display:flex;align-items:flex-start;gap:.8rem;background:#3b8ea50f;border:1px solid rgba(59,142,165,.18);border-radius:var(--cfg-radius);padding:1rem 1.2rem;margin-top:1.5rem;margin-bottom:1.5rem}.design-submit-note svg{flex-shrink:0;color:var(--brand-blue-accent);margin-top:2px}.design-submit-note p{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:1100px)and (min-width:769px){.configurator-grid:not(.configurator-grid--empty){gap:.65rem}.configurator-grid:not(.configurator-grid--empty) .viewport-card{height:min(44vh,380px);min-height:240px}.config-layout .form-section{padding:.35rem .45rem}}@media(max-width:768px){.configurator-grid:not(.configurator-grid--empty),.configurator-grid--empty{grid-template-columns:minmax(0,1fr)}.configurator-grid:not(.configurator-grid--empty) .viewport-card,.configurator-grid--empty .viewport-card,.viewport-card{height:min(44vh,420px)}.control-panel{max-width:none}.design-grid{grid-template-columns:1fr}}@media(max-width:600px){.mode-toggle-bar{max-width:100%}.mode-btn{font-size:.8rem;padding:.75rem 1rem}.specs-grid{grid-template-columns:1fr}}.parametric-notice{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1c1f2ef2;padding:.75rem;z-index:10;box-sizing:border-box}.notice-content{max-width:400px;text-align:center;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--cfg-radius);padding:.85rem .75rem;box-shadow:0 4px 16px #00000059;backdrop-filter:blur(10px)}.notice-icon{display:flex;justify-content:center;margin-bottom:.35rem}.notice-content h3{font-size:.95rem;color:#fff;margin:0 0 .25rem;font-family:var(--font-headings);font-weight:800}.notice-content .filename{font-family:monospace;font-size:.75rem;background:#0000004d;padding:.2rem .5rem;border-radius:var(--cfg-radius-control);color:var(--brand-orange);display:inline-block;margin-bottom:.35rem;word-break:break-all}.notice-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.35;margin:0}.notice-bullet{display:flex;align-items:center;gap:.8rem;text-align:left;margin-bottom:.8rem;font-size:.85rem;color:var(--text-dim)}.notice-bullet span:first-child{color:var(--brand-orange);font-weight:800;font-size:1rem}.viewport-controls-mini{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:.35rem clamp(.3rem,1.5vw,.6rem);margin-top:0;gap:clamp(.2rem,1.2vw,.6rem);min-width:0;max-width:100%;overflow:hidden}.mini-control-item{display:flex;align-items:center;gap:clamp(.15rem,.8vw,.4rem);min-width:0}.mini-control-item.scale-item{flex:1 1 6rem;min-width:0}.mini-control-item.rotation-item,.mini-control-item.place-face-item{flex:0 1 auto;min-width:0}.mini-label{font-family:var(--font-headings);font-size:clamp(.62rem,1.6vw,.75rem);font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;user-select:none;flex-shrink:0}.scale-range-slider-mini{flex:1 1 0;min-width:1.75rem;accent-color:var(--brand-orange);height:6px;border-radius:var(--cfg-radius-control);background:#ffffff26;outline:none;cursor:pointer;-webkit-appearance:none}.scale-range-slider-mini::-webkit-slider-runnable-track{height:6px;border-radius:var(--cfg-radius-control);background:#ffffff26}.scale-range-slider-mini::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--brand-orange);cursor:pointer;margin-top:-4px;transition:transform .1s,background-color .1s}.scale-range-slider-mini::-webkit-slider-thumb:hover{transform:scale(1.2);background:#ffc44d}.mini-val{font-family:monospace;font-size:clamp(.72rem,1.8vw,.85rem);font-weight:700;color:var(--text-primary);min-width:0;text-align:right;flex-shrink:1}.scale-val-editor{display:inline-flex;align-items:center;justify-content:flex-end;gap:.1rem;cursor:text;min-width:0;flex-shrink:1;padding:.15rem clamp(.15rem,.8vw,.35rem);border-radius:var(--cfg-radius-control);transition:background-color .15s,box-shadow .15s}.scale-val-editor:hover,.scale-val-editor:focus-within{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff1f}.scale-val-input{width:2.75ch;min-width:1.65rem;padding:0;border:none;background:transparent;font:inherit;color:inherit;text-align:right;outline:none;-moz-appearance:textfield;appearance:textfield}.scale-val-input::-webkit-outer-spin-button,.scale-val-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scale-val-suffix{flex-shrink:0;user-select:none}.mini-divider{width:1px;height:20px;background:var(--glass-border);flex-shrink:0}.mini-rot-btns{display:flex;gap:clamp(.12rem,.8vw,.4rem);min-width:0}.axis-btn-mini{background:#ffffff0d;border:1px solid var(--glass-border);color:#fff;width:clamp(1.35rem,4.2vw,28px);height:clamp(1.35rem,4.2vw,28px);border-radius:var(--cfg-radius-inner);font-family:var(--font-body);font-size:clamp(.65rem,1.8vw,.8rem);flex-shrink:1;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.axis-btn-mini:hover{background:var(--brand-orange);color:#000;border-color:var(--brand-orange);box-shadow:0 0 8px #fab01d4d}.axis-btn-mini:active{transform:scale(.95)}.btn-place-face-mini{background:#fab01d14;border:1px solid rgba(250,176,29,.3);color:var(--brand-orange);padding:.28rem clamp(.25rem,1.2vw,.6rem);border-radius:var(--cfg-radius-inner);font-family:var(--font-body);font-size:clamp(.62rem,1.7vw,.75rem);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.2rem;transition:all .2s ease;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.btn-place-face-mini:hover,.btn-place-face-mini.active{background:var(--brand-orange);color:#000;border-color:var(--brand-orange);box-shadow:0 0 8px #fab01d4d}.btn-place-face-mini:active{transform:scale(.97)}@media(max-width:480px){.viewport-controls-mini .mini-divider{display:none}.viewport-controls-mini .mini-label{letter-spacing:.02em}}.floating-instruction-overlay{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#141621e6;border:1px solid var(--brand-orange);color:#fff;padding:.8rem 1.5rem;border-radius:var(--cfg-radius);font-size:.9rem;font-weight:600;pointer-events:none;z-index:15;box-shadow:0 8px 32px #00000080;text-align:center;animation:pulse-border 2s infinite}@keyframes pulse-border{0%{border-color:#fab01d66}50%{border-color:#fab01d}to{border-color:#fab01d66}}.cfg-section-title--sm{font-size:.68rem;margin-bottom:.35rem}.summary-panel,.contact-panel{padding:.65rem .75rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}.summary-files-section{display:flex;flex-direction:column;gap:.4rem}.summary-files-list{display:flex;flex-direction:column;gap:.45rem}.summary-file-item{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:.45rem .55rem;border-radius:var(--cfg-radius-control)}.summary-file-item .file-info{flex:1;min-width:0}.summary-file-item .file-name{font-size:.82rem;font-weight:700;color:var(--text-primary);display:block;margin-bottom:.2rem;word-break:break-word}.summary-file-item .file-meta{font-size:.72rem;color:var(--text-dim);font-family:var(--font-body)}.summary-file-item .file-meta--review{color:var(--brand-orange);font-weight:600}.file-desc-snippet{font-size:.72rem;color:var(--text-secondary);margin:.25rem 0 0;line-height:1.35}.file-specs-summary{margin-top:.35rem;font-size:.68rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem}.summary-file-item .file-qty{font-size:.72rem;font-weight:700;white-space:nowrap;background:#fab01d1a;border:1px solid rgba(250,176,29,.2);padding:.15rem .45rem;border-radius:var(--cfg-radius-control);flex-shrink:0}.no-files{font-size:.8rem;color:var(--text-dim);font-style:italic;margin:0}.btn-edit-details{margin-top:.25rem;width:100%;padding:.5rem .85rem;font-size:.85rem}.account-banner{background:#3fb9500f;border:1px solid rgba(63,185,80,.2);border-radius:var(--cfg-radius-control);padding:.45rem .55rem;margin-bottom:.25rem}.account-banner__label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-success, #3fb950)}.account-banner__email{display:block;font-size:.82rem;font-weight:600;margin-top:.15rem}.account-banner__hint{font-size:.72rem;color:var(--text-dim);margin:.25rem 0 0}.guest-login-prompt{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:var(--cfg-radius-control);padding:.5rem .55rem;margin-bottom:.35rem;text-align:center}.guest-login-prompt__text{font-size:.78rem;color:var(--text-secondary);margin:0 0 .45rem;line-height:1.4}.guest-divider{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.guest-divider:before,.guest-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.field-hint{font-size:.72rem;color:var(--text-dim);margin:0 0 .35rem;line-height:1.35}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.field-group{display:flex;flex-direction:column;gap:.2rem}.cfg-input,.cfg-textarea{width:100%;padding:.3rem .45rem;font-size:.82rem;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--cfg-radius-control);color:var(--text-primary);font-family:var(--font-body);line-height:1.4}.cfg-textarea{resize:vertical;min-height:2.5rem}.cfg-input:focus,.cfg-textarea:focus{outline:none;border-color:var(--brand-orange);background:#ffffff12}.terms-section{border-top:1px solid rgba(255,255,255,.06);padding-top:.45rem;margin-top:.15rem}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;position:relative}.checkbox-label input{position:absolute;opacity:0}.checkbox-custom{width:1rem;height:1rem;border:1px solid var(--glass-border);background:#ffffff05;border-radius:3px;display:inline-block;position:relative;flex-shrink:0;margin-top:.1rem}.checkbox-label input:checked+.checkbox-custom{background:var(--brand-orange);border-color:var(--brand-orange)}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;left:.3rem;top:.1rem;width:.25rem;height:.45rem;border:solid black;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-text{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.review-success{padding:1.5rem;text-align:center;max-width:32rem;margin:2rem auto}.review-success h2{margin:0 0 .5rem;font-size:1.25rem}.success-code{font-size:.95rem;margin:0 0 .5rem}.success-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.success-actions{display:flex;flex-direction:column;gap:.5rem;align-items:center}@media(max-width:768px){#review-panel .contact-fields{grid-template-columns:1fr}}
