
/* ══════════════════════════════════════════════════════════════════════
   MiCA Radar · "The Register"
   Brand system: ivory paper, ink, sand rules, gold foil, teal accents.
   Type: Instrument Serif display / Inter text. Light-first.
   ══════════════════════════════════════════════════════════════════════ */

:root,
html[data-theme="light"] {
  color-scheme: light;
  --bg:#F5F2EE; --panel:#FFFFFF; --panel2:#F7F3EE; --line:#E3DBD1; --line2:#EDE7E0;
  --tx:#1F1F1F; --tx2:#443E36; --tx3:#6F6960; --h1:#141414;
  --sand:#E1E4E9; --sand2:#D5D9E0; --paper:#FFFFFF;
  --line-strong:#8B97B8;
  --gold:#356d99; --gold2:#1d4a73; --goldwash:#e8f0f8;
  --teal:#0B688C; --teal2:#247797; --tealwash:#E4EEF2;
  --clay:#A3564C; --ember:#D06643; --emberwash:#F6E7E1;
  --ok:#4F7D5C; --okwash:#E8F0E9; --bad:#A8443B;
  --thbg:#F7F3EE; --hover:#FAF6F1; --warnbd:#DFCFAE; --warntx:#6B5327;
  --navy:#1A1A2E;
  --shadow:0 1px 2px rgba(31,31,31,.04), 0 12px 32px -24px rgba(31,31,31,.28);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg:#010626; --panel:#0A1029; --panel2:#0E1533; --line:#20294B; --line2:#192142;
  --tx:#F2EFE9; --tx2:#CFC7BA; --tx3:#A09889; --h1:#FBFAF7;
  --sand:#356d99; --sand2:#4a86b0; --paper:#0A1029;
  --gold:#7fb3dd; --gold2:#356d99; --goldwash:#201B10;
  --line-strong:#8B97B8;
  --teal:#5FA2BD; --teal2:#87BFD4; --tealwash:#0C2231;
  --clay:#C08074; --ember:#DA8663; --emberwash:#2A1710;
  --ok:#7FB394; --okwash:#0D2218; --bad:#D9736A;
  --thbg:#0E1533; --hover:#111A3A; --warnbd:#4A3F1E; --warntx:#E4D3A6;
  --navy:#050A22;
  --shadow:none;
    
      
        
     
      
     
    
    
     
  
     
    
}

* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--tx);
  font-family:"Inter","Sohne","Söhne",-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:15px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.wrap { max-width:1220px; margin:0 auto; padding:44px 34px 84px; }

/* ── Masthead ─────────────────────────────────────────────── */
.brandbar {
  display:flex; align-items:center; gap:16px;
  padding-bottom:14px; margin-bottom:38px;
  border-bottom:1px solid var(--line);
}
.brandbar .wordmark {
  font-family:"Inter","Sohne",sans-serif; font-weight:500;
  font-size:13px; letter-spacing:.42em; text-transform:uppercase; color:var(--tx);
}
.brandbar .brandrule { flex:1; height:1px; background:var(--line2); }
.brandbar .brandmeta {
  font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold2);
}

.kick {
  font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold2); font-weight:500; margin:0 0 16px;
}
h1 {
  font-family:"Instrument Serif","Sometimes Times","Iowan Old Style",Georgia,serif;
  font-weight:400; font-size:clamp(38px,5.4vw,62px); line-height:1.02;
  letter-spacing:-.015em; margin:0 0 18px; color:var(--h1);
}
h1 em { font-style:italic; color:var(--gold); }
.lede {
  max-width:760px; margin:0 0 18px; font-size:16.5px; line-height:1.7; color:var(--tx2);
}
.srcline {
  font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx3);
  line-height:1.9; margin:0; padding-top:14px; border-top:1px solid var(--line2);
}
.srcline a { color:var(--teal); text-decoration:none; border-bottom:1px solid var(--tealwash); }
.srcline a:hover { color:var(--gold2); border-bottom-color:var(--gold); }
a { color:var(--teal); text-decoration:none; }
a:hover { color:var(--gold2); }

/* ── Contents-style navigation ────────────────────────────── */
.tabs {
  display:flex; flex-wrap:wrap; gap:0 34px; align-items:baseline;
  margin:30px 0 36px; padding:0 0 14px; border-bottom:1px solid var(--line);
  counter-reset:tab;
}
.tbtn {
  counter-increment:tab; position:relative;
  background:none; border:0; padding:6px 0 8px; cursor:pointer;
  font-family:"Inter","Sohne",sans-serif; font-size:13px; letter-spacing:.05em;
  color:var(--tx3); transition:color .15s ease; min-height:44px; display:inline-flex; align-items:center;
}
.tbtn::before {
  content:counter(tab,decimal-leading-zero);
  font-size:9.5px; letter-spacing:.1em; color:var(--gold2);
  margin-right:8px; vertical-align:2px; opacity:.75;
}
.tbtn:hover { color:var(--tx); }
.tbtn.on { color:var(--h1); }
.tbtn.on::after {
  content:""; position:absolute; left:0; right:0; bottom:-15px; height:2px; background:var(--gold);
}
.tbtn .n {
  display:inline-block; margin-left:6px; font-size:10px; letter-spacing:.04em;
  color:var(--tx3); font-variant-numeric:tabular-nums;
}
.tbtn.on .n { color:var(--gold2); }

/* ── Ledger strip (stats) ─────────────────────────────────── */
.stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin:0 0 34px; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.stat { padding:0 26px; border-left:1px solid var(--line2); }
.stat:first-child { padding-left:0; border-left:0; }
.stat b {
  display:block;
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif;
  font-size:clamp(30px,3.4vw,44px); font-weight:400; line-height:1; color:var(--h1);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.stat span {
  display:block; margin-top:9px; font-size:9.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--tx3); line-height:1.5;
}
@media (max-width:760px){
  .stats { grid-template-columns:1fr 1fr; gap:22px 0; }
  .stat:nth-child(odd) { padding-left:0; border-left:0; }
}

/* ── Sections ─────────────────────────────────────────────── */
.cols { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin:0 0 26px; }
.cols3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px; margin:0 0 26px; }
@media (max-width:900px){ .cols,.cols3 { grid-template-columns:1fr; gap:18px; } }

