
.workspace-heading{display:flex;align-items:center;gap:20px;margin:0 0 20px}.workspace-heading p{margin:8px 0 0}.workspace-tabs{display:flex;gap:4px;overflow:auto;background:white;border:1px solid var(--line);border-radius:9px;padding:7px;margin-bottom:24px}.workspace-tabs a{color:#526b80;white-space:nowrap;font-size:12px;padding:11px 15px;border-radius:5px}.workspace-tabs a:hover{background:#edf5f6}.workspace-tabs a[aria-current]{background:#087f8c;color:white}.editor{padding:0;border:0;margin:0;min-width:0}.editor:disabled{opacity:.85}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.assessment-tile{border:1px solid var(--line);border-radius:9px;padding:24px;background:linear-gradient(135deg,#fff,#f6fafb)}.assessment-tile h2{margin:8px 0}.assessment-tile button{margin-top:10px}.question-card{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:15px}.question-card small{display:block;margin-bottom:8px}

.sidebar .brand{font-size:19px;white-space:normal}
@media(max-width:1000px){.sidebar .brand{font-size:16px}}
.login-brand .brand{position:static;margin-bottom:36px}
@media(max-width:720px){.login-brand{padding-top:30px}}
.evidence-box{border:1px solid #f0c36d;background:#fff8e8;border-radius:10px;padding:14px 16px;margin:6px 0 14px}.evidence-box p{margin:6px 0}.evidence-box[hidden]{display:none}
.report-status{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.report-status h2{margin:4px 0}.report-status p{margin:0;color:#5b6b7a}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.report-metrics small{display:block}@media(max-width:1000px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-section-title{margin:34px 0 14px;font-size:20px}.report-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 28px;margin:0}.report-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5b6b7a}.report-facts dd{margin:4px 0 0;font-weight:600}
@media(max-width:720px){.report-metrics{grid-template-columns:1fr}}
/* Same column widths in every section so the question tables line up. */
.question-table table{table-layout:fixed;width:100%}.question-table th:nth-child(1){width:40%}.question-table th:nth-child(2){width:12%}.question-table th:nth-child(3){width:15%}.question-table th:nth-child(4){width:13%}.question-table th:nth-child(5){width:20%}.question-table td{overflow-wrap:anywhere}.question-table td:last-child button{margin:2px 0}
@media(max-width:720px){.question-table table{table-layout:auto}}

/* ---- Dashboards ---- */
.ring{display:block}.ring-track{fill:none;stroke:#e7eef4;stroke-width:12}.ring-value{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .4s}.ring-good .ring-value{stroke:#1a9a6c}.ring-warn .ring-value{stroke:#e0a228}.ring-danger .ring-value{stroke:#d9534f}.ring-number{font-size:28px;font-weight:750;fill:#142b40;text-anchor:middle}.ring-caption{font-size:11px;fill:#687e90;text-anchor:middle;letter-spacing:.06em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(260px,1fr);gap:30px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#f1f8f9 100%);border-color:#cfe3e6}
.hero h2{font-size:22px;margin:0 0 8px}.hero p{margin:0 0 14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px;border:1px solid}.chip-good{background:#e6f7ed;color:#14724f;border-color:#b6e2c8}.chip-warn{background:#fff3d9;color:#946410;border-color:#f0d49a}.chip-danger{background:#ffebeb;color:#b43b41;border-color:#f3c0c2}
.hero-bars{display:grid;gap:12px}.hero-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:6px}.hero-bar{display:grid;grid-template-columns:minmax(90px,1fr) 1.4fr 44px;align-items:center;gap:12px;font-size:13px;color:#526a7f}.hero-bar strong{text-align:right;color:#142b40}
.bar{display:inline-block;width:100%;min-width:60px;height:8px;border-radius:99px;background:#e7eef4;overflow:hidden;vertical-align:middle}.bar>span{display:block;height:100%;border-radius:99px;background:#087f8c}.bar.good>span{background:#1a9a6c}.bar.warn>span{background:#e0a228}.bar.danger>span{background:#d9534f}
.kpis{display:grid;grid-template-columns:1fr 1.8fr 1fr 1fr 1fr;gap:16px;margin-bottom:22px}.kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 5px #203c4a06}.kpi>strong{font-size:30px;line-height:1.1;letter-spacing:-.8px}.kpi>span{font-size:13px;color:#526a7f;font-weight:600}.kpi small{margin-top:auto;padding-top:6px}.attention{color:#b43b41;font-weight:600}.calm{color:#14724f}
.stack{display:flex;height:12px;border-radius:99px;overflow:hidden;background:#e7eef4;margin:6px 0 4px}.stack span{display:block;height:100%}.stack .good,.dot-good{background:#1a9a6c}.stack .warn,.dot-warn{background:#e0a228}.stack .danger,.dot-danger{background:#d9534f}.stack .idle,.dot-idle{background:#b8c6d3}
.legend{list-style:none;padding:0;margin:0;display:grid;gap:5px;font-size:12px}.legend li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;color:#526a7f}.legend strong{color:#142b40}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}
.control-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.control-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:#fbfdfe;transition:border-color .15s,box-shadow .15s}.control-card:hover{border-color:#087f8c;box-shadow:0 4px 14px #087f8c1a}.control-id{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;color:#687e90}.control-card strong{font-size:14px}.control-card small{color:#687e90}.control-card em{font-style:normal;font-weight:600}.control-state{font-size:11px;color:#526a7f;margin-top:2px}.danger-text{color:#b43b41}.warn-text{color:#946410}
.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dash-columns.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.dash-columns>.panel{min-width:0}
.matrix th[scope=row]{background:transparent;color:#142b40;font-size:13px;font-weight:600}.matrix td{padding:6px}.cell{display:block;text-align:center;padding:12px 6px;border-radius:7px;font-weight:700;font-size:15px}.cell-zero{background:#f4f7fa;color:#a3b3c1}.cell-hot{background:#e8702a;color:#fff}.cell-warm{background:#fde4d4;color:#a4461a}.cell-cool{background:#e6f7ed;color:#14724f}
.task-list{list-style:none;padding:0;margin:0}.task-list li+li{border-top:1px solid #e8eef3}.task-list a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:13px 4px;color:#142b40;text-decoration:none;font-size:14px}.task-list a:hover{background:#f6fafb}.count{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff3d9;color:#946410;font-size:13px}.count.done{background:#e6f7ed;color:#14724f}.task-list i{font-style:normal;color:#687e90}
.tag{display:inline-block;font-size:11px;padding:3px 8px;border-radius:5px;background:#eef1fb;color:#4651a3;font-weight:600}
.activity{list-style:none;padding:0;margin:0}.activity li{padding:10px 0 10px 16px;border-left:2px solid #cfe3e6;position:relative;font-size:13px}.activity li:before{content:"";position:absolute;left:-5px;top:15px;width:8px;height:8px;border-radius:50%;background:#087f8c}.activity small{display:block}
.health-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.health-card{border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:16px;background:#fff}.health-card header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.health-card h3{margin:0;font-size:15px}.framework-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e0f0f0;color:#087f8c;font-size:11px;font-weight:800;letter-spacing:.04em}.health-progress{display:grid;grid-template-columns:auto 1fr 40px;gap:12px;align-items:center;font-size:12px;color:#526a7f}.health-progress strong{text-align:right;color:#142b40}.health-body{display:grid;grid-template-columns:90px 1fr;gap:16px;align-items:center;border-top:1px solid #e8eef3;padding-top:16px}.health-total{text-align:center}.health-total strong{display:block;font-size:34px;letter-spacing:-1px}.health-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.programme{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px;align-items:center;background:linear-gradient(135deg,#12263b,#183b52);color:#fff;border:0}.programme h2{font-size:24px;color:#fff;margin:0 0 8px}.programme p{color:#c4d6e4;margin:0}.programme .eyebrow{color:#7fd3da}.programme-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.programme-stats div{background:#ffffff12;border:1px solid #ffffff22;border-radius:9px;padding:14px}.programme-stats small{color:#c4d6e4;display:block;min-height:30px}.programme-stats strong{font-size:26px}.programme-stats .alert{border-color:#ff8a8a66}.programme-stats .alert strong{color:#ff9d9d}
.heatmap td{padding:8px}.heat{display:block;text-align:center;padding:10px 6px;border-radius:6px;font-weight:700;font-size:13px}.heat-good{background:#2fa36b;color:#fff}.heat-warn{background:#e8b04a;color:#3f2a00}.heat-danger{background:#cf4b47;color:#fff}.heat-none{background:#f4f7fa;color:#a3b3c1}
@media(max-width:1300px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-wide{grid-column:span 2}.hero{grid-template-columns:auto 1fr}.hero-bars{grid-column:1/-1}.hero-actions{justify-content:flex-start}.programme{grid-template-columns:1fr}}
@media(max-width:1000px){.dash-columns,.dash-columns.wide-left{grid-template-columns:1fr}.kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.hero{grid-template-columns:1fr;justify-items:start}.kpis,.kpis-4{grid-template-columns:1fr}.kpi-wide{grid-column:auto}.programme-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.health-grid{grid-template-columns:1fr}}
.overall{display:flex;align-items:center;gap:10px;min-width:140px}
/* ---- Control register, evidence intelligence, SSP, POA&M ---- */
.kpi.good{border-top:3px solid #1a9a6c}.kpi.warn{border-top:3px solid #e0a228}.kpi.bad{border-top:3px solid #d9534f}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.filter-chips a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:600;color:#3d566b;text-decoration:none;background:#fff}.filter-chips a b{background:#eef3f7;border-radius:99px;padding:1px 8px;font-size:11px}.filter-chips a:hover{border-color:#087f8c}.filter-chips a[aria-current]{background:#087f8c;border-color:#087f8c;color:#fff}.filter-chips a[aria-current] b{background:#ffffff30;color:#fff}
.control-table table,.intel-table table,.poam-table table{table-layout:fixed;width:100%}
.control-table th:nth-child(1){width:12%}.control-table th:nth-child(2){width:30%}.control-table th:nth-child(3){width:14%}.control-table th:nth-child(4){width:12%}.control-table th:nth-child(5){width:12%}.control-table th:nth-child(6){width:12%}.control-table th:nth-child(7){width:8%}
.intel-table th:nth-child(1){width:22%}.intel-table th:nth-child(2){width:16%}.intel-table th:nth-child(3){width:18%}.intel-table th:nth-child(4){width:11%}.intel-table th:nth-child(5){width:8%}.intel-table th:nth-child(6){width:9%}.intel-table th:nth-child(7){width:16%}
.poam-table th:nth-child(1){width:18%}.poam-table th:nth-child(2){width:18%}.poam-table th:nth-child(3){width:22%}.poam-table th:nth-child(4){width:10%}.poam-table th:nth-child(5){width:11%}.poam-table th:nth-child(6){width:11%}.poam-table th:nth-child(7){width:10%}
.control-table td,.intel-table td,.poam-table td{overflow-wrap:anywhere}.intel-table td:last-child button,.poam-table td:last-child button{margin:2px 0}
button.link{background:none;border:0;color:var(--teal);padding:2px 0;text-decoration:underline;font-weight:600;display:block;text-align:left;white-space:normal}
.legend-line{margin:-12px 0 22px}
.ssp-header{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.ssp-header h2{font-size:22px;margin:0 0 6px}.ssp-header p{margin:0 0 12px}
.check-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}.check-list .ok{color:#14724f}.check-list .todo{color:#946410}
.resp-table td:nth-child(2),.resp-table td:nth-child(3),.resp-table th:nth-child(2),.resp-table th:nth-child(3){text-align:center}.resp-mark{color:#087f8c;font-size:18px}
.steps{margin:0;padding-left:20px;display:grid;gap:10px;font-size:14px;color:#3d566b}
@media(max-width:1000px){.ssp-header{grid-template-columns:auto 1fr}.ssp-header>button{grid-column:1/-1;justify-self:start}}
@media(max-width:720px){.control-table table,.intel-table table,.poam-table table{table-layout:auto}.ssp-header{grid-template-columns:1fr}}
/* ---- Organisation overview (read-only hub) ---- */
.programme-stats .stat-link{position:relative;display:block;background:#ffffff12;border:1px solid #ffffff22;border-radius:9px;padding:14px;color:#fff;text-decoration:none;transition:background .15s,border-color .15s}.programme-stats .stat-link:hover{background:#ffffff22;border-color:#7fd3da}.programme-stats .stat-link small{color:#c4d6e4;display:block;min-height:30px}.programme-stats .stat-link strong{font-size:26px}.programme-stats .stat-link span{position:absolute;right:12px;bottom:12px;color:#7fd3da;font-size:14px}.programme-stats .stat-link.alert{border-color:#ff8a8a66}.programme-stats .stat-link.alert strong{color:#ff9d9d}
.readiness-table th:nth-child(1){width:36%}.readiness-table th:nth-child(2){width:14%}.readiness-table th:nth-child(3){width:28%}.readiness-table th:nth-child(4){width:14%}.readiness-table .overall{max-width:280px}
.section-strip{display:flex;flex-wrap:wrap;gap:4px;max-width:220px}.section-strip span{width:14px;height:14px;border-radius:3px}.heat-good{background:#2fa36b}.heat-warn{background:#e8b04a}.heat-danger{background:#cf4b47}
.weak{display:flex;align-items:center;gap:7px;font-size:12px;color:#3d566b;line-height:1.8}.weak b{margin-left:auto;color:#142b40}
.key{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin:0 3px 0 10px}.key-line .key:first-child{margin-left:0}
button.cell{width:100%;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15px;padding:12px 6px;border-radius:7px;line-height:1.2}button.cell:hover{filter:brightness(.92);outline:2px solid #12263b33}
.dialog-heading{margin:22px 0 12px;font-size:15px}.section-bars{display:grid;gap:12px}.section-bars .hero-bar span small{display:block}
#assessments-panel .panel-heading a{font-size:13px;font-weight:600}
.task-list a span small{display:block}.readiness-table button.link{white-space:nowrap}
.matrix-wide{max-width:760px}
.inline-select{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;color:#526a7f}.inline-select select{width:auto;min-width:220px;padding:8px 10px;font-size:13px}.matrix-view[hidden]{display:none}
.programme-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.portfolio-table th:nth-child(1){width:26%}.portfolio-table th:nth-child(3){width:18%}.portfolio-table th:nth-child(7){width:150px}.portfolio-table button.link{white-space:nowrap}
@media(max-width:1000px){.programme-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- Workspace sub-tabs, engagement stages, testing ---- */
.workspace-tabs{margin-bottom:14px}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px}.subtabs a{font-size:12px;font-weight:600;color:#3d566b;text-decoration:none;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}.subtabs a:hover{border-color:#087f8c}.subtabs a[aria-current]{background:#e0f0f0;border-color:#087f8c;color:#06656f}
.plan-boundary{margin:18px 0 0;font-size:14px}
.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stage-card{border-top:4px solid #b8c6d3}.stage-card.stage-complete{border-top-color:#1a9a6c}.stage-card.stage-in-progress{border-top-color:#e0a228}
.stage-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.stage-head h2{font-size:17px;margin:0 0 6px}.stage-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#12263b;color:#fff;font-weight:700;flex:none}
.check-list.stacked{display:grid;gap:4px}.check-list.stacked a{display:block;padding:8px 10px;border-radius:7px;text-decoration:none;color:inherit}.check-list.stacked a:hover{background:#f4f7fa}
.test-table table{table-layout:fixed;width:100%}.test-table th:nth-child(1){width:11%}.test-table th:nth-child(2){width:13%}.test-table th:nth-child(3){width:20%}.test-table th:nth-child(4){width:11%}.test-table th:nth-child(5){width:10%}.test-table td{overflow-wrap:anywhere}
@media(max-width:1000px){.stage-grid{grid-template-columns:1fr}}
@media(max-width:720px){.test-table table{table-layout:auto}}
