:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{color:#24313d;cursor:pointer;background:#fff;border:1px solid #b8c3cc}button:hover{border-color:#5d7488}.app-shell{grid-template-columns:minmax(340px,430px) minmax(0,1fr);min-height:100vh;display:grid}.control-panel{background:#f8fafb;border-right:1px solid #cad3dc;height:100vh;padding:22px;overflow:auto}.brand{justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.brand h1{letter-spacing:0;margin:0;font-size:24px;line-height:1.1}.brand p{color:#5d6975;margin:8px 0 0;line-height:1.45}.panel-section{border-top:1px solid #d8e0e7;padding:18px 0}.panel-section h2,.bom-preview h2{text-transform:uppercase;letter-spacing:0;color:#3a4752;margin:0 0 12px;font-size:14px}.field-grid{gap:12px;display:grid}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.nested-fields{margin-top:12px}.field{gap:6px;min-width:0;display:grid}.field span,.toggle span{color:#52616f;font-size:12px}.field input,.field select{color:#1f2933;background:#fff;border:1px solid #c5d0d9;border-radius:6px;width:100%;min-height:38px;padding:8px 10px}.field input:focus,.field select:focus{outline-offset:1px;outline:2px solid #7aa7c7}.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.toggle{background:#fff;border:1px solid #c5d0d9;border-radius:6px;align-items:center;gap:9px;min-height:38px;padding:9px 10px;display:flex}.toggle input{accent-color:#1f6f8b;width:16px;height:16px}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.button-grid button,.saved-load{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 10px;font-weight:650;display:inline-flex}.icon-button{border-radius:6px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;display:inline-flex}.icon-button.danger{color:#9a3412}.saved-list{gap:10px;display:grid}.drawer-dimensions{grid-column:1/-1;gap:10px;display:grid}.shelf-dimensions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.drawer-card{background:#fff;border:1px solid #c5d0d9;border-radius:6px;grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:end;gap:10px;padding:10px;display:grid}.drawer-card strong{color:#263440;align-self:center;font-size:13px}.saved-row{grid-template-columns:1fr auto;gap:8px;display:grid}.saved-load{text-align:left;flex-direction:column;align-items:flex-start}.saved-load strong{font-size:13px}.saved-load span{color:#607080;font-size:12px}.preview-panel{min-width:0;height:100vh;padding:22px;overflow:auto}.summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric{background:#fff;border:1px solid #cbd6df;border-radius:8px;min-width:0;padding:13px 14px}.metric span{color:#667686;margin-bottom:6px;font-size:12px;display:block}.metric strong{overflow-wrap:anywhere;font-size:16px;display:block}.drawing-wrap{background:#fff;border:1px solid #c7d1da;border-radius:8px;padding:14px;overflow:auto}.drawing-sheet{width:100%;min-width:760px;height:auto;display:block}.sheet-bg{fill:#fff}.sheet-border,.title-block,.table-border{fill:none;stroke:#111827;stroke-width:1.4px}.thin-border{stroke-width:.8px}.object-line{fill:none;stroke:#111827;stroke-width:2px}.iso-face,.iso-wheel,.iso-wheel-hub{stroke:#111827;stroke-width:1.15px}.iso-top.iso-topplane,.iso-shelf.iso-topplane{fill:#edf3f6}.iso-top.iso-front,.iso-shelf.iso-front{fill:#d5e0e7}.iso-top.iso-right,.iso-top.iso-left,.iso-shelf.iso-right,.iso-shelf.iso-left{fill:#c5d3dc}.iso-backsplash.iso-front,.iso-backsplash.iso-back,.iso-backsplash.iso-right,.iso-backsplash.iso-left{fill:#dce8ee}.iso-backsplash.iso-topplane{fill:#eff6f8}.iso-leg,.iso-stem{fill:#cfd9df}.iso-footpad,.iso-caster-plate{fill:#e5ecef}.iso-handle{fill:#111827}.iso-drawer.iso-front{fill:#f7f9fa}.iso-drawer.iso-right,.iso-drawer.iso-left,.iso-drawer.iso-topplane{fill:#dfe8ed}.iso-wheel{fill:#d7dee3}.iso-wheel-hub{fill:#fff}.hidden-line,.drawer-line{fill:none;stroke:#111827;stroke-width:1.6px;stroke-dasharray:8 5}.dimension line,.table-grid{stroke:#334155;stroke-width:1px}.dimension text,.label,.note,.table-text,.table-head,.sheet-subtitle,.property-notice,.title-small,.title-value{fill:#1f2933;font-size:14px}.dimension-marker{fill:none;stroke:#334155;stroke-width:1.2px}.sheet-heading{fill:#111827;font-size:30px;font-weight:700}.view-title{fill:#111827;font-size:16px;font-weight:700}.table-head{font-size:12px;font-weight:700}.table-text{font-size:11px}.company-name{fill:#111827;font-size:15px;font-weight:700}.title-small{font-size:11px}.title-value{font-size:12px}.property-notice{font-size:13px}.client-approval-title{fill:#111827;font-size:15px;font-weight:700}.signature-line{stroke:#111827;stroke-width:1.2px}.note{font-size:13px}.bom-preview{background:#fff;border:1px solid #cbd6df;border-radius:8px;margin-top:18px;padding:16px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dde4ea;padding:10px}th{color:#42515f;text-transform:uppercase;letter-spacing:0;background:#f4f7f9;font-size:12px}@media (width<=980px){.app-shell{grid-template-columns:1fr}.control-panel,.preview-panel{height:auto;overflow:visible}.control-panel{border-bottom:1px solid #cad3dc;border-right:0}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.control-panel,.preview-panel{padding:16px}.field-grid.two,.field-grid.three,.toggle-grid,.button-grid,.summary-strip,.drawer-card,.shelf-dimensions{grid-template-columns:1fr}}@media print{body{background:#fff}.control-panel,.summary-strip,.bom-preview{display:none}.app-shell,.preview-panel{height:auto;padding:0;display:block;overflow:visible}.drawing-wrap{border:0;border-radius:0;padding:0;overflow:visible}.drawing-sheet{width:100vw;min-width:0}}
