/* CBSRM design system (lane DS, pilot build plan wave 1): tokens, primitives and the chart kit's styling surface.
   Linked by site/laghubitta-service.html before site/laghubitta-service.css. No external resource, no font download:
   the system font stack only. Served under a Content Security Policy without inline style, so every rule is here.

   Themes. Light is the default (daytime office use). Dark follows prefers-color-scheme, and a manual toggle of the page
   sets html[data-theme="light"|"dark"] for the page view only (memory, never browser storage). Every token is defined
   once per theme; the dark block is repeated for the media query and the manual toggle (the :not() guard lets a
   manual light choice beat a dark operating system).

   Chart colours (site/cbsrm-charts.js). Validated with the dataviz validator (validate_palette.js) against the card
   surface of each theme, light #FFFFFF and dark #131D30:
     categorical, 8 slots in a fixed order (blue, gold, cyan, orange, plum, green, violet, rose), worst adjacent CVD
       delta E 13.6 in both modes, normal vision 18.8 light and 18.0 dark, every slot at least 3:1 on its surface;
     status good, watch, elevated, high: light passes with a contrast relief on watch (always shipped with an icon and
       a label), dark passes every check;
     sequential (one hue, blue, 5 steps) passes the ordinal checks in both modes (light end 2.11:1 light, 2.54:1 dark);
     diverging pair blue and red passes every check in both modes.
   Brand: the WaverVanir mark colours gold #D6AA72 and cyan #24C6F7 appear in the brand mark and the top bar rule only;
   in charts the gold and cyan slots are stepped into the lightness band of each mode. */

