/* COMSTAT v7: v5 layout, full color, solid reversed badges, bigger and clearer type */
:root{
  --muted:#c3cbd2; --ink:#f1efe8; --ink2:#dcdfe0; --rs:#76868f; --rule:#47555d; --rule2:#303c48;
  --c-w:#e9e6dc; --c-b:#6f90b0; --c-b2:#b3c3d1; --c-s:#c98a35; --c-y:#d9bb62; --c-r:#b9483f;
  --c-g:var(--c-s); --c-v:var(--c-b2); --c-o:var(--c-w);
  --dk:#0b0e0d;
  --red:var(--c-r); --yel:var(--c-y); --blu:var(--c-b); --grn:var(--c-b2); --purple:var(--c-b2);
  --hi:var(--c-y); --ok:var(--c-b2); --warn:var(--c-y); --bad:var(--c-r);
  --sage:var(--c-b2); --sage2:#e9e6dc; --teal:var(--c-b); --teal2:var(--c-b2);
}
body{font-size:22px;line-height:1.55}
.lab{font-size:15px;color:var(--muted);letter-spacing:.2em}
.note,.sr-sum,.brief .sum{line-height:1.55}

/* ---------- solid reversed badges ---------- */
.pill,.sev,.sr-status,.stamp,.sig .st,.aibadge,.mv .pill,.sr-item .sev,.fnd .sev{
  background:var(--c-b)!important;color:var(--dk)!important;border:0!important;
  font:600 14px/1 var(--m);letter-spacing:.08em;padding:9px 14px;white-space:nowrap}
