:root{--bg:#f4f5f3;--surface:#fff;--surface-subtle:#f9faf8;--border:#d9ddd6;--border-strong:#c7cdc3;--text:#1f2522;--muted:#66706a;--sidebar:#1f2522;--sidebar-2:#2b312e;--sidebar-text:#eef2ee;--sidebar-muted:#aab3ad;--green:#2f6f4e;--green-soft:#e5f0e8;--blue:#2f6fb2;--blue-soft:#e8f0f8;--amber:#a66a00;--amber-soft:#fff3dd;--red:#a33a3a;--red-soft:#f8e5e5;--radius:8px;--radius-sm:6px;--shadow:none;--font:Inter, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:14px;font-weight:400;line-height:1.48}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;min-height:36px;padding:8px 10px}textarea{resize:vertical;min-height:86px}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);height:100vh;color:var(--sidebar-text);border-right:1px solid #111513;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{min-height:66px;color:inherit;border-bottom:1px solid #ffffff17;align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.brand img{border-radius:var(--radius-sm);background:#fff;width:42px;height:auto}.brand strong,.brand small{display:block}.brand strong{font-size:15px;font-weight:600}.brand small{color:var(--sidebar-muted);margin-top:1px;font-size:11px}.nav-section{padding:14px 10px 4px}.nav-label{color:var(--sidebar-muted);text-transform:uppercase;padding:0 8px 8px;font-size:11px;font-weight:600}.nav-item,.sidebar-action{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--sidebar-text);text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover,.sidebar-action:hover{background:#ffffff0f;border-color:#ffffff14}.nav-item.active{color:var(--text);background:#fff;border-color:#fff}.sidebar-footer{border-top:1px solid #ffffff17;gap:6px;margin-top:auto;padding:12px 10px 14px;display:grid}.main-shell{grid-template-rows:auto 1fr;min-width:0;display:grid}.context-bar{z-index:20;border-bottom:1px solid var(--border);background:#fffffff5;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:10px 18px;display:flex;position:sticky;top:0}.context-copy{align-items:center;gap:10px;min-width:0;display:flex}.context-copy strong,.context-copy span{display:block}.context-copy strong{font-size:14px;font-weight:500}.context-copy span{color:var(--muted);font-size:12px}.context-actions,.toolbar,.page-actions,.row-actions,.dialog-actions,.legacy-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-block{margin-top:12px}.mode-badge,.badge{white-space:nowrap;border:1px solid var(--border);background:var(--surface-subtle);color:var(--muted);border-radius:999px;align-items:center;padding:5px 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.mode-badge.project,.badge.project{background:var(--green-soft);color:var(--green);border-color:#b9d3c2}.content{min-width:0;padding:16px}.page{gap:12px;display:grid}.page-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.page-kicker{color:var(--green);text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-size:24px;font-weight:600;line-height:1.1}h2{margin-bottom:10px;font-size:16px;font-weight:600;line-height:1.25}h3{margin-bottom:6px;font-size:14px;font-weight:600}p{margin-bottom:0}strong{font-weight:600}.subtle{color:var(--muted)}.button,.icon-button{border-radius:var(--radius-sm);border:1px solid var(--border-strong);min-height:36px;color:var(--text);background:#fff;padding:7px 11px;font-weight:500}.button:hover,.icon-button:hover{background:var(--surface-subtle);border-color:#aeb7af}.button.primary{border-color:var(--blue);background:var(--blue);color:#fff}.button.primary:hover{background:#285f98;border-color:#285f98}.button.green{border-color:var(--green);background:var(--green);color:#fff}.button.secondary{background:#fff}.icon-button{width:34px;padding:0}.grid{gap:12px;display:grid}.dashboard-grid{grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr);align-items:start;gap:12px;display:grid}.three-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.compact-card,.table-panel,.project-header,.workspace-panel,.empty-state{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel,.compact-card,.workspace-panel,.empty-state{padding:12px}.compact-card{gap:5px;display:grid}.compact-card .value{font-size:20px;font-weight:600}.metric-row,.summary-row,.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.metric-row:last-child,.summary-row:last-child,.detail-row:last-child{border-bottom:0}.metric-row span,.summary-row span,.detail-row span{color:var(--muted)}.metric-row strong,.summary-row strong,.detail-row strong{text-align:right;font-weight:500}.table-panel{overflow:hidden}.table-head{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.table-wrap{overflow:auto}.editable-table input,.editable-table select{min-width:96px;min-height:30px;padding:5px 7px;font-size:13px}.editable-table td{vertical-align:middle}.totals-strip{border-top:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:10px 12px;display:grid}.totals-strip div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:8px}.totals-strip span{color:var(--muted);font-size:12px;display:block}.totals-strip strong{margin-top:3px;font-size:16px;display:block}.mini-form{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px 0;display:grid}.mini-form:last-child{border-bottom:0}.design-workspace{gap:12px;display:grid}.design-control-panel{overflow:visible}.design-context-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;padding:10px 12px;display:grid}.inline-notice{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#f6f8f5;margin:0 12px 12px;padding:9px 10px;font-size:13px}.planner-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:12px;display:grid}.planner-embed-panel,.design-summary-panel,.summary-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.planner-frame-head{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.planner-frame{background:#0d1117;border:0;width:100%;height:min(760px,72vh);min-height:620px;display:block}.planner-empty{text-align:center;min-height:620px;color:var(--muted);background:var(--surface-subtle);align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.planner-empty strong{color:var(--text)}.design-summary-panel{gap:10px;padding:12px;display:grid}.summary-block{box-shadow:none;padding:10px}.summary-block h2,.summary-block h3{margin-bottom:8px}.takeoff-sections{gap:10px;display:grid}.mini-takeoff-list{gap:7px;display:grid}.mini-takeoff-row{border-bottom:1px solid var(--border);gap:2px;padding-bottom:7px;display:grid}.mini-takeoff-row:last-child{border-bottom:0;padding-bottom:0}.mini-takeoff-row span{color:var(--muted);font-size:12px}.tool-output-list{gap:8px;display:grid}.tool-output-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.tool-output-row strong,.tool-output-row span{display:block}.tool-output-row span{color:var(--muted);font-size:12px}.tool-output-row .error-text,.error-text{color:var(--red)}.tool-output-row .warning-text,.warning-text{color:#8a5a00}.source-pill{border:1px solid var(--border);min-height:24px;color:var(--green);background:#eef3ef;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.filter-row{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:10px 12px;display:flex}.file-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:12px;display:grid}.file-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:6px;padding:10px;display:grid}.file-label-row{flex-wrap:wrap;gap:5px;display:flex}.file-card img,.file-icon{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);object-fit:cover;width:100%}.file-icon{color:var(--muted);place-items:center;font-size:18px;font-weight:600;display:grid}.checkbox-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.check-option{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.check-option input{width:auto;min-height:0}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flush-head{border-radius:var(--radius) var(--radius) 0 0;margin:-12px -12px 12px}.proposal-preview{overflow:hidden}.proposal-sheet{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:12px;padding:12px;display:grid}.proposal-workspace{grid-template-columns:minmax(540px,1fr) minmax(360px,.42fr);align-items:start;gap:12px;display:grid}.proposal-preview-panel,.proposal-editor-panel{gap:12px;display:grid}.proposal-preview-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.proposal-toolbar{border-bottom:1px solid var(--border);background:var(--surface-subtle);margin:0;padding:10px 12px}.printable-proposal{background:#fff;border:0;border-radius:0;width:min(880px,100%);margin:0 auto;padding:28px}.proposal-document-header,.proposal-info-grid,.proposal-acceptance{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.proposal-document-header{border-bottom:2px solid var(--text);align-items:start;padding-bottom:14px}.proposal-document-header>div:last-child{text-align:right}.proposal-document-header strong{font-size:22px;font-weight:600;display:block}.proposal-document-header span,.proposal-info-grid span,.proposal-terms,.table-subtext{color:var(--muted);font-size:12px;display:block}.proposal-info-grid{border-bottom:1px solid var(--border);padding:12px 0}.proposal-info-grid strong{font-size:15px;display:block}.proposal-info-grid p,.proposal-section p{margin:4px 0 0}.proposal-section{gap:5px;padding-top:8px;display:grid}.proposal-section h3{margin:0;font-size:14px;font-weight:600}.proposal-total-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:0;padding:8px 12px;display:grid}.proposal-total-box .detail-row:last-child strong{font-size:20px;font-weight:700}.proposal-acceptance{margin-top:12px}.proposal-acceptance div{border-bottom:1px solid var(--text);min-height:52px;color:var(--muted);align-items:end;font-size:12px;display:flex}.proposal-line-editor{gap:7px;margin-top:10px;display:grid}.proposal-line-row{grid-template-columns:minmax(180px,1.2fr) minmax(90px,.8fr) 72px 70px 86px 86px auto;align-items:center;gap:6px;display:grid}.proposal-line-row input{min-height:30px;padding:5px 7px;font-size:13px}.proposal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:12px;padding-bottom:10px;display:flex}.proposal-total{text-align:right;min-width:150px}.proposal-total span{color:var(--muted);font-size:12px;display:block}.proposal-total strong{margin-top:4px;font-size:22px;display:block}.proposal-visual{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-subtle);min-height:130px;color:var(--muted);place-items:center;display:grid;overflow:hidden}.proposal-visual img{object-fit:contain;max-width:100%;max-height:420px}.proposal-plan-frame{text-align:center;gap:6px;width:100%;padding:8px;display:grid}.proposal-plan-frame span{color:var(--muted);font-size:12px}.visual-output-list,.validation-list{gap:8px;margin-top:10px;display:grid}.visual-output-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:92px minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.visual-output-row img{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover;background:#fff;width:92px}.visual-output-row input{min-height:30px;margin-bottom:6px;padding:5px 7px;font-size:13px}.plan-orientation-controls{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.checkline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.checkline input{width:auto;min-height:0}.validation-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:2px;padding:8px;display:grid}.validation-row.error{background:var(--red-soft);border-color:#d9a7a7}.validation-row.warning{background:var(--amber-soft);border-color:#e5c27d}.validation-row span{color:var(--muted)}.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.palette-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);align-items:center;gap:8px;padding:8px;display:flex}.palette-symbol{background:#8fc27a;border:1px solid #315d37;border-radius:50%;flex:none;width:22px;height:22px}.palette-item strong,.palette-item span{display:block}.palette-item span{color:var(--muted);font-size:12px}.proposal-footer{border-top:1px solid var(--border);gap:6px;padding-top:10px;display:grid}.proposal-footer div{justify-content:space-between;gap:12px;display:flex}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 9px}th{color:var(--muted);background:var(--surface-subtle);font-size:12px;font-weight:500}tr:hover td{background:#fbfcfb}td.num,th.num{text-align:right;white-space:nowrap}.status-new-lead{background:var(--blue-soft);color:#255b91;border-color:#c4d6e8}.status-consultation-booked,.status-estimate-needed,.status-quote-sent{background:var(--amber-soft);color:var(--amber);border-color:#ead1a2}.status-approved,.status-materials-needed,.status-scheduled,.status-active{background:var(--green-soft);color:var(--green);border-color:#b9d3c2}.status-ready-for-invoice{color:#5d4786;background:#eee9f7;border-color:#d7cdea}.status-invoice-sent{color:#255b91;background:#e8f0f8;border-color:#c4d6e8}.status-paid{color:#3f5747;background:#e7ece8;border-color:#c8d0ca}.status-complete{color:#4b5750;background:#eef1ef;border-color:#d4dad5}.status-archived{color:#595b55;background:#f1f1ef;border-color:#d8d8d2}.pipeline-board{grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.pipeline-column{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);min-width:190px}.pipeline-column h3{border-bottom:1px solid var(--border);color:var(--muted);margin:0;padding:9px 10px}.pipeline-items{gap:8px;padding:10px;display:grid}.project-mini{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;gap:5px;padding:9px;display:grid}.project-mini strong{font-size:13px;font-weight:600}.project-mini button{justify-self:start;margin-top:2px}.project-header{gap:10px;padding:12px;display:grid}.project-header-top{justify-content:space-between;align-items:start;gap:16px;display:flex}.project-title-block{min-width:0}.project-title-block h1{margin-bottom:6px}.project-title-block h1,.table-wrap strong,.list-item strong,.legacy-tool h3{font-weight:600}.project-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:13px;display:flex}.project-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.stat-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);padding:9px}.stat-box span{color:var(--muted);font-size:12px;font-weight:500;display:block}.stat-box strong{margin-top:4px;font-size:17px;font-weight:600;display:block}.workspace-tabs{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:0;padding:0;display:flex;overflow-x:auto}.workspace-tab-panels{display:block;position:relative}.workspace-tab-panel{display:block}.workspace-tab-panel.active{z-index:1;position:relative}.workspace-tab-panel.inactive{visibility:hidden;pointer-events:none;width:100%;min-height:1px;position:absolute;top:0;left:-100000px}.tab-button{white-space:nowrap;border:0;border-right:1px solid var(--border);min-height:32px;color:var(--muted);background:0 0;border-radius:0;padding:6px 10px;font-weight:500}.tab-button:last-child{border-right:0}.tab-button:hover{background:var(--surface-subtle);color:var(--text)}.tab-button.active{border-color:var(--border);color:var(--green);background:#eef4ef}.workspace-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:12px;display:grid}.mobile-shell{max-width:960px;margin:0 auto}.mobile-top{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.mobile-mode-switch{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.mobile-mode-switch button{border:0;border-right:1px solid var(--border);min-width:92px;min-height:44px;color:var(--muted);background:0 0;font-weight:600}.mobile-mode-switch button:last-child{border-right:0}.mobile-mode-switch button.active{background:var(--text);color:#fff}.mobile-limitations{border-radius:var(--radius);background:var(--amber-soft);color:#5f430e;border:1px solid #e5c27d;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.mobile-install-hint{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);align-items:center;gap:8px;padding:9px 11px;font-size:13px;display:flex}.mobile-install-hint svg{color:var(--green);flex:none}.mobile-limitations strong,.mobile-limitations span{display:block}.mobile-limitations span{margin-top:2px;font-size:13px}.mobile-context-empty,.mobile-active-project,.mobile-capture-status,.mobile-annotator{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.mobile-context-empty{gap:4px;display:grid}.mobile-context-button{text-align:left;width:100%;min-height:68px}.mobile-context-empty span{color:var(--muted)}.mobile-active-project{background:#fbfdfb;border-color:#b9d3c2;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.mobile-active-project-button{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:74px;display:grid}.mobile-active-project h2{margin-bottom:4px;font-size:18px}.mobile-active-project span{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.mobile-project-actions{gap:7px;display:grid}.mobile-tool-screen{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:12px;padding:12px;display:grid}.mobile-detail-list{gap:8px;display:grid}.mobile-detail-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:3px;padding:10px;display:grid}.mobile-detail-row span{color:var(--muted);font-size:12px}.mobile-detail-row strong{font-size:14px;line-height:1.35}.mobile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-field-label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.mobile-field-label input,.mobile-field-label select,.mobile-field-label textarea,.mobile-annotator input,.mobile-annotator select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);font:inherit;background:#fff;padding:9px 10px}.mobile-field-label textarea{min-height:128px}.mobile-save-button{justify-content:center;align-items:center;gap:6px;min-height:46px;display:inline-flex}.mobile-card-button.selected{background:var(--green-soft);border-color:#9fc1aa}.mobile-tool-button{text-align:left;width:100%}.mobile-tool-button:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.mobile-capture-session{gap:12px;display:grid}.mobile-back-button{justify-self:start;align-items:center;gap:6px;display:inline-flex}.mobile-capture-status{background:var(--surface-subtle);gap:2px;display:grid}.mobile-capture-status.status-saved-to-project,.mobile-capture-status.status-saved{color:var(--green);background:#eef6f0;border-color:#b8d1c0}.mobile-capture-status.status-failed{color:var(--red);background:#fff7f7;border-color:#e3b6b6}.mobile-capture-status span{color:var(--muted)}.mobile-notes-input{min-height:132px;font-size:16px}.mobile-capture-button,.mobile-annotation-actions .button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.mobile-annotator{gap:10px;display:grid}.annotation-canvas{border:1px solid var(--border);border-radius:var(--radius);touch-action:none;object-fit:contain;background:#111;width:100%;max-height:62vh}.mobile-annotation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.capture-queue{gap:8px;display:grid}.capture-queue-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.capture-queue-item img{border:1px solid var(--border);border-radius:var(--radius-sm);object-fit:cover;width:72px;height:72px}.capture-queue-item strong,.capture-queue-item span{display:block}.capture-queue-item span{color:var(--muted);font-size:12px}.mobile-view{gap:12px;display:grid}.mobile-section{gap:8px;display:grid}.mobile-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-section-head h2{margin:0}.mobile-list,.mobile-card-grid,.mobile-kpis{gap:8px;display:grid}.mobile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-card,.mobile-tool-card,.mobile-kpi{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.mobile-card-button{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:76px;display:grid}.mobile-card-button:hover{border-color:var(--border-strong);background:var(--surface-subtle)}.mobile-card-main{gap:5px;min-width:0;display:grid}.mobile-card-main strong{font-size:15px}.mobile-card-main span,.mobile-card-meta{min-width:0;color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.mobile-inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mobile-inline span:not(.status-badge){border:1px solid var(--border);background:var(--surface-subtle);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.mobile-action{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:34px;color:var(--text);background:#fff;justify-content:center;align-items:center;padding:6px 10px;font-weight:600;display:inline-flex}.mobile-tool-card{align-content:start;gap:5px;min-height:132px;display:grid}.mobile-tool-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);width:34px;height:34px;color:var(--green);place-items:center;display:grid}.mobile-tool-card span,.mobile-tool-card small,.mobile-kpi span{color:var(--muted)}.mobile-tool-card small{font-size:12px}.mobile-kpi{gap:4px;display:grid}.mobile-kpi strong{font-size:22px}.list{gap:8px;display:grid}.padded-list{padding:12px}.list-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:3px;padding:8px;display:grid}.list-item strong{font-size:13px}.list-item span{color:var(--muted);font-size:12px}.placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-subtle);gap:8px;padding:12px;display:grid}.placeholder strong{font-weight:600}.placeholder-actions{flex-wrap:wrap;gap:8px;display:flex}.placeholder-in-table{margin:12px}.legacy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.legacy-tool{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:8px;padding:12px;display:grid}.legacy-tool p{color:var(--muted)}.dialog{border-radius:var(--radius);background:0 0;border:0;width:min(920px,100% - 24px);padding:0}.dialog::backdrop{background:#1f252275}.dialog-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:14px;box-shadow:0 18px 44px #1f25222e}.dialog-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:14px;padding-bottom:12px;display:flex}.dialog-head h2{margin-bottom:4px}.dialog-head p{color:var(--muted)}.dialog-toolbar{padding:12px 0}.picker-list{gap:8px;max-height:62vh;display:grid;overflow:auto}.picker-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.picker-row:hover{border-color:var(--border-strong);background:#fff}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0;display:grid}.form-grid label{color:var(--muted);gap:5px;font-size:12px;font-weight:500;display:grid}.compact-form{padding:0}.inline-field{color:var(--muted);grid-template-columns:auto minmax(80px,110px);align-items:center;gap:6px;font-size:12px;display:grid}.inline-field input,.inline-field select{min-height:30px;padding:5px 7px}.stacked-field{color:var(--muted);gap:5px;margin-top:10px;font-size:12px;display:grid}.form-grid .wide{grid-column:1/-1}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;padding-top:12px}.empty-state{color:var(--muted)}.empty-state strong{color:var(--text);margin-bottom:3px;font-weight:600;display:block}@media (width<=1080px){.dashboard-grid,.workspace-grid,.two-grid,.three-grid,.legacy-grid,.proposal-workspace,.planner-layout,.design-context-grid{grid-template-columns:1fr}.proposal-line-row{grid-template-columns:1fr 1fr}.project-stats,.totals-strip,.mini-form{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-frame,.planner-empty{height:68vh;min-height:560px}.mobile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.app-shell.mobile-app-mode{background:var(--bg);min-height:100svh}.app-shell.mobile-app-mode .sidebar,.app-shell.mobile-app-mode .context-bar{display:none}.sidebar{height:auto;position:static}.nav-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.nav-label{grid-column:1/-1}.sidebar-footer,.context-bar,.page-head,.project-header-top{flex-direction:column;align-items:stretch}.context-actions,.page-actions{width:100%}.context-actions .button,.page-actions .button{flex:auto}.content{padding:12px}.app-shell.mobile-app-mode .content{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.project-stats,.form-grid,.design-context-grid,.totals-strip,.mini-form{grid-template-columns:1fr}.planner-frame,.planner-empty{min-height:480px}.mobile-top,.mobile-card-grid,.mobile-kpis{grid-template-columns:1fr}.mobile-mode-switch{width:100%;top:max(8px, env(safe-area-inset-top));z-index:5;position:sticky}.mobile-mode-switch button{min-width:0;min-height:48px}.mobile-card-button{grid-template-columns:1fr;min-height:96px}.mobile-action{width:100%;min-height:42px}.mobile-shell{gap:10px}.mobile-card,.mobile-tool-card,.mobile-kpi{padding:13px}.mobile-card-main strong{font-size:16px}.mobile-inline span:not(.status-badge),.status-badge,.pill{white-space:normal}.mobile-active-project,.capture-queue-item,.mobile-active-project-button,.mobile-form-grid{grid-template-columns:1fr}.mobile-project-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-annotation-actions{grid-template-columns:1fr}.capture-queue-item img{aspect-ratio:4/3;width:100%;height:auto}}.brand{width:100%;color:inherit;text-align:left;background:0 0;border-width:0 0 1px;border-radius:0}.brand:hover{background:0 0}.company-select{width:auto;min-width:190px;min-height:36px}.error-banner,.error-box,.notice-box,.success-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}.error-banner,.error-box{color:var(--red);background:#fff7f7;border-color:#e3b6b6}.notice-box{color:var(--blue);background:#f0f6fb;border-color:#bed1e4}.success-box{color:var(--green);background:#eef6f0;border-color:#b8d1c0}.dialog-backdrop{z-index:100;background:#1f252275;place-items:start center;padding:32px 12px;display:grid;position:fixed;inset:0;overflow:auto}.react-dialog-panel{width:min(920px,100%)}.form-stack{gap:10px;display:grid}.setup-page,.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.setup-card,.auth-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:14px;width:min(460px,100%);padding:18px;display:grid}.setup-icon,.brand-mark{color:var(--green);align-items:center;gap:8px;font-weight:600;display:inline-flex}.code-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);gap:6px;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;display:grid}.link-button,.table-link{color:var(--blue);background:0 0;border:0;min-height:auto;padding:0;font-weight:500}.status-badge,.pill{white-space:nowrap;border:1px solid var(--border);background:var(--surface-subtle);color:var(--muted);border-radius:999px;align-items:center;padding:5px 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.pill.green{background:var(--green-soft);color:var(--green);border-color:#b9d3c2}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-stack{gap:12px;display:grid}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.detail-list{gap:0;display:grid}.section-actions{margin-top:12px}.inline-link{width:fit-content}.spin{animation:1.4s linear infinite spin}.dev-build-badge{z-index:200;color:#f7fbff;background:#091f36eb;border:1px solid #9fb7cc;border-radius:6px;padding:5px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;position:fixed;bottom:12px;right:12px;box-shadow:0 8px 20px #0000002e}.dev-panel{z-index:201;width:min(420px,100vw - 24px);font-size:12px;position:fixed;bottom:44px;right:12px}.dev-panel-toggle{float:right;color:#fff;background:#091f36;border-color:#9fb7cc;min-height:30px;font-size:12px}.dev-panel-body{clear:both;background:#f7fbff;border:1px solid #9fb7cc;border-radius:8px;gap:10px;max-height:min(680px,100vh - 92px);margin-top:8px;padding:12px;display:grid;overflow:auto;box-shadow:0 18px 42px #0000003d}.dev-panel-head,.dev-kv{gap:6px;display:grid}.dev-panel-head{grid-template-columns:1fr auto;align-items:center}.dev-panel-head span{color:var(--muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.dev-kv{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:120px 1fr;padding:8px}.dev-kv span{color:var(--muted)}.dev-kv strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dev-checklist,.dev-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.dev-check{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:6px;padding:6px;display:flex}.dev-check span{border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:inline-grid}.dev-check.ok span{color:var(--green);background:#e7f2e8}.dev-check.warn span{color:#8f5f00;background:#fff4d6}.dev-button-grid button,.dev-json-tools button{min-height:30px;padding:5px 8px;font-size:12px}.dev-button-grid .danger{color:#8f1d1d;border-color:#c99}.dev-json-tools{gap:8px;display:grid}.dev-json-tools textarea{resize:vertical;width:100%;min-height:118px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@media print{body{background:#fff}body *{visibility:hidden}.printable-proposal,.printable-proposal *{visibility:visible}.printable-proposal{border:0;width:100%;max-width:none;margin:0;padding:24px;position:absolute;top:0;left:0}}