:root{
  color-scheme:light;
  --bg:#EEF2F7; --surface:#FFFFFF; --surface-2:#F6F8FB; --surface-3:#E9EEF5;
  --border:#D9E0EA; --border-strong:#BCC6D4; --control:#6E7B8F; --focus:#1F5FB8; --accent:#3A78C9;
  --text:#1B2433; --text-strong:#0C1524; --text-muted:#4B5668; --text-dim:#566173;
  --link:#1F58A8; --primary:#1F5FB8; --primary-bd:#174C95; --on-primary:#FFFFFF; --current-bg:#E3EDFA;
  --benign:#1D7A45; --watch:#8A6100; --elevated:#A84300; --severe:#A3222F; --danger:#B42B36;
  --ok-fg:#13683A; --ok-bd:#8FC7A6; --ok-bg:#E9F6EE; --ok-edge:#2E9A5C;
  --warn-fg:#6E4F00; --warn-bd:#D0B060; --warn-bg:#FFF6DC; --warn-bd2:#E6CF8C;
  --elev-fg:#8A3A00; --elev-bd:#E0A374; --elev-bg:#FDEEE2;
  --bad-fg:#9B1C28; --bad-bd:#DE9AA1; --bad-bg:#FDECEE; --bad-text:#5C1018; --bad-muted:#6E3A40; --bad-edge:#C2414B;
  --info-fg:#24518F; --info-bd:#9DB9E0; --info-bg:#EAF1FB;
  --hash-bg:#EAF6F0; --hash-bd:#A9D5BE;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08); --shadow-strong:rgba(16,24,40,.28);
  --topbar-bg:#0E1C35; --topbar-bg-2:#13284A; --topbar-text:#E6ECF5; --topbar-muted:#B9C5D8; --topbar-control:#8FA0BA;
  --gold:#D6AA72; --cyan:#24C6F7;
  /* chart kit */
  --cc-surface:#FFFFFF; --cc-grid:#E6EAF0; --cc-axis:#B3BDCB; --cc-text:#1B2433; --cc-muted:#4B5668; --cc-other:#9AA4B2;
  --cc-1:#3a78c9; --cc-2:#b07514; --cc-3:#0b8fb0; --cc-4:#d0562c; --cc-5:#9a3fa8; --cc-6:#3d8a2a; --cc-7:#7357c9; --cc-8:#c2477a;
  --cc-seq-1:#86b6ef; --cc-seq-2:#5598e7; --cc-seq-3:#2a78d6; --cc-seq-4:#1c5cab; --cc-seq-5:#0d366b;
  --cc-ink-q1:#0C1524; --cc-ink-q2:#0C1524; --cc-ink-q3:#FFFFFF; --cc-ink-q4:#FFFFFF; --cc-ink-q5:#FFFFFF;
  --cc-pos:#3a78c9; --cc-neg:#c84a3c;
  --st-good:#178f40; --st-watch:#d5a938; --st-elevated:#d95700; --st-high:#922d35; --st-none:#8A94A3;
  --cc-tip-bg:#0C1524; --cc-tip-text:#FFFFFF; --cc-tip-muted:#C9D2DF;
  /* type, space, radius */
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,Menlo,monospace;
  --devanagari:"Noto Sans Devanagari","Mangal","Kohinoor Devanagari","Lohit Devanagari","Nirmala UI","Mukta","Hind";
  --fs-xs:11.5px; --fs-sm:12.5px; --fs-md:14px; --fs-lg:16px; --fs-xl:20px; --fs-2xl:24px; --fs-hero:30px;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-8:32px;
  --r-sm:4px; --r-md:6px; --r-lg:10px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0A1120; --surface:#111B2E; --surface-2:#16223A; --surface-3:#1C2A45;
    --border:#24334F; --border-strong:#33476B; --control:#7486A3; --focus:#7FB2F5; --accent:#4385D8;
    --text:#E2E8F2; --text-strong:#F5F8FC; --text-muted:#A3B0C5; --text-dim:#9AA7BC;
    --link:#86B4F0; --primary:#2F68B4; --primary-bd:#6B9FE4; --on-primary:#FFFFFF; --current-bg:#17284A;
    --benign:#5DBB8A; --watch:#D9B44A; --elevated:#E8894A; --severe:#EE7A82; --danger:#D46A72;
    --ok-fg:#7FD0A8; --ok-bd:#2F6650; --ok-bg:#0F2A20; --ok-edge:#3F9A70;
    --warn-fg:#EBC86B; --warn-bd:#6A5520; --warn-bg:#231C0A; --warn-bd2:#4A3B14;
    --elev-fg:#F4B184; --elev-bd:#6E3D1C; --elev-bg:#2A170B;
    --bad-fg:#F2B8BD; --bad-bd:#7E3D45; --bad-bg:#2A1218; --bad-text:#F7D6D9; --bad-muted:#D9B5B9; --bad-edge:#D0565F;
    --info-fg:#A9C8F2; --info-bd:#33507E; --info-bg:#122340;
    --hash-bg:#0F2A20; --hash-bd:#2F6650;
    --shadow:0 1px 2px rgba(0,0,0,.4); --shadow-strong:rgba(0,0,0,.6);
    --topbar-bg:#060D1A; --topbar-bg-2:#0C1830; --topbar-text:#E6ECF5; --topbar-muted:#B9C5D8; --topbar-control:#7F91AE;
    --cc-surface:#131D30; --cc-grid:#22314C; --cc-axis:#3D5070; --cc-text:#E2E8F2; --cc-muted:#A3B0C5; --cc-other:#5F6E86;
    --cc-1:#4385d8; --cc-2:#b98a2e; --cc-3:#1b9fc4; --cc-4:#d9643a; --cc-5:#b45cc4; --cc-6:#4c9a37; --cc-7:#8a73e6; --cc-8:#d05a8a;
    --cc-seq-1:#1c5cab; --cc-seq-2:#3987e5; --cc-seq-3:#6da7ec; --cc-seq-4:#9ec5f4; --cc-seq-5:#cde2fb;
    --cc-ink-q1:#FFFFFF; --cc-ink-q2:#0C1524; --cc-ink-q3:#0C1524; --cc-ink-q4:#0C1524; --cc-ink-q5:#0C1524;
    --cc-pos:#4385d8; --cc-neg:#e0645a;
    --st-good:#37772c; --st-watch:#b58b00; --st-elevated:#b14914; --st-high:#eb4f85; --st-none:#6F7D93;
    --cc-tip-bg:#F5F8FC; --cc-tip-text:#0C1524; --cc-tip-muted:#3E4A5C;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0A1120; --surface:#111B2E; --surface-2:#16223A; --surface-3:#1C2A45;
  --border:#24334F; --border-strong:#33476B; --control:#7486A3; --focus:#7FB2F5; --accent:#4385D8;
  --text:#E2E8F2; --text-strong:#F5F8FC; --text-muted:#A3B0C5; --text-dim:#9AA7BC;
  --link:#86B4F0; --primary:#2F68B4; --primary-bd:#6B9FE4; --on-primary:#FFFFFF; --current-bg:#17284A;
  --benign:#5DBB8A; --watch:#D9B44A; --elevated:#E8894A; --severe:#EE7A82; --danger:#D46A72;
  --ok-fg:#7FD0A8; --ok-bd:#2F6650; --ok-bg:#0F2A20; --ok-edge:#3F9A70;
  --warn-fg:#EBC86B; --warn-bd:#6A5520; --warn-bg:#231C0A; --warn-bd2:#4A3B14;
  --elev-fg:#F4B184; --elev-bd:#6E3D1C; --elev-bg:#2A170B;
  --bad-fg:#F2B8BD; --bad-bd:#7E3D45; --bad-bg:#2A1218; --bad-text:#F7D6D9; --bad-muted:#D9B5B9; --bad-edge:#D0565F;
  --info-fg:#A9C8F2; --info-bd:#33507E; --info-bg:#122340;
  --hash-bg:#0F2A20; --hash-bd:#2F6650;
  --shadow:0 1px 2px rgba(0,0,0,.4); --shadow-strong:rgba(0,0,0,.6);
  --topbar-bg:#060D1A; --topbar-bg-2:#0C1830; --topbar-text:#E6ECF5; --topbar-muted:#B9C5D8; --topbar-control:#7F91AE;
  --cc-surface:#131D30; --cc-grid:#22314C; --cc-axis:#3D5070; --cc-text:#E2E8F2; --cc-muted:#A3B0C5; --cc-other:#5F6E86;
  --cc-1:#4385d8; --cc-2:#b98a2e; --cc-3:#1b9fc4; --cc-4:#d9643a; --cc-5:#b45cc4; --cc-6:#4c9a37; --cc-7:#8a73e6; --cc-8:#d05a8a;
  --cc-seq-1:#1c5cab; --cc-seq-2:#3987e5; --cc-seq-3:#6da7ec; --cc-seq-4:#9ec5f4; --cc-seq-5:#cde2fb;
    --cc-ink-q1:#FFFFFF; --cc-ink-q2:#0C1524; --cc-ink-q3:#0C1524; --cc-ink-q4:#0C1524; --cc-ink-q5:#0C1524;
  --cc-pos:#4385d8; --cc-neg:#e0645a;
  --st-good:#37772c; --st-watch:#b58b00; --st-elevated:#b14914; --st-high:#eb4f85; --st-none:#6F7D93;
  --cc-tip-bg:#F5F8FC; --cc-tip-text:#0C1524; --cc-tip-muted:#3E4A5C;
}

