:root{--bg: #f4f5f2;--surface: #ffffff;--surface-soft: #f8faf8;--surface-high: #ffffff;--surface-pressed: #eef2ef;--ink: #111827;--muted: #667085;--subtle: #98a2b3;--line: rgba(17, 24, 39, .1);--line-strong: rgba(17, 24, 39, .22);--accent: #087f5b;--accent-strong: #065f46;--accent-soft: #e7f7ef;--blue: #2563eb;--blue-soft: #e9efff;--danger: #b42318;--danger-soft: #feeceb;--warn: #b54708;--warn-soft: #fff5e6;--canvas: #fbfcfb;--shadow-out: 0 16px 42px rgba(15, 23, 42, .08);--shadow-out-sm: 0 8px 22px rgba(15, 23, 42, .07);--shadow-in: inset 0 0 0 1px rgba(17, 24, 39, .08);--radius: 8px;color-scheme:light}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{-webkit-user-select:none;user-select:none}h1,h2,p{margin:0}h1{color:var(--ink);font-size:22px;line-height:1.05}h2{margin:0;color:var(--muted);font-size:11px;font-weight:850;line-height:1.2;text-transform:uppercase}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(720px,1fr) 360px;gap:1px;padding:0;background:var(--line)}.sidebar,.inspector,.workspace{min-width:0;border:0;border-radius:0;background:var(--surface);box-shadow:none}.sidebar,.inspector{max-height:calc(100vh - 28px);max-height:100vh;padding:18px;overflow:auto}.workspace{display:grid;grid-template-rows:auto auto auto auto auto auto auto auto auto minmax(0,1fr);overflow:hidden;background:#f7f8f5}.brand-block{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;min-height:68px;margin-bottom:14px;padding:0 0 6px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:#111827;box-shadow:none;color:#fff;font-weight:900}.brand-block p,.note,.eyebrow{color:var(--muted);font-size:12px;line-height:1.45}.eyebrow{margin-bottom:5px;color:var(--accent-strong);font-weight:850;text-transform:uppercase}.panel{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:none}.project-card{background:#fcfdfb}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-title span,.panel-title svg{color:var(--subtle);font-size:11px;font-weight:850}.field{display:grid;gap:6px;margin-bottom:10px}.field span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none;color:var(--ink);padding:10px 12px;font-size:13px;outline:none}textarea{min-height:96px;resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:#0f766e57;box-shadow:0 0 0 4px #087f5b1f}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-grid div{min-height:64px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);box-shadow:none}.metric-grid span,.takeoff-row span{display:block;min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.metric-grid b{display:block;margin-top:5px;font-size:16px}.inline-actions,.actions,.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.inline-actions{margin-top:12px}.inline-actions button,.tool,.primary-action,.secondary-action,.danger-action{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap;transition:transform .13s ease,box-shadow .13s ease,background .13s ease,color .13s ease}.inline-actions button:hover,.tool:hover,.primary-action:hover,.secondary-action:hover,.danger-action:hover,.layer-row:hover,.project-row:hover,.revision-row button:hover{transform:none}.inline-actions button:active,.tool:active,.primary-action:active,.secondary-action:active,.danger-action:active,.layer-row:active,.project-row:active{transform:translateY(0);box-shadow:none}.primary-action{border-color:#087f5b;background:#087f5b;box-shadow:none;color:#fff}.secondary-action:hover,.tool:hover,.inline-actions button:hover{color:var(--accent-strong)}.danger-action{border-color:#b4231838;background:#fff8f7;color:var(--danger)}.tool.featured{background:#111827;box-shadow:none;color:#fff}.tool.active{border-color:#087f5b3d;background:var(--accent-soft);color:var(--accent-strong)}.full-action{width:100%;margin-bottom:10px}.compact-danger{width:auto;min-height:42px;padding:0 13px}.topbar .compact-danger{width:42px;min-width:42px;padding:0;display:none;font-size:0}.icon-action{width:42px;min-width:42px;padding:0}button:disabled,.secondary-action:disabled,.danger-action:disabled{opacity:.42;cursor:not-allowed;transform:none}.file-action{position:relative;overflow:hidden}.file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.project-library{max-height:250px;overflow:auto}.project-list,.revision-list,.form-grid,.takeoff-table,.workflow-list,.layer-list,.template-grid,.journey-list{display:grid;gap:9px}.template-grid{grid-template-columns:1fr}.template-card{width:100%;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.template-card:hover{border-color:#087f5b47;background:#f6fbf8}.template-card strong,.template-card span,.template-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-card strong{font-size:13px}.template-card span{padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:900}.template-card small{grid-column:1 / -1;color:var(--muted);font-size:11px}.progress-track{height:8px;margin-bottom:11px;overflow:hidden;border-radius:999px;background:#e6ebe7}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.journey-row{min-height:34px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--muted);font-size:12px}.journey-row.done{color:var(--accent-strong)}.journey-row span{overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.journey-row b{color:inherit;font-size:11px;white-space:nowrap}.project-row{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none;color:var(--ink);cursor:pointer;text-align:left;transition:transform .13s ease,box-shadow .13s ease}.project-row.active{border-color:#087f5b38;background:var(--accent-soft);color:var(--accent-strong)}.project-row strong,.project-row span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row strong{margin-bottom:3px;font-size:13px}.project-row span{color:var(--muted);font-size:11px}.workflow-step{min-height:50px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.workflow-step.active{border-color:#087f5b42;background:#f1fbf5}.workflow-step b{grid-row:1 / 3;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#eef2ef;box-shadow:none;color:var(--accent-strong);font-size:12px}.workflow-step span{overflow:hidden;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.workflow-step small{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.layer-row{width:100%;min-height:40px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none;color:var(--muted);cursor:pointer;text-align:left}.layer-row.enabled{border-color:#087f5b33;background:#f6fbf8;color:var(--ink)}.layer-row span{overflow:hidden;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.layer-row b{min-width:26px;padding:4px 7px;border-radius:999px;background:var(--surface-pressed);color:var(--muted);font-size:11px;text-align:center}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}.topbar h2{max-width:42vw;overflow:hidden;color:var(--ink);font-size:21px;line-height:1.15;text-transform:none;text-overflow:ellipsis;white-space:nowrap}.workspace-subtitle{max-width:56vw;margin-top:5px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.status-pill{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--warn-soft);box-shadow:none;color:var(--warn);display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:850}.status-pill.online{background:var(--accent-soft);color:var(--accent-strong)}.start-panel{display:grid;gap:14px;margin-bottom:14px;padding:14px;border-radius:8px;background:#111827;color:#fff}.start-panel .eyebrow{color:#86efac}.start-panel h2{margin-bottom:8px;color:#fff;font-size:18px;line-height:1.18;text-transform:none}.start-panel span{color:#cbd5e1;font-size:12px;line-height:1.4}.start-panel button{min-height:40px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:900}.readiness-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.readiness-card{min-height:76px;display:grid;align-content:center;gap:4px;padding:12px 16px;background:#fff}.readiness-card span,.readiness-card small{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.readiness-card span{font-weight:900;text-transform:uppercase}.readiness-card b{color:var(--ink);font-size:20px;line-height:1}.readiness-card.good b{color:var(--accent-strong)}.readiness-card.warn b{color:var(--warn)}.readiness-card.bad b{color:var(--danger)}.smart-action-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.smart-action{min-width:0;min-height:74px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:12px 16px;border:0;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.smart-action svg:first-child{width:34px;height:34px;padding:8px;border-radius:8px;background:#eef2ef;color:var(--muted)}.smart-action>svg:last-child{color:var(--subtle)}.smart-action span,.smart-action b,.smart-action small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis}.smart-action b{white-space:nowrap}.smart-action b{margin-bottom:3px;font-size:12px}.smart-action small{color:var(--muted);font-size:11px;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.smart-action:hover{background:#f8faf8}.smart-action.active svg:first-child,.smart-action.done svg:first-child{background:var(--accent-soft);color:var(--accent-strong)}.smart-action.warn svg:first-child{background:var(--warn-soft);color:var(--warn)}.smart-action.danger svg:first-child{background:var(--danger-soft);color:var(--danger)}.project-brief{min-height:102px;display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(300px,.9fr) auto;gap:14px;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}.brief-main{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:center}.brief-score{width:64px;height:64px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong)}.brief-score.warn{background:var(--warn-soft);color:var(--warn)}.brief-score.bad{background:var(--danger-soft);color:var(--danger)}.brief-score b{font-size:23px;line-height:1}.brief-score span{font-size:10px;font-weight:900;text-transform:uppercase}.brief-main h2{margin-bottom:4px;overflow:hidden;color:var(--ink);font-size:18px;line-height:1.2;text-transform:none;text-overflow:ellipsis;white-space:nowrap}.brief-main p:last-child{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.brief-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.brief-stats div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8}.brief-stats span,.brief-stats b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-stats span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.brief-stats b{margin-top:5px;font-size:13px}.brief-actions{display:grid;grid-template-columns:1fr;gap:8px;min-width:142px}.executive-pulse{min-height:86px;display:grid;grid-template-columns:minmax(210px,.58fr) minmax(520px,1.42fr) minmax(150px,.34fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.pulse-lead,.pulse-card,.pulse-actions{min-width:0;background:#fff}.pulse-lead{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px}.pulse-lead svg{width:38px;height:38px;padding:9px;border-radius:8px;background:#111827;color:#fff}.pulse-lead b,.pulse-lead small,.pulse-card span,.pulse-card b,.pulse-card small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-lead b{margin-bottom:3px;font-size:13px}.pulse-lead small{color:var(--muted);font-size:11px;line-height:1.25;white-space:normal}.pulse-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.pulse-card{min-height:86px;display:grid;align-content:center;gap:4px;padding:12px 13px;border:0;color:var(--ink);cursor:pointer;text-align:left}.pulse-card:hover{background:#f8faf8}.pulse-card span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.pulse-card b{color:var(--ink);font-size:16px;line-height:1.08}.pulse-card small{color:var(--muted);font-size:10px}.pulse-card.good b{color:var(--accent-strong)}.pulse-card.warn b{color:var(--warn)}.pulse-card.bad b{color:var(--danger)}.pulse-actions{display:grid;gap:1px;background:var(--line)}.pulse-actions button{min-width:0;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:0;background:#fff;color:var(--ink);cursor:pointer;font-size:11px;font-weight:900;white-space:nowrap}.pulse-actions button:hover{color:var(--accent-strong);background:#f8faf8}.milestone-focus{min-height:88px;display:grid;grid-template-columns:minmax(210px,.42fr) minmax(560px,1.58fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.milestone-lead,.milestone-card{min-width:0;background:#fff}.milestone-lead{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px}.milestone-lead svg{width:38px;height:38px;padding:9px;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong)}.milestone-lead b,.milestone-lead small,.milestone-card span,.milestone-card b,.milestone-card small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-lead b{margin-bottom:3px;font-size:13px}.milestone-lead small{color:var(--muted);font-size:11px;line-height:1.25;white-space:normal}.milestone-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.milestone-card{min-height:88px;display:grid;align-content:center;gap:4px;padding:12px 13px;border:0;color:var(--ink);cursor:pointer;text-align:left}.milestone-card:hover{background:#f8faf8}.milestone-card span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.milestone-card b{color:var(--ink);font-size:13px;line-height:1.18}.milestone-card small{color:var(--muted);font-size:10px}.milestone-card.good b{color:var(--accent-strong)}.milestone-card.warn b{color:var(--warn)}.milestone-card.bad b{color:var(--danger)}.cfia-matrix{min-height:82px;display:grid;grid-template-columns:minmax(210px,.42fr) minmax(560px,1.58fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.cfia-lead,.cfia-card{min-width:0;background:#fff}.cfia-lead{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px}.cfia-lead svg{width:38px;height:38px;padding:9px;border-radius:8px;background:#eef2ef;color:var(--accent-strong)}.cfia-lead b,.cfia-lead small,.cfia-card b,.cfia-card strong,.cfia-card small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfia-lead b{margin-bottom:3px;font-size:13px}.cfia-lead small{color:var(--muted);font-size:11px;line-height:1.25;white-space:normal}.cfia-grid{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line)}.cfia-card{min-height:82px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;border:0;color:var(--ink);cursor:pointer;text-align:left}.cfia-card:hover{background:#f8faf8}.cfia-card svg{width:32px;height:32px;padding:8px;border-radius:8px;background:#eef2ef;color:var(--muted)}.cfia-card b{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.cfia-card strong{margin-top:3px;color:var(--ink);font-size:15px;line-height:1.08}.cfia-card small{margin-top:3px;color:var(--muted);font-size:10px}.cfia-card.good svg,.cfia-card.good strong{color:var(--accent-strong)}.cfia-card.good svg{background:var(--accent-soft)}.cfia-card.warn svg,.cfia-card.warn strong{color:var(--warn)}.cfia-card.warn svg{background:var(--warn-soft)}.phase-board{min-height:104px;display:grid;grid-template-columns:minmax(420px,1fr) minmax(320px,.62fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.phase-cards{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.phase-card{min-width:0;min-height:104px;display:grid;align-content:center;gap:5px;padding:13px 15px;border:0;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.phase-card:hover{background:#f8faf8}.phase-card span,.phase-card b,.phase-card small,.queue-head b,.queue-head span,.decision-queue button b,.decision-queue button small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-card span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.phase-card b{color:var(--ink);font-size:20px;line-height:1.08}.phase-card small{color:var(--muted);font-size:11px}.phase-card.good b{color:var(--accent-strong)}.phase-card.warn b{color:var(--warn)}.phase-card.bad b{color:var(--danger)}.decision-queue{min-width:0;display:grid;grid-template-columns:1fr;gap:1px;background:var(--line)}.queue-head,.decision-queue button{min-width:0;background:#fff}.queue-head{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px}.queue-head b{font-size:12px}.queue-head span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.decision-queue button{min-height:23px;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:7px 12px;border:0;color:var(--ink);cursor:pointer;text-align:left}.decision-queue button:hover{background:#f8faf8}.decision-queue button svg{color:var(--subtle)}.decision-queue button.urgent svg,.decision-queue button.urgent b{color:var(--accent-strong)}.decision-queue button b{font-size:11px}.decision-queue button small{color:var(--muted);font-size:10px}.studio-assist{min-height:0;display:none;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.25fr) minmax(280px,.95fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.assist-lead,.signal-card,.quick-fix-row{min-width:0;background:#fff}.assist-lead{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;padding:14px 16px}.assist-lead svg{width:38px;height:38px;padding:9px;border-radius:8px;background:#111827;color:#fff}.assist-lead b,.assist-lead small,.signal-card span,.signal-card b,.signal-card small,.quick-fix-row b,.quick-fix-row small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assist-lead b{margin-bottom:3px;font-size:13px}.assist-lead small{color:var(--muted);font-size:11px}.signal-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.signal-card{display:grid;align-content:center;gap:3px;padding:11px}.signal-card span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.signal-card b{color:var(--ink);font-size:18px;line-height:1}.signal-card small{color:var(--muted);font-size:10px}.signal-card.good b{color:var(--accent-strong)}.signal-card.warn b{color:var(--warn)}.quick-fix-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.quick-fix-row button{min-width:0;min-height:56px;display:grid;align-content:center;gap:3px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;color:var(--ink);cursor:pointer;text-align:left}.quick-fix-row button:hover{border-color:#087f5b47;background:var(--accent-soft)}.quick-fix-row b{font-size:11px}.quick-fix-row small{color:var(--muted);font-size:10px}.mode-switcher{min-height:54px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.mode-switcher button{min-width:0;border:0;background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:900}.mode-switcher button.active{background:#111827;color:#fff}.command-ribbon{min-height:66px;display:flex;align-items:center;gap:9px;padding:12px 16px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--line);scrollbar-width:none}.command-ribbon::-webkit-scrollbar{display:none}.command-ribbon .tool{min-width:max-content;padding:0 13px}.ribbon-divider{width:1px;min-width:1px;height:36px;background:#5767772e}.canvas-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--canvas)}.canvas-overview{position:absolute;z-index:3;left:22px;bottom:22px;max-width:min(560px,calc(100% - 36px));min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid rgba(17,24,39,.12);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow-out-sm);color:var(--ink);font-size:12px;font-weight:850;pointer-events:none}.canvas-overview svg{color:var(--accent)}.canvas-stage{position:relative;height:calc(100vh - 552px);min-height:360px;background:var(--canvas)}.plan-canvas{width:100%;height:100%;min-height:360px;display:block;background:var(--canvas);cursor:grab;touch-action:none}.canvas-stage[data-tool=select] .plan-canvas{cursor:default}.canvas-stage[data-tool=pan] .plan-canvas,.plan-canvas:active{cursor:grabbing}.canvas-target{cursor:move}.canvas-toolbar{position:absolute;z-index:2;left:14px;right:14px;top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.canvas-toolgroup{min-height:46px;display:inline-flex;align-items:center;gap:7px;padding:6px;border:1px solid rgba(17,24,39,.12);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow-out-sm);pointer-events:auto}.canvas-toolgroup button{min-width:35px;height:35px;border:0;border-radius:7px;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:12px;font-weight:850}.canvas-toolgroup button:hover{background:#ffffff7a}.canvas-toolgroup button.active{background:var(--accent-soft);box-shadow:none;color:var(--accent-strong)}.canvas-toolgroup b{min-width:52px;color:var(--muted);font-size:12px;text-align:center}.canvas-toolgroup span{font-size:12px;font-weight:850}.canvas-selection-chip{max-width:min(410px,42vw)}.canvas-selection-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-hint{position:absolute;z-index:2;right:18px;bottom:18px;max-width:420px;padding:10px 13px;border:1px solid rgba(17,24,39,.14);border-radius:8px;background:#111827db;box-shadow:var(--shadow-out-sm);color:#fff;font-size:12px;font-weight:800;pointer-events:none}.room-label,.lot-label,.symbol-label,.north-label{paint-order:stroke;stroke:#fffffff0;stroke-linejoin:round;stroke-width:3px}.room-label{fill:#1f2a36;font-size:11px;font-weight:900}.room-area,.dimension-label{fill:#52616f;font-size:10px}.lot-label,.symbol-label{fill:#1f2a36;font-size:10px;font-weight:900}.north-label{fill:#17202a;font-size:14px;font-weight:900}.selection-handle{fill:#fff;stroke:var(--accent);stroke-width:2;pointer-events:none}.resize-box{pointer-events:none}.resize-box>rect:first-child{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:9 5}.resize-handle{fill:var(--accent);stroke:var(--accent-strong);stroke-width:2.5;pointer-events:auto}.resize-handle-nw,.resize-handle-se{cursor:nwse-resize}.resize-handle-ne,.resize-handle-sw{cursor:nesw-resize}.inspector-tabs{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#f3f6f3;box-shadow:none}.inspector-tabs button{min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:900}.inspector-tabs button.active{background:#fff;box-shadow:0 1px 2px #0f172a14;color:var(--ink)}.selection-summary{display:grid;gap:4px;margin-bottom:12px;padding:12px;border:1px solid rgba(8,127,91,.16);border-radius:8px;background:var(--accent-soft);box-shadow:none}.selection-summary strong{min-width:0;overflow:hidden;color:var(--accent-strong);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.selection-summary span{color:var(--muted);font-size:11px;font-weight:850}.context-card{display:grid;gap:4px;margin-bottom:12px;padding:11px;border:1px solid rgba(37,99,235,.16);border-radius:8px;background:var(--blue-soft)}.context-card b{color:var(--blue);font-size:12px}.context-card span{color:var(--muted);font-size:12px;line-height:1.35}.transform-panel{display:grid;gap:10px;margin-bottom:12px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);box-shadow:none}.transform-row{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:9px}.transform-row>span{color:var(--muted);font-size:11px;font-weight:900}.segmented-control{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#eef2ef;box-shadow:none}.segmented-control button{min-width:0;min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;font-size:11px;font-weight:900}.segmented-control button:hover,.segmented-control button.active{background:#fff;color:var(--accent-strong);box-shadow:none}.edit-nudge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.edit-nudge button{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none;color:var(--ink);cursor:pointer;font-size:12px;font-weight:850}.form-grid .wide{grid-column:1 / -1}pre{max-height:280px;overflow:auto;margin:0;padding:12px;border-radius:16px;background:#111827;color:#dbe7f2;font-size:12px}.empty-state{min-height:220px;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;border:1px dashed rgba(17,24,39,.2);border-radius:8px;background:#fafbf9;box-shadow:none;text-align:center}.empty-state strong{font-size:15px}.empty-state span{max-width:245px;color:var(--muted);font-size:12px;line-height:1.45}.empty-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:8px;background:#111827;box-shadow:none;color:#fff}.score{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.score span{color:var(--accent);font-size:42px;font-weight:900;line-height:1}.score small{color:var(--muted)}.issue-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}.issue-list li,.takeoff-row,.review-card,.dashboard-card,.revision-row button{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:none}.issue-list li{padding:10px}.issue-list li.warning{background:var(--warn-soft)}.issue-list li.error{background:var(--danger-soft)}.issue-list b,.issue-list span{display:block}.issue-list b{margin-bottom:4px;font-size:11px}.issue-list span{color:var(--muted);font-size:12px;line-height:1.4}.takeoff-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:9px 10px}.takeoff-row b{font-size:12px;white-space:nowrap}.review-card{display:grid;gap:10px;padding:12px}.cfia-readiness-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.review-card.ready_for_professional_review{background:var(--accent-soft)}.review-card.needs_correction{background:var(--warn-soft)}.cfia-readiness-card.ready_for_professional_review{background:var(--accent-soft)}.cfia-readiness-card.conditional{background:var(--warn-soft)}.cfia-readiness-card.blocked{background:var(--danger-soft)}.approval-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.approval-card.ready_for_professional_review{background:var(--accent-soft)}.approval-card.conditional{background:var(--warn-soft)}.approval-card.blocked{background:var(--danger-soft)}.execution-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.execution-card.ready_to_start{background:var(--accent-soft)}.execution-card.conditional{background:var(--warn-soft)}.execution-card.blocked{background:var(--danger-soft)}.execution-timeline{display:grid;gap:8px}.execution-step{display:grid;grid-template-columns:58px minmax(0,1fr);gap:4px 10px;align-items:start;padding:9px;border:1px solid rgba(18,24,32,.08);border-radius:8px;background:#ffffffb8}.execution-step b{grid-row:1 / 3;color:var(--accent-strong);font-size:11px}.execution-step span,.execution-step small{min-width:0;overflow-wrap:anywhere}.execution-step span{color:var(--ink);font-size:12px;font-weight:800}.execution-step small{color:var(--muted);font-size:11px}.execution-step.blocked b{color:var(--danger)}.execution-step.external b{color:var(--warn)}.approval-gates{display:grid;gap:8px}.approval-gate{min-width:0;display:grid;grid-template-columns:62px minmax(0,1fr);gap:5px 10px;padding:10px;border:1px solid rgba(18,24,32,.08);border-radius:8px;background:#ffffffb8}.approval-gate b{color:var(--ink);font-size:12px}.approval-gate span{min-width:0;color:var(--ink);font-size:12px;font-weight:850}.approval-gate small,.approval-gate em{grid-column:2;min-width:0;color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.approval-gate.ready b,.approval-gate.requires_signature b{color:var(--accent-strong)}.approval-gate.external b{color:var(--blue)}.approval-gate.blocked b{color:var(--danger)}.cfia-requirements{display:grid;gap:7px}.cfia-discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cfia-discipline{min-width:0;display:grid;gap:5px;padding:10px;border:1px solid rgba(18,24,32,.08);border-radius:8px;background:#ffffffbf}.cfia-discipline span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.cfia-discipline b,.cfia-discipline strong,.cfia-discipline small,.cfia-discipline em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfia-discipline b{color:var(--ink);font-size:12px}.cfia-discipline strong{color:var(--accent-strong);font-size:17px}.cfia-discipline.conditional strong{color:var(--warn)}.cfia-discipline.blocked strong{color:var(--danger)}.cfia-discipline small,.cfia-discipline em{color:var(--muted);font-size:11px;font-style:normal}.cfia-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cfia-subgrid>div,.responsibility-table{min-width:0;display:grid;gap:6px;padding:10px;border:1px solid rgba(18,24,32,.08);border-radius:8px;background:#ffffff9e}.cfia-subgrid b,.cfia-subgrid small,.responsibility-table b,.responsibility-table span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfia-subgrid b,.responsibility-table b{color:var(--ink);font-size:11px}.cfia-subgrid small,.responsibility-table span{color:var(--muted);font-size:11px}.responsibility-table div{min-width:0;display:grid;gap:2px}.cfia-requirement{min-width:0;padding:9px;border:1px solid rgba(18,24,32,.08);border-radius:8px;background:#ffffffad}.cfia-requirement b,.cfia-requirement span,.cfia-requirement small{display:block}.cfia-requirement b{margin-bottom:3px;font-size:10px;letter-spacing:0}.cfia-requirement.pass b{color:var(--accent-strong)}.cfia-requirement.warning b{color:var(--warn)}.cfia-requirement.blocker b{color:var(--danger)}.cfia-requirement span{color:var(--ink);font-size:12px;font-weight:850}.cfia-requirement small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.28}.dashboard-card{display:grid;gap:10px;padding:12px}.dashboard-card.green{background:var(--accent-soft)}.dashboard-card.yellow{background:var(--warn-soft)}.dashboard-card.red{background:var(--danger-soft)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-grid div{min-width:0;padding:9px;border-radius:8px;background:#ffffff8c;box-shadow:var(--shadow-in)}.dashboard-grid span,.dashboard-grid b{display:block}.dashboard-grid span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.dashboard-grid b{margin-top:4px;color:var(--ink);font-size:12px}.review-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.review-head strong{font-size:14px}.review-head span{color:var(--accent);font-size:30px;font-weight:900;line-height:1}.review-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-counts b{padding:9px;border-radius:14px;background:#ffffff8a;box-shadow:var(--shadow-in);font-size:12px;text-align:center}.action-list{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--muted);font-size:12px;line-height:1.35}.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.intake-drop{min-height:116px;display:grid;place-items:center;gap:6px;padding:16px;border:1px dashed rgba(10,132,96,.42);border-radius:8px;background:#0a84600f;color:var(--ink);cursor:pointer;text-align:center}.intake-drop:hover{background:#0a846017}.intake-drop svg{color:var(--accent-strong)}.intake-drop b{font-size:13px}.intake-drop span{max-width:320px;color:var(--muted);font-size:11px;font-weight:750;line-height:1.3}.intake-drop input{width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.intake-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.import-drop{min-height:132px;margin-bottom:10px;border-color:#2563eb5c;background:#2563eb0f}.import-drop:hover{background:#2563eb17}.import-drop svg{color:var(--blue)}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.import-summary div{min-width:0;display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.import-summary span{overflow:hidden;color:var(--muted);font-size:10px;font-weight:850;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.import-summary b{min-width:0;overflow:hidden;color:var(--blue);font-size:15px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.intake-summary div{min-width:0;display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.intake-summary b{color:var(--accent-strong);font-size:16px;line-height:1.1}.intake-summary span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.intake-list{max-height:260px;overflow:auto}.intake-row.accepted b{color:var(--accent-strong)}.intake-row.needs_review b{color:var(--warn)}.intake-row.unsupported b{color:var(--danger)}.import-sheet-list{max-height:360px}.import-row.accepted b{color:var(--accent-strong)}.import-row.needs_review b{color:var(--warn)}.import-row.unsupported b{color:var(--danger)}.next-actions{display:grid;gap:6px;margin-top:9px}.next-actions span{padding:8px 9px;border-left:3px solid var(--accent);border-radius:6px;background:#f7faf8;color:var(--ink);font-size:11px;font-weight:760;line-height:1.28}.package-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-bottom:10px}.package-summary b{display:grid;place-items:center;min-width:58px;min-height:40px;border-radius:8px;background:#0a84601a;color:var(--accent);font-size:13px}.package-summary span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.25}.business-panel{display:grid;gap:8px}.big-number{display:grid;gap:5px;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff6b}.big-number span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.big-number b{color:var(--ink);font-size:18px;line-height:1.15}.strong-note{padding:10px;border-radius:8px;background:#ffffff73;font-weight:750}.risk-list{display:grid;gap:8px}.risk-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff70}.risk-row b{color:var(--muted);font-size:11px}.risk-row span{min-width:0;color:var(--ink);font-size:12px;font-weight:760}.risk-row small{grid-column:2;color:var(--muted);font-size:11px}.risk-row.high{border-color:#b423184d;background:#fee8e68c}.risk-row.medium{border-color:#a1620747;background:#fff5d980}.compact-list{margin-top:10px}.sheet-list{display:grid;gap:6px;max-height:286px;overflow:auto;padding-right:2px}.sheet-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:3px 8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:#ffffff80}.sheet-row b{color:var(--accent);font-size:12px}.document-row{grid-template-columns:72px minmax(0,1fr)}.sheet-row span,.sheet-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row span{color:var(--ink);font-size:12px;font-weight:800}.sheet-row small{grid-column:2;color:var(--muted);font-size:11px}.revision-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px}.revision-row button{min-width:0;min-height:40px;color:var(--ink);cursor:pointer;transition:transform .13s ease,box-shadow .13s ease}.revision-row button:first-child{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;align-items:center;padding:9px;text-align:left}.revision-row button:last-child{color:var(--accent);font-size:12px;font-weight:900}.revision-row span{font-size:12px;font-weight:900;white-space:nowrap}.revision-row small{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.danger-zone{background:#fff8f7}@media(max-width:1500px){.app-shell{grid-template-columns:248px minmax(620px,1fr) 320px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%}.topbar h2,.workspace-subtitle{max-width:100%}.project-brief,.phase-board,.studio-assist{grid-template-columns:1fr}.brief-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1060px){.app-shell{min-height:100vh;display:block;background:var(--surface)}.sidebar,.inspector{max-height:none}.sidebar{border-bottom:1px solid var(--line)}.workspace{min-height:78vh;border-bottom:1px solid var(--line)}.readiness-strip,.smart-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-pulse,.milestone-focus,.cfia-matrix{grid-template-columns:1fr}.pulse-grid,.milestone-grid,.cfia-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cfia-discipline-grid,.cfia-subgrid{grid-template-columns:1fr}.pulse-actions,.phase-cards,.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-stage,.plan-canvas{height:72vh;min-height:520px}}@media(max-width:720px){.sidebar,.inspector,.topbar{padding:14px}.topbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.command-ribbon{align-items:stretch}.topbar-actions>button,.status-pill{width:100%;min-width:0}.topbar .icon-action,.topbar .compact-danger{width:100%;min-width:0}.topbar .compact-danger{display:inline-flex;font-size:12px}.readiness-strip,.smart-action-bar{grid-template-columns:1fr}.smart-action{min-height:64px}.phase-board{min-height:auto}.pulse-grid,.milestone-grid,.cfia-grid,.pulse-actions{grid-template-columns:1fr}.pulse-card,.milestone-card,.cfia-card{min-height:68px}.cfia-discipline-grid,.cfia-subgrid,.phase-cards,.decision-queue{grid-template-columns:1fr}.phase-card{min-height:72px}.queue-head{grid-template-columns:1fr}.project-brief{padding:14px}.brief-main{grid-template-columns:56px minmax(0,1fr)}.brief-score{width:56px;height:56px}.brief-main h2,.brief-main p:last-child{white-space:normal}.brief-stats,.brief-actions{grid-template-columns:1fr}.canvas-toolbar{align-items:flex-start;flex-direction:column}.canvas-selection-chip{max-width:calc(100vw - 56px)}.canvas-overview,.canvas-hint{display:none}.export-grid,.metric-grid,.dashboard-grid,.import-summary{grid-template-columns:1fr}}@media(max-width:1180px){.app-shell{grid-template-columns:272px minmax(0,1fr)}.inspector{grid-column:1 / -1;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inspector-tabs{grid-column:1 / -1}.inspector .panel{margin-bottom:0}}@media(max-width:780px){.app-shell{display:flex;flex-direction:column;min-height:100vh;padding:10px}.workspace{order:-1}.sidebar,.inspector{max-height:none}.brand-block{display:none}.topbar{min-height:auto;align-items:flex-start;flex-direction:column}.topbar h2,.workspace-subtitle{max-width:100%;white-space:normal}.topbar-actions{justify-content:flex-start}.command-ribbon{padding:10px}.mode-switcher{min-height:48px}.canvas-stage,.plan-canvas{min-height:560px;height:560px}.canvas-toolbar{align-items:flex-start;flex-wrap:wrap;left:10px;right:10px;top:10px}.canvas-toolgroup span{display:none}.canvas-selection-chip{max-width:100%}.canvas-hint{display:none}.canvas-overview{left:10px;right:10px;bottom:10px;max-width:none}.inspector{display:block}}
