/* Bonds & Credit — dense analyst theme (sibling of the Trading Cockpit and the Nation Tracker).
   Light is the bare :root palette; dark applies under prefers-color-scheme (unless the reader chose
   light explicitly) and under [data-theme="dark"], so auto / light / dark all resolve. */
:root{
  color-scheme:light;
  --bg:#f6f8fa; --panel:#fff; --panel2:#eef1f5; --line:#dde2ea; --line2:#c4ccd8;
  --text:#0f141b; --muted:#57626f; --dim:#8a94a1;
  --accent:#2962ff; --green:#12916a; --amber:#b3730a; --red:#cf2f38; --blue:#1f7ed0; --violet:#6d4fe0;
  --orange:#d9701a; --deepred:#8e1c24;
  --hover:#f1f5fa; --rowline:#eef1f6; --track:#e6eaf0; --grid:#e7ebf1; --zero:#b4bdc9; --hl:#94a0af;
  --tip-bg:#fff; --shadow:0 10px 26px rgba(15,20,26,.13);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0a0c10; --panel:#12161c; --panel2:#171c24; --line:#232b36; --line2:#2f3946;
    --text:#e7eef7; --muted:#98a4b3; --dim:#66727f;
    --accent:#3b82f6; --green:#38c793; --amber:#f0a832; --red:#e5484d; --blue:#39a0ed; --violet:#a78bfa;
    --orange:#f28c3a; --deepred:#c0393f;
    --hover:#161c25; --rowline:#1a2029; --track:#1a212b; --grid:#1e2530; --zero:#3a4553; --hl:#4a5666;
    --tip-bg:#0d1218; --shadow:0 8px 22px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a0c10; --panel:#12161c; --panel2:#171c24; --line:#232b36; --line2:#2f3946;
  --text:#e7eef7; --muted:#98a4b3; --dim:#66727f;
  --accent:#3b82f6; --green:#38c793; --amber:#f0a832; --red:#e5484d; --blue:#39a0ed; --violet:#a78bfa;
  --orange:#f28c3a; --deepred:#c0393f;
  --hover:#161c25; --rowline:#1a2029; --track:#1a212b; --grid:#1e2530; --zero:#3a4553; --hl:#4a5666;
  --tip-bg:#0d1218; --shadow:0 8px 22px rgba(0,0,0,.6);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:underline}
b{font-weight:600}
.mono{font-family:var(--mono)}
.pos{color:var(--green)} .neg{color:var(--red)} .zero{color:var(--muted)} .mut{color:var(--muted)} .dim{color:var(--dim)} .na{color:var(--dim)}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:var(--panel);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:12px;padding:8px clamp(12px,1.3vw,26px);flex-wrap:wrap;row-gap:6px}
.brand{display:flex;align-items:baseline;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.2px;white-space:nowrap}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}
.brand small{color:var(--muted);font-weight:500;font-size:11px;letter-spacing:.3px}
.hspacer{flex:1}
.search{position:relative;flex:0 1 380px;min-width:180px}
.search input{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px 10px 6px 28px;font:inherit;font-size:12.5px;outline:none}
.search input:focus{border-color:var(--line2)}
.search:before{content:"⌕";position:absolute;left:9px;top:5px;color:var(--dim);font-size:15px;pointer-events:none}
.sr{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line2);border-radius:8px;box-shadow:var(--shadow);z-index:80;max-height:420px;overflow:auto;padding:4px}
.sr.open{display:block}
.sr button{display:flex;width:100%;align-items:center;gap:8px;background:none;border:0;color:var(--text);font:inherit;font-size:12.5px;padding:6px 8px;border-radius:5px;cursor:pointer;text-align:left}
.sr button:hover,.sr button.act{background:var(--hover)}
.sr .tk{min-width:56px}
.sr .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr .sb{color:var(--muted);font-size:11px;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr .none{padding:8px;color:var(--muted)}
.badge{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap}
.badge.warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 12%,transparent)}
.themebtn{background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;font:inherit;font-size:11px;font-family:var(--mono);padding:3px 11px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
.themebtn:hover{color:var(--text);border-color:var(--line2)}
nav{display:flex;gap:2px;padding:0 clamp(8px,1vw,20px);overflow-x:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:12.5px;padding:6px 11px 7px;cursor:pointer;white-space:nowrap;border-radius:4px 4px 0 0}
nav button:hover{color:var(--text);background:var(--hover)}
nav button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
nav button .nb{font-family:var(--mono);font-size:10px;color:var(--dim);margin-left:5px}

/* ---------- layout ---------- */
main{padding:12px clamp(12px,1.3vw,26px) 12px;margin:0 auto;min-width:0}
footer{padding:7px clamp(12px,1.3vw,26px) 9px;color:var(--dim);font-size:10.5px;line-height:1.5;border-top:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loading,.empty{color:var(--muted);padding:18px 4px;font-size:12.5px}
.empty.pad{padding:28px 12px;text-align:center}
.grid{display:grid;gap:12px;margin-bottom:12px}
.g2{grid-template-columns:repeat(auto-fit,minmax(max(440px,(100% - 12px)/2),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(max(300px,(100% - 24px)/3),1fr))}
@media(max-width:760px){.grid{grid-template-columns:1fr!important}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:11px 13px;position:relative;min-width:0;margin-bottom:12px}
.grid .card{margin-bottom:0}
.card h3{margin:0 0 3px;font-size:13px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.card h3 .cnt{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:500}
.card .note,.why{color:var(--muted);font-size:11.5px;margin:0 0 8px;line-height:1.5;max-width:130ch}
h2.sec{font-size:12px;text-transform:uppercase;letter-spacing:.9px;color:var(--muted);font-weight:600;margin:16px 0 8px;display:flex;align-items:center;gap:9px}
h2.sec:before{content:"";width:3px;height:13px;background:var(--accent);border-radius:2px}

/* ---------- verdict + KPIs ---------- */
.verdict{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:9px;padding:10px 14px;margin-bottom:10px}
.verdict .vrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.verdict h1{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:-.1px;line-height:1.5;max-width:160ch}
.verdict .method{margin:0;color:var(--muted);font-size:11.5px;line-height:1.5}
.verdict .att{margin-top:6px;display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.pill{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}
.pill.tight{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
.pill.wide{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}
.pill.stressed{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red)}
.pill.improving{color:var(--green)} .pill.deteriorating{color:var(--red)}
.kpis{display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 10px;min-width:0}
.kpi .k{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);line-height:1.25;min-height:24px;margin-bottom:3px}
.kpi .v{font-family:var(--mono);font-size:17px;font-weight:600;letter-spacing:-.4px;line-height:1.1;white-space:nowrap}
.kpi .v small{font-size:10px;color:var(--muted);font-family:var(--sans);font-weight:500;margin-left:3px;letter-spacing:0}
.kpi .d{font-size:10.5px;margin-top:3px;color:var(--muted);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .d .n{color:var(--dim);font-family:var(--sans);margin-left:4px}

/* ---------- controls ---------- */
.ctl{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 9px;align-items:center;font-size:11.5px;color:var(--muted)}
.ctl .sep{width:1px;height:18px;background:var(--line)}
.ctl label.sw{display:inline-flex;align-items:center;gap:5px;cursor:pointer;color:var(--muted);white-space:nowrap}
.ctl label.sw input{margin:0}
.chip{background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font:inherit;font-size:11.5px;cursor:pointer;user-select:none;white-space:nowrap}
.chip:hover{color:var(--text);border-color:var(--line2)}
.chip.on{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}
.chip.lnk{cursor:pointer}
.chip b{font-family:var(--mono);font-weight:500;color:var(--text)}
select,input[type=text],input[type=number],input[type=search]{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:4px 8px;font:inherit;font-size:12px;outline:none}
input[type=number]{width:74px;font-family:var(--mono)} input[type=search],input[type=text]{width:200px}
select:focus,input:focus{border-color:var(--line2)}
button.more{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer;margin:8px 0 0}
button.more:hover{border-color:var(--line2)}
.count{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:auto}

/* ---------- tables ---------- */
.wrap{overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--panel);max-height:70vh}
.board .wrap{max-height:430px}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}
th{text-align:right;font-weight:600;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;padding:6px 8px;border-bottom:1px solid var(--line2);position:sticky;top:0;background:var(--panel);z-index:2;white-space:nowrap;cursor:pointer;user-select:none}
th.l,td.l{text-align:left}
th.nosort{cursor:default} th.on{color:var(--text)}
th:hover:not(.nosort){color:var(--text)}
td{padding:4px 8px;border-bottom:1px solid var(--rowline);text-align:right;font-family:var(--sans);font-size:12.5px;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}
td.l{font-family:var(--sans);font-size:12.5px}
td .nm{display:inline-block;max-width:30ch;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
td .nm.w{max-width:44ch}
tbody tr:hover{background:var(--hover)}
tbody tr[data-t]{cursor:pointer}
/* Peers comp table: the issuer under review is tinted so it stays findable under any sort; the median row is
   the group's benchmark, so it reads as a footer rather than as another company. */
tbody tr.self{background:color-mix(in srgb,var(--accent) 7%,transparent)}
tbody tr.self:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
tbody tr.self td{font-weight:600}
tbody tr.med td{border-top:1px solid var(--line2);border-bottom:none;color:var(--muted);font-style:normal}
tbody tr.med td.l{color:var(--muted)}
tbody tr.med:hover{background:transparent}
.fl.self{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
/* ---- column filters (2026-09-23): header funnel + popover, the cockpit's pattern ---- */
th .cfilter{margin-left:4px;color:var(--muted);opacity:.6;cursor:pointer;font-size:10px;letter-spacing:0}
th:hover .cfilter{opacity:1;color:var(--accent)}
th .cfilter.on{opacity:1;color:var(--accent)}
#colmenu{position:fixed;z-index:120;min-width:236px;max-width:310px;max-height:min(560px,85vh);overflow:auto;background:var(--panel);border:1px solid var(--line2);
  border-radius:8px;box-shadow:0 10px 32px rgba(0,0,0,.22);font-family:var(--sans);font-size:11.5px;overflow:hidden}
#colmenu .cm-title{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-weight:600;
  border-bottom:1px solid var(--line);color:var(--text)}
#colmenu .cm-x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:12px;padding:0 2px}
#colmenu .cm-sub{padding:6px 10px 8px;color:var(--dim);font-size:10.5px;line-height:1.5}
#colmenu .cm-sub b{color:var(--muted);font-weight:600}
#colmenu .cm-sort{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px 2px}
#colmenu .cm-sort-btn{background:var(--bg);border:1px solid var(--line2);border-radius:6px;padding:5px 8px;color:var(--muted);
  cursor:pointer;font-size:11px;font-family:var(--sans);white-space:nowrap;text-align:center}
#colmenu .cm-sort-btn:hover{color:var(--text);background:var(--hover)}
#colmenu .cm-sort-btn.active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);font-weight:600}
#colmenu .cm-sort2-clear{background:none;border:1px solid var(--line2);border-radius:5px;padding:2px 7px;color:var(--muted);
  cursor:pointer;font-size:10px;font-family:var(--sans);margin-left:2px}
#colmenu .cm-sort2-clear:hover{color:var(--text)}
th .s2{opacity:.55;font-size:9px}
#colmenu .cm-list{max-height:260px;overflow:auto;padding:4px 6px 6px}
#colmenu .cm-item{display:flex;align-items:center;gap:7px;padding:3px 5px;border-radius:5px;cursor:pointer;color:var(--text)}
#colmenu .cm-item:hover{background:var(--hover)}
#colmenu .cm-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#colmenu .cm-item b{font-family:var(--mono);font-size:10.5px;color:var(--dim);font-weight:500}
#colmenu .cm-item.empty{opacity:.45}
#colmenu .cm-range{display:flex;align-items:center;gap:6px;padding:4px 10px 8px;color:var(--dim)}
#colmenu .cm-range input{width:78px;padding:4px 6px;border:1px solid var(--line2);border-radius:5px;background:var(--bg);
  color:var(--text);font-family:var(--mono);font-size:11px}