.card {
  background:var(--panel); border:1px solid var(--line); border-radius:3px;
  padding:26px 28px; margin:0 0 26px; box-shadow:var(--shadow);
}
.card.tight { padding:18px 20px; }
h2 {
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif; font-weight:400;
  font-size:26px; line-height:1.2; letter-spacing:-.01em; color:var(--h1);
  margin:0 0 14px; padding-left:16px; position:relative;
}
h2::before {
  content:""; position:absolute; left:0; top:.42em; width:7px; height:7px;
  background:var(--gold); border-radius:1px;
}
h3 {
  font-family:"Inter","Sohne",sans-serif; font-weight:500; font-size:13px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--tx2); margin:0 0 10px;
}
.note { font-size:12.5px; line-height:1.7; color:var(--tx3); margin:10px 0 0; }
.note a { color:var(--teal); }
.note b { color:var(--tx2); font-weight:500; }
.count { font-size:12px; color:var(--tx3); margin:0 0 14px; letter-spacing:.02em; }
.mono { font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11.5px; color:var(--tx3); font-variant-numeric:tabular-nums; }

/* ── Bars ────────────────────────────────────────────────── */
.bar {
  display:flex; align-items:center; gap:12px; margin:0; padding:5px 0;
  cursor:pointer; border-radius:2px; transition:background .14s ease;
}
.bar:hover { background:var(--panel2); }
.bar.on { background:var(--goldwash); }
.bar.on .lbl b { color:var(--h1); }
.bar .lbl {
  flex:0 0 176px; font-size:13px; color:var(--tx2); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.bar .lbl b { color:var(--tx); font-weight:500; }
.bar .trk { flex:1; height:6px; background:var(--line2); border-radius:0; overflow:hidden; }
.bar .fil { height:100%; background:var(--teal); border-radius:0; transition:width .3s ease; }
.bar .n {
  flex:0 0 44px; text-align:right;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;
  font-size:11.5px; color:var(--tx2); font-variant-numeric:tabular-nums;
}
.bar.subcat .lbl { flex:0 0 236px; }
.bar.subcat .fil { background:var(--clay); }

/* ── Country mix ─────────────────────────────────────────── */
.country-mix-legend { display:flex; flex-wrap:wrap; gap:10px 20px; margin:14px 0 22px; }
.country-mix-key { display:inline-flex; align-items:center; gap:7px; color:var(--tx3); font-size:11.5px; }
.country-mix-swatch { width:9px; height:9px; flex:0 0 9px; border-radius:1px; }
.country-mix-chart { display:grid; gap:2px; }
.country-mix-row {
  display:grid; grid-template-columns:minmax(150px,196px) minmax(200px,1fr) 44px;
  gap:14px; align-items:center; min-height:27px;
}
.country-mix-country { color:var(--tx2); font-size:12.5px; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.country-mix-country b { color:var(--tx); font-weight:500; }
.country-mix-track { display:flex; height:10px; overflow:hidden; background:var(--line2); box-shadow:none; }
.country-mix-segment { height:100%; min-width:1px; border-right:1px solid var(--panel); transition:opacity .15s ease; }
.country-mix-segment:last-child { border-right:0; }
.country-mix-segment:hover { opacity:.72; }
.country-mix-total {
  color:var(--tx3); font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;
  font-size:11px; text-align:right; font-variant-numeric:tabular-nums;
}

/* ── Service mix rows ────────────────────────────────────── */
.service-mix-row { display:grid; grid-template-columns:minmax(150px,210px) minmax(120px,1fr) 44px; gap:12px; align-items:center; min-height:24px; }
.service-mix-label { font-size:12.5px; color:var(--tx2); text-align:right; }
.service-mix-total { font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:11px; color:var(--tx3); text-align:right; }

/* ── Toolbar & controls ──────────────────────────────────── */
.toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 18px; }
.toolbar input, .toolbar select {
  background:var(--panel); border:1px solid var(--line-strong); border-radius:2px; color:var(--tx);
  padding:9px 13px; font-family:inherit; font-size:13px; outline:none; min-height:44px;
}
.toolbar input:focus, .toolbar select:focus { border-color:var(--gold); }
.toolbar input { flex:1; min-width:210px; }
.toolbar input::placeholder { color:var(--tx3); }
.pgbtn {
  padding:6px 13px; border-radius:2px; border:1px solid var(--line); background:var(--panel);
  color:var(--tx2); cursor:pointer; font-size:12px; font-family:inherit;
}
.pgbtn:hover { border-color:var(--gold); color:var(--tx); }
.pgbtn.on { background:var(--navy,#1A1A2E); color:#fff; border-color:var(--navy,#1A1A2E); }
.pgbtn:disabled { opacity:.35; cursor:default; }

/* ── Tables ──────────────────────────────────────────────── */
.tblcard { background:var(--panel); border:1px solid var(--line); border-radius:3px; overflow:auto; }
.tblcard table { min-width:980px; }
table { width:100%; border-collapse:collapse; min-width:760px; }
td, th { padding:11px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line2); }
td { font-size:13px; color:var(--tx2); }
th {
  font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:500;
  color:var(--tx3); background:var(--thbg); position:sticky; top:0; border-bottom:1px solid var(--line);
}
tr:last-child td { border-bottom:0; }
tbody tr:hover { background:var(--hover); }
th.sortable { cursor:pointer; user-select:none; }
th.sortable:hover { color:var(--gold2); }
.prov b { font-weight:500; color:var(--h1); }
.prov .cm { font-size:11.5px; color:var(--tx3); }
.svcb {
  display:inline-block; width:21px; height:21px; line-height:20px; text-align:center;
  border-radius:2px; background:transparent; border:1px solid var(--line);
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:10.5px; font-weight:500;
  color:var(--tx3); margin:1px 3px 1px 0; cursor:default;
}
.svcb.on { background:var(--teal); border-color:var(--teal); color:#fff; }
.svcs { display:inline-flex; flex-wrap:wrap; }

/* ── Pills ───────────────────────────────────────────────── */
.pill {
  display:inline-block; padding:2px 9px; border-radius:2px; font-size:9.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
}
.pill.crypto { background:var(--emberwash); color:var(--clay); border:1px solid #E8D3C9; }
.pill.tradfi { background:var(--tealwash); color:var(--teal); border:1px solid #CDDFE6; }
.pill.eu { background:var(--okwash); color:var(--ok); border:1px solid #CBDDCE; }
.pill.noneu { background:var(--goldwash); color:var(--gold2); border:1px solid #D9CCEE; }
.pill.neutral { background:transparent; color:var(--tx3); border:1px solid var(--line); }

/* ── Country grid ────────────────────────────────────────── */
.country-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(172px,1fr)); gap:0; border-top:1px solid var(--line2); border-left:1px solid var(--line2); }
.country-cell {
  background:transparent; border:0; border-right:1px solid var(--line2); border-bottom:1px solid var(--line2);
  border-radius:0; padding:13px 14px; cursor:pointer; transition:background .14s ease;
}
.country-cell:hover { background:var(--panel2); }
.country-cell .cn { font-weight:500; color:var(--h1); font-size:12.5px; }
.country-cell .ct {
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:10.5px;
  color:var(--tx3); letter-spacing:.02em;
}
.country-cell .bar { margin:8px 0 0; padding:0; pointer-events:none; }
.country-cell .bar .lbl { display:none; }
.country-cell .bar .trk { height:3px; }
.country-cell .bar .fil { background:var(--gold); }
.country-cell .bar .n { flex:0 0 32px; font-size:10.5px; }

/* ── Groups & duplicates ─────────────────────────────────── */
.group { background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:18px 20px; margin:0 0 14px; }
.group h3 {
  display:flex; align-items:baseline; gap:12px; margin:0 0 8px;
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif; font-weight:400;
  font-size:21px; letter-spacing:0; text-transform:none; color:var(--h1);
}
.group .badge { font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold2); }
.group ul { margin:8px 0 0; padding:0 0 0 4px; list-style:none; }
.group li { font-size:12.5px; color:var(--tx2); padding:3px 0; border-bottom:1px dotted var(--line2); }
.group li:last-child { border-bottom:0; }
.group .ccode {
  display:inline-block; min-width:26px; margin-right:8px; font-size:9.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--tx3);
}
.duplicate-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; margin-top:12px; }
.duplicate { background:var(--panel2); border:1px solid var(--line2); border-radius:2px; padding:14px 16px; }
.duplicate .flag { font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--clay); }
.duplicate strong { display:block; color:var(--h1); font-weight:500; margin:6px 0 4px; font-size:13px; }
.duplicate div { font-size:12px; color:var(--tx3); }

/* ── Timeline / histogram ────────────────────────────────── */
.timeline-wrap { background:var(--panel2); border:1px solid var(--line2); border-radius:2px; padding:14px 14px 6px; overflow-x:auto; }
.timeline-wrap svg { display:block; width:100%; min-width:680px; height:auto; }
.timeline-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:16px 0; }
.timeline-kpis .kpi { background:transparent; border-top:1px solid var(--gold); padding:12px 0 0; }
.timeline-kpis .kpi b {
  display:block; color:var(--h1); font-family:"Instrument Serif","Sometimes Times",Georgia,serif;
  font-weight:400; font-size:26px; line-height:1;
}
.timeline-kpis .kpi span { display:block; margin-top:5px; color:var(--tx3); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width:640px){ .timeline-kpis { grid-template-columns:1fr 1fr; } }