/* ------------------------------------------------------------------ dashboard layout */
.dash{min-width:0;}
.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-4);margin:0 0 var(--sp-4);align-items:start;}
.dash-grid > *{grid-column:span 12;min-width:0;}
@media (min-width:900px){
  .dash-grid > .span-3{grid-column:span 6;} .dash-grid > .span-4{grid-column:span 6;} .dash-grid > .span-5{grid-column:span 6;}
  .dash-grid > .span-6{grid-column:span 6;} .dash-grid > .span-7{grid-column:span 12;} .dash-grid > .span-8{grid-column:span 12;}
}
@media (min-width:1280px){
  .dash-grid > .span-3{grid-column:span 3;} .dash-grid > .span-4{grid-column:span 4;} .dash-grid > .span-5{grid-column:span 5;}
  .dash-grid > .span-7{grid-column:span 7;} .dash-grid > .span-8{grid-column:span 8;}
}
.dcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-4) var(--sp-3);min-width:0;}
.dcard__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-1) var(--sp-3);margin:0 0 var(--sp-3);}
.dcard__head h2,.dcard__head h3{margin:0;font-size:var(--fs-lg);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-strong);}
.dcard__meta{font-size:var(--fs-sm);color:var(--text-muted);}
.dcard__foot{margin:var(--sp-3) 0 0;padding-top:var(--sp-2);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted);}
.dcard--flat{box-shadow:none;}
.dsection{margin:0 0 var(--sp-6);}
.dsection > h2{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin:0 0 var(--sp-3);}
.lede{font-size:var(--fs-md);color:var(--text-muted);max-width:110ch;margin:0 0 var(--sp-4);}