#colmenu .cm-foot{display:flex;gap:6px;padding:6px 10px;border-top:1px solid var(--line);background:var(--panel2)}
#colmenu .cm-foot button{background:none;border:1px solid var(--line2);border-radius:5px;padding:3px 9px;color:var(--muted);
  cursor:pointer;font-size:10.5px;font-family:var(--sans)}
#colmenu .cm-foot button:hover{color:var(--text);border-color:var(--line2)}
.cfbar{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 7px}
.cfpill{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--accent) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text);border-radius:5px;padding:2px 7px;
  font-size:10.5px;font-family:var(--sans);cursor:pointer}
.cfpill b{font-weight:600}
.cfpill span{color:var(--muted)}
.cfpill:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.cfpill.clr{background:none;border-color:var(--line2);color:var(--muted)}
.sup{font-size:8px;vertical-align:super;color:var(--violet);margin-left:1px;cursor:help;font-weight:700}
.ctl .spacer{flex:1}
.ctl.faces{margin:2px 0 8px}
/* Issuer page section toggle (2026-09-23): Overview · Peers · Bonds, under the header + stock strip */
.ctl.isec{margin:0 0 12px;gap:6px}
.ctl.isec .chip{padding:4px 13px;font-size:12px;font-weight:500}
.ctl.isec .chip .dim{margin-left:4px;font-family:var(--mono);font-size:11px}
.ctl.isec .chip.on .dim{color:var(--accent);opacity:.75}
.bfoot{display:flex;align-items:center;gap:10px;margin-top:7px}
.card.board h3 .cnt{font-weight:500}