.hist { display:flex; align-items:flex-end; gap:8px; height:132px; padding:10px 0 4px; border-bottom:1px solid var(--line); }
.hist .hcol { flex:1; background:var(--teal); border-radius:0; position:relative; min-width:0; transition:opacity .15s; }
.hist .hcol:hover { opacity:.78; }
.hist .hcol .lbl {
  position:absolute; bottom:-20px; left:0; right:0; text-align:center;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:10.5px; color:var(--tx3);
}
.hist .hcol .v {
  position:absolute; top:-18px; left:0; right:0; text-align:center;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:10.5px; color:var(--tx2);
}
.hist-wrap { padding-bottom:24px; }

/* ── News ────────────────────────────────────────────────── */
.news { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; margin:12px 0 0; }
@media (max-width:820px){ .news { grid-template-columns:1fr; } }
.news-item { background:transparent; border:0; border-top:1px solid var(--line2); border-radius:0; padding:16px 0; }
.news-item .src { font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold2); margin:0 0 6px; }
.news-item .head { font-size:14px; font-weight:500; line-height:1.45; color:var(--h1); }
.news-item .head a { color:var(--h1); }
.news-item .head a:hover { color:var(--teal); }
.week {
  font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--tx3);
  margin:26px 0 8px; padding-bottom:6px; border-bottom:1px solid var(--line2);
}

/* ── FAQ ─────────────────────────────────────────────────── */
.faq dt {
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif; font-weight:400;
  font-size:20px; color:var(--h1); margin:22px 0 6px;
}
.faq dt:first-child { margin-top:0; }
.faq dd { margin:0 0 10px; padding-left:16px; border-left:1px solid var(--gold); color:var(--tx2); font-size:14px; line-height:1.75; }

/* ── Library ─────────────────────────────────────────────── */
.gv h3 {
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif; font-weight:400;
  font-size:30px; line-height:1.15; margin:0 0 6px; color:var(--h1);
  text-transform:none; letter-spacing:-.01em;
}
.gv h3 em { font-style:italic; color:var(--gold2); }
.gv .gkick { font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold2); margin:0 0 10px; }
.gv p { color:var(--tx2); font-size:14px; max-width:820px; }
.gv table { min-width:0; margin:10px 0 0; }
.gv td:first-child { white-space:nowrap; color:var(--h1); font-weight:500; }
.gv .card { margin:0 0 20px; }
.gv .src { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--tx3); margin:4px 0 16px; }
.gv .src a { color:var(--teal); }
.grid6 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:900px){ .grid6 { grid-template-columns:1fr; } }
.gcard {
  display:block; width:100%; text-align:left; font:inherit; cursor:pointer;
  background:var(--panel); border:1px solid var(--line); border-radius:3px;
  padding:22px 24px 20px; color:var(--tx); transition:border-color .16s ease, transform .16s ease;
}
.gcard:hover { border-color:var(--gold); transform:translateY(-2px); text-decoration:none; }
.gcard .gk { font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold2); }
.gcard h3 {
  font-family:"Instrument Serif","Sometimes Times",Georgia,serif; font-weight:400;
  font-size:23px; letter-spacing:-.01em; margin:8px 0 8px; color:var(--h1);
}
.gcard p { margin:0 0 14px; font-size:13px; color:var(--tx3); }
.gcard .go { font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); }
#gback {
  padding:7px 16px; border-radius:2px; border:1px solid var(--line); background:transparent;
  color:var(--tx3); cursor:pointer; font-family:inherit; font-size:11.5px;
  letter-spacing:.08em; text-transform:uppercase; margin:0 0 18px;
}
#gback:hover { color:var(--tx); border-color:var(--gold); }