/* ------------------------------------------------------------------ KPI tiles */
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--sp-3);margin:0 0 var(--sp-4);}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4);min-width:0;display:flex;flex-direction:column;gap:6px;}
.kpi__label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500;}
.kpi__value{font-size:var(--fs-2xl);line-height:1.15;font-weight:600;color:var(--text-strong);overflow-wrap:anywhere;}
.kpi__value--none{font-size:var(--fs-lg);font-weight:500;color:var(--text-muted);}
.kpi__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;min-width:0;}
.kpi__note{font-size:var(--fs-xs);color:var(--text-muted);overflow-wrap:anywhere;margin:0;}
.kpi__spark,.kpi__spark.cc-svg{display:block;width:100%;height:34px;}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-5);margin:0 0 var(--sp-4);}
@media (min-width:900px){ .hero{grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr);} }
.hero__level{display:flex;flex-direction:column;gap:var(--sp-2);border-left:6px solid var(--st-none);padding-left:var(--sp-4);min-width:0;}
.hero__level[data-level="low"]{border-left-color:var(--st-good);} .hero__level[data-level="watch"]{border-left-color:var(--st-watch);}
.hero__level[data-level="elevated"]{border-left-color:var(--st-elevated);} .hero__level[data-level="high"]{border-left-color:var(--st-high);}
.hero__kicker{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.hero__value{font-size:var(--fs-hero);font-weight:650;line-height:1.1;color:var(--text-strong);}
.hero__score{font-size:var(--fs-md);color:var(--text-muted);}
.hero__scoreline{font-size:var(--fs-sm);color:var(--text-muted);margin:2px 0 0;}
.dash-summary{font-size:var(--fs-md);color:var(--text-strong);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-left:4px solid var(--border-strong);background:var(--surface-2);overflow-wrap:anywhere;}
.dash-summary[data-overall="high"]{border-left-color:var(--bad-edge);}
.dash-summary[data-overall="elevated"]{border-left-color:var(--elevated);}
.dash-summary[data-overall="watch"]{border-left-color:var(--watch);}
.dash-summary[data-overall="low"]{border-left-color:var(--ok-edge);}

/* ------------------------------------------------------------------ status chips: icon + label, never colour alone */
.schip{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;line-height:1.2;border:1px solid var(--border-strong);border-radius:999px;padding:3px 10px 3px 8px;background:var(--surface-2);color:var(--text);white-space:nowrap;max-width:100%;}
.schip::before{content:"";flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--st-none);}
.schip.s-good,.schip.s-low,.schip.s-ok,.schip.s-within,.schip.s-ready{background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg);}
.schip.s-good::before,.schip.s-low::before,.schip.s-ok::before,.schip.s-within::before,.schip.s-ready::before{border-radius:1px;width:10px;height:6px;transform:rotate(-45deg) translate(1px,-1px);background:transparent;border-left:3px solid var(--st-good);border-bottom:3px solid var(--st-good);}
.schip.s-watch,.schip.s-near,.schip.s-partial,.schip.s-medium{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-fg);}
.schip.s-watch::before,.schip.s-near::before,.schip.s-partial::before,.schip.s-medium::before{background:var(--st-watch);border-radius:50%;}
.schip.s-elevated{background:var(--elev-bg);border-color:var(--elev-bd);color:var(--elev-fg);}
.schip.s-elevated::before{background:transparent;border-radius:0;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--st-elevated);}
.schip.s-high,.schip.s-breach,.schip.s-breached,.schip.s-unavailable{background:var(--bad-bg);border-color:var(--bad-bd);color:var(--bad-fg);}
.schip.s-high::before,.schip.s-breach::before,.schip.s-breached::before,.schip.s-unavailable::before{background:var(--st-high);border-radius:1px;transform:rotate(45deg);width:9px;height:9px;}
.schip.s-no_data,.schip.s-info,.schip.s-none{background:var(--surface-2);border-color:var(--border-strong);color:var(--text-muted);}
.schip.s-no_data::before,.schip.s-none::before{background:transparent;border:2px solid var(--st-none);width:8px;height:8px;}
.schip.s-info::before{background:var(--info-fg);border-radius:50%;}
.schip--sm{font-size:var(--fs-xs);padding:2px 8px 2px 6px;}