/* ---- column bands (2026-09-23): a coloured rule where a block of related columns starts, plus a tag above the
   header. Structure gets structure; data keeps colour — so these are borders, never fills. ---- */
:root{--gate-id:#6c747f;--gate-eq:#278075;--gate-rate:#b25757;--gate-spr:#4372bb;--gate-size:#7f66b4;--gate-val:#976925;--gate-qual:#637a3a}
:root[data-theme="dark"]{--gate-id:#8b95a3;--gate-eq:#2f9c8f;--gate-rate:#c76c6c;--gate-spr:#5587d3;--gate-size:#937bc9;--gate-val:#c2872f;--gate-qual:#7f9c4a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gate-id:#8b95a3;--gate-eq:#2f9c8f;--gate-rate:#c76c6c;--gate-spr:#5587d3;--gate-size:#937bc9;--gate-val:#c2872f;--gate-qual:#7f9c4a}}
.gate-id{--gate-c:var(--gate-id)} .gate-eq{--gate-c:var(--gate-eq)} .gate-rate{--gate-c:var(--gate-rate)}
.gate-spr{--gate-c:var(--gate-spr)} .gate-size{--gate-c:var(--gate-size)} .gate-val{--gate-c:var(--gate-val)} .gate-qual{--gate-c:var(--gate-qual)}
.gate-term{--gate-c:var(--gate-val)} .gate-risk{--gate-c:var(--gate-qual)}   /* bond tables: TERMS and RISK borrow the valuation / quality hues */
table.bands th.gate-start,table.bands td.gate-start{border-left:2px solid var(--gate-c,var(--line2))}
table.bands th{padding-top:17px}
table.bands th .gate-tag{position:absolute;top:2px;left:8px;white-space:nowrap;font-size:8.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--gate-c);border:1px solid var(--gate-c);border-radius:3px;
  padding:0 4px;opacity:.85}                          /* hoverable: a tag with its own title shows the segment's definition, else the header's */
table.bands th.gate-start{z-index:4}
@media (max-width:900px){table.bands th .gate-tag{display:none} table.bands th{padding-top:6px}}

/* Custom tooltip (2026-09-23): replaces native title= everywhere — see the tooltip block in app.js. */
#tip{position:fixed;z-index:200;max-width:52ch;padding:7px 10px;border-radius:7px;background:var(--panel);color:var(--text);
  border:1px solid var(--line2);box-shadow:0 8px 28px rgba(0,0,0,.20);font-family:var(--sans);font-size:11.5px;line-height:1.55;
  pointer-events:none;opacity:0;transition:opacity .08s ease;white-space:normal;text-align:left;font-weight:400}