/* ── Disclaimer & footer ─────────────────────────────────── */
.disc {
  background:var(--panel2); border:1px solid var(--line2); border-left:3px solid var(--gold);
  border-radius:0; padding:16px 20px; font-size:12.5px; line-height:1.75;
  color:var(--tx3); margin:26px 0 0;
}
.disc b { color:var(--tx2); font-weight:500; }
.foot {
  color:var(--tx3); font-size:11px; line-height:1.9; margin-top:40px; padding-top:18px;
  border-top:1px solid var(--line); letter-spacing:.02em;
}
.foot b { color:var(--tx2); font-weight:500; }

/* ── Theme toggle ────────────────────────────────────────── */
.themebtn {
  position:fixed; top:18px; right:18px; z-index:70;
  padding:7px 15px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line2); background:var(--panel); color:var(--tx2);
  font-family:"Inter","Sohne",sans-serif; font-size:10.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  transition:border-color .15s ease, color .15s ease;
}
.themebtn:hover { color:var(--tx); border-color:var(--gold); }
@media print { .themebtn, #hub-back { display:none; } }

.hide { display:none !important; }
.kbd {
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:10px;
  padding:2px 6px; border-radius:2px; background:var(--panel2);
  border:1px solid var(--line2); color:var(--tx3);
}

/* ── Service code chips ──────────────────────────────────── */
.svc {
  display:inline-block; min-width:21px; padding:1px 5px; margin:1px 3px 1px 0;
  border:1px solid var(--line); border-radius:2px; background:transparent;
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:9.5px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--tx3); text-align:center;
}

/* ── Small-screen fitting ─────────────────────────────────── */
@media (max-width:560px){
  .wrap { padding-left:20px; padding-right:20px; }
  .brandbar { flex-wrap:wrap; gap:10px; }
  .brandbar .brandmeta { white-space:normal; font-size:9px; letter-spacing:.14em; }
  .brandbar .brandrule { display:none; }
  .themebtn, #themebtn { right:14px; }
  h1 { letter-spacing:-.01em; }
  .card { padding-left:18px; padding-right:18px; }
}

/* ── data-colour tokens — BRIGHT ───────────────────────────── */
:root, html[data-theme="light"] {
    
      
        
     
      
     
    
    
     
  
     
    
}

/* ── data-colour tokens — DARK ─────────────────────────────── */
html[data-theme="dark"] {
    
      
        
     
      
     
    
    
     
  
     
    
}

/* ── SVG maps & charts: CSS-driven so both themes repaint live ── */
#eu-map svg path[data-shade] { stroke:var(--map-stroke); stroke-width:.5; }
#eu-map svg path[data-shade="0"] { fill:var(--map-0); stroke:var(--map-hatch); }
#eu-map svg path[data-shade="1"] { fill:var(--map-1); }
#eu-map svg path[data-shade="2"] { fill:var(--map-2); }
#eu-map svg path[data-shade="3"] { fill:var(--map-3); }
#eu-map svg path[data-shade="4"] { fill:var(--map-4); }
#eu-map svg path.eu-non { fill:url(#hatch-non); stroke:var(--map-hatch); stroke-width:.5; }
#eu-map svg #hatch-non rect { fill:var(--map-hatch); opacity:.26; }
#eu-map svg #hatch-non line { stroke:var(--map-hatch); }
#eu-map svg .map-swatch { fill:var(--map-4); }
#eu-map svg .map-swatch.zero { fill:var(--map-0); stroke:var(--map-hatch); }
#eu-map svg .map-swatch.non { fill:url(#hatch-non); stroke:var(--map-hatch); }
#eu-map svg .map-key { fill:var(--tx2); }
#eu-map svg .mk circle { stroke:var(--map-stroke); stroke-width:1; }
#eu-map svg .mk text { font-weight:600; pointer-events:none; }
#eu-map svg .mk-lead { stroke:var(--map-hatch); stroke-width:1; stroke-dasharray:2 2; }
#eu-map svg .mk-dot { fill:var(--map-hatch); }

/* ══ Console rail layout ═════════════════════════════════════ */
.wrap {
  display:grid; grid-template-columns:258px minmax(0,1fr); column-gap:54px;
  max-width:1460px; margin:0 auto; padding:34px 38px 88px; align-items:start;
}
.kick, h1, .lede, .srcline { grid-column:2; }
.wrap > div[id^="t-"] { grid-column:2; }
.wrap > .foot, .wrap > .disc, .wrap > .ftr { grid-column:2; }

#tabs {
  grid-column:1; grid-row:1 / span 60; align-self:start; position:sticky; top:34px;
  display:flex; flex-direction:column; gap:1px; margin:0; padding:22px 14px 18px;
  background:linear-gradient(180deg,#0D1434,#080D24);
  border:1px solid rgba(91,155,213,.22); border-radius:20px;
  box-shadow:0 24px 60px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04);
  counter-reset:nav;
  width:auto; max-width:none; backdrop-filter:none;
}
#tabs::after {
  content:"Internal · view-only"; display:block; margin:20px 10px 0; padding-top:14px;
  border-top:1px solid #1E2749; font-size:8.5px; letter-spacing:.16em;
  text-transform:uppercase; color:#6F768F; line-height:1.8;
}
.railhead { padding:0 10px 20px; margin:0 0 12px; border-bottom:1px solid #1E2749; }
.railhead .wordmark {
  display:block; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase;
  color:#F4F1EA; font-weight:500; line-height:1.5;
}
.railhead .railmeta {
  display:block; margin-top:7px; font-size:8.5px; letter-spacing:.18em;
  text-transform:uppercase; color:#5b9bd5;
}
#tabs .tbtn {
  counter-increment:nav; position:relative; display:flex; align-items:baseline; gap:10px;
  width:100%; background:none; border:0; border-radius:4px; padding:8px 10px;
  cursor:pointer; font-family:inherit; font-size:11px; letter-spacing:.09em;
  text-transform:uppercase; color:#9BA1B6; text-align:left;
  transition:color .14s ease, background .14s ease;
}
#tabs .tbtn::before {
  content:counter(nav,decimal-leading-zero);
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace; font-size:8.5px;
  color:#565E78; min-width:16px; letter-spacing:.04em;
}
#tabs .tbtn:hover { color:#E7E2D8; background:rgba(255,255,255,.03); }
#tabs .tbtn.on { color:#F4F1EA; background:rgba(91,155,213,.18); }
#tabs .tbtn.on::after {
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:2px; background:#5b9bd5;
}
#tabs .tbtn.on::before { color:#5b9bd5; }
#tabs .tbtn .n {
  margin-left:auto; font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;
  font-size:9px; color:#6F768F; letter-spacing:.02em;
}
#tabs .tbtn.on .n { color:#5b9bd5; }