/* ------------------------------------------------------------------ section state, empty and unavailable states */
.statebar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);}
.statebar[data-state="ready"]{border-left-color:var(--ok-edge);}
.statebar[data-state="partial"]{border-left-color:var(--st-watch);}
.statebar[data-state="unavailable"]{border-left-color:var(--bad-edge);}
.statebar p{margin:0;max-width:none;}
.statebar .needs-list{display:inline;margin:0;padding:0;list-style:none;}
.statebar .needs-list li{display:inline;margin:0 6px 0 0;}
.empty{border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);padding:var(--sp-4) var(--sp-5);margin:0 0 var(--sp-3);min-width:0;}
.empty__title{font-weight:600;color:var(--text-strong);margin:0 0 6px;font-size:var(--fs-md);}
.empty p{margin:0 0 6px;color:var(--text-muted);font-size:var(--fs-sm);}
.empty ul{margin:0 0 8px 18px;font-size:var(--fs-sm);}
.needs-tag{display:inline-block;font-family:var(--mono);font-size:var(--fs-xs);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:1px 6px;background:var(--surface);color:var(--text);}

/* ------------------------------------------------------------------ reasons (explain my risk) */
.why{margin:6px 0 0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--text);}
.why li{position:relative;padding-left:14px;margin:0 0 4px;overflow-wrap:anywhere;}
.why li::before{content:"";position:absolute;left:2px;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--text-muted);}
.why--muted{color:var(--text-muted);}

/* ------------------------------------------------------------------ pillars, warning list, chain */
.pillars{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:var(--sp-3);}
.pillar{border:1px solid var(--border);border-top:4px solid var(--st-none);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-3);min-width:0;}
.pillar[data-level="low"]{border-top-color:var(--st-good);} .pillar[data-level="watch"]{border-top-color:var(--st-watch);}
.pillar[data-level="elevated"]{border-top-color:var(--st-elevated);} .pillar[data-level="high"]{border-top-color:var(--st-high);}
.pillar__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 4px;}
.pillar__name{font-weight:600;color:var(--text-strong);font-size:var(--fs-md);margin:0;}
.pillar__score{font-size:var(--fs-sm);color:var(--text-muted);margin:0;}
.wlist{list-style:none;margin:0;padding:0;}
.witem{border:1px solid var(--border);border-left:4px solid var(--st-none);border-radius:var(--r-md);background:var(--surface);padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-2);min-width:0;}
.witem[data-severity="watch"]{border-left-color:var(--st-watch);} .witem[data-severity="elevated"]{border-left-color:var(--st-elevated);}
.witem[data-severity="high"]{border-left-color:var(--st-high);} .witem[data-severity="info"]{border-left-color:var(--info-fg);}
.witem__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}
.witem__title{font-weight:600;color:var(--text-strong);margin:0;font-size:var(--fs-md);overflow-wrap:anywhere;}
.witem__scope{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--mono);}
.signals{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;}
.signals li{font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 6px;background:var(--surface-2);color:var(--text);}
.chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));align-items:stretch;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-3);padding:0;list-style:none;}
.chain__step{min-width:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:var(--sp-2) var(--sp-3);position:relative;}
.chain__step + .chain__step::before{content:"";position:absolute;left:-11px;top:50%;width:8px;height:8px;border-top:2px solid var(--text-muted);border-right:2px solid var(--text-muted);transform:translateY(-50%) rotate(45deg);}
.chain__label{font-size:var(--fs-xs);color:var(--text-muted);margin:0 0 2px;font-weight:600;}
.chain__value{font-size:var(--fs-lg);font-weight:600;color:var(--text-strong);margin:0;overflow-wrap:anywhere;}
.chain__value--none{font-size:var(--fs-sm);font-weight:500;color:var(--text-muted);}
.chain__note{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0;}