#tip.on{opacity:1}
/* Identity stays put while a wide table scrolls sideways. Row tints move onto the <tr> (they were on the cells)
   so the frozen cell inherits them and stays opaque over whatever scrolls beneath it. The freeze edge is a
   border, not a box-shadow, because the rating band and distressed bars already own the cell's box-shadow. */
.wrap[data-tbl] tbody tr{background:var(--panel)}
.wrap[data-tbl] tbody tr:hover{background:var(--hover)}
.wrap[data-tbl] tbody tr.self{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.wrap[data-tbl] tbody tr.self:hover{background:color-mix(in srgb,var(--accent) 13%,var(--panel))}
.wrap[data-tbl] tbody tr.med{background:var(--panel)}
.wrap[data-tbl] thead th:first-child,.wrap[data-tbl] tbody td:first-child{position:sticky;left:0;z-index:2;
  background:inherit;border-right:1px solid var(--line)}
.wrap[data-tbl] thead th:first-child{z-index:3;background:var(--panel)}
/* The peers table has to fit its credit block before it scrolls: give the name less room than elsewhere. */
.wrap[data-tbl="peers"] td .nm{max-width:22ch}
tr.dist td:first-child{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--red) 70%,transparent)}
.tk{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:600}
.tk.big{font-size:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 7px;border-radius:5px;vertical-align:middle}
.gap{font-weight:600} .gap.pos{color:var(--green)} .gap.neg{color:var(--red)} .gap.eq{color:var(--dim)}
.approx{color:var(--dim);font-size:10px;cursor:help;margin-left:1px}