@media (max-width:1000px){
  .wrap { grid-template-columns:1fr; padding:24px 20px 64px; row-gap:0; }
  .kick, h1, .lede, .srcline, .wrap > div[id^="t-"],
  .wrap > .foot, .wrap > .disc, .wrap > .ftr { grid-column:1; }
  #tabs {
    position:static; grid-row:auto; flex-direction:row; overflow-x:auto;
    gap:4px; padding:10px; border-radius:14px; margin:18px 0 26px;
  }
  #tabs::after, .railhead { display:none; }
  #tabs .tbtn { white-space:nowrap; width:auto; padding:7px 11px; font-size:10px; }
  #tabs .tbtn::before { display:none; }
  #tabs .tbtn.on::after { left:8px; right:8px; top:auto; bottom:0; width:auto; height:2px; }
}

/* ══ Cross-radar consistency: type scale & theme control ═════ */
h1 { font-size:clamp(36px,4.4vw,56px); line-height:1.04; }
.kick {
  font-family:"Inter","Sohne",sans-serif; font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold2);
}
.srcline {
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9.5px; letter-spacing:.09em; text-transform:uppercase;
}
#themebtn, .themebtn {
  position:fixed; top:18px; right:18px; bottom:auto; left:auto;
  height:auto; width:auto; z-index:90;
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:999px; cursor:pointer;
  border:1px solid var(--goldline, var(--line));
  background:var(--panel); color:var(--tx2);
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:9.5px; letter-spacing:.1em; text-transform:uppercase;
  box-shadow:none;
}
#themebtn:hover, .themebtn:hover { border-color:var(--gold); color:var(--gold); }
@media (max-width:560px){ #themebtn, .themebtn { top:12px; right:12px; padding:6px 12px; } }

/* ══ Porcelain Navy · purple accent ═════════════════════════ */
:root, html[data-theme="light"] {
  --bg:#F4F5F7; --panel:#FFFFFF; --panel2:#EEF1F4;
  --line:#DDE1E6; --line2:#E7EAEE;
  --tx:#101322; --tx2:#4A4F5C; --tx3:#666E7A; --h1:#0C0F1C;
  --sand:#D5D9E0; --sand2:#C9CDD6; --paper:#FFFFFF;
  --gold:#5b9bd5; --gold2:#1d4a73; --goldwash:#e8f0f8; --goldline:rgba(91,155,213,.28);
  --teal:#0E5A78; --teal2:#2F7F95; --tealwash:#E6EEF2;
  --clay:#9C5A4E; --ember:#C0654A; --emberwash:#F6E7E1;
  --ok:#3F7A5A; --okwash:#E7F0EA; --bad:#A8483F;
  --navy:#101322; --thbg:#EEF1F4; --hover:#F6F8FA;
  --warnbd:#D9CCEE; --warntx:#1d4a73;
  --railbg:#0B1024; --railtx:#B9BEC9; --railine:#232C47;
  --chart-bg:#E7EAEE;
}
html[data-theme="dark"] {
  --bg:#070B1A; --panel:#0E1428; --panel2:#121A33;
  --line:#232C47; --line2:#1A2138;
  --tx:#F5F6F8; --tx2:#C3C9D4; --tx3:#8C93A1; --h1:#FBFCFD;
  --sand:#5b9bd5; --sand2:#4a86b0; --paper:#0E1428;
  --gold:#5b9bd5; --gold2:#9cc6e8; --goldwash:#0f2136; --goldline:rgba(127,179,221,.30);
  --teal:#7FB6C9; --teal2:#9CCBD9; --tealwash:#0E2230;
  --clay:#C98A7C; --ember:#DA8663; --emberwash:#2A1710;
  --ok:#7FB394; --okwash:#0D2218; --bad:#D9736A;
  --navy:#0E1428; --thbg:#0E1428; --hover:#141C34;
  --warnbd:#2b3f57; --warntx:#9cc6e8;
  --railbg:#0B1024; --railtx:#B9BEC9; --railine:#232C47;
  --chart-bg:#1A2138;
}

/* ── data colours · BRIGHT ─────────────────────────────────── */
:root, html[data-theme="light"] {
    
      
        
     
    
   
     
    
    
     
  
     
    
}

/* ── data colours · DARK ───────────────────────────────────── */
html[data-theme="dark"] {
    
      
        
     
    
   
     
    
    
     
  
     
    
}

/* ══ Deeper purple accent ═══════════════════════════════════ */
:root, html[data-theme="light"] {
  --gold:#1d4a73; --gold2:#142f4a; --goldwash:#e8f0f8; --goldline:rgba(29,74,115,.30);
  --cat-exchange:#16395c; --cat-broker:#2f6b96; --cat-psp:#4a86b0;
  --cat-custodian:#0E5A78; --cat-mm:#2F7F95;   --cat-am:#6E9AA8;
  --cat-infra:#9C5A4E;    --cat-bank:#1F2437;  --cat-invfirm:#6E7480;
  --cat-tradfi:#A8AEB8;   --cat-other:#BFC5CF;
  --cat-adviser:#9C5A4E; --cat-manager:#0E5A78; --cat-venue:#1d4a73;
  --cat-si:#1F2437; --cat-firm:#6E7480;
  --e-emi:#16395c; --e-pi:#0E5A78; --e-semi:#1d4a73; --e-spi:#2F7F95;
  --e-ais:#9C5A4E; --e-pis:#C0654A; --e-other:#6E7480;
  --tier-mifid:#16395c; --tier-sec:#0E5A78; --tier-finra:#1d4a73;
  --tier-fsra:#4a86b0;  --tier-euprop:#2F7F95; --tier-tracker:#9C5A4E;
  --tier-offshore:#C0654A;
  --map-0:#E2EBEE; --map-1:#C2D8DF; --map-2:#83A9B8; --map-3:#4E6E9C;
  --map-4:#1d4a73; --map-stroke:#FFFFFF; --map-hatch:#CBD8DE; --mk-ink-lo:#101322; --mk-ink-hi:#FFFFFF;
}
html[data-theme="dark"] {
  --gold:#5b9bd5; --gold2:#C4ACEE; --goldwash:#1C1436; --goldline:rgba(91,155,213,.32);
  --cat-exchange:#6aa6d4; --cat-broker:#7fb3dd; --cat-psp:#9cc6e8;
  --cat-custodian:#7FB6C9; --cat-mm:#9CCBD9;   --cat-am:#B3D3DD;
  --cat-infra:#C98A7C;    --cat-bank:#AEB6C9;  --cat-invfirm:#9AA1AF;
  --cat-tradfi:#7C8391;   --cat-other:#5E6675;
  --cat-adviser:#C98A7C; --cat-manager:#7FB6C9; --cat-venue:#7fb3dd;
  --cat-si:#AEB6C9; --cat-firm:#9AA1AF;
  --e-emi:#6aa6d4; --e-pi:#7FB6C9; --e-semi:#7fb3dd; --e-spi:#9CCBD9;
  --e-ais:#C98A7C; --e-pis:#DA8663; --e-other:#9AA1AF;
  --tier-mifid:#6aa6d4; --tier-sec:#7FB6C9; --tier-finra:#7fb3dd;
  --tier-fsra:#9cc6e8;  --tier-euprop:#9CCBD9; --tier-tracker:#C98A7C;
  --tier-offshore:#DA8663;
  --map-0:#101C2A; --map-1:#16384A; --map-2:#26607A; --map-3:#5A6FA8;
  --map-4:#7fb3dd; --map-stroke:#070B1A; --map-hatch:#24384A; --mk-ink-lo:#F5F6F8; --mk-ink-hi:#070B1A;
}

/* keep the fixed theme control clear of the masthead on small screens */
@media (max-width:560px){ .wrap { padding-top:60px; } }

/* ── Keyboard focus ────────────────────────────────────────── */
:where(a, button, summary, [tabindex]):focus-visible {
  outline:2px solid var(--gold); outline-offset:3px; border-radius:4px;
}

/* ── Narrow-desktop fit: let wide tables scroll inside their card ── */
@media (max-width:1180px){
  .card, .tblcard { overflow-x:auto; }
  .card > table, .tblcard > table { display:block; overflow-x:auto; }
}

.mst0{margin:0 0 10px}
.mst1{grid-column: 1 / -1}
.mst2{display:flex;gap:14px;width:100%}
.mst3{margin-top:6px}
.mst4{margin:0 0 14px}
.mst5{margin-top:20px}
.mst6{min-width:0}
.mst7{width:9%}
.mst8{width:18%}
.mst9{margin-top:24px}
.mst10{margin:0 0 12px}
.mst11{width:17%}
.mst12{width:8%}
.mst13{width:10%}
.mst14{width:12%}
.mst15{width:27%}
.mst16{width:7%}
.mst17{margin-top:12px}
.mst18{margin-top:22px}
.mst19{margin-top:28px}
.mst20{margin:6px 0 0;color:var(--tx2);font-size:12.5px}
.mst21{font-size:12.5px;color:var(--tx3);margin-top:10px}
.mst22{margin:0}
html[data-theme="light"]{--bg:#f3efe5;--panel:#ffffff;--panel2:#f7f3ee;--line:rgba(16,26,44,.14);--line2:rgba(16,26,44,.08);--tx:#0b1017;--tx2:#242b35;--tx3:#5b6472;--h1:#0b1017;--sand:#dfe3ea;--sand2:#d5d9e0;--paper:#ffffff;--gold:#5b9bd5;--gold2:#3d6f9e;--goldwash:#e8f0f8;--goldline:rgba(91,155,213,.28);--teal:#3f7fa8;--teal2:#5b9bd5;--tealwash:#e8f0f8;--clay:#8a5a52;--ember:#b5654e;--emberwash:#f6e7e1;--ok:#4f7d5c;--okwash:#e8f0e9;--bad:#a8443b;--navy:#0b1017;--thbg:#f7f3ee;--hover:#faf6f1;--warnbd:#dfcfae;--warntx:#6b5327;--railbg:#0b1322;--railtx:#b9c2cf;--railine:#232c47;--chart-bg:#e7eaee}
html[data-theme="dark"]{--bg:#0a1220;--panel:#0e1930;--panel2:#121f38;--line:rgba(233,237,243,.14);--line2:rgba(233,237,243,.08);--tx:#e9edf3;--tx2:#aab4c4;--tx3:#8a94a6;--h1:#f5f7fa;--sand:#5b9bd5;--sand2:#7fb3dd;--paper:#0e1930;--gold:#5b9bd5;--gold2:#7fb3dd;--goldwash:#0f2136;--goldline:rgba(91,155,213,.30);--teal:#5b9bd5;--teal2:#7fb3dd;--tealwash:#0f2136;--clay:#c08074;--ember:#da8663;--emberwash:#2a1710;--ok:#7fb394;--okwash:#0d2218;--bad:#d9736a;--navy:#0e1930;--thbg:#0e1930;--hover:#141f36;--warnbd:#3a4a66;--warntx:#a9c7e6;--railbg:#0b1024;--railtx:#b9bec9;--railine:#232c47;--chart-bg:#1a2138}
body{font-family:'Inter Tight',-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
h1,h2,h3{font-family:'Inter Tight',-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
h1 em,h2 em,h3 em{font-style:italic}
nav a{color:inherit}
footer a{color:inherit}
#eu-map svg path:hover{fill-opacity:.8;stroke:var(--gold);stroke-width:1}

/* audit-fix utilities: CSP-safe replacement for inline styles */
.w0{width:0%}
.w1{width:1%}
.w2{width:2%}
.w3{width:3%}
.w4{width:4%}
.w5{width:5%}
.w6{width:6%}
.w7{width:7%}
.w8{width:8%}
.w9{width:9%}
.w10{width:10%}
.w11{width:11%}
.w12{width:12%}
.w13{width:13%}
.w14{width:14%}
.w15{width:15%}
.w16{width:16%}
.w17{width:17%}
.w18{width:18%}
.w19{width:19%}
.w20{width:20%}
.w21{width:21%}
.w22{width:22%}
.w23{width:23%}
.w24{width:24%}
.w25{width:25%}
.w26{width:26%}
.w27{width:27%}
.w28{width:28%}
.w29{width:29%}
.w30{width:30%}
.w31{width:31%}
.w32{width:32%}
.w33{width:33%}
.w34{width:34%}
.w35{width:35%}
.w36{width:36%}
.w37{width:37%}
.w38{width:38%}
.w39{width:39%}
.w40{width:40%}
.w41{width:41%}
.w42{width:42%}
.w43{width:43%}
.w44{width:44%}
.w45{width:45%}
.w46{width:46%}
.w47{width:47%}
.w48{width:48%}
.w49{width:49%}
.w50{width:50%}
.w51{width:51%}
.w52{width:52%}
.w53{width:53%}
.w54{width:54%}
.w55{width:55%}
.w56{width:56%}
.w57{width:57%}
.w58{width:58%}
.w59{width:59%}
.w60{width:60%}
.w61{width:61%}
.w62{width:62%}
.w63{width:63%}
.w64{width:64%}
.w65{width:65%}
.w66{width:66%}
.w67{width:67%}
.w68{width:68%}
.w69{width:69%}
.w70{width:70%}
.w71{width:71%}
.w72{width:72%}
.w73{width:73%}
.w74{width:74%}
.w75{width:75%}
.w76{width:76%}
.w77{width:77%}
.w78{width:78%}
.w79{width:79%}
.w80{width:80%}
.w81{width:81%}
.w82{width:82%}
.w83{width:83%}
.w84{width:84%}
.w85{width:85%}
.w86{width:86%}
.w87{width:87%}
.w88{width:88%}
.w89{width:89%}
.w90{width:90%}
.w91{width:91%}
.w92{width:92%}
.w93{width:93%}
.w94{width:94%}
.w95{width:95%}
.w96{width:96%}
.w97{width:97%}
.w98{width:98%}
.w99{width:99%}
.w100{width:100%}
.h0{height:0%}
.h1{height:1%}
.h2{height:2%}
.h3{height:3%}
.h4{height:4%}
.h5{height:5%}
.h6{height:6%}
.h7{height:7%}
.h8{height:8%}
.h9{height:9%}
.h10{height:10%}
.h11{height:11%}
.h12{height:12%}
.h13{height:13%}
.h14{height:14%}
.h15{height:15%}
.h16{height:16%}
.h17{height:17%}
.h18{height:18%}
.h19{height:19%}
.h20{height:20%}
.h21{height:21%}
.h22{height:22%}
.h23{height:23%}
.h24{height:24%}
.h25{height:25%}
.h26{height:26%}
.h27{height:27%}
.h28{height:28%}
.h29{height:29%}
.h30{height:30%}
.h31{height:31%}
.h32{height:32%}
.h33{height:33%}
.h34{height:34%}
.h35{height:35%}
.h36{height:36%}
.h37{height:37%}
.h38{height:38%}
.h39{height:39%}
.h40{height:40%}
.h41{height:41%}
.h42{height:42%}
.h43{height:43%}
.h44{height:44%}
.h45{height:45%}
.h46{height:46%}
.h47{height:47%}
.h48{height:48%}
.h49{height:49%}
.h50{height:50%}
.h51{height:51%}
.h52{height:52%}
.h53{height:53%}
.h54{height:54%}
.h55{height:55%}
.h56{height:56%}
.h57{height:57%}
.h58{height:58%}
.h59{height:59%}
.h60{height:60%}
.h61{height:61%}
.h62{height:62%}
.h63{height:63%}
.h64{height:64%}
.h65{height:65%}
.h66{height:66%}
.h67{height:67%}
.h68{height:68%}
.h69{height:69%}
.h70{height:70%}
.h71{height:71%}
.h72{height:72%}
.h73{height:73%}
.h74{height:74%}
.h75{height:75%}
.h76{height:76%}
.h77{height:77%}
.h78{height:78%}
.h79{height:79%}
.h80{height:80%}
.h81{height:81%}
.h82{height:82%}
.h83{height:83%}
.h84{height:84%}
.h85{height:85%}
.h86{height:86%}
.h87{height:87%}
.h88{height:88%}
.h89{height:89%}
.h90{height:90%}
.h91{height:91%}
.h92{height:92%}
.h93{height:93%}
.h94{height:94%}
.h95{height:95%}
.h96{height:96%}
.h97{height:97%}
.h98{height:98%}
.h99{height:99%}
.h100{height:100%}
.bg-bg{background:var(--bg)}
.bg-tx{background:var(--tx)}
.bg-tx2{background:var(--tx2)}
.bg-tx3{background:var(--tx3)}
.bg-ok{background:var(--ok)}
.bg-sky{background:var(--sky)}
.bg-ember{background:var(--ember)}
.bg-line{background:var(--line)}
.bg-map-0{background:var(--map-0)}
.bg-map-1{background:var(--map-1)}
.bg-map-2{background:var(--map-2)}
.bg-map-3{background:var(--map-3)}
.bg-map-4{background:var(--map-4)}
.bg-map-5{background:var(--map-5)}
.bg-map-hatch{background:var(--map-hatch)}
.bg-map-stroke{background:var(--map-stroke)}
.bg-mk-ink-hi{background:var(--mk-ink-hi)}
.bg-mk-ink-lo{background:var(--mk-ink-lo)}
.bg-cat-exchange{background:var(--cat-exchange)}
.bg-cat-broker{background:var(--cat-broker)}
.bg-cat-psp{background:var(--cat-psp)}
.bg-cat-custodian{background:var(--cat-custodian)}
.bg-cat-mm{background:var(--cat-mm)}
.bg-cat-am{background:var(--cat-am)}
.bg-cat-infra{background:var(--cat-infra)}
.bg-cat-bank{background:var(--cat-bank)}
.bg-cat-invfirm{background:var(--cat-invfirm)}
.bg-cat-tradfi{background:var(--cat-tradfi)}
.bg-cat-other{background:var(--cat-other)}
.fill-bg{fill:var(--bg)}
.fill-tx{fill:var(--tx)}
.fill-tx2{fill:var(--tx2)}
.fill-tx3{fill:var(--tx3)}
.fill-ok{fill:var(--ok)}
.fill-sky{fill:var(--sky)}
.fill-ember{fill:var(--ember)}
.fill-line{fill:var(--line)}
.fill-map-0{fill:var(--map-0)}
.fill-map-1{fill:var(--map-1)}
.fill-map-2{fill:var(--map-2)}
.fill-map-3{fill:var(--map-3)}
.fill-map-4{fill:var(--map-4)}
.fill-map-5{fill:var(--map-5)}
.fill-map-hatch{fill:var(--map-hatch)}
.fill-map-stroke{fill:var(--map-stroke)}
.fill-mk-ink-hi{fill:var(--mk-ink-hi)}
.fill-mk-ink-lo{fill:var(--mk-ink-lo)}
.fill-cat-exchange{fill:var(--cat-exchange)}
.fill-cat-broker{fill:var(--cat-broker)}
.fill-cat-psp{fill:var(--cat-psp)}
.fill-cat-custodian{fill:var(--cat-custodian)}
.fill-cat-mm{fill:var(--cat-mm)}
.fill-cat-am{fill:var(--cat-am)}
.fill-cat-infra{fill:var(--cat-infra)}
.fill-cat-bank{fill:var(--cat-bank)}
.fill-cat-invfirm{fill:var(--cat-invfirm)}
.fill-cat-tradfi{fill:var(--cat-tradfi)}
.fill-cat-other{fill:var(--cat-other)}
.stroke-bg{stroke:var(--bg)}
.stroke-tx{stroke:var(--tx)}
.stroke-tx2{stroke:var(--tx2)}
.stroke-tx3{stroke:var(--tx3)}
.stroke-ok{stroke:var(--ok)}
.stroke-sky{stroke:var(--sky)}
.stroke-ember{stroke:var(--ember)}
.stroke-line{stroke:var(--line)}
.stroke-map-0{stroke:var(--map-0)}
.stroke-map-1{stroke:var(--map-1)}
.stroke-map-2{stroke:var(--map-2)}
.stroke-map-3{stroke:var(--map-3)}
.stroke-map-4{stroke:var(--map-4)}
.stroke-map-5{stroke:var(--map-5)}
.stroke-map-hatch{stroke:var(--map-hatch)}
.stroke-map-stroke{stroke:var(--map-stroke)}
.stroke-mk-ink-hi{stroke:var(--mk-ink-hi)}
.stroke-mk-ink-lo{stroke:var(--mk-ink-lo)}
.stroke-cat-exchange{stroke:var(--cat-exchange)}
.stroke-cat-broker{stroke:var(--cat-broker)}
.stroke-cat-psp{stroke:var(--cat-psp)}
.stroke-cat-custodian{stroke:var(--cat-custodian)}
.stroke-cat-mm{stroke:var(--cat-mm)}
.stroke-cat-am{stroke:var(--cat-am)}
.stroke-cat-infra{stroke:var(--cat-infra)}
.stroke-cat-bank{stroke:var(--cat-bank)}
.stroke-cat-invfirm{stroke:var(--cat-invfirm)}
.stroke-cat-tradfi{stroke:var(--cat-tradfi)}
.stroke-cat-other{stroke:var(--cat-other)}
.ptr{cursor:pointer}
.muted{color:var(--tx3)}
.note-11{color:var(--tx3);font-size:11.5px}
.err-box{color:var(--tx3);padding:24px;text-align:center}
.note-sm{margin:14px 0 0;color:var(--tx2);font-size:13px}
.tiny-muted{font-size:12px;color:var(--tx3)}
.grid-1{grid-template-columns:repeat(1,1fr);margin:0}
.grid-2{grid-template-columns:repeat(2,1fr);margin:0}
.grid-3{grid-template-columns:repeat(3,1fr);margin:0}
.map-svg{width:100%;height:auto;display:block;background:var(--bg)}
.map-path{cursor:pointer;transition:fill .2s,stroke .2s}
.map-label{fill:var(--tx);paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.legend-swatch{stroke:var(--map-stroke);stroke-width:.6}
.fill-hatch{fill:url(#hatch-non)}

/* ====== Non-Compliant Entities (NCE) tab ====== */
#t-noncomp .nce-reason { max-width: 340px; font-size: 12px; line-height: 1.45; color: var(--tx2); }
#t-noncomp .nce-recent { width: 100%; }
#t-noncomp .nce-recent td, #t-noncomp .nce-recent th { padding: 7px 10px; border-bottom: 1px solid var(--line2); vertical-align: top; }
#t-noncomp .nce-recent th { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--tx3); text-align: left; }
.diff-block { padding: 10px 0 14px; border-bottom: 1px dotted var(--line2); }
.diff-block:last-child { border-bottom: 0; }
.diff-block ul { margin: 6px 0 0 0; padding: 0; list-style: none; }
.diff-block li { font-size: 12.5px; color: var(--tx2); padding: 3px 0; }
.diff-block .tiny-muted { font-size: 11px; color: var(--tx3); margin-top: 2px; }
#stat-noncomp:hover { cursor: pointer; }

/* NCE map fills — mirror the #eu-map shade rules for the non-compliant tab */
#nce-map svg path[data-shade] { stroke: var(--map-stroke); stroke-width: .5; }
#nce-map svg path[data-shade="0"] { fill: var(--map-0); stroke: var(--map-hatch); }
#nce-map svg path[data-shade="1"] { fill: var(--map-1); }
#nce-map svg path[data-shade="2"] { fill: var(--map-2); }
#nce-map svg path[data-shade="3"] { fill: var(--map-3); }
#nce-map svg path[data-shade="4"] { fill: var(--map-4); }
#nce-map svg path.eu-non { fill: url(#hatch-nce-non); stroke: var(--map-hatch); stroke-width: .5; }
#nce-map svg #hatch-nce-non rect { fill: var(--map-hatch); opacity: .26; }
#nce-map svg #hatch-nce-non line { stroke: var(--map-hatch); }
#nce-map svg .mk circle { stroke: var(--map-stroke); stroke-width: 1; }
#nce-map svg .mk-lead { stroke: var(--map-hatch); stroke-width: 1; stroke-dasharray: 2 2; }
