:root{-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}html,body,#root{width:100%;height:100%;margin:0;padding:0}*{box-sizing:border-box}.app{color:#1c1d1f;flex-direction:column;width:100vw;height:100vh;display:flex}.topbar{color:#fff;background:#16181b;flex:none;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.brand strong{letter-spacing:.3px}.product-tabs{background:#26282b;border-radius:9px;gap:4px;padding:4px;display:flex}.product-tabs button{color:#cfd2d6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 18px;font-size:13px}.product-tabs button.on{color:#16181b;background:#fff;font-weight:600}.role-switch{align-items:center;gap:8px;font-size:13px;display:flex}.role-switch span{opacity:.7}.role-switch button{color:#cfd2d6;cursor:pointer;background:0 0;border:1px solid #3a3d42;border-radius:7px;padding:6px 14px}.role-switch button.on{color:#16181b;background:#fff;border-color:#fff;font-weight:600}.body{flex:auto;grid-template-columns:1fr 360px;min-height:0;display:grid}.viewport{background:#eef0f2;position:relative}.view-controls{gap:8px;display:flex;position:absolute;top:14px;left:14px}.view-controls button{cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe6;border:1px solid #d3d5d8;border-radius:8px;padding:8px 14px;font-size:13px;box-shadow:0 1px 4px #00000014}.view-controls button.on{color:#fff;background:#16181b;border-color:#16181b}.view-controls button.play{color:#fff;background:#e2571e;border-color:#e2571e;font-weight:600}.view-controls button.rec{color:#b3261e;font-weight:600}.view-controls button.rec.on{color:#fff;background:#b3261e;border-color:#b3261e}.sidebar{background:#fff;border-left:1px solid #e4e6e9;flex-direction:column;gap:22px;padding:20px;display:flex;overflow-y:auto}.configurator h2,.quote h2{margin:0 0 14px;font-size:15px}.field{flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;display:flex}.field>span{color:#6b6e73}.field select,.field input{background:#fff;border:1px solid #d3d5d8;border-radius:8px;padding:9px 10px;font-size:14px}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.segmented{gap:6px;display:flex}.segmented button{cursor:pointer;background:#fff;border:1px solid #d3d5d8;border-radius:8px;flex:1;padding:9px;font-size:13px}.segmented button.on{color:#fff;background:#16181b;border-color:#16181b}.segmented button:disabled{opacity:.45;cursor:not-allowed}.stepper{align-items:center;gap:16px;display:flex}.stepper button{cursor:pointer;background:#f6f7f8;border:1px solid #d3d5d8;border-radius:8px;width:34px;height:34px;font-size:18px}.stepper b{text-align:center;min-width:24px;font-size:16px}.dims{color:#8a8d92;margin:4px 0 0;font-size:12px}.range-blurb{align-items:center;gap:7px;margin:-8px 0 12px;font-size:12px;display:flex}.range-blurb .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.range-notice{background:#fff;border:1px solid;border-radius:8px;margin:-4px 0 14px;padding:8px 10px;font-size:12px;line-height:1.45;animation:.45s both range-flash}@keyframes range-flash{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.range-notice{animation:none}}.check{color:#1c1d1f;cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.check input{cursor:pointer;width:16px;height:16px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #fff;border-radius:50%;width:30px;height:30px;padding:0;box-shadow:0 0 0 1px #d3d5d8}.swatch:hover{box-shadow:0 0 0 1px #8a8d92}.swatch.active{box-shadow:0 0 0 2px #16181b}.quote{border-top:1px solid #e4e6e9;padding-top:18px}.price-hero{text-align:left;margin-bottom:16px}.price-hero .cap{text-transform:uppercase;letter-spacing:1px;color:#8a8d92;font-size:11px}.price-hero .big{margin:2px 0;padding-left:9px;font-size:30px;font-weight:700;line-height:1.1;transition:border-color .25s}.range-tag{letter-spacing:.8px;text-transform:uppercase;color:#fff;vertical-align:2px;border-radius:4px;margin-left:8px;padding:2px 7px;font-size:10px}.price-hero .sub{color:#6b6e73;font-size:13px}.admin{background:#fffdf5;border:1px dashed #c9a227;border-radius:10px;padding:14px}.admin-badge{letter-spacing:1px;color:#8a6d00;background:#fbeeb8;border-radius:5px;margin-bottom:10px;padding:3px 8px;font-size:10px;display:inline-block}.lines{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:12.5px}.lines th{text-align:left;color:#8a8d92;border-bottom:1px solid #eadfb0;padding:3px 4px;font-weight:500}.lines td{border-bottom:1px solid #f0e8cf;padding:4px}.lines td:nth-child(n+2),.lines th:nth-child(n+2){text-align:right}.row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.row.total{border-top:1px solid #eadfb0;margin-top:6px;padding-top:10px;font-size:18px;font-weight:700}.disc-box{background:#f3f5f7;border-radius:8px;margin:10px 0;padding:10px}.disc-box input[type=range]{width:100%}.disc-amt{color:#b3261e;font-weight:600}.disc-input{color:#6b6e73;flex-direction:column;gap:4px;margin-top:6px;font-size:11px;display:flex}.disc-input input{border:1px solid #d3d5d8;border-radius:7px;padding:7px;font-size:13px}.margin-box{margin:12px 0}.margin-head{justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.margin-amt{color:#2e7d32;font-weight:600}.margin-fixed{text-align:right;color:#2e7d32;margin:-2px 0 6px;font-size:12px}.margin-box input[type=range]{width:100%}.margin-inputs{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.quotation{border-top:1px solid #e4e6e9;padding-top:18px}.quotation-head{justify-content:space-between;align-items:baseline;display:flex}.quotation-head h2{margin:0 0 14px;font-size:15px}.quotation .link{color:#3f7f8c;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.quotation-form{gap:8px;margin-bottom:12px;display:grid}.quotation-form label{color:#6b6e73;flex-direction:column;gap:4px;font-size:11px;display:flex}.quotation-form input{background:#fff;border:1px solid #d3d5d8;border-radius:7px;padding:7px 9px;font-size:13px}.quotation-items{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.quotation-items li{background:#f6f7f8;border-radius:8px;grid-template-columns:18px 1fr 52px 24px;align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;display:grid}.quotation-items .n{color:#8a8d92;font-size:11px}.quotation-items .what{flex-direction:column;min-width:0;display:flex}.quotation-items .what b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.quotation-items .what em{color:#8a8d92;font-size:11px;font-style:normal}.quotation-items input{border:1px solid #d3d5d8;border-radius:6px;width:100%;padding:5px;font-size:12px}.quotation-items li>button{color:#8a8d92;cursor:pointer;background:0 0;border:0;font-size:16px;line-height:1}.quotation-items li>button:hover{color:#b3261e}.quotation-actions{gap:8px;margin-top:12px;display:grid}.quotation-actions button{cursor:pointer;background:#fff;border:1px solid #d3d5d8;border-radius:8px;padding:10px;font-size:13px}.quotation-actions button:hover{border-color:#16181b}.quotation-actions .primary{color:#fff;background:#16181b;border-color:#16181b;font-weight:600}.quotation .hint{color:#8a8d92;margin:8px 0 0;font-size:11px}.margin-inputs label{color:#6b6e73;flex-direction:column;gap:4px;min-width:0;font-size:11px;display:flex}.margin-inputs input{border:1px solid #d3d5d8;border-radius:7px;width:100%;min-width:0;padding:7px;font-size:13px}.hint{color:#8a8d92;font-size:12px}.warn{color:#b3261e;font-size:13px}@media (width<=780px){.body{grid-template-rows:48vh 1fr;grid-template-columns:1fr}.sidebar{border-top:1px solid #e4e6e9;border-left:none}}