/* rating chips, coloured by bucket */
.rc{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:600;padding:1px 5px;border-radius:4px;line-height:1.5;min-width:30px;text-align:center;
  background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}
.rc.aaa{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}
.rc.a{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)}
.rc.bbb{background:color-mix(in srgb,var(--amber) 16%,var(--panel2));color:color-mix(in srgb,var(--amber) 70%,var(--muted))}
.rc.bb{background:color-mix(in srgb,var(--orange) 16%,transparent);color:var(--orange)}
.rc.b{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.rc.ccc{background:color-mix(in srgb,var(--deepred) 18%,transparent);color:var(--deepred)}
.rc.nr{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--dim)}
.rc.big{font-size:12.5px;padding:3px 9px}
.fl{display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;font-family:var(--sans);letter-spacing:.2px;margin-right:3px}
.fl.fa{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.fl.rs{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}
.fl.df{background:color-mix(in srgb,var(--deepred) 18%,transparent);color:var(--deepred)}
.fl.sec{background:color-mix(in srgb,var(--violet) 14%,transparent);color:var(--violet)}
.fl.dis{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.fl.split{background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--amber)}

/* ---------- issuer page ---------- */
.ihead{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.ihead h1{margin:0 0 4px;font-size:18px;font-weight:650;letter-spacing:-.3px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ihead .meta{color:var(--muted);font-size:12px;line-height:1.6}
.ihead .subs{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.ihead .links{margin-left:auto;display:flex;flex-direction:column;gap:5px;font-size:12px;align-items:flex-end;text-align:right}
.strip{display:flex;flex-wrap:wrap;gap:0 18px;align-items:center;padding:8px 13px}
.strip .m{display:flex;flex-direction:column;min-width:56px;padding:3px 0}
.strip .m .k{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.strip .m .v{font-family:var(--mono);font-size:14px;font-weight:600}
.strip .m.close .v{font-size:18px}
.range{display:flex;align-items:center;gap:8px;min-width:230px;flex:1;font-family:var(--mono);font-size:11px;color:var(--muted)}
.range .bar{flex:1;height:6px;background:var(--track);border-radius:3px;position:relative;max-width:320px}
.range .bar i{position:absolute;top:-3px;width:3px;height:12px;background:var(--accent);border-radius:2px;margin-left:-1px}
.agencies{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 8px}
.agencies div{display:flex;flex-direction:column;gap:3px;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.rp p{margin:0 0 6px;font-size:12.5px;line-height:1.55} .rp p b{font-weight:600}
.actlist{margin-top:8px;font-size:11.5px;color:var(--muted);line-height:1.7}
.actlist span{font-family:var(--mono);color:var(--text)}
/* agency tag (action tables, issuer panel, Universe last action) — small muted text, never a coloured cell */
.ag{display:inline-block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2px;color:var(--muted);background:color-mix(in srgb,var(--muted) 11%,transparent);border-radius:3px;padding:0 5px;line-height:1.6;vertical-align:middle;white-space:nowrap}
.lastby{margin:0 0 6px}
.lastby .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px}
.lastby p{margin:0 0 3px}
.lastby p[title]{cursor:help}
.rp .chartcap{margin:8px 0 4px}

/* ---------- charts ---------- */
.chart{width:100%;height:auto;display:block;overflow:visible}
.chartbox{position:relative}
.c-grid{stroke:var(--grid);stroke-width:1} .c-zero{stroke:var(--zero);stroke-width:1}
.c-ax{fill:var(--dim);font-size:9.5px;font-family:var(--mono)}
.c-lab{fill:var(--muted);font-size:9.5px;font-family:var(--sans)}
.c-empty{fill:var(--dim);font-size:12px;font-family:var(--sans)}
.c-hl{stroke:var(--hl);stroke-width:1;stroke-dasharray:3 3}
.c-junk{stroke:var(--red);stroke-width:1;stroke-dasharray:4 3;opacity:.6}
.c-band{fill:var(--hover);opacity:.9}
.c-ring{fill:none;stroke:var(--text);stroke-width:1.2;opacity:.6}
.ctip{display:none;position:absolute;pointer-events:none;background:var(--tip-bg);border:1px solid var(--line2);border-radius:6px;padding:6px 9px;font-size:11px;z-index:40;box-shadow:var(--shadow);min-width:130px;max-width:360px;font-family:var(--mono)}
.ctip b{display:block;margin-bottom:4px;color:var(--text);font-size:11px;font-family:var(--sans);white-space:normal}
.ctip div{display:flex;align-items:center;gap:6px;line-height:1.55;white-space:nowrap}
.ctip i{width:8px;height:8px;border-radius:2px;display:inline-block;flex:0 0 auto}
.ctip span{margin-left:auto;padding-left:12px;color:var(--text)}
.ctip em{color:var(--dim);font-style:normal;font-size:10px}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11px;color:var(--muted)}
.legend i{width:9px;height:9px;border-radius:2px;display:inline-block;margin-right:5px;box-sizing:border-box}
.legend span{display:inline-flex;align-items:center}

/* ---------- curve tab ---------- */
.etfs{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.etf{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel)}
.etf .s{font-weight:600;display:flex;justify-content:space-between;align-items:baseline}
.etf .s .px{font-family:var(--mono);font-size:15px}
.etf .r{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;margin-top:5px;color:var(--muted)}
.etf .r div{display:flex;flex-direction:column;align-items:center;gap:1px}
.etf .r small{font-size:9.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--dim);font-family:var(--sans)}
table.cal td{font-family:var(--mono)} table.cal td small{display:block;font-size:9.5px;color:var(--dim);line-height:1.1}
table.cal td.t{color:var(--text)}

/* ---------- about ---------- */
.about{max-width:120ch;line-height:1.6;font-size:12.5px}
.about dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:6px 0 12px}
.about dt{font-weight:600;white-space:nowrap} .about dd{margin:0;color:var(--muted)}
.about ul{margin:4px 0 10px;padding-left:18px;color:var(--muted)}
.about ol{margin:4px 0 10px;padding-left:20px;color:var(--muted)}
.about ol li{margin-bottom:4px}
.about li{margin-bottom:3px}
.scale{display:flex;flex-wrap:wrap;gap:4px}
/* ---------- guide (About) ---------- */
.guide h4{margin:14px 0 6px;font-size:12.5px}
.gwrap{max-height:none;margin:4px 0 8px}
.gt td{font-family:var(--sans);text-align:left;white-space:nowrap;vertical-align:top;font-size:12px}
.gt td.w{white-space:normal;min-width:26ch;color:var(--muted)}
.gt td.n{font-family:var(--mono);white-space:nowrap}
.gt tr.ig td:first-child{box-shadow:inset 3px 0 0 var(--green)}
.gt tr.hy td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
.gt tr.dis td:first-child{box-shadow:inset 3px 0 0 var(--red)}
.gt tr.def td:first-child{box-shadow:inset 3px 0 0 var(--dim)}
.tchip{display:inline-block;padding:1px 7px;margin:2px 4px 2px 0;border:1px solid var(--line);border-radius:10px;font-family:var(--mono);font-size:11px;background:var(--panel2)}
.glink{font-size:11px;color:var(--accent);text-decoration:none;margin-left:8px;white-space:nowrap}
.glink:hover{text-decoration:underline}
/* ---------- hover definitions ---------- */
th[title]:hover{text-decoration:underline dotted;text-underline-offset:3px}
.kpi[title],.strip .m[title],.etf[title],.agencies div[title]{cursor:help}
/* ---------- colour code v2: greens for investment grade, amber→red for junk (2026-09-23) ---------- */
.rc.aaa{background:color-mix(in srgb,var(--green) 22%,transparent);color:color-mix(in srgb,var(--green) 85%,var(--text))}
.rc.a{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}
.rc.bbb{background:color-mix(in srgb,var(--green) 9%,var(--panel2));color:color-mix(in srgb,var(--green) 70%,var(--muted))}
.rc.bbb.last{box-shadow:inset 0 0 0 1px var(--amber)}
.rc.bb{background:color-mix(in srgb,var(--amber) 18%,transparent);color:color-mix(in srgb,var(--amber) 85%,var(--text))}
.rc.b{background:color-mix(in srgb,var(--orange) 16%,transparent);color:var(--orange)}
.rc.ccc{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}
.rc.d{background:color-mix(in srgb,var(--deepred) 22%,transparent);color:var(--deepred)}
.rc.nr{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--dim)}
.rc[title]{cursor:help}
/* per-row band bar (distressed rows keep their own red bar) */
tr.band:not(.dist) td:first-child{box-shadow:inset 3px 0 0 var(--bandc,transparent)}
tr.aaa,tr.a{--bandc:var(--green)}
tr.bbb{--bandc:color-mix(in srgb,var(--green) 55%,var(--panel))}
tr.bbb.last{--bandc:var(--amber)}
tr.bb{--bandc:var(--amber)}
tr.b{--bandc:var(--orange)}
tr.ccc{--bandc:var(--red)}
tr.d{--bandc:var(--deepred)}
tr.nr{--bandc:var(--line2)}
/* legend line above the Home boards */
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:2px 0 10px;font-size:11px;color:var(--muted)}
.legend .lt{font-weight:600;text-transform:uppercase;letter-spacing:.4px;font-size:10px;margin-right:4px}
.legend .dim{margin-left:6px}
/* About: full width, prose capped for readability, the ladder table fits without scrolling */
.about,.about.guide{max-width:none}
.about p,.about ul,.about ol,.about dl,.about>h3,.about>h4{max-width:140ch}
.gt td.w{min-width:34ch;max-width:60ch}
/* spare width goes to a trailing filler column (tableHTML), so the Issuer / description column (.g) stays capped
   at its text (.nm 30ch, full name on hover) and the numeric columns stay packed next to it on wide screens */
th.fill,td.fill{width:99%;padding:0;cursor:default}
/* sector cell: muted text, capped, the source (cockpit axis / TradingView), industry and market on hover */
td .sec{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;color:var(--muted);font-size:11.5px}
/* ---------- markets, venues, currencies (US FINRA + European listings, 2026-09-23) ---------- */
.mk{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.2px}
td .mk{color:var(--text);font-weight:500}
.ccys{font-family:var(--mono);font-size:9.5px;color:var(--dim);letter-spacing:.2px;margin-left:2px}
.vn{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.2px;cursor:help}
td .ccy{font-family:var(--mono)} td .ccy.dim{color:var(--dim)}
.chip.mk{cursor:help;font-size:11px;padding:2px 9px;vertical-align:middle}
.ihead h1 .chip.mk{font-weight:500}
table.bench td{font-family:var(--mono)} table.bench td.l{font-family:var(--sans)}
.note.fx{margin:8px 0 0;font-family:var(--mono);font-size:11px;cursor:help} .note.fx b{color:var(--text);font-weight:600}
.card h3 .calsw{margin-left:auto;display:inline-flex;gap:4px} .card h3 .calsw .chip{font-size:11px;padding:2px 9px}
span[title].mk,td span[title]{cursor:help}