/* ------------------------------------------------------------------ toolbar, segmented filters, tabs */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-3);}
.toolbar label{font-size:var(--fs-sm);color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;}
.seg button{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:999px;padding:5px 12px;min-height:30px;}
.seg button[aria-pressed="true"]{background:var(--current-bg);border-color:var(--primary-bd);color:var(--text-strong);font-weight:600;box-shadow:inset 0 0 0 1px var(--primary-bd);}
.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border-strong);margin:0 0 var(--sp-3);}
.tab{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--text-muted);background:transparent;border:1px solid transparent;border-bottom:0;border-radius:var(--r-md) var(--r-md) 0 0;padding:7px 14px;min-height:34px;margin:0 0 -1px;}
.tab:hover{color:var(--text-strong);}
.tab[aria-selected="true"]{color:var(--text-strong);background:var(--surface);border-color:var(--border-strong);font-weight:600;box-shadow:inset 0 3px 0 var(--accent);}
.linkbtn{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--link);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:3px 6px;min-height:28px;text-decoration:underline;text-underline-offset:2px;}

/* ------------------------------------------------------------------ inline bars in tables */
.ibar{display:inline-block;vertical-align:middle;width:84px;height:12px;margin-left:8px;}
.ibar rect.track{fill:var(--surface-3);} .ibar rect.fill{fill:var(--cc-1);}
.ibar rect.fill[data-level="low"]{fill:var(--st-good);} .ibar rect.fill[data-level="watch"]{fill:var(--st-watch);}
.ibar rect.fill[data-level="elevated"]{fill:var(--st-elevated);} .ibar rect.fill[data-level="high"]{fill:var(--st-high);}
tr[data-selected="1"] td{background:var(--current-bg);}
td .linkbtn{padding:2px 4px;text-align:left;}