.pill::before,.stamp::before,.sig .st::before,.sr-status::before,.aibadge i{background:var(--dk)!important}
.pill.up,.stamp.on,.sig .st.active,.sr-status.NORMAL,.sr-item.good .sev,.sev.info.up{background:var(--c-g)!important}
.pill.dn,.stamp.off,.sig .st.blocked,.sr-status.ALERT,.sev.high,.sr-item.critical .sev{background:var(--c-r)!important}
.sr-status.WATCH,.sev.medium,.sr-item.warning .sev,.sr-item.spike .sev{background:var(--c-y)!important}
.pill.fl{background:#c9d3cc!important}
.sev.info,.sr-item.notice .sev{background:var(--c-b)!important}
.aibadge{background:var(--c-w)!important}
.aibadge.off{background:var(--c-y)!important}
.mv .top .pill,.mv .pill{font-size:14px}
.sr-status{font-size:17px;padding:11px 18px}

/* ---------- KPI blocks: one color each, text reversed out ---------- */
.kpis{border:0;gap:10px;background:transparent;margin-bottom:72px}
.kpi{border:0!important;padding:28px 30px;color:var(--dk)}
.kpi:nth-child(1){background:var(--c-y)}.kpi:nth-child(2){background:var(--c-b)}
.kpi:nth-child(3){background:var(--c-w)}.kpi:nth-child(4){background:var(--c-s)}
.kpi .lab,.kpi .v,.kpi .s{color:var(--dk)!important}
.kpi .lab i{background:var(--dk)!important}
.kpi .v{font-size:68px}.kpi .s{font-size:20px;font-weight:500}
.kpi.feat{background:var(--c-y)}

/* ---------- sections: each gets its own accent ---------- */
section{--c:var(--c-y)}
section:nth-of-type(1){--c:var(--c-y)}section:nth-of-type(2){--c:var(--c-b)}section:nth-of-type(3){--c:var(--c-g)}
section:nth-of-type(4){--c:var(--c-r)}section:nth-of-type(5){--c:var(--c-v)}section:nth-of-type(6){--c:var(--c-o)}
section:nth-of-type(7){--c:var(--c-b)}section:nth-of-type(8){--c:var(--c-g)}
.sh{border-top:1px solid var(--rule);padding-top:30px}
.sh::after{background:var(--c);width:120px;height:6px;top:-3px}
.sh h3::before{background:var(--c);color:var(--dk);display:inline-block;padding:6px 12px;margin-bottom:18px;font:600 18px/1 var(--m)}
.sh .n{background:var(--c);color:var(--dk);border:0;font:600 15px var(--m);padding:10px 16px;border-radius:999px}
.note{border-left-color:var(--c-y)}

/* ---------- situation report ---------- */
.sitrep{border-top:6px solid var(--c-y)}
.sr-head h2{font-size:clamp(30px,3vw,46px)}
.sr-sum{font-size:clamp(24px,2.3vw,34px)}
.sr-item{padding:22px 24px;border-left-width:8px}
.sr-item p{font-size:20px}.sr-item .ti{font-size:21px}
.sr-item.critical{border-left-color:var(--c-r);background:rgba(185,72,63,.16)}
.sr-item.warning,.sr-item.spike{border-left-color:var(--c-s);background:rgba(201,138,53,.12)}
.sr-item.good{border-left-color:var(--c-b2);background:rgba(179,195,209,.09)}
.sr-item.notice{border-left-color:var(--c-b);background:rgba(111,144,176,.1)}
.sr-item b{font-size:22px}
.sr-foot,.sr-time{font-size:16px}

/* ---------- movers ---------- */
.mv{border-radius:14px;border-width:2px;padding:24px 26px}
.mv:nth-child(1){border-color:var(--c-y)}.mv:nth-child(2){border-color:var(--c-b)}.mv:nth-child(3){border-color:var(--c-s)}
.mv:nth-child(1) .big{color:var(--c-y)}.mv:nth-child(2) .big{color:var(--c-b)}.mv:nth-child(3) .big{color:var(--c-s)}
.mv:nth-child(1) svg *{stroke:var(--c-y)}.mv:nth-child(2) svg *{stroke:var(--c-b)}.mv:nth-child(3) svg *{stroke:var(--c-s)}
.mv .sub{font-size:20px;color:var(--ink2)}.mv .rk{font-size:16px}
.mvh .lab{color:var(--c-y);font-size:16px}

/* ---------- map hero ---------- */
.sit .ov .lab{color:var(--c-y);font-size:16px}
.sit h2{color:var(--ink)}
.sit .cap{font-size:26px;color:var(--ink)}
.sit .mini{background:transparent;border:0;gap:10px}
.sit .mini div{border:0;padding:14px 22px;color:var(--dk)}
.sit .mini div:nth-child(1){background:var(--c-b)}.sit .mini div:nth-child(2){background:var(--c-g)}.sit .mini div:nth-child(3){background:var(--c-o)}
.sit .mini b{color:var(--dk)}.sit .mini span{color:var(--dk);font-size:14px}

/* ---------- ranked table ---------- */
.tr{padding:20px 28px}
.tr .no{color:var(--c-y);font-size:32px}
.tr:nth-child(3) .no{color:var(--c-b)}.tr:nth-child(4) .no{color:var(--c-g)}.tr:nth-child(5) .no{color:var(--c-r)}
.tr.top .no{color:var(--c-y)}
.tr .nm a{font-size:17px;color:var(--c-b)}
.tr .val b{font-size:34px}.tr .val span{font-size:15px;color:var(--muted)}
.tr.hd>*,.wr.hd>*{font-size:14px!important;color:var(--muted)}
.meter{height:10px}
.tr:nth-child(odd):not(.hd){background:rgba(255,255,255,.035)}

/* ---------- dossiers ---------- */
.dos h4{font-size:26px}.dos .dm{font-size:17px;color:var(--c-b)}
.dos .tab{font-size:15px;color:var(--ink2)!important}
.dos .nums small{font-size:12px;opacity:1}
.dos .nums div.sel{background:var(--c-y);color:var(--dk)}
.stamp{margin-bottom:14px}

/* ---------- briefing, trend, signals, ops ---------- */
.brief .hl{font-size:clamp(28px,2.6vw,40px);border-left-color:var(--c-y)}
.fnd b,.act b{font-size:22px}.fnd span,.act .why{font-size:20px;color:var(--ink2)}
.act li::before{color:var(--c-y);font-size:32px}
.act .meta{font-size:15px;color:var(--muted)}
.watch span{font-size:16px;border-color:var(--rule);background:#161c1a}
.run{border-color:var(--c-y);color:var(--c-y);font-size:15px}.run:hover{background:var(--c-y);color:var(--dk)}
.wr .n{font-size:26px}.wr .ch{font-size:20px}.wr b{font-size:21px}.wr .ref{font-size:17px}
.ch.up{color:var(--c-b2)}.ch.dn{color:var(--c-r)}
.sig b{font-size:26px}.sig .hd{font-size:17px;color:var(--c-b)}.sig .kv{font-size:18px}
.ops span{font-size:19px}
.legend{font-size:19px}
.trend .tl{font-size:15px}
.trend svg rect{fill:var(--c-b)}
.file{font-size:17px;color:var(--c-y)}
.seg button{font-size:16px}
.seg button[aria-pressed="true"]{background:var(--c-y);color:var(--dk)}
.seg button i{display:none}
.hr>*{font-size:17px}
.class{font-size:14px;letter-spacing:.24em}
.class b{color:var(--c-y)}

/* ===== v8: espionage dossier ===== */
:root{--oxb:#8e2f28;--paper-ink:#e9e6dc}
body{background-color:#0c100f;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
    linear-gradient(rgba(195,209,198,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(195,209,198,.03) 1px,transparent 1px);
  background-size:180px 180px,64px 64px,64px 64px}
/* diagonal watermark */
body::before{content:"TOP SECRET";position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);font:900 clamp(120px,22vw,360px)/1 var(--d);letter-spacing:.08em;color:rgba(185,72,63,.045);white-space:nowrap;pointer-events:none;z-index:0}
.wrap,footer{position:relative;z-index:1}
/* classification bars */
.class{background:var(--oxb);color:var(--paper-ink);font:600 15px/1 var(--m);letter-spacing:.34em;padding:12px;border-bottom:3px solid #000}
.class b{color:#f0c7bd}
footer{border-top:6px solid var(--oxb)}
/* case-file header */
header{border-bottom:3px double var(--rule)}
.brand h1{letter-spacing:.2em}
.file{font:600 16px var(--m);color:var(--paper-ink);border:2px solid var(--oxb);padding:10px 16px;letter-spacing:.16em;background:rgba(142,47,40,.18)}
/* folder-tab section heads */
.sh{border-top:0;padding-top:0}
.sh::after{display:none}
.sh h3::before{content:"FILE " counter(sec,decimal-leading-zero);background:var(--oxb);color:var(--paper-ink);padding:7px 14px;font:600 16px/1 var(--m);letter-spacing:.24em}
.sh h3{border-top:3px solid var(--oxb);padding-top:16px}
.sh .n{background:transparent;color:var(--paper-ink);border:1px solid var(--rule);border-radius:0;letter-spacing:.2em}
/* panels read like documents */
.sitrep,.brief,.tbl,.sig,.trend,.wow,.files,.src-box{border:1px solid var(--rule);border-left:6px solid var(--oxb);background:rgba(12,16,15,.92)}
.sitrep{border-top:1px solid var(--rule)}
/* rubber-stamp status */
.sr-status{border-radius:0;letter-spacing:.24em;text-transform:uppercase;transform:rotate(-2deg);outline:3px double currentColor;outline-offset:3px}
/* KPI tiles as manila tabs */
.kpi:nth-child(1){background:var(--c-y)}.kpi:nth-child(2){background:var(--c-b2)}.kpi:nth-child(3){background:var(--c-w)}.kpi:nth-child(4){background:var(--c-r);color:var(--paper-ink)}
.kpi:nth-child(4) .lab,.kpi:nth-child(4) .v,.kpi:nth-child(4) .s{color:var(--paper-ink)!important}
.kpi:nth-child(4) .lab i{background:var(--paper-ink)!important}
.kpi{border-top:6px solid #000!important}
/* redaction look for pending ops */
.ops span{background:#000;border:1px solid var(--rule)}
.ops span::after{background:#000;border:1px solid var(--rs)}
.note{border-left:3px solid var(--oxb);font-family:var(--m);font-size:19px}
.badge,.pill,.sev,.stamp{border-radius:0!important}

/* ================= v9: PALANTIR / MI6 — monochrome console, one alert accent ================= */
:root{
  --bg:#08090a; --pn:#0f1113; --pn2:#14171a;
  --ink:#ecece8; --ink2:#c9cbcc; --muted:#9ba1a5; --rs:#6b7176; --rule:#2c3135; --rule2:#1d2124;
  --bone:#e4e4de; --alert:#d8402e; --dk:#08090a;
  --c-w:var(--bone); --c-b:var(--bone); --c-b2:var(--ink2); --c-s:var(--bone); --c-y:var(--bone); --c-g:var(--bone); --c-v:var(--ink2); --c-o:var(--bone); --c-r:var(--alert);
  --red:var(--alert); --yel:var(--bone); --blu:var(--bone); --grn:var(--bone); --purple:var(--bone);
  --hi:var(--bone); --ok:var(--bone); --warn:var(--bone); --bad:var(--alert);
  --sage:var(--bone); --sage2:var(--bone); --teal:var(--bone); --teal2:var(--ink2); --oxb:var(--alert);
}
html,body{background:var(--bg)!important;color:var(--ink)}
body{background-image:none!important}
body::before{opacity:.035!important;color:#fff!important}
.class{background:#000!important;border-bottom:1px solid var(--rule)!important;color:var(--muted)!important}
.class b{color:var(--alert)!important}
/* every badge: bone block, black text; only ALERT/critical goes red */
.pill,.sev,.sr-status,.stamp,.sig .st,.aibadge,.mv .pill,.sr-item .sev,.fnd .sev,
.pill.up,.stamp.on,.sig .st.active,.sr-status.NORMAL,.sr-item.good .sev,.sev.info.up,.sev.info,.sr-item.notice .sev,
.sr-status.WATCH,.sev.medium,.sr-item.warning .sev,.sr-item.spike .sev,.pill.fl,.aibadge.off{
  background:var(--bone)!important;color:#000!important;border-radius:0!important}
.pill.dn,.stamp.off,.sig .st.blocked,.sr-status.ALERT,.sev.high,.sr-item.critical .sev{background:var(--alert)!important;color:#fff!important}
.sr-status{transform:none!important;border:0!important}
/* KPI tiles: dark panels, big white numbers */
.kpis{gap:1px!important;background:var(--rule)!important;border:1px solid var(--rule)!important}
.kpi,.kpi:nth-child(n),.kpi.feat{background:var(--pn)!important;color:var(--ink)!important;border:0!important}
.kpi .lab,.kpi .s{color:var(--muted)!important}
.kpi .v{color:#fff!important;font-weight:700}
.kpi .lab i{background:var(--bone)!important}
.kpi.feat{box-shadow:inset 0 3px 0 var(--bone)}
/* section headers: thin rule, no coloured chips */
section,section:nth-of-type(n){--c:var(--bone)}
.sh{border-top:1px solid var(--rule)!important}
.sh::after{background:var(--bone)!important;height:2px!important;width:64px!important;top:-1px!important}
.sh h3::before{background:transparent!important;color:var(--muted)!important;padding:0!important;border:0!important;font-size:15px!important;letter-spacing:.2em}
.sh .n{background:transparent!important;color:var(--muted)!important;border:1px solid var(--rule)!important;border-radius:0!important}
/* panels */
.sitrep,.sr-item,.mv,.dos,.brief,.sig,.wr,.tr,.note,.ops,.fnd,.act li{background:var(--pn)!important;border-color:var(--rule)!important;border-radius:0!important}
.sitrep{border-top:2px solid var(--bone)!important}
.sr-item,.sr-item.critical,.sr-item.warning,.sr-item.spike,.sr-item.good,.sr-item.notice{border-left:3px solid var(--rs)!important;background:var(--pn)!important}
.sr-item.critical{border-left-color:var(--alert)!important}
.mv,.mv:nth-child(n){border:1px solid var(--rule)!important}
.mv .big,.mv:nth-child(n) .big{color:#fff!important}
.mv svg *,.mv:nth-child(n) svg *{stroke:var(--bone)!important}
.mvh .lab,.sit .ov .lab,.file{color:var(--muted)!important}
.sit .mini div,.sit .mini div:nth-child(n){background:var(--pn2)!important;color:var(--ink)!important;border:1px solid var(--rule)!important}
.sit .mini b,.sit .mini span{color:var(--ink)!important}
/* table */
.tr .no,.tr:nth-child(n) .no,.tr.top .no{color:#fff!important}
.tr .nm a,.dos .dm,.sig .hd{color:var(--ink2)!important}
.tr:nth-child(odd):not(.hd){background:var(--pn2)!important}
.meter i,.meter span,.bar i{background:var(--bone)!important}
.dos .nums div.sel,.seg button[aria-pressed="true"]{background:var(--bone)!important;color:#000!important}
.run{border-color:var(--bone)!important;color:var(--bone)!important;border-radius:0!important}.run:hover{background:var(--bone)!important;color:#000!important}
.act li::before,.brief .hl{color:var(--bone)!important;border-left-color:var(--bone)!important}
.note{border-left:3px solid var(--rs)!important}
.watch span{background:var(--pn2)!important;border-radius:0!important}
.ch.up{color:var(--bone)!important}.ch.dn{color:var(--alert)!important}
.trend svg rect{fill:var(--bone)!important}
.ops span{background:#000!important;color:var(--ink2)!important}
.hr{border-color:var(--rule)!important}
/* map: desaturate whatever SVG colours are inline */
#map{filter:grayscale(1) contrast(1.1) brightness(.95)}
.sit .cap,.sit h2{color:#fff!important}
