.room-builder-page{max-width:1480px}
.space-builder-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:26px}
.space-builder-intro h1{max-width:980px;margin:12px 0 12px;font-size:clamp(2.55rem,6vw,5.2rem);line-height:.95;letter-spacing:-.06em}
.space-builder-intro p{max-width:850px;margin:0;color:var(--muted);font-size:1.08rem}
.space-builder-intro .review-stamp{justify-content:flex-end;border:0;padding:0;max-width:360px}
.space-builder{border:1px solid #bac7d4;border-radius:12px;background:#f3f6f9;box-shadow:0 22px 54px rgba(11,23,40,.14);overflow:hidden}
.builder-commandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:#0d2036;color:#fff;border-bottom:1px solid #263d59}
.tool-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.builder-commandbar button,.plan-panel button,.stage-head button,.plan-storage button,.calculator-handoffs button{border:1px solid #8191a4;border-radius:5px;background:#fff;color:#152b49;padding:8px 10px;font:800 .76rem inherit;cursor:pointer}
.builder-commandbar button{border-color:#53677e;background:#17324f;color:#e8f0f8}
.builder-commandbar button:hover,.builder-commandbar button.active{background:#d84c23;border-color:#ff8a67;color:#fff}
.builder-commandbar button:disabled,.plan-panel button:disabled{opacity:.42;cursor:not-allowed}
.tool-group.compact button{background:#10263f}
.builder-workspace{display:grid;grid-template-columns:260px minmax(480px,1fr) 280px;min-height:690px}
.plan-panel{background:#f8fafc;min-width:0}
.floor-panel{border-right:1px solid #c8d2dd}.inspector-panel{border-left:1px solid #c8d2dd}
.panel-section{padding:17px;border-bottom:1px solid #d6dee7}
.panel-section>label,.panel-section .inline-fields label,.assumption-grid label,.storage-controls label{display:grid;gap:5px;color:#2b3749;font-size:.75rem;font-weight:800}
.panel-section input,.panel-section select,.assumption-grid input,.assumption-grid select,.storage-controls input,.storage-controls select{min-width:0;width:100%;border:1px solid #b7c3cf;border-radius:5px;background:#fff;padding:9px 10px;color:#15243a;font:inherit}
.panel-section input:focus,.panel-section select:focus,.assumption-grid input:focus,.storage-controls input:focus,.storage-controls select:focus{outline:3px solid #dce6ff;border-color:#254f84}
.panel-kicker{display:block;margin-bottom:5px;color:#a53617;font-size:.66rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading strong{display:block;font-size:.9rem}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.inline-fields small,.assumption-grid small{color:#77869a;font-size:.64rem;font-weight:650}
.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:8px!important;margin-top:12px!important;font-weight:700!important;line-height:1.35}.check-line input{width:auto!important;margin:2px 0 0}
.floor-tabs{display:grid;gap:6px}.floor-tab{display:flex!important;justify-content:space-between;width:100%;text-align:left}.floor-tab.active{background:#152e4c;color:#fff;border-color:#152e4c}.floor-tab small{font-weight:650;opacity:.75}
.mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}
.mini-actions+label{margin-top:11px}
.room-list{display:grid;gap:6px;margin-bottom:10px}.room-list button{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;text-align:left}.room-list button.active{background:#e8f0f8;border-color:#294e78}.room-swatch{width:10px;height:10px;border-radius:2px}.room-list small{font-weight:650;color:#68788d}.room-list .exclusion .room-swatch{background:#c64927!important}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.template-grid button{font-size:.7rem}
.plan-stage{display:grid;grid-template-rows:auto 1fr auto;min-width:0;background:#eef3f7}
.stage-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;background:#fff;border-bottom:1px solid #c9d4df}.stage-head>div:first-child{display:grid}.stage-head strong{font-size:.94rem;color:#142a47}.stage-head span{font-size:.7rem;color:#718096}.zoom-controls{display:flex!important;align-items:center;gap:5px}.zoom-controls button{padding:6px 9px}.zoom-controls span{min-width:38px;text-align:center;color:#41536a;font-weight:800}
#plan-canvas{display:block;width:100%;height:100%;min-height:610px;background:#fff;touch-action:none;cursor:default;user-select:none}
#plan-canvas.mode-draw-room,#plan-canvas.mode-draw-cutout,#plan-canvas.mode-opening,#plan-canvas.mode-calibrate{cursor:crosshair}
.plan-room{fill:#dce9f6;fill-opacity:.78;stroke:#153b67;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:move}.plan-room.active{fill:#c9def2;stroke:#d84c23;stroke-width:3px}.plan-cutout{fill:#fff1eb;fill-opacity:.92;stroke:#b33c1d;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:6 4;stroke-linejoin:round;cursor:move}.plan-cutout.active{stroke:#7b2610;stroke-width:3px}.plan-cutout.invalid{fill:#ffe0dc;stroke:#c1121f;stroke-dasharray:3 2}
.wall-hit{fill:none;stroke:transparent;stroke-width:.65;cursor:pointer}.wall-visible{fill:none;stroke:#153b67;stroke-linecap:square;pointer-events:none}.plan-cutout+.wall-visible{stroke:#b33c1d}
.dimension-line{stroke:#5f738b;stroke-width:.035;vector-effect:non-scaling-stroke;pointer-events:none}.dimension-label{fill:#fff;stroke:#9aacbf;stroke-width:.035;vector-effect:non-scaling-stroke;cursor:pointer}.dimension-text{fill:#152b49;font-size:calc(.42px * var(--plan-ui-scale,1));font-weight:850;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.dimension-group.active .dimension-label{fill:#fff0eb;stroke:#d84c23}
.vertex-handle{fill:#fff;stroke:#173f6b;stroke-width:.08;vector-effect:non-scaling-stroke;cursor:grab}.vertex-handle.active{fill:#d84c23;stroke:#fff}.vertex-handle:active{cursor:grabbing}
.room-label{fill:#112a48;font-size:calc(.55px * var(--plan-ui-scale,1));font-weight:900;text-anchor:middle;pointer-events:none}.room-area{fill:#51677f;font-size:calc(.36px * var(--plan-ui-scale,1));font-weight:750;text-anchor:middle;pointer-events:none}
.opening-gap{stroke:#fff;stroke-linecap:butt}.opening-mark{stroke:#0c8a63;stroke-linecap:square;cursor:pointer}.opening-mark.window{stroke:#267cc6}.opening-mark.active{stroke:#d84c23}.opening-label{fill:#17314f;font-size:calc(.34px * var(--plan-ui-scale,1));font-weight:850;text-anchor:middle;pointer-events:none}
.draft-line{fill:rgba(216,76,35,.08);stroke:#d84c23;stroke-width:.11;stroke-dasharray:.3 .2;vector-effect:non-scaling-stroke}.draft-point{fill:#fff;stroke:#d84c23;stroke-width:.08;vector-effect:non-scaling-stroke}.draft-preview{stroke:#d84c23;stroke-width:.1;stroke-dasharray:.22 .18;vector-effect:non-scaling-stroke;pointer-events:none}.draft-cursor{fill:#d84c23;stroke:#fff;stroke-width:.06;vector-effect:non-scaling-stroke;pointer-events:none}.draft-length{fill:#8d2e15;font-size:calc(.38px * var(--plan-ui-scale,1));font-weight:900;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:.12;stroke-linejoin:round;pointer-events:none}.calibration-line{stroke:#0c8a63;stroke-width:.1;stroke-dasharray:.22 .16;vector-effect:non-scaling-stroke}
.stage-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:7px 10px 7px 14px;background:#10263f;color:#e5edf6;font-size:.76rem;font-weight:700}.stage-status button{flex:0 0 auto;border:1px solid #ff9a7c;border-radius:5px;background:#d84c23;color:#fff;padding:7px 10px;font:850 .72rem inherit;cursor:pointer}.stage-status button:hover{background:#ba3c18}
.inspector-panel h2{margin:7px 0 7px;font-size:1.05rem}.inspector-panel p{margin:0;color:#68788d;font-size:.78rem}.inspector-title{margin:5px 0 12px;font-size:1rem}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.inspector-actions .wide{grid-column:1/-1}.danger-soft{color:#8f2f16!important;border-color:#db9d8a!important;background:#fff7f4!important}
.placement-warning{display:grid;gap:5px;margin-top:12px;border:1px solid #e5a08d;border-radius:6px;background:#fff1ed;padding:10px;color:#7d2a15}.placement-warning strong{font-size:.78rem}.placement-warning span{font-size:.7rem;line-height:1.35}.placement-warning button{margin-top:3px;background:#d84c23;color:#fff;border-color:#b73d1b}
.panel-section summary{cursor:pointer;color:#172f4d;font-size:.85rem;font-weight:850}.panel-help{margin:9px 0!important}.file-button{display:block!important;text-align:center;border:1px solid #8191a4;border-radius:5px;background:#fff;padding:9px 10px;cursor:pointer}.panel-section input[type=file],.plan-storage input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.help-list{margin:10px 0 0;padding-left:18px;color:#607187;font-size:.75rem}.help-list li+li{margin-top:7px}
.plan-results,.plan-storage{margin-top:27px;border:1px solid var(--border);border-radius:11px;background:#fff;box-shadow:var(--shadow);padding:24px}
.results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.results-heading h2,.plan-storage h2{margin:5px 0 0;font-size:1.55rem}.results-heading label{display:grid;gap:5px;color:#2b3749;font-size:.76rem;font-weight:800}.results-heading select{border:1px solid #b7c3cf;border-radius:5px;padding:9px 11px;background:#fff}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:19px}.plan-metric{min-width:0;border:1px solid #ced8e2;border-radius:7px;background:#f7fafc;padding:14px}.plan-metric span{display:block;color:#67788c;font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.plan-metric strong{display:block;margin-top:4px;color:#132c4a;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.15}.plan-metric small{display:block;margin-top:5px;color:#77879a;font-size:.69rem}
.material-layout{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:24px;margin-top:22px;padding-top:20px;border-top:1px solid #d6dee6}.material-layout h3{margin:0 0 12px;color:#142d4a}.assumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.material-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border:1px solid #d1dbe5;border-radius:7px;padding:12px;background:#fff}.material-result span{color:#607187;font-size:.72rem}.material-result strong{color:#173353;font-size:1rem;text-align:right}.material-result small{grid-column:1/-1;color:#7a8899;font-size:.67rem}.cost-note{color:#6d7d90;font-size:.72rem}.calculator-handoffs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.calculator-handoffs a,.calculator-handoffs button{display:inline-flex;align-items:center;border:1px solid #173d68;border-radius:5px;background:#173d68;color:#fff;padding:10px 13px;font-size:.77rem;font-weight:850;text-decoration:none}.calculator-handoffs a:hover,.calculator-handoffs button:hover{background:#0f2b4b}
.plan-storage{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:28px;align-items:center}.plan-storage p{color:var(--muted)}.storage-controls{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,auto);gap:8px;align-items:end}.storage-controls label:first-child,.storage-controls label:nth-of-type(2){min-width:180px}.storage-controls .file-button{align-self:end}.storage-controls button,.storage-controls .file-button{min-height:40px}.storage-controls #storage-status{grid-column:1/-1;color:#18744d;font-size:.75rem;font-weight:800}
@media(max-width:1160px){.builder-workspace{grid-template-columns:230px minmax(420px,1fr)}.inspector-panel{grid-column:1/-1;border-left:0;border-top:1px solid #c8d2dd;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.inspector-panel .panel-section{border-right:1px solid #d6dee7}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-storage{grid-template-columns:1fr}.storage-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.space-builder-intro{grid-template-columns:1fr}.space-builder-intro .review-stamp{justify-content:flex-start}.builder-commandbar{align-items:flex-start;flex-direction:column}.builder-workspace{display:block}.floor-panel{border-right:0}.plan-panel{display:block}.plan-stage{min-height:580px}.inspector-panel{display:block}.inspector-panel .panel-section{border-right:0}.floor-panel .panel-section:nth-child(3){max-height:330px;overflow:auto}#plan-canvas{min-height:500px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-layout{grid-template-columns:1fr}.storage-controls{grid-template-columns:1fr 1fr}.storage-controls label:first-child,.storage-controls label:nth-of-type(2){min-width:0}}
@media(max-width:500px){.room-builder-page{padding-left:10px;padding-right:10px}.space-builder-intro h1{font-size:2.55rem}.tool-group{width:100%}.builder-commandbar button{flex:1}.inline-fields,.assumption-grid,.material-grid,.storage-controls{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.plan-results,.plan-storage{padding:17px}.results-heading{align-items:flex-start;flex-direction:column}}
@media print{.site-header,.builder-commandbar,.floor-panel,.inspector-panel,.plan-storage,.calculator-handoffs,.footer,.breadcrumbs{display:none!important}.room-builder-page{max-width:none;padding:0}.space-builder-intro{margin-bottom:12px}.builder-workspace{display:block;min-height:0}.plan-stage{border:1px solid #bbb}.plan-results{box-shadow:none;break-inside:avoid}#plan-canvas{min-height:580px}}