/* ------------------------------------------------------------------ chart kit (site/cbsrm-charts.js) */
.cc-fig{margin:0;min-width:0;}
.cc-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:4px 12px;margin:0 0 6px;}
.cc-title{font-size:var(--fs-md);font-weight:600;color:var(--text-strong);margin:0;}
.cc-sub{font-size:var(--fs-sm);color:var(--text-muted);margin:2px 0 0;}
.cc-toggle{cursor:pointer;font:inherit;font-size:var(--fs-xs);color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:var(--r-sm);padding:3px 8px;min-height:26px;white-space:nowrap;}
.cc-body{position:relative;min-width:0;}
.cc-svg{display:block;width:100%;height:auto;overflow:visible;}
.cc-svg text{font-family:var(--sans);fill:var(--cc-muted);font-size:11px;}
.cc-svg .cc-axis-title{font-size:11px;fill:var(--cc-muted);}
.cc-svg .cc-label{fill:var(--cc-text);font-size:11.5px;}
.cc-svg .cc-label-strong{fill:var(--cc-text);font-size:12px;font-weight:600;}
.cc-svg .cc-grid line{stroke:var(--cc-grid);stroke-width:1;shape-rendering:crispEdges;}
.cc-svg .cc-axis line,.cc-svg line.cc-base{stroke:var(--cc-axis);stroke-width:1;shape-rendering:crispEdges;}
.cc-svg .cc-ref{stroke:var(--text-muted);stroke-width:1.5;}
.cc-svg .cc-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.cc-svg .cc-area{stroke:none;opacity:.1;}
.cc-svg .cc-dot{stroke:var(--cc-surface);stroke-width:2;}
.cc-svg .cc-hit{fill:transparent;stroke:none;cursor:default;}
.cc-svg .cc-mark{cursor:default;}
.cc-svg .cc-mark:focus{outline:none;}
.cc-svg .cc-mark:focus-visible{outline:3px solid var(--focus);outline-offset:1px;}
.cc-svg .cc-mark[data-active="1"] .cc-shape,.cc-svg .cc-mark[data-active="1"].cc-shape{opacity:.82;}
.cc-svg .cc-cross{stroke:var(--cc-axis);stroke-width:1;}
.cc-svg .cc-gap{fill:none;stroke:var(--cc-muted);stroke-width:1;}
.cc-svg .cc-nodata{fill:var(--cc-muted);font-size:10.5px;font-style:italic;}
.cc-svg .s1{fill:var(--cc-1);stroke:var(--cc-1);} .cc-svg .s2{fill:var(--cc-2);stroke:var(--cc-2);} .cc-svg .s3{fill:var(--cc-3);stroke:var(--cc-3);}
.cc-svg .s4{fill:var(--cc-4);stroke:var(--cc-4);} .cc-svg .s5{fill:var(--cc-5);stroke:var(--cc-5);} .cc-svg .s6{fill:var(--cc-6);stroke:var(--cc-6);}
.cc-svg .s7{fill:var(--cc-7);stroke:var(--cc-7);} .cc-svg .s8{fill:var(--cc-8);stroke:var(--cc-8);} .cc-svg .s0{fill:var(--cc-other);stroke:var(--cc-other);}
.cc-svg .cc-line.s1,.cc-svg .cc-line.s2,.cc-svg .cc-line.s3,.cc-svg .cc-line.s4,.cc-svg .cc-line.s5,.cc-svg .cc-line.s6,.cc-svg .cc-line.s7,.cc-svg .cc-line.s8,.cc-svg .cc-line.s0{fill:none;}
.cc-svg .q1{fill:var(--cc-seq-1);} .cc-svg .q2{fill:var(--cc-seq-2);} .cc-svg .q3{fill:var(--cc-seq-3);} .cc-svg .q4{fill:var(--cc-seq-4);} .cc-svg .q5{fill:var(--cc-seq-5);}
.cc-svg .qz{fill:var(--surface-3);} .cc-svg .ink-qz{fill:var(--text-muted);}
.cc-svg .q0{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 2;}
.cc-svg .pos{fill:var(--cc-pos);stroke:var(--cc-pos);} .cc-svg .neg{fill:var(--cc-neg);stroke:var(--cc-neg);}
.cc-svg .st-good{fill:var(--st-good);} .cc-svg .st-watch{fill:var(--st-watch);} .cc-svg .st-elevated{fill:var(--st-elevated);}
.cc-svg .st-high{fill:var(--st-high);} .cc-svg .st-none{fill:var(--st-none);}
.cc-svg .cc-track{fill:var(--surface-3);}
.cc-svg .cc-band{fill:var(--st-watch);opacity:.22;}
.cc-svg .cc-limit{stroke:var(--text-strong);stroke-width:2;}
.cc-svg .cc-trigger{stroke:var(--text-muted);stroke-width:1.5;}
.cc-svg .cc-cell-text{font-size:10.5px;}
.cc-svg .ink-q1{fill:var(--cc-ink-q1);} .cc-svg .ink-q2{fill:var(--cc-ink-q2);} .cc-svg .ink-q3{fill:var(--cc-ink-q3);} .cc-svg .ink-q4{fill:var(--cc-ink-q4);} .cc-svg .ink-q5{fill:var(--cc-ink-q5);}
.cc-svg .cc-tip rect{fill:var(--cc-tip-bg);}
.cc-svg .cc-tip text{fill:var(--cc-tip-text);font-size:11.5px;}
.cc-svg .cc-tip text.cc-tip-value{font-weight:700;font-size:12.5px;}
.cc-svg .cc-tip text.cc-tip-muted{fill:var(--cc-tip-muted);}
.cc-svg .cc-tip line{stroke-width:2.5;stroke-linecap:round;}
.cc-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--text);}
.cc-legend li{display:inline-flex;align-items:center;gap:6px;min-width:0;}
.cc-key{display:inline-block;width:12px;height:12px;border-radius:3px;flex:0 0 auto;}
.cc-key--line{height:3px;width:16px;border-radius:2px;}
.cc-key.k1{background:var(--cc-1);} .cc-key.k2{background:var(--cc-2);} .cc-key.k3{background:var(--cc-3);} .cc-key.k4{background:var(--cc-4);}
.cc-key.k5{background:var(--cc-5);} .cc-key.k6{background:var(--cc-6);} .cc-key.k7{background:var(--cc-7);} .cc-key.k8{background:var(--cc-8);} .cc-key.k0{background:var(--cc-other);}
.cc-key.kq1{background:var(--cc-seq-1);} .cc-key.kq2{background:var(--cc-seq-2);} .cc-key.kq3{background:var(--cc-seq-3);} .cc-key.kq4{background:var(--cc-seq-4);} .cc-key.kq5{background:var(--cc-seq-5);}
.cc-key.kpos{background:var(--cc-pos);} .cc-key.kneg{background:var(--cc-neg);}
.cc-key.kband{background:var(--st-watch);opacity:.45;} .cc-key.klimit{background:var(--text-strong);width:3px;border-radius:0;} .cc-key.ktrigger{background:var(--text-muted);width:2px;border-radius:0;}
.cc-key.kqz{background:var(--surface-3);border:1px solid var(--border-strong);}
.cc-key.kq0{background:var(--surface-2);border:1px dashed var(--border-strong);}
.cc-notes{margin:6px 0 0;padding:0;list-style:none;font-size:var(--fs-xs);color:var(--text-muted);}
.cc-notes li{margin:0 0 2px;overflow-wrap:anywhere;}
.cc-table{margin-top:8px;}
.cc-table table{font-size:var(--fs-sm);}
.cc-empty{border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface-2);}

