html{scroll-behavior:smooth}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.main-fade{animation:fadeUp .3s ease-out both}@media (prefers-reduced-motion:reduce){.main-fade{animation:none}}:root{--bg:#111318;--surface:#1c1f27;--surface-2:#252830;--border:#2e3240;--text:#dde1ea;--muted:#7b8099;--accent:#5b8dee;--accent-h:#7aa3f5;--warn:#e8a84e;--err:#e06c75;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--max-width:1200px;--max-prose:800px;--radius:12px;--radius-sm:6px;--sidebar-width:240px;--sidebar-width-collapsed:56px;--sidebar-bg:#161920;--save-bar-height:60px;--success:#3ecf8e;--focus-ring:0 0 0 2px var(--accent-h);--hover-tint:rgba(255,255,255,0.04)}html[data-theme=light]{--bg:#f5f6f8;--surface:#ffffff;--surface-2:#eef0f3;--border:#d4d8e2;--text:#111318;--muted:#5a6078;--accent:#2a65d8;--accent-h:#1a52c0;--warn:#b87a1a;--err:#c0303b;--sidebar-bg:#f0f1f4;--success:#1a9e62;--hover-tint:rgba(0,0,0,0.05)}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.layout{min-height:100vh;display:flex;flex-direction:column;padding:var(--space-6) var(--space-5);max-width:1440px;margin:0 auto}.header h1{font-size:1.5rem;font-weight:600;margin:0 0 var(--space-6);letter-spacing:-.02em}.columns{display:grid;grid-template-columns:360px 1fr;grid-gap:var(--space-5);gap:var(--space-5);flex:1 1;align-items:start}.left-panel{gap:var(--space-4)}.left-card,.left-panel{display:flex;flex-direction:column}.left-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.section{padding:var(--space-4) 0;border-top:1px solid var(--border)}.section:first-child{border-top:none;padding-top:0}.section:last-child{padding-bottom:0}.right-col{display:flex;flex-direction:row;gap:var(--space-4);align-self:stretch}.right-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:520px;flex:1 1;min-width:0;position:-webkit-sticky;position:sticky;top:var(--space-5)}.drop-zone,.right-panel{display:flex;align-items:center;justify-content:center}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-5) var(--space-4);min-height:80px;text-align:center;cursor:pointer;color:var(--muted);font-size:.88rem;transition:border-color .15s,background .15s,color .15s;flex-direction:column;gap:var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.drop-zone.drag-over,.drop-zone:hover{border-color:var(--accent);background:rgba(91,141,238,.06);color:var(--text)}.drop-zone.has-file{border-style:solid;border-color:var(--accent);color:var(--text)}.drop-zone:focus-visible{outline:2px solid var(--accent-h);outline-offset:2px}.drop-icon{font-size:1.4rem}.file-name{font-size:.82rem;word-break:break-all}.field{display:flex;flex-direction:column;gap:var(--space-2);border:none;padding:0;margin:0}.field-label{font-size:.78rem;font-weight:500;color:var(--muted)}.select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);height:40px;padding:0 var(--space-3);font-size:.88rem;font-family:var(--font);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;transition:border-color .15s;width:100%}.select:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-h);outline-offset:2px}.dims-hint{font-size:.82rem;color:var(--muted);margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.warn-box{margin:0;font-size:.8rem;color:var(--warn);padding:var(--space-2) var(--space-3);background:rgba(232,168,78,.08);border:1px solid rgba(232,168,78,.25);border-radius:var(--radius-sm)}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.material-card{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center}.material-card:hover{border-color:var(--muted)}.material-card.selected{border-color:var(--accent);background:var(--accent);color:#fff}.material-card:focus-within{outline:2px solid var(--accent-h);outline-offset:2px}.material-other{border-style:dashed}.material-other.selected{border-style:solid;border-color:var(--warn);background:rgba(232,168,78,.15);color:var(--warn)}.material-name{font-size:.8rem;font-weight:500}.qty-input{gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.qty-btn,.qty-input{display:flex;align-items:center}.qty-btn{background:none;border:none;color:var(--text);font-size:1.1rem;width:40px;height:40px;cursor:pointer;justify-content:center;transition:background .15s;font-family:var(--font)}.qty-btn:hover{background:rgba(91,141,238,.1)}.qty-btn:focus-visible{outline:2px solid var(--accent-h);outline-offset:-2px}.qty-value{background:none;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--text);font-size:.88rem;font-family:var(--font);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;width:60px;height:40px;outline:none;-moz-appearance:textfield}.qty-value::-webkit-inner-spin-button,.qty-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-value:focus-visible{background:rgba(91,141,238,.06)}.lead-time-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.lead-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lead-card:hover{border-color:var(--muted)}.lead-card.selected{border-color:var(--accent);background:var(--accent);color:#fff}.lead-card:focus-within{outline:2px solid var(--accent-h);outline-offset:2px}.lead-title{font-size:.85rem;font-weight:500}.lead-desc{font-size:.72rem;opacity:.8}.err-box{margin:0;font-size:.82rem;color:var(--err);padding:var(--space-2) var(--space-3);background:rgba(224,108,117,.08);border:1px solid rgba(224,108,117,.25);border-radius:var(--radius-sm)}.result-section{display:flex;flex-direction:column;gap:var(--space-3)}.result-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-label{color:var(--muted)}.result-divider{border:none;border-top:1px solid var(--border);margin:0}.price-section{display:flex;flex-direction:column;gap:var(--space-2)}.vat-note{font-size:.72rem;font-weight:400;color:var(--muted)}.vat-input-row{display:flex;gap:var(--space-2);align-items:center}.vat-validate-btn{height:42px;padding:0 var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.85rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:border-color .15s;white-space:nowrap}.vat-validate-btn:hover:not(:disabled){border-color:var(--accent)}.vat-validate-btn:disabled{opacity:.5;cursor:default}.vat-valid{color:var(--success)}.vat-invalid,.vat-valid{font-size:.82rem;margin:var(--space-1) 0 0}.vat-invalid{color:var(--err)}.fiscal-toggle{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.fiscal-option{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);cursor:pointer;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,color .15s}.fiscal-option input[type=radio]{display:none}.fiscal-option.fiscal-active{border-color:var(--accent);color:var(--text)}.vat-breakdown{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:var(--space-2) 0}.discount-badge{display:inline-block;margin-left:var(--space-2);padding:1px var(--space-2);font-size:.7rem;font-weight:600;color:var(--success);background:rgba(62,207,142,.12);border-radius:var(--radius-sm);vertical-align:middle}.result-total{font-size:2.2rem;font-weight:700;letter-spacing:-.04em;text-align:center;padding:var(--space-1) 0 0;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-lead{font-size:.78rem;color:var(--muted);text-align:center}.details-toggle{border-top:1px solid var(--border);padding-top:var(--space-3)}.details-toggle summary{font-size:.78rem;color:var(--muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.details-toggle summary::-webkit-details-marker{display:none}.details-toggle summary:before{content:"\25B8";display:inline-block;transition:transform .15s}.details-toggle[open] summary:before{transform:rotate(90deg)}.details-toggle summary:focus-visible{color:var(--text)}.details-body{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.details-body .result-row{font-size:.8rem;color:var(--muted)}.preview-placeholder{color:var(--muted);font-size:.88rem;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.placeholder-icon{font-size:2rem;opacity:.35}.preview-loading{color:var(--muted);font-size:.85rem}.viewer-hint{position:absolute;bottom:var(--space-3);left:50%;transform:translateX(-50%);font-size:.72rem;color:var(--muted);background:rgba(17,19,24,.75);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);pointer-events:none;opacity:1;transition:opacity .5s;z-index:10}.viewer-hint.hidden{opacity:0}.viewer-toolbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:rgba(17,19,24,.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.viewer-toolbar button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.viewer-toolbar button:hover{border-color:var(--accent);color:var(--text)}.viewer-toolbar button.active{border-color:var(--accent);color:var(--accent)}.toolbar-btn-sm{width:28px!important;height:28px!important;font-size:.65rem}.mirror-label{font-size:.6rem;font-weight:600;letter-spacing:-.02em}.toolbar-divider{width:1px;height:20px;background:var(--border);flex-shrink:0}.toolbar-icon{color:var(--muted);flex-shrink:0}.scale-inputs{gap:6px}.scale-field,.scale-inputs{display:flex;align-items:center}.scale-field{gap:2px}.scale-field label{font-size:.62rem;color:var(--muted);font-weight:600}.scale-field input{width:52px;padding:2px 4px;font-size:.68rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-align:right}.scale-field input:focus{border-color:var(--accent);outline:none}.scale-pct{font-size:.6rem;color:var(--muted)}.lock-btn{width:24px!important;height:24px!important;padding:0!important}.toolbar-checkbox{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:.68rem;color:var(--muted);white-space:nowrap}.toolbar-checkbox input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.toolbar-checkbox svg{flex-shrink:0}.toolbar-checkbox-label{font-weight:500}.hollow-thickness{display:flex;align-items:center;gap:4px}.thickness-label{font-size:.62rem;color:var(--muted);font-weight:500;white-space:nowrap}.thickness-input{width:52px;padding:2px 4px;font-size:.68rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-align:right}.thickness-input:focus{border-color:var(--accent);outline:none}.thickness-unit{font-size:.6rem;color:var(--muted)}.viewer-dims{margin-left:auto;font-size:.68rem;color:var(--muted);white-space:nowrap;flex-shrink:0}@media (max-width:768px){.viewer-toolbar{gap:var(--space-1);padding:var(--space-1) var(--space-2);flex-wrap:wrap}.viewer-dims{display:none}.scale-field input{width:44px}.scale-field label{display:none}}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0}.skel-line{height:14px;background:var(--surface-2);border-radius:var(--radius-sm);animation:pulse 1.5s ease-in-out infinite}.w40{width:40%}.w60{width:60%}.w80{width:80%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.skel-line{animation:none;opacity:.7}}.progress-bar-wrap{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin:var(--space-3) 0 var(--space-2)}.progress-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease-out}.progress-bar-indeterminate .progress-bar-fill{width:40%;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}@media (prefers-reduced-motion:reduce){.progress-bar-indeterminate .progress-bar-fill{animation:none;width:100%;opacity:.4}.progress-bar-fill{transition:none}}.verify-section{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.email-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);height:40px;padding:0 var(--space-3);font-size:.88rem;font-family:var(--font);outline:none;width:100%;transition:border-color .15s}.email-input:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-h);outline-offset:2px}.email-input::placeholder{color:var(--muted)}.privacy-consent-label{display:flex;align-items:flex-start;gap:var(--space-2);font-size:.82rem;color:var(--text);cursor:pointer;line-height:1.4}.privacy-consent-checkbox{margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.privacy-consent-text a{color:var(--accent);text-decoration:underline}.privacy-consent-text a:hover{color:var(--accent-h)}.request-btn{height:40px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:background .15s;width:100%}.request-btn:hover:not(:disabled){background:var(--accent-h)}.request-btn:disabled{opacity:.5;cursor:default}.request-btn:focus-visible{outline:2px solid var(--accent-h);outline-offset:2px}.sent-box{margin:0;font-size:.85rem;color:var(--success);padding:var(--space-2) var(--space-3);background:rgba(62,207,142,.08);border:1px solid rgba(62,207,142,.25);border-radius:var(--radius-sm)}.funnel-progress{gap:0;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.funnel-progress,.funnel-step{display:flex;align-items:center}.funnel-step{gap:var(--space-2);flex:1 1;min-width:0}.funnel-node{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0;transition:background .25s,border-color .25s,color .25s;border:2px solid var(--border);color:var(--muted);background:transparent}.funnel-step.done .funnel-node{background:var(--success);border-color:var(--success);color:#fff}.funnel-step.active .funnel-node{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px rgba(91,141,238,.2)}.funnel-label{font-size:.75rem;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}.funnel-step.done .funnel-label{color:var(--success)}.funnel-step.active .funnel-label{color:var(--text)}.funnel-connector{flex:1 1;height:2px;background:var(--border);margin:0 var(--space-2);border-radius:1px;transition:background .4s;flex-shrink:0;min-width:16px}.funnel-connector.done{background:var(--success)}.discount-hint{font-size:.75rem;color:var(--success);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}.discount-hint-icon{font-size:.8rem}.express-badge{display:inline-block;margin-left:var(--space-2);padding:1px var(--space-2);font-size:.68rem;font-weight:600;color:var(--warn);background:rgba(232,168,78,.1);border-radius:var(--radius-sm);vertical-align:middle}.tech-card-popular{display:inline-block;font-size:.65rem;font-weight:700;color:var(--success);background:rgba(62,207,142,.12);border:1px solid rgba(62,207,142,.25);border-radius:var(--radius-sm);padding:2px 8px;margin-bottom:var(--space-2);letter-spacing:.05em;text-transform:uppercase}@keyframes priceReveal{0%{opacity:0;transform:scale(.85) translateY(4px)}60%{transform:scale(1.04) translateY(-1px)}to{opacity:1;transform:scale(1) translateY(0)}}.price-reveal{animation:priceReveal .4s cubic-bezier(.34,1.56,.64,1) both}@media (prefers-reduced-motion:reduce){.price-reveal{animation:none}}.success-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--space-5);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:fadeUp .35s ease-out both}@keyframes checkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.success-check-wrap{width:72px;height:72px;border-radius:50%;background:rgba(62,207,142,.12);border:2px solid rgba(62,207,142,.3);display:flex;align-items:center;justify-content:center;animation:checkPop .5s cubic-bezier(.34,1.56,.64,1) both}@media (prefers-reduced-motion:reduce){.success-check-wrap{animation:none}}.success-check-icon{color:var(--success)}.success-title{font-size:1.3rem;font-weight:700;margin:0;color:var(--text);letter-spacing:-.02em}.success-subtitle{font-size:.9rem;color:var(--muted);margin:calc(-1 * var(--space-3)) 0 0;max-width:360px}.success-what-next{width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.success-what-next-title{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-1)}.success-step{display:flex;align-items:flex-start;gap:var(--space-3);font-size:.85rem;color:var(--text)}.success-step-num{width:22px;height:22px;border-radius:50%;background:rgba(91,141,238,.15);border:1px solid rgba(91,141,238,.3);color:var(--accent);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.success-actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.success-new-quote-btn{height:42px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;font-family:var(--font);cursor:pointer;transition:background .15s;width:100%}.success-new-quote-btn:hover{background:var(--accent-h)}.success-new-quote-btn:focus-visible{outline:2px solid var(--accent-h);outline-offset:2px}.success-link-row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.success-copy-btn{height:36px;padding:0 var(--space-4);background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;font-family:var(--font);cursor:pointer;transition:border-color .15s;display:flex;align-items:center;gap:var(--space-2)}.success-copy-btn:hover{border-color:var(--accent)}@media (max-width:768px){.layout{padding:20px var(--space-4)}.columns{grid-template-columns:1fr}.right-col{flex-direction:column;order:-1}.right-panel{height:260px;position:static}.review-col{position:static;max-height:none;overflow-y:visible;width:100%}.left-card{padding:var(--space-4)}.material-grid{gap:var(--space-1)}.material-card{padding:var(--space-2) var(--space-2)}.material-name{font-size:.72rem}.qty-btn{width:44px}.qty-btn,.qty-value{height:44px}.lead-card{padding:var(--space-4) var(--space-3)}}.admin-wrap{padding:var(--space-5);max-width:1100px;margin:0 auto}.admin-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.admin-title{font-size:1.2rem;font-weight:600;margin:0;color:var(--text)}.admin-settings-link{font-size:.82rem;color:var(--muted);text-decoration:none;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,color .15s}.admin-settings-link:hover{border-color:var(--accent);color:var(--text)}.admin-logout-btn{font-size:.82rem;color:var(--muted);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;transition:border-color .15s,color .15s}.admin-logout-btn:hover{border-color:var(--err);color:var(--err)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;color:var(--text)}.admin-table th{text-align:left;color:var(--muted);font-weight:500;white-space:nowrap}.admin-table td,.admin-table th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.admin-table td{vertical-align:middle}.admin-table tr:hover td{background:var(--surface-2)}.td-file{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-actions{display:flex;gap:var(--space-2);align-items:center}.badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.badge-draft{background:var(--hover-tint);color:var(--muted)}.badge-requested{background:rgba(91,141,238,.15);color:var(--accent)}.badge-confirmed{background:rgba(62,207,142,.12);color:var(--success)}.badge-rejected{background:rgba(239,68,68,.12);color:var(--err)}.action-btn{height:28px;padding:0 var(--space-2);font-size:.78rem;font-weight:600;font-family:var(--font);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:border-color .15s}.action-btn:hover{border-color:var(--accent)}.action-confirm{border-color:rgba(62,207,142,.4);color:var(--success)}.action-confirm:hover{background:rgba(62,207,142,.08)}.action-reject{border-color:rgba(239,68,68,.4);color:var(--err)}.action-reject:hover{background:rgba(239,68,68,.08)}.action-delete{background:none;border:none;color:var(--muted);font-size:1.2rem;font-weight:700;cursor:pointer;padding:0 6px;line-height:1;transition:color .15s}.action-delete:hover{color:var(--err)}.stats-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}.stat-card{flex:1 1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}.stat-value{font-size:1.6rem;font-weight:700;letter-spacing:-.04em;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:.75rem;color:var(--muted);margin-top:var(--space-1);font-weight:500}.stat-sub{font-size:.72rem;color:var(--muted);opacity:.7;margin-top:2px}.stats-chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.stats-chart-title{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.stats-bars{display:flex;gap:var(--space-2);align-items:flex-end;height:80px}.stats-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);height:100%}.stats-bar-track{flex:1 1;width:100%;display:flex;align-items:flex-end}.stats-bar-fill{width:100%;background:var(--accent);opacity:.7;border-radius:3px 3px 0 0;min-height:2px;transition:opacity .15s}.stats-bar-col:hover .stats-bar-fill{opacity:1}.stats-bar-label{font-size:.65rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stats-mat-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.stats-mat-table{width:100%;border-collapse:collapse;font-size:.83rem}.stats-mat-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.75rem}.stats-mat-table td,.stats-mat-table th{padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--border)}.stats-mat-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-mat-table tr:last-child td{border-bottom:none}.slicing-hint{margin:0;font-size:.78rem;color:var(--muted);text-align:center;padding-bottom:var(--space-2)}.part-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3);cursor:pointer;transition:border-color .15s;display:flex;flex-direction:column;gap:var(--space-3)}.part-card:hover,.part-selected{border-color:var(--accent)}.part-selected{box-shadow:0 0 0 1px var(--accent)}.part-header{display:flex;justify-content:space-between;align-items:center}.part-label{font-size:.82rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.share-btn{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;padding:3px 10px;background:rgba(91,141,238,.1);border:1px solid rgba(91,141,238,.3);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-family:var(--font);font-weight:600;transition:background .15s,border-color .15s;white-space:nowrap}.share-btn svg{flex-shrink:0}.share-btn:hover{background:rgba(91,141,238,.18);border-color:var(--accent)}.review-col{width:300px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:var(--space-5);max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:none}.review-col::-webkit-scrollbar{width:0}.collapse-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s;padding:0}.collapse-btn:hover{color:var(--text)}.collapse-btn svg{transition:transform .2s}.collapse-btn:not(.expanded) svg{transform:rotate(-90deg)}.part-summary{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;padding-top:var(--space-1)}.part-summary-info{color:var(--muted)}.part-summary-price{color:var(--text);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.part-summary-status{color:var(--accent);font-size:.78rem}.part-summary-error{color:var(--err);font-size:.78rem}.remove-part-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--err);border-color:var(--err);cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.remove-part-btn:hover{opacity:.7}.drop-zone-compact{display:flex;align-items:center;justify-content:center;padding:var(--space-4);border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.drop-zone-compact:hover{border-color:var(--accent);color:var(--text)}.part-result{display:flex;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border)}.result-row-total{font-weight:700;color:var(--text)}.add-part-btn{width:100%;padding:var(--space-3);background:transparent;border:2px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-size:.88rem;font-family:var(--font);cursor:pointer;transition:border-color .15s,color .15s;margin-bottom:var(--space-4)}.add-part-btn:hover{border-color:var(--accent);color:var(--accent)}.notes-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);color:var(--text);font-size:.9rem;font-family:var(--font);resize:vertical;transition:border-color .15s}.notes-input:focus{outline:none;border-color:var(--accent)}.tech-landing{text-align:center;padding:var(--space-8) 0}.tech-title{font-size:1.5rem;font-weight:600;margin:0;letter-spacing:-.02em}.tech-subtitle{color:var(--muted);font-size:.9rem;margin:var(--space-2) 0 0}.tech-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-5);gap:var(--space-5);margin-top:var(--space-7)}.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);cursor:pointer;transition:border-color .2s,transform .2s}.tech-card:hover{border-color:var(--accent);transform:translateY(-2px)}.tech-card-disabled{opacity:.45;cursor:default;pointer-events:none}.tech-card-abbr{font-size:2rem;font-weight:800;letter-spacing:.06em;color:var(--accent);line-height:1}.tech-card-title{font-size:1rem;font-weight:600;margin:0;color:var(--text)}.tech-card-desc{font-size:.82rem;color:var(--muted);margin:0;line-height:1.4}.tech-card-btn{display:inline-block;padding:var(--space-2) var(--space-5);background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;transition:background .15s;margin-top:auto}.tech-card:hover .tech-card-btn{background:var(--accent-h)}.tech-card-formats{font-size:.72rem;color:var(--muted)}.tech-badge{display:inline-block;padding:2px 12px;background:rgba(91,141,238,.12);color:var(--accent);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.back-btn{background:none;border:none;color:var(--muted);font-size:.82rem;font-family:var(--font);cursor:pointer;padding:0;margin-bottom:var(--space-3);transition:color .15s}.back-btn:hover{color:var(--text)}.sls-badge{padding:var(--space-2) var(--space-3);background:rgba(232,168,78,.1);border:1px solid rgba(232,168,78,.3);border-radius:var(--radius-sm);color:var(--warn);font-size:.82rem;font-weight:600;text-align:center}.sls-review-msg{font-size:.85rem;color:var(--warn);margin:0;padding:var(--space-3);background:rgba(232,168,78,.08);border:1px solid rgba(232,168,78,.2);line-height:1.5}.risk-warning,.sls-review-msg{border-radius:var(--radius-sm)}.risk-warning{font-size:.82rem;margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);line-height:1.4}.risk-medium{color:var(--warn);background:rgba(232,168,78,.08);border:1px solid rgba(232,168,78,.2)}.slice-now-btn{width:100%;padding:14px 24px;font-size:1rem;font-weight:600;font-family:var(--font);border:2px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);cursor:not-allowed;transition:all .25s ease;letter-spacing:.02em}.slice-now-btn.slice-now-ready{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer;animation:slicePulse 2s ease-in-out infinite}.slice-now-btn.slice-now-ready:hover{background:var(--accent-h);border-color:var(--accent-h)}.slice-now-btn.slice-now-slicing{background:var(--surface-2);border-color:var(--border);color:var(--muted);cursor:wait}.slice-now-btn.slice-now-done{background:rgba(62,207,142,.08);border-color:rgba(62,207,142,.25);color:var(--success);cursor:default}@keyframes slicePulse{0%,to{box-shadow:0 0 0 0 rgba(91,141,238,.4)}50%{box-shadow:0 0 0 8px rgba(91,141,238,0)}}@media (prefers-reduced-motion:reduce){.slice-now-btn.slice-now-ready{animation:none}}@media (max-width:768px){.tech-cards{grid-template-columns:1fr}.tech-landing{padding:var(--space-5) 0}}