:root{--navy: #00356b;--navy-light: #00529b;--gold: #c9a84c;--gold-light: #f5ecd7;--bg: #f4f5f7;--surface: #ffffff;--surface2: #f9fafb;--border: #e5e7eb;--text: #111827;--text2: #6b7280;--text3: #9ca3af;--green: #059669;--red: #dc2626;--orange: #d97706;--blue: #2563eb;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-size:13px}button,input{font:inherit}button{border:0}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(90deg,var(--navy) 0 36%,transparent 36%),var(--bg)}.login-panel{width:min(420px,100%);padding:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:0 18px 45px #00356b24}.login-panel h1{margin:0 0 22px;color:var(--text);font-size:28px;line-height:1.1;letter-spacing:0}.login-panel form{display:grid;gap:14px}.login-panel label{display:grid;gap:7px;color:var(--text2);font-size:12px;font-weight:700}.login-panel input{width:100%;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface)}.login-panel input:focus{outline:2px solid rgb(0 82 155 / 18%);border-color:var(--navy-light)}.login-panel button{min-height:40px;border-radius:4px;color:#fff;background:var(--navy);font-weight:700;cursor:pointer}.login-panel button:disabled{cursor:wait;opacity:.66}.login-error{margin:0;color:var(--red);font-weight:700}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);height:100vh;overflow:hidden;background:var(--bg)}.sidebar{display:flex;min-height:0;flex-direction:column;color:#fff;background:var(--navy)}.sidebar>div:first-child{padding:28px 20px 24px;border-bottom:1px solid rgb(255 255 255 / 12%)}.sidebar h1,.topbar h2,.panel h3,.row-card h3,.module-row h3,.view-strip h3,.section-heading h3,.project-head h3{margin:0;letter-spacing:0}.sidebar h1{color:#fff;font-size:15px;font-weight:800;line-height:1.15}.sidebar-copy{margin:4px 0 0;color:#ffffff7a;font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.5;text-transform:uppercase}.eyebrow,.kpi-label{margin:0 0 6px;color:var(--text3);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.sidebar .eyebrow{color:var(--gold)}nav{min-height:0;flex:1;overflow-y:auto;padding:12px 0}.nav-group{display:grid}.nav-divider{padding:16px 20px 8px;color:#ffffff52;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.nav-item{width:100%;padding:9px 20px;color:#ffffff94;background:transparent;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.nav-item:hover{color:#ffffffdb;background:#ffffff0f}.nav-item.active{padding-left:18px;border-left:2px solid var(--gold);color:#fff;background:#ffffff1a}.workspace{min-width:0;overflow-y:auto;background:var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px 20px;align-items:center;padding:16px 32px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar h2{color:var(--text);font-size:16px;font-weight:700}.topbar-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px;color:var(--text2);font-size:12px;font-weight:600}.actions{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.actions button{min-height:32px;padding:0 11px;border:1px solid var(--border);border-radius:4px;color:var(--text);background:var(--surface2);font-size:12px;font-weight:700;cursor:pointer}.actions button:hover{border-color:var(--navy-light);color:var(--navy);background:#eef2ff}.guardrails{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 32px;background:linear-gradient(90deg,var(--red),#f59e0b);color:#fff}.guardrails span{color:#fff;font-size:12px;font-weight:800;letter-spacing:.2px}.view-strip,.platform-board,.project-workbench,.workspace>.content-stack,.workspace>.grid,.workspace>.table-panel,.workspace>.result-panel{margin:24px 32px}.view-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:18px;align-items:center;margin-bottom:0;padding:18px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.view-strip h3,.section-heading h3,.project-head h3{color:var(--text);font-size:16px;font-weight:800}.view-strip p{margin:7px 0 0;color:var(--text2);line-height:1.55}.project-selector{display:grid;gap:2px;padding:12px;border-left:3px solid var(--gold);background:var(--surface2)}.project-selector span{color:var(--text3);font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.project-selector strong{color:var(--navy);font-size:20px;font-weight:800}.section-heading,.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.platform-board,.project-workbench{display:grid;gap:14px}.project-workbench{padding-top:4px;border-top:1px solid var(--border)}.breadcrumb{margin:5px 0 0;color:var(--text3);font-size:12px;font-weight:600}.project-tabs{display:flex;flex-wrap:wrap;gap:0;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.project-tab{min-height:34px;padding:0 12px;border-right:1px solid var(--border);color:var(--text2);background:var(--surface);font-size:12px;font-weight:800;cursor:pointer}.project-tab:last-child{border-right:0}.project-tab:hover{color:var(--navy);background:var(--surface2)}.project-tab.active{color:#fff;background:var(--navy)}.project-content{display:grid;gap:16px}.content-stack{display:grid;gap:20px}.platform-board .content-stack,.project-content .content-stack{margin:0}.result-panel,.panel,.row-card,.kpi-card{border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:none}.result-panel{padding:14px 18px;border-left:3px solid var(--gold)}.result-panel p{margin:7px 0;color:var(--text2);line-height:1.55}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.panel{min-height:132px;padding:16px 18px}.panel:has(.panel-head){padding-top:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -18px 14px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.panel-head h3{color:var(--text);font-size:13px;font-weight:800}.panel-body{display:grid;gap:14px}.primary-panel h3{font-size:20px;line-height:1.2}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.facts div{padding:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface2)}dt{color:var(--text3);font-size:11px;font-weight:700;text-transform:uppercase}dd{margin:4px 0 0;color:var(--text);font-weight:800}.split-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:4px}.split-status>div{display:grid;gap:4px;padding:11px 12px;background:var(--surface2)}.split-status>div+div{border-left:1px solid var(--border)}.split-status span{color:var(--text3);font-size:11px;font-weight:700;text-transform:uppercase}.split-status strong{color:var(--navy);font-size:14px}.next-action{margin:0;color:var(--text2);line-height:1.6}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.kpi-card{min-height:104px;padding:16px 18px}.kpi-card strong{display:block;color:var(--text);font-size:24px;font-weight:800;letter-spacing:0;line-height:1.1}.kpi-card small{display:block;margin-top:7px}.metrics-panel{display:grid;gap:0}.metric{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.metric:first-child{padding-top:0}.metric:last-child{border-bottom:0}.metric strong{color:var(--navy);font-size:28px;font-weight:800}.danger-text strong,.red{color:var(--red)!important}.green{color:var(--green)!important}.navy{color:var(--navy)!important}.table-panel{display:grid;gap:0;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.compact-list{display:grid;margin:0 -18px -16px}.compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--border)}.compact-row:last-child{border-bottom:0}.compact-row:hover{background:var(--surface2)}.compact-row strong{display:block;color:var(--text);font-size:13px;font-weight:800}.compact-row small{display:block;margin-top:2px;font-size:11px;line-height:1.4}.empty-state{margin:0;padding:16px 18px;color:var(--text3)}.row-card{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.6fr) minmax(150px,.6fr) minmax(220px,1fr);align-items:center;gap:14px;padding:12px 14px;border:0;border-bottom:1px solid var(--border);border-radius:0}.row-card:last-child{border-bottom:0}.row-card:hover{background:var(--surface2)}.row-card.four{grid-template-columns:minmax(260px,1.2fr) minmax(220px,.8fr) minmax(150px,.5fr) minmax(220px,1fr)}.row-card.risk{grid-template-columns:minmax(260px,1.4fr) 150px 150px minmax(220px,1fr)}.row-card p,.panel p,.panel ul,.module-row p{margin:8px 0 0;color:var(--text2);line-height:1.55}.row-card h3,.module-row h3{color:var(--text);font-size:13px;font-weight:800}.muted,small{color:var(--text3)}.hash{overflow-wrap:anywhere;color:var(--text2);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.pill{display:inline-flex;width:fit-content;align-items:center;min-height:22px;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:800;line-height:1.2}.pill.good{color:var(--green);background:#ecfdf5}.pill.warning{color:var(--orange);background:#fff7ed}.pill.danger{color:var(--red);background:#fef2f2}.pill.neutral{color:var(--navy);background:#eef2ff}.risk-list{display:grid;margin:0 -18px -16px}.risk-row{display:grid;grid-template-columns:8px minmax(0,1fr);gap:12px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--border)}.risk-row:last-child{border-bottom:0}.risk-row strong{display:block;color:var(--text);font-size:13px;font-weight:800}.risk-row small{display:block;margin-top:2px;font-size:11px}.dot{width:8px;height:8px;border-radius:999px;background:var(--text3)}.dot.good{background:var(--green)}.dot.warning{background:var(--orange)}.dot.danger{background:var(--red)}.dot.neutral{background:var(--navy)}.module-panel,.engine-panel{padding-bottom:0}.engine-flow{display:grid;margin:0 -18px}.engine-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.engine-step:last-child{border-bottom:0}.engine-step h3{margin:0;color:var(--text);font-size:14px;font-weight:800}.engine-step p{margin:5px 0 3px;color:var(--text2);line-height:1.55}.step-index{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#fff;background:var(--navy);font-size:12px;font-weight:800}.lane-panel ul,.check-list{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--text2);line-height:1.55}.module-list{display:grid;margin:0 -18px}.module-row{display:grid;grid-template-columns:minmax(280px,1fr) 150px minmax(240px,.8fr);gap:18px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--border)}.module-row:last-child{border-bottom:0}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi{min-height:128px}.kpi h3{color:var(--navy);font-size:24px;line-height:1.15}@media(max-width:1180px){.shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{min-height:auto}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.grid,.grid.two,.view-strip,.module-row,.engine-step,.row-card,.row-card.four,.row-card.risk{grid-template-columns:1fr}}@media(max-width:720px){.login-shell{background:linear-gradient(180deg,var(--navy) 0 160px,transparent 160px),var(--bg)}.topbar{grid-template-columns:1fr;padding:14px 18px}.topbar-meta{justify-content:flex-start}.guardrails{padding:8px 18px}.view-strip,.platform-board,.project-workbench,.content-stack,.workspace>.grid,.workspace>.table-panel,.workspace>.result-panel{margin:18px}.project-head,.section-heading{display:grid}.project-tab{flex:1 1 120px;border-bottom:1px solid var(--border)}nav{grid-template-columns:1fr}.facts,.split-status{grid-template-columns:1fr}.split-status>div+div{border-top:1px solid var(--border);border-left:0}}
