:root{--ink: #111318;--ink-2: #3a3f4b;--ink-3: #5c6270;--ink-4: #8c929e;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f4f5f7;--surface-3: #eaecf0;--border: #e2e4e8;--border-mid: #cdd0d6;--accent: #1a56ff;--accent-dim: rgba(26, 86, 255, .08);--accent-text: #1240cc;--green: #0a7c4e;--green-bg: #ecfaf4;--indigo: #4f46e5;--indigo-bg: #eef2ff;--orange: #c2410c;--orange-bg: #fff4ee;--red: #b91c1c;--red-bg: #fef2f2;--red-border: #fca5a5;--mono: "DM Mono", "Fira Mono", monospace;--sans: "Inter", system-ui, -apple-system, sans-serif;--bar-bg: #1a1e27;--bar-line: rgba(255,255,255,.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);font-size:14px;line-height:1.5;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.summary-bar{position:sticky;top:0;z-index:200;height:48px;background:var(--bar-bg);color:#fff;display:flex;align-items:stretch;border-bottom:1px solid rgba(0,0,0,.3)}.app-title{display:flex;align-items:center;padding:0 20px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;border-right:1px solid var(--bar-line);white-space:nowrap}.summary-items{display:flex;align-items:stretch;margin-left:auto}.divider{display:none}.summary-item{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:0 18px;border-left:1px solid var(--bar-line)}.summary-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;line-height:1;margin-bottom:4px}.summary-value{font-family:var(--mono);font-size:14px;font-weight:500;color:#fff;line-height:1;letter-spacing:-.01em}.dev-toggle{display:flex;align-items:center;margin:8px 12px;padding:0 14px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff9;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.dev-toggle:hover{background:#ffffff14;color:#fff}.dev-toggle.is-active{background:#f59e0b;border-color:#f59e0b;color:#1a1e27}.dashboard-strip{display:grid;grid-template-columns:2fr repeat(3,1fr);border-bottom:1px solid var(--border)}.hero-card,.dash-card{background:var(--surface);padding:16px 20px;border-right:1px solid var(--border)}.dash-card:last-child{border-right:none}.hero-kicker,.dash-label{display:block;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px}.hero-card h1{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}.hero-card p,.dash-card small{font-size:12px;color:var(--ink-3);line-height:1.4}.dash-card strong{display:block;font-family:var(--mono);font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-bottom:4px}.workspace{display:flex;flex:1;min-height:0}.dashboard-panel{width:280px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.panel-head{padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-head h2{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:3px}.panel-head p{font-size:11px;color:var(--ink-3);line-height:1.4}.section-list{overflow-y:auto;flex:1}.section-row{width:100%;text-align:left;background:var(--surface);padding:11px 16px;border:none;border-bottom:1px solid var(--border);cursor:pointer;display:block;transition:background .08s}.section-row:hover{background:var(--bg)}.section-row.is-active{background:var(--accent-dim);border-left:3px solid var(--accent);padding-left:13px}.section-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.section-row-top strong{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:0}.section-row-top span{font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap}.section-row-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.section-row-meta span{font-size:11px;color:var(--ink-4)}.progress-track{height:3px;background:var(--surface-3)}.progress-fill{height:100%;background:var(--accent)}.floor-plan-wrap{flex:1;overflow:auto;padding:20px;background:var(--bg);display:flex;align-items:flex-start}.floor-plan{position:relative;border:1px solid var(--border-mid);background:#f8f9fa;flex-shrink:0}.floor-plan:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px);background-size:28px 28px;z-index:1}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.1) 1px,transparent 1px);background-size:28px 28px;z-index:2}.plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:contain}.scale-note{position:absolute;left:8px;bottom:6px;z-index:5;font-size:10px;font-weight:500;color:var(--ink-3);background:#f8f9fae6;border:1px solid var(--border);padding:3px 8px}.zone{position:absolute;z-index:4;border:1.5px solid rgba(0,0,0,.18);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:5px 6px;overflow:hidden;-webkit-user-select:none;user-select:none}.zone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;pointer-events:none;transition:border-color .08s}.zone:hover:after{border-color:#00000052}.zone.is-selected:after{border-color:var(--accent)}.zone.is-selected{z-index:20}.zone-dev{cursor:grab}.zone-dev:active{cursor:grabbing}.zone-name{font-size:10px;font-weight:700;color:#000000bf;line-height:1.2;letter-spacing:.03em;text-transform:uppercase}.zone-dim,.zone-coords{font-family:var(--mono);font-size:8px;color:#00000075;margin-top:2px;line-height:1}.resize-handle{position:absolute;right:3px;bottom:3px;width:14px;height:14px;border:0;background:transparent;cursor:nwse-resize;padding:0}.resize-handle:before,.resize-handle:after{content:"";position:absolute;background:#00000061;right:1px}.resize-handle:before{bottom:6px;width:9px;height:1px}.resize-handle:after{bottom:2px;width:9px;height:1px;box-shadow:0 -3px #00000061}.zone-costs{margin-top:4px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.cost-pill{font-family:var(--mono);font-size:8px;font-weight:500;padding:1px 4px;white-space:nowrap;border-left:2px solid;background:#ffffff9e;color:var(--ink)}.cost-pill.estimate{border-color:var(--green)}.cost-pill.arch{border-color:var(--indigo)}.cost-pill.contr{border-color:var(--orange)}.dev-panel{width:288px;flex-shrink:0;border-left:1px solid rgba(0,0,0,.3);background:var(--bar-bg);color:#ffffffd1;padding:0;overflow:auto;display:flex;flex-direction:column}.dev-panel-head{padding:16px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.dev-panel-head h2{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff6;margin-bottom:4px}.dev-panel-head p{font-size:11px;color:#ffffff4d;line-height:1.5}.dev-panel>label,.dev-panel>div>label,.dev-panel .dev-grid>div>label{display:block;padding:0;margin-bottom:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ffffff52}.dev-panel>label,.dev-panel>select,.dev-panel>input{margin:0 18px}.dev-panel>label{margin-top:14px}.dev-panel>select,.dev-panel>input{width:calc(100% - 36px);margin-bottom:0}.dev-panel input,.dev-panel select{width:100%;padding:7px 10px;border:1px solid rgba(255,255,255,.12);background:#ffffff12;color:#ffffffe0;outline:none;font-size:12px;font-family:var(--mono)}.dev-panel input:focus,.dev-panel select:focus{border-color:var(--accent);background:#ffffff1a}.dev-panel select option{background:#1e2433;color:#ffffffe0}.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 18px 0}.dev-grid>div>label{margin-top:0}.dev-actions{display:flex;gap:8px;padding:14px 18px}.overlay-tools{margin:0;padding:14px 18px;border-top:1px solid rgba(255,255,255,.08)}.overlay-tools h3{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff5c;margin-bottom:4px}.overlay-tools p{font-size:11px;color:#ffffff47;margin-bottom:12px;line-height:1.5}.overlay-tools label{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ffffff52;margin-top:12px;margin-bottom:5px}.overlay-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:11px;color:#ffffff52}.overlay-meta strong{font-family:var(--mono);color:#ffffffa6}.overlay-tools .btn-clear{margin-top:12px;width:100%}.dev-panel input[type=range]{padding:0;border:none;background:none;accent-color:var(--accent);width:100%;margin-top:4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#11131899;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px;overflow-y:auto}.drawer{width:min(1100px,100%);background:var(--surface);border:1px solid var(--border-mid);overflow:hidden}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 24px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.drawer-head h2{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:3px}.drawer-head p{font-size:12px;color:var(--ink-3)}.drawer-close{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--ink-2);padding:6px 14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;flex-shrink:0;transition:background .08s}.drawer-close:hover{background:var(--surface-3)}.drawer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--border)}.metric-card{padding:16px 24px;border-right:1px solid var(--border);background:var(--surface)}.metric-card:last-child{border-right:none}.metric-card span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);margin-bottom:6px}.metric-card strong{font-family:var(--mono);font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.02em}.drawer>label{display:block;padding:12px 24px 5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);border-top:1px solid var(--border)}.notes-box{display:block;width:100%;border:none;border-bottom:1px solid var(--border);padding:6px 24px 14px;resize:none;font:inherit;font-size:13px;color:var(--ink-2);background:transparent;outline:none}.notes-box::placeholder{color:var(--ink-4)}.notes-box:focus{background:var(--accent-dim)}.materials-summary{display:flex;flex-wrap:wrap;gap:6px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface-2)}.summary-chip{font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 10px;border:1px solid var(--border-mid);background:var(--surface);color:var(--ink-2)}.table-wrap{overflow-x:auto;border-top:1px solid var(--border)}.materials-table{width:100%;border-collapse:collapse}.materials-table thead tr{background:#1a1e27}.materials-table th{padding:10px 12px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ffffff8c;white-space:nowrap;border-right:1px solid rgba(255,255,255,.06)}.materials-table th:first-child{padding-left:24px}.materials-table th:last-child{padding-right:24px;border-right:none}.materials-table th:nth-child(4),.materials-table th:nth-child(5),.materials-table th:nth-child(6),.materials-table td:nth-child(4),.materials-table td:nth-child(5),.materials-table td:nth-child(6){text-align:right}.materials-table td{padding:9px 12px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle;font-size:13px;color:var(--ink);background:var(--surface)}.materials-table td:first-child{padding-left:24px}.materials-table td:last-child{padding-right:24px;border-right:none}.materials-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.materials-table tbody tr:hover td{background:var(--accent-dim)}.materials-table tbody tr:last-child td{border-bottom:none}.materials-table td:nth-child(4),.materials-table td:nth-child(5),.materials-table td:nth-child(6){font-family:var(--mono);font-size:12px}.table-input{width:100%;min-width:80px;border:1px solid transparent;padding:5px 7px;background:transparent;font:inherit;font-size:13px;color:var(--ink);outline:none;transition:border-color .08s,background .08s}.table-input:hover{border-color:var(--border-mid);background:var(--surface)}.table-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent-dim)}input[type=number].table-input{font-family:var(--mono);font-size:12px;text-align:right}.table-delete{border:1px solid var(--red-border);background:var(--red-bg);color:var(--red);padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .08s}.table-delete:hover{opacity:.8}.drawer-actions{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid var(--border);background:var(--surface-2)}.btn-save,.btn-cancel,.btn-clear{border:none;padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .08s,background .08s}.btn-save{background:var(--accent);color:#fff;border:1px solid var(--accent-text)}.btn-save:hover{opacity:.88}.btn-cancel{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border-mid)}.btn-cancel:hover{background:var(--surface-3)}.btn-clear{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.btn-clear:hover{opacity:.8}.btn-clear:disabled{opacity:.38;cursor:default}.dev-panel .btn-save,.dev-panel .btn-cancel,.dev-panel .btn-clear{font-size:11px}.dev-panel .btn-save{flex:1}.dev-panel .btn-cancel{background:#ffffff12;color:#ffffff8c;border-color:#ffffff1f}.dev-panel .btn-cancel:hover{background:#ffffff1f}.dev-panel .btn-clear{background:transparent;color:#f87171;border-color:#f871714d}.help-fab{position:fixed;right:20px;bottom:20px;z-index:1100;border:1px solid var(--border-mid);background:var(--bar-bg);color:#fffc;padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 16px #0000002e}.help-fab.is-open{background:var(--accent);border-color:var(--accent-text);color:#fff}.help-popover{position:fixed;right:20px;bottom:60px;z-index:1100;width:min(340px,calc(100vw - 32px));border:1px solid var(--border-mid);background:var(--surface);box-shadow:0 8px 32px #00000024;padding:16px}.help-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.help-popover h3{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.guide-kicker{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);margin-bottom:4px}.guide-close{border:1px solid var(--border-mid);background:var(--surface-2);color:var(--ink-2);padding:5px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;flex-shrink:0}.help-body{font-size:13px;color:var(--ink-2);line-height:1.5}.help-actions{display:flex;gap:8px;margin-top:14px}.help-actions .btn-save,.help-actions .btn-cancel{flex:1}.help-dots{display:flex;gap:6px;margin-top:12px}.help-dot{width:8px;height:8px;border:1px solid var(--border-mid);background:transparent;cursor:pointer}.help-dot.is-active{background:var(--accent);border-color:var(--accent)}@media (max-width: 1100px){.summary-bar{height:auto;flex-wrap:wrap;padding:0}.app-title{padding:10px 16px;border-right:none;border-bottom:1px solid var(--bar-line);width:100%}.summary-items{margin-left:0;width:100%;overflow-x:auto}.summary-item:first-child{border-left:none;padding-left:16px}.dashboard-strip{grid-template-columns:1fr 1fr}.hero-card{grid-column:1 / -1;border-bottom:1px solid var(--border)}.workspace{flex-direction:column}.dashboard-panel{width:auto;border-right:none;border-bottom:1px solid var(--border);max-height:280px}.dev-panel{width:auto;border-left:none;border-top:1px solid rgba(255,255,255,.08)}.drawer-grid{grid-template-columns:1fr}.metric-card{border-right:none;border-bottom:1px solid var(--border)}.metric-card:last-child{border-bottom:none}.help-fab,.help-popover{right:12px}.help-popover{bottom:54px}}