/* ------------------------------------------------------------------ forced colours, motion, print */
@media (forced-colors:active){
  .schip,.kpi,.dcard,.pillar,.witem,.statebar,.empty,.tab,.seg button{border-color:CanvasText;}
  .seg button[aria-pressed="true"],.tab[aria-selected="true"]{outline:2px solid Highlight;}
  .cc-svg .cc-shape,.cc-svg rect.cc-shape,.cc-svg path.cc-line{forced-color-adjust:none;}
}
@media (prefers-reduced-motion:no-preference){
  .seg button,.tab,.cc-toggle,.linkbtn{transition:border-color .12s ease,background-color .12s ease;}
}
@media print{
  /* paper is light whatever the theme on screen (this selector outranks both dark blocks) */
  :root:not(.cc-print)[data-theme],:root:not(.cc-print):not([data-theme]){
    color-scheme:light;
    --bg:#FFFFFF; --surface:#FFFFFF; --surface-2:#F6F8FB; --surface-3:#E9EEF5; --border:#C9D1DD; --border-strong:#9AA4B2;
    --text:#000000; --text-strong:#000000; --text-muted:#3A4352; --text-dim:#3A4352; --link:#1F58A8;
    --ok-fg:#13683A; --ok-bd:#8FC7A6; --ok-bg:#E9F6EE; --warn-fg:#6E4F00; --warn-bd:#D0B060; --warn-bg:#FFF6DC;
    --elev-fg:#8A3A00; --elev-bd:#E0A374; --elev-bg:#FDEEE2; --bad-fg:#9B1C28; --bad-bd:#DE9AA1; --bad-bg:#FDECEE; --bad-text:#5C1018;
    --cc-surface:#FFFFFF; --cc-grid:#E6EAF0; --cc-axis:#B3BDCB; --cc-text:#000000; --cc-muted:#3A4352;
    --cc-1:#3a78c9; --cc-2:#b07514; --cc-3:#0b8fb0; --cc-4:#d0562c; --cc-5:#9a3fa8; --cc-6:#3d8a2a; --cc-7:#7357c9; --cc-8:#c2477a;
    --cc-seq-1:#86b6ef; --cc-seq-2:#5598e7; --cc-seq-3:#2a78d6; --cc-seq-4:#1c5cab; --cc-seq-5:#0d366b; --cc-pos:#3a78c9; --cc-neg:#c84a3c;
    --cc-ink-q1:#0C1524; --cc-ink-q2:#0C1524; --cc-ink-q3:#FFFFFF; --cc-ink-q4:#FFFFFF; --cc-ink-q5:#FFFFFF;
    --st-good:#178f40; --st-watch:#d5a938; --st-elevated:#d95700; --st-high:#922d35;
  }
  .dcard,.kpi,.hero,.pillar,.witem{box-shadow:none;break-inside:avoid;border-color:#9AA4B2;background:#fff;}
  .cc-toggle,.seg,.tabs,.toolbar,.linkbtn{display:none !important;}
  .cc-table[hidden]{display:block !important;}
  .dash-grid{display:block;} .dash-grid > *{margin:0 0 12px;}
}
/* phones: two tiles a row, the dashboard screens without the frame of the other sections */
@media (max-width:600px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);}
  .kpi{padding:var(--sp-2) var(--sp-3);}
  .kpi__value{font-size:var(--fs-xl);}
  .hero{padding:var(--sp-3) var(--sp-4);}
  .hero__value{font-size:26px;}
  .dcard{padding:var(--sp-3) var(--sp-3) var(--sp-2);}
  .pillars{grid-template-columns:minmax(0,1fr);}
}
.screen.screen--dash{padding:0;}
@media (max-width:899px){ .chain__step + .chain__step::before{display:none;} }
