:root{--bg:#f4f6f8;--surface:#fff;--surface-muted:#f8fafc;--text:#172033;--text-muted:#667085;--text-soft:#8a94a6;--border:#d9e0e8;--border-strong:#bdc8d5;--focus:#2563eb;--shadow:0 14px 40px #1a243414;--draft:#6b7280;--scoping:#2563eb;--approval:#f08a24;--procurement:#7c3aed;--active:#16a34a;--problem:#dc2626;--completed:#166534;--closed:#111827;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #ffffffb8, #f4f6f800 260px), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #2563eb38}#root{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f8fafc;background:#172033;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:6px 6px 22px;display:flex}.brand-mark{color:#172033;background:#fff;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:18px;line-height:1.1}.brand span{color:#b9c3d1;margin-top:3px;font-size:12px}.sidebar-nav{gap:6px;margin-top:22px;display:grid}.nav-item{color:#cbd5e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 11px;display:flex}.nav-item svg,.sidebar-footer svg{width:18px;height:18px}.nav-item.active,.nav-item:hover{color:#fff;background:#ffffff1a;border-color:#ffffff1f}.sidebar-footer{background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;margin-top:auto;padding:14px}.footer-label{color:#b9c3d1;margin-bottom:5px;font-size:12px;display:block}.sidebar-footer strong{word-break:break-word;font-size:13px}.workspace{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.topbar h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.15}.topbar p,.panel-heading p,.project-header p{color:var(--text-muted);margin:6px 0 0;line-height:1.45}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:460px;display:flex}.search-box{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:8px;min-width:250px;height:42px;padding:0 12px;display:flex}.search-box svg{width:18px;height:18px;color:var(--text-soft)}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0}.search-box input:focus{outline:0}.role-select{gap:4px;display:grid}.role-select span{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.role-select select{border:1px solid var(--border);min-width:150px;height:42px;color:var(--text);background:var(--surface);border-radius:8px}.primary-action,.secondary-action,.action-bar button{border:1px solid var(--border-strong);min-height:42px;color:var(--text);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.primary-action{color:#fff;background:#172033;border-color:#172033;min-width:118px}.secondary-action{color:var(--text);background:var(--surface)}.primary-action.compact,.secondary-action.compact{min-width:auto;min-height:34px;padding:0 10px;font-size:12px}.primary-action svg,.action-bar svg{width:17px;height:17px}.status-strip{grid-template-columns:repeat(8,minmax(90px,1fr));gap:8px;margin-bottom:14px;display:grid}.status-tile{border:1px solid var(--border);min-height:78px;color:var(--draft);background:var(--surface);text-align:left;border-top:4px solid;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:12px;display:grid;box-shadow:0 6px 18px #1a24340a}.status-tile strong{color:var(--text);font-size:24px;line-height:1}.status-tile span:last-child{color:var(--text-muted);grid-column:1/-1;font-size:12px;font-weight:700}.status-icon{background:color-mix(in srgb, currentColor 12%, #fff);border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.status-icon svg{width:16px;height:16px}.draft{color:var(--draft)}.scoping{color:var(--scoping)}.approval{color:var(--approval)}.procurement{color:var(--procurement)}.active{color:var(--active)}.problem{color:var(--problem)}.completed{color:var(--completed)}.closed{color:var(--closed)}.filter-row{grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;margin-bottom:18px;display:grid}.filter-chip{border:1px solid var(--border);min-height:70px;color:var(--text);background:var(--surface);text-align:left;border-radius:8px;gap:4px;padding:11px 12px;display:grid}.filter-chip strong{font-size:13px}.filter-chip span{color:var(--text-muted);font-size:12px}.filter-chip.active{border-color:#172033;box-shadow:inset 0 0 0 1px #172033}.content-grid{grid-template-columns:minmax(330px,.86fr) minmax(0,1.38fr);align-items:start;gap:18px;display:grid}.project-list-panel,.project-file{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.project-list-panel{min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.panel-heading h2,.project-header h2{color:var(--text);letter-spacing:0;margin:0;font-size:19px}.panel-heading svg{width:20px;height:20px;color:var(--text-soft)}.project-groups{align-content:start;gap:14px;min-height:410px;max-height:calc(100vh - 350px);padding:14px;display:grid;overflow:auto}.project-group{align-content:start;gap:8px;display:grid}.group-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-heading>span:last-child{min-width:24px;height:24px;color:var(--text-muted);background:var(--surface-muted);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.project-rows{gap:7px;display:grid}.project-row{border:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.project-row:hover,.project-row.selected{background:#f8fafc;border-color:#172033}.project-row-main,.project-row-meta{gap:4px;display:grid}.project-row-main{min-width:0}.project-row-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-row small{color:var(--text-muted)}.project-row-meta{flex:none;justify-items:end}.project-row-meta svg{width:16px;height:16px;color:var(--text-soft)}.project-file{min-width:0;padding:18px}.project-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.project-id,.eyebrow{color:var(--text-soft);letter-spacing:0;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:inline-block}.project-header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.status-badge,.status-pill{border:1px solid color-mix(in srgb, currentColor 36%, #fff);background:color-mix(in srgb, currentColor 10%, #fff);border-radius:8px;align-items:center;gap:7px;width:fit-content;min-height:30px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.status-badge svg{width:14px;height:14px}.status-pill{border-color:var(--border);color:var(--text);background:var(--surface-muted)}.metric{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;min-width:120px;padding:8px 10px;display:grid}.metric span{color:var(--text-muted);font-size:11px;font-weight:700}.metric strong{margin-top:4px;font-size:14px}.workflow-track{grid-template-columns:repeat(10,1fr);gap:5px;margin:18px 0 14px;display:grid}.track-step{background:#e4e9ef;border-radius:999px;height:8px}.track-step.complete{background:#172033}.role-focus{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;grid-template-columns:minmax(120px,180px) 1fr;gap:16px;padding:14px;display:grid}.role-focus strong{display:block}.role-focus ul,.info-block ol{margin:0;padding-left:22px}.role-focus li,.info-block li{min-width:0;color:var(--text-muted);overflow-wrap:anywhere;word-break:normal;white-space:normal;line-height:1.45}.info-block li{padding-left:2px}.info-block li::marker{color:var(--text-muted);font-weight:800}.readiness-panel{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;margin-top:12px;padding:14px;display:grid}.readiness-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.readiness-summary strong{font-size:18px;display:block}.readiness-bar{background:#e4e9ef;border-radius:999px;height:8px;overflow:hidden}.readiness-bar span{border-radius:inherit;background:var(--active);height:100%;display:block}.readiness-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.readiness-item{border:1px solid var(--border);min-height:32px;color:var(--text-muted);background:var(--surface-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:700;display:inline-flex}.readiness-item svg{color:#b8c1ce;width:14px;height:14px}.readiness-item.complete{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}.readiness-item.complete svg{color:var(--active)}.tab-list{border-bottom:1px solid var(--border);gap:4px;margin-top:16px;display:flex;overflow-x:auto}.tab{color:var(--text-muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:11px 10px;font-size:13px;font-weight:800}.tab.active{color:#172033;border-bottom-color:#172033}.tab-panel{min-height:252px;padding:16px 0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.info-block,.wide-note,.oracle-summary,.approval-decision,.progress-update,.evidence-item,.check-item,.inline-empty,.empty-state{border:1px solid var(--border);background:#fff;border-radius:8px}.info-block,.wide-note,.oracle-summary,.approval-decision,.progress-update,.evidence-item,.check-item{padding:13px}.info-title{align-items:center;gap:8px;margin-bottom:8px;display:flex}.info-title svg{color:#172033;width:16px;height:16px}.wide-note{grid-column:1/-1}.wide-note-heading,.scope-editor-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wide-note p,.oracle-summary p,.approval-decision p{color:var(--text-muted);margin:7px 0 0}.scope-editor{gap:14px;display:grid}.scope-editor-heading{border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;padding:14px}.scope-editor-heading strong,.scope-editor-heading span{display:block}.scope-editor-heading span{color:var(--text-muted);margin-top:5px}.scope-editor-actions{flex:none;gap:8px;display:flex}.scope-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.scope-item-editor{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;min-width:0;margin:0;padding:12px;display:grid}.scope-item-editor legend{color:var(--text-muted);text-transform:uppercase;padding:0 4px;font-size:12px;font-weight:800}.scope-item-rows{gap:8px;display:grid}.scope-item-row{grid-template-columns:30px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.scope-item-number{border:1px solid var(--border);width:30px;height:34px;color:var(--text-muted);background:var(--surface-muted);border-radius:8px;place-items:center;font-size:13px;font-weight:800;display:grid}.scope-item-row input{border:1px solid var(--border);min-width:0;height:38px;color:var(--text);background:#fff;border-radius:8px;padding:8px 10px}.icon-button.small{width:34px;height:34px}.icon-button.small svg{width:15px;height:15px}.table-wrap{border:1px solid var(--border);border-radius:8px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px}th{color:var(--text-muted);background:var(--surface-muted);text-transform:uppercase;font-size:12px}td{color:var(--text)}tr:last-child td{border-bottom:0}.evidence-list,.approval-panel,.progress-feed{gap:9px;display:grid}.evidence-item,.progress-update{align-items:flex-start;gap:10px;display:flex}.evidence-item>div{flex:auto;min-width:0}.evidence-view-button{flex:none}.evidence-item svg{width:18px;height:18px;color:var(--text-soft);flex:none}.evidence-item strong,.evidence-item span,.progress-update strong,.progress-update span,.approval-decision strong,.approval-decision span{display:block}.evidence-item span,.progress-update span,.approval-decision span{color:var(--text-muted);margin-top:4px;font-size:13px}.evidence-preview{border:1px dashed var(--border-strong);min-height:220px;color:var(--text-muted);background:var(--surface-muted);text-align:center;border-radius:8px;align-content:center;place-items:center;margin:20px;padding:24px;display:grid}.evidence-preview svg{width:36px;height:36px;color:var(--text-soft);margin-bottom:10px}.evidence-preview strong{color:var(--text)}.evidence-preview p{max-width:460px;margin:8px 0 0;line-height:1.5}.evidence-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 20px 20px;display:grid}.evidence-details div{border:1px solid var(--border);background:#fff;border-radius:8px;padding:11px 12px}.evidence-details dt{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:800}.evidence-details dd{color:var(--text);overflow-wrap:anywhere;margin:5px 0 0;font-weight:700}.oracle-grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.oracle-summary dl{gap:8px;margin:12px 0;display:grid}.oracle-summary div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-bottom:7px;display:flex}.oracle-summary dt{color:var(--text-muted)}.oracle-summary dd{text-align:right;margin:0;font-weight:800}.checklist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.check-item{color:var(--text-muted);align-items:center;gap:8px;display:flex}.check-item svg{color:#b8c1ce;width:17px;height:17px}.check-item.complete{color:var(--text);background:#f0fdf4;border-color:#bbf7d0}.check-item.complete svg{color:var(--completed)}.inline-empty,.empty-state{min-height:130px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:20px;display:grid}.inline-empty svg,.empty-state svg{width:26px;height:26px;color:var(--text-soft)}.action-bar{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding-top:14px;display:grid}.action-bar button{white-space:normal;min-height:46px;padding-inline:10px;font-size:13px}.action-bar button:hover{border-color:#172033}.action-bar .close-action{color:#fff;border-color:var(--closed);background:var(--closed)}.demo-log{color:#27367a;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:11px 12px;font-size:13px;display:flex}.demo-log svg{flex:none;width:16px;height:16px}.modal-backdrop{z-index:20;background:#0f172a70;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-modal{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(760px,100%);max-height:min(760px,100vh - 40px);overflow:auto;box-shadow:0 30px 80px #0f172a47}.project-modal.compact-modal{width:min(620px,100%)}.modal-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.modal-heading h2{margin:0;font-size:22px}.modal-heading p{color:var(--text-muted);margin:6px 0 0}.icon-button{border:1px solid var(--border);width:38px;height:38px;color:var(--text-muted);background:var(--surface);border-radius:8px;flex:none;place-items:center;display:grid}.icon-button svg{width:18px;height:18px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.field{gap:6px;display:grid}.field.wide{grid-column:1/-1}.field span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;padding:10px 12px;font-family:inherit}.field textarea{resize:none;line-height:1.45}.upload-field{border:1px dashed var(--border-strong);background:var(--surface-muted);border-radius:8px;gap:8px;padding:16px;display:grid;position:relative}.upload-field.wide{grid-column:1/-1}.upload-field span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:800}.upload-field input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-field strong{color:var(--text)}.upload-field small{color:var(--text-muted);line-height:1.45}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 20px 20px;display:flex}@media (width<=1280px){.status-strip{grid-template-columns:repeat(4,minmax(120px,1fr))}.filter-row{grid-template-columns:repeat(3,minmax(150px,1fr))}.content-grid{grid-template-columns:1fr}.project-groups{min-height:0;max-height:none}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:12px;position:static}.brand{padding-bottom:12px}.sidebar-nav{margin-top:12px;padding-bottom:4px;display:flex;overflow-x:auto}.nav-item{flex:none;width:auto}.sidebar-footer{display:none}.workspace{padding:16px}.topbar,.project-header{display:grid}.topbar-actions{grid-template-columns:1fr 180px auto;width:100%;min-width:0;display:grid}.search-box{min-width:0}}@media (width<=720px){.workspace{padding:12px}.topbar-actions,.role-focus,.detail-grid,.oracle-grid,.checklist-grid,.action-bar,.form-grid,.readiness-items,.scope-form-grid,.evidence-details{grid-template-columns:1fr}.readiness-summary,.wide-note-heading,.scope-editor-heading,.scope-editor-actions{display:grid}.status-strip,.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.status-tile,.filter-chip{min-height:78px}.project-file{padding:14px}.modal-backdrop{align-items:end;padding:10px}.project-modal{max-height:calc(100vh - 20px)}.modal-heading,.form-grid,.modal-actions{padding-inline:14px}.modal-actions{display:grid}.project-header-meta{justify-content:flex-start}.metric{flex:145px;min-width:0}.project-row{align-items:flex-start}.project-row-main strong{white-space:normal}}@media (width<=460px){.status-strip,.filter-row{grid-template-columns:1fr}.topbar h1{font-size:24px}}
