:root{--navy:#0a1830;--navy2:#102746;--ink:#172033;--muted:#667085;--line:#dfe5ec;--bg:#f3f6f9;--white:#fff;--teal:#16a394;--teal2:#dff6f2;--red:#d83b4c;--red2:#ffeaed;--amber:#db8b15;--amber2:#fff4dc;--blue:#2e6ad9;--blue2:#eaf1ff;--shadow:0 14px 35px rgba(21,35,57,.1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.demo-banner{background:#d9a21b;color:#151515;padding:7px 20px;text-align:center;font-size:11px;font-weight:900;letter-spacing:.12em;position:sticky;top:0;z-index:30}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 31px)}.sidebar{background:var(--navy);color:#dce7f5;padding:25px 18px;display:flex;flex-direction:column;position:sticky;top:31px;height:calc(100vh - 31px)}.brand{display:flex;align-items:center;gap:11px;margin:0 8px 28px}.brand-mark{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#20b7a5,#2e6ad9);display:grid;place-items:center;font-weight:900;color:white}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#91a8c4}nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#aebed1;text-align:left;padding:11px 12px;border-radius:8px;font:inherit;cursor:pointer;display:flex;align-items:center;gap:10px}.nav-item:hover,.nav-item.active{background:#173353;color:#fff}.nav-item b{margin-left:auto;background:#dc3e50;color:white;border-radius:12px;min-width:22px;padding:1px 6px;text-align:center;font-size:11px}.sidebar-foot{margin-top:auto;border-top:1px solid #29415e;padding:18px 8px 0;display:flex;align-items:center;gap:10px}.sidebar-foot strong,.sidebar-foot span{display:block;font-size:11px}.sidebar-foot span{color:#8197b2}.status-dot{width:10px;height:10px;border-radius:50%;background:#30cfae;box-shadow:0 0 0 4px rgba(48,207,174,.15)}
main{min-width:0}.topbar{height:94px;background:#fff;border-bottom:1px solid var(--line);padding:19px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:31px;z-index:20}.topbar h1{margin:2px 0;font-size:24px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:#377b87;margin:0 0 3px}.top-actions{display:flex;gap:9px;align-items:center}button{font-family:inherit}.primary,.ghost,.action-btn,.text-btn,.icon-btn{border-radius:7px;border:1px solid transparent;padding:9px 13px;font-weight:800;cursor:pointer}.primary{background:#147f76;color:white}.primary:hover{background:#0c6961}.primary:disabled{background:#a9b6b5;cursor:not-allowed}.ghost{background:#fff;border-color:#cfd7e1;color:#344054}.action-btn{background:#eef3f8;border-color:#d6dee8;color:#233a57;font-size:12px}.text-btn{border:0;background:transparent;color:#147f76}.icon-btn{background:transparent;font-size:26px;padding:0 8px}.avatar{width:36px;height:36px;border-radius:50%;background:#173353;color:#fff;display:grid;place-items:center;font-weight:800}.view{display:none;padding:25px 30px 50px}.view.active{display:block}.summary-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:14px;margin-bottom:16px}.score-card,.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 10px rgba(20,40,65,.03)}.score-card{padding:19px}.score-card.dark{background:linear-gradient(145deg,#0e2542,#14375c);color:white}.score-card p{margin:0}.score-row{display:flex;align-items:baseline;gap:5px}.score-row strong{font-size:38px}.meter{height:7px;background:#dce3ea;border-radius:8px;overflow:hidden;margin:8px 0}.meter i{display:block;height:100%;background:#34c7ae}.score-card small{color:#b6c7da}.metric{padding:18px;display:flex;align-items:center;gap:13px}.metric small,.metric strong,.metric p{display:block;margin:0}.metric strong{font-size:26px}.metric p{font-size:11px;color:var(--muted)}.metric-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:900}.metric-icon.red{background:var(--red2);color:var(--red)}.metric-icon.amber{background:var(--amber2);color:var(--amber)}.metric-icon.teal{background:var(--teal2);color:var(--teal)}.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:20px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h2,.panel h3{margin:0 0 7px}.mission-row{display:grid;grid-template-columns:1fr auto 65px;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf0f4}.mission-name strong,.mission-name span{display:block}.mission-name span{font-size:12px;color:var(--muted)}.risk-tag,.status-tag,.stage-tag,.pill,.step-status{display:inline-block;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:900}.risk-tag.Critical{background:var(--red2);color:#b72237}.risk-tag.High{background:var(--amber2);color:#9b5a00}.risk-tag.Medium{background:var(--blue2);color:#2456ad}.risk-tag.Low{background:#ecf8ee;color:#28783c}.stage-tag{background:#eef2f6;color:#405267}.status-tag{background:#edf2f7;color:#41566d}.pill{background:#ecf5f4;color:#16796f}.red-pill{background:var(--red2);color:var(--red)}.donut-wrap{display:flex;align-items:center;justify-content:center;gap:28px;padding:8px}.donut{width:140px;height:140px;border-radius:50%;background:conic-gradient(var(--red) 0 26deg,var(--amber) 26deg 119deg,#f1b654 119deg 266deg,#8ca3bc 266deg);display:grid;place-items:center}.donut>div{width:88px;height:88px;border-radius:50%;background:white;display:grid;place-items:center;align-content:center}.donut strong{font-size:27px}.donut span{font-size:10px;color:var(--muted)}.legend{padding:0;list-style:none}.legend li{display:grid;grid-template-columns:10px 1fr auto;gap:7px;margin:8px 0}.legend i{width:9px;height:9px;border-radius:50%;margin-top:5px}.legend .critical{background:var(--red)}.legend .high{background:var(--amber)}.legend .medium{background:#f1b654}.legend .low{background:#8ca3bc}.explain{background:#f4f8fb;padding:12px;border-radius:8px}.explain p{margin:4px 0;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-top:1px solid #edf0f4}th{font-size:10px;color:var(--muted);letter-spacing:.08em}td strong,td span{display:block}.toolbar{display:flex;justify-content:space-between;margin-bottom:14px;gap:12px}.search{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 13px;display:flex;gap:8px;flex:1}.search input{border:0;outline:0;width:100%;font:inherit}select,input,textarea{border:1px solid #cfd7df;border-radius:7px;padding:9px;font:inherit;background:white}.toolbar select{min-width:160px}
.workflow-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:14px}.workflow-step{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;align-items:center;gap:8px}.workflow-step>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e6f4f2;color:#147f76;font-weight:900}.workflow-step strong,.workflow-step small{display:block;font-size:11px}.workflow-step small{color:var(--muted)}.workflow-explainer{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;align-items:center;background:linear-gradient(120deg,#f5fffd,#fff)}.workflow-explainer p{margin:0;color:#4b5869}.incident-list{display:grid;gap:12px}.incident-card{border:1px solid var(--line);border-left:5px solid #8ca3bc;border-radius:10px;padding:16px;display:flex;justify-content:space-between;gap:18px}.incident-card.Critical{border-left-color:var(--red)}.incident-card.High{border-left-color:var(--amber)}.incident-card.Medium{border-left-color:var(--blue)}.incident-card h3{font-size:17px;margin:7px 0 3px}.incident-card p{margin:0 0 13px;color:#4f5b6a}.incident-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px}.case-main{flex:1}.card-action{min-width:175px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;color:#16796f;font-size:12px;font-weight:800}.accountability-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.accountability-preview div{background:#f6f8fa;border-radius:7px;padding:9px}.accountability-preview small,.accountability-preview strong,.accountability-preview span{display:block}.accountability-preview small{font-size:9px;color:#6b7280;letter-spacing:.08em}.accountability-preview span{font-size:10px;color:var(--muted)}
.intro-panel>p:last-child{max-width:800px;color:var(--muted)}.proof-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin:25px 0}.proof-node{min-height:126px;background:#fff;border:2px solid var(--line);border-radius:11px;padding:14px;text-align:left;cursor:pointer}.proof-node.active{border-color:var(--teal);box-shadow:0 0 0 4px rgba(22,163,148,.1)}.proof-node small,.proof-node strong,.proof-node span{display:block}.proof-node small{color:#147f76;font-weight:900}.proof-node span{color:var(--muted);font-size:11px;margin-top:6px}.connector{color:#8fa0b3;font-size:24px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-grid div{background:#f5f8fa;padding:12px;border-radius:8px}.detail-grid small,.detail-grid strong{display:block}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kanban-col{background:#f4f6f9;border-radius:9px;padding:12px}.vuln-card{background:white;padding:12px;border-radius:8px;margin:9px 0;border:1px solid var(--line)}.vuln-card strong,.vuln-card span{display:block}.vuln-card span{color:var(--muted);margin:5px 0 10px}.balance-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}.balance-grid label{display:grid;gap:6px;margin:13px 0}.full{width:100%}.result-card{background:linear-gradient(145deg,#0f2847,#143d62);color:white}.recommendation{font-size:23px;font-weight:800;margin:18px 0}.risk-bars label{display:flex;justify-content:space-between}.risk-bars>div{height:9px;background:#31516f;border-radius:7px;margin:5px 0 14px;overflow:hidden}.risk-bars i{height:100%;display:block}.redbar{background:#ff6375}.bluebar{background:#45a2ff}.recovery-grid,.integration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recovery-card,.integration{border:1px solid var(--line);border-radius:9px;padding:14px}.recovery-card strong,.recovery-card span{display:block}.readiness{font-size:25px;font-weight:900;color:#147f76}.timeline-item{border-left:3px solid #27a897;padding:8px 13px;margin:6px}.timeline-item span{display:block;color:var(--muted)}.integration{text-align:center}.logo{width:42px;height:42px;border-radius:9px;background:#132e50;color:white;display:grid;place-items:center;margin:auto;font-weight:900}
dialog{border:0;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.28);width:min(720px,94vw);padding:0}dialog::backdrop{background:rgba(5,15,30,.65)}dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}dialog label{display:grid;gap:5px;font-size:12px;font-weight:700;margin-top:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-section{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}textarea{min-height:80px;resize:vertical}#toast{position:fixed;bottom:24px;right:24px;background:#10233d;color:white;padding:12px 17px;border-radius:8px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:100}#toast.show{opacity:1;transform:none}
.case-dialog{width:min(1240px,96vw);height:min(900px,94vh);max-height:94vh;border-radius:15px}.case-dialog #caseWorkspace{height:100%;overflow:auto;background:#f4f7fa}.case-head{background:#fff;padding:20px 24px 15px;display:flex;justify-content:space-between;position:sticky;top:0;z-index:7;border-bottom:1px solid var(--line)}.case-head h2{margin:2px 0 8px;font-size:24px}.case-summary{background:#102945;color:white;display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.case-summary div{padding:12px 18px;background:#133250}.case-summary small,.case-summary strong{display:block}.case-summary small{font-size:9px;color:#a9bed4;letter-spacing:.08em}.case-tabs{background:white;display:flex;padding:0 20px;border-bottom:1px solid var(--line);position:sticky;top:97px;z-index:6;overflow:auto}.case-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:13px 14px;font-weight:800;color:#596779;white-space:nowrap;cursor:pointer}.case-tabs button.active{color:#147f76;border-color:#147f76}.case-body{padding:18px 22px 35px}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.case-section,.list-block{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px;margin-bottom:13px}.case-section.wide{grid-column:1/-1}.lead{font-size:15px;color:#435063;max-width:980px}.case-section dl,.residual dl{display:grid;grid-template-columns:140px 1fr;gap:8px 12px;margin:0}.case-section dt{color:var(--muted);font-size:11px;font-weight:800}.case-section dd{margin:0}.list-block ul{margin:8px 0 0;padding-left:20px}.list-block li{margin:7px 0}.list-block.good{border-top:4px solid var(--teal)}.list-block.warn{border-top:4px solid var(--amber)}.list-block.bad{border-top:4px solid var(--red)}.consequence-table{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.consequence-table>div{border:1px solid var(--line);border-radius:8px;padding:12px}.consequence-table p{min-height:62px;color:var(--muted)}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.person-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;min-height:230px}.person-card>small{font-size:9px;color:#147f76;font-weight:900;letter-spacing:.09em}.person-avatar{width:42px;height:42px;border-radius:50%;background:#143251;color:white;display:grid;place-items:center;margin:12px 0 8px;font-weight:900}.person-card>span,.person-card p,.person-card em{color:var(--muted);font-size:11px}.person-card p{margin:4px 0}.person-card em{font-style:normal;margin-top:auto;border-top:1px solid var(--line);padding-top:6px}.plan-list{display:grid;gap:10px;margin-bottom:13px}.plan-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start}.step-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6f4f2;color:#147f76;font-weight:900}.step-details{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.step-details p{margin:0;background:#f7f9fb;border-radius:7px;padding:8px}.step-details small,.step-details strong{display:block}.step-details small{font-size:8px;color:var(--muted);letter-spacing:.08em}.step-details strong{font-size:11px}.step-status.complete{background:var(--teal2);color:#13776d}.step-status.in-progress{background:var(--blue2);color:#2456ad}.step-status.blocked{background:var(--red2);color:#b72237}.step-status.not-started{background:#eef2f6;color:#526273}.access-section{background:#f6fffd}.access-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.access-grid div{background:#fff;border:1px solid #cde8e3;border-radius:8px;padding:11px}.access-grid small{font-weight:900;color:#147f76}.evidence-table{border:1px solid var(--line);border-radius:9px;overflow:hidden}.evidence-row{display:grid;grid-template-columns:1.25fr 1.2fr 1.2fr .55fr;gap:10px;padding:11px;border-top:1px solid var(--line);align-items:center}.evidence-row:first-child{border:0}.evidence-row.head{background:#edf2f6;font-size:10px;color:#576577}.evidence-row span,.evidence-row strong{font-size:11px}.evidence-row small{display:block;color:var(--muted)}.status-tag.verified{background:var(--teal2);color:#147f76}.status-tag.missing{background:var(--red2);color:#b72237}.status-tag.pending{background:var(--amber2);color:#8c5504}.decision-log{display:grid;gap:0;border-left:3px solid #9ccfc9;margin-left:8px}.decision-log>div{position:relative;padding:5px 10px 15px 22px}.decision-log>div:before{content:'';position:absolute;left:-8px;top:9px;width:12px;height:12px;border-radius:50%;background:#147f76;border:2px solid white}.decision-log time{display:block;color:#147f76;font-size:10px;font-weight:900}.decision-log p{margin:3px 0;color:var(--muted)}.closure-progress{max-width:500px;margin:18px 0}.closure-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.closure-list label{display:flex;gap:8px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#f9fbfc}.closure-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.timeline-log strong{font-size:12px}
@media(max-width:1050px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding:18px 9px}.brand>div:last-child,.nav-item:not(.active) b,.nav-item{font-size:0}.nav-item span,.nav-item b{font-size:15px}.nav-item{justify-content:center}.sidebar-foot>div:last-child{display:none}.summary-grid{grid-template-columns:1fr 1fr}.workflow-strip{grid-template-columns:repeat(4,1fr)}.accountability-preview{grid-template-columns:1fr 1fr}.people-grid{grid-template-columns:repeat(3,1fr)}.step-details{grid-template-columns:1fr 1fr}.proof-flow{grid-template-columns:1fr 1fr}.connector{display:none}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto;display:block}.brand,.sidebar-foot{display:none}#nav{display:flex;overflow:auto}.nav-item{font-size:0;min-width:44px}.topbar{top:31px;padding:12px 14px;height:78px}.topbar h1{font-size:17px}.top-actions .ghost,.avatar{display:none}.view{padding:14px}.summary-grid,.two-col,.workflow-explainer,.case-grid,.balance-grid,.recovery-grid,.integration-grid{grid-template-columns:1fr}.workflow-strip{grid-template-columns:1fr 1fr}.accountability-preview,.case-summary,.people-grid,.consequence-table,.access-grid,.closure-list{grid-template-columns:1fr 1fr}.incident-card{display:block}.card-action{align-items:stretch;gap:9px;margin-top:12px}.proof-flow,.kanban{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.case-dialog{width:98vw;height:96vh}.case-head{top:0}.case-tabs{top:120px}.case-summary{grid-template-columns:1fr 1fr}.step-details,.evidence-row{grid-template-columns:1fr}.plan-step{grid-template-columns:32px 1fr}.plan-step>button{grid-column:2}.evidence-row.head{display:none}.case-section dl{grid-template-columns:1fr}.case-section dd{margin-bottom:8px}}
