/* NEPSE Alpha Lab: sector dashboard styles.
   Self-sufficient: carries its own luxury token block (copied from
   nepse-chart/chart.css :root) plus everything the page needs beyond
   /css/nepse-luxury.css (chrome, hero, .fresh). No external dependencies. */

:root{
  --ink:#0C1F16; --pine:#14382A; --emerald:#1E6B4A; --emerald-deep:#155236;
  --gold:#C6A86B; --gold-soft:#E9DCC0; --gold-faint:#F4EDDD;
  --ivory:#FAF8F2; --paper:#FFFFFF;
  --hairline:rgba(12,31,22,.14); --hairline-soft:rgba(12,31,22,.08);
  --muted:#66705F; --faint:#9AA096;
  --up:#1E7A44; --down:#B23A2E;
  --radius:20px;
  --shadow:0 12px 40px rgba(12,31,22,.08);
  --shadow-hover:0 22px 60px rgba(12,31,22,.14);
  --ease:cubic-bezier(.2,0,0,1);
  --serif:'Spectral','Noto Serif Devanagari',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Helvetica,Arial,sans-serif;
  --space-1:8px; --space-2:12px; --space-3:16px; --space-4:24px;
  --space-5:32px; --space-6:48px; --space-7:64px; --space-8:96px;
  /* heatmap ramp (5 steps on average day change) — brightened mid-bands
     (2026-10-09) so +0.25/+1.5 bands read clearly against neutral in both themes */
  --heat-up2:#1E7A44; --heat-up2-ink:#FAF8F2;
  --heat-up1:#cfe8cf; --heat-up1-ink:#0C1F16;
  --heat-neutral:#FAF8F2; --heat-neutral-ink:#0C1F16;
  --heat-dn1:#f2cfc7; --heat-dn1-ink:#0C1F16;
  --heat-dn2:#B23A2E; --heat-dn2-ink:#FAF8F2;
}
[data-theme="dark"]{
  --heat-up2:#3ddc84; --heat-up2-ink:#06120c;
  --heat-up1:#2f8f57; --heat-up1-ink:#07130c;
  --heat-neutral:#232c3a; --heat-neutral-ink:#aeb8c6;
  --heat-dn1:#c2544c; --heat-dn1-ink:#ffffff;
  --heat-dn2:#ff5d5d; --heat-dn2-ink:#1c0605;
}

/* ---------- section rhythm ---------- */
.sx-sec{margin-top:0}
.sx-sec h2{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px}
.sx-sub{color:var(--muted);font-size:.95rem;margin:0 0 var(--space-3)}
.sx-jump{color:var(--emerald);text-decoration:underline}

/* ---------- treemap heatmap ---------- */
.sx-heat{display:block;min-width:0}
.sx-tm-sec{min-width:0;margin-bottom:24px}
.sx-tm-sec:last-child{margin-bottom:0}
.sx-tm-head{display:flex;align-items:baseline;justify-content:space-between;
  gap:8px 14px;flex-wrap:wrap;margin-bottom:10px}
.sx-tm-head h3{font-family:var(--serif);font-size:18px;font-weight:600;margin:0;letter-spacing:-.01em}
.sx-tm-head h3 a{color:var(--ink)}
.sx-tm-head h3 a:hover{color:var(--emerald)}
.sx-tm-meta{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.sx-tm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px;min-width:0}
.sx-tm-tile{flex:none;min-width:0;min-height:64px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;padding:8px 6px;border-radius:10px;
  border:1px solid var(--hairline);text-decoration:none;font-variant-numeric:tabular-nums;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.sx-tm-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow);z-index:1}
.sx-tm-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sx-tm-sym{font-weight:700;font-size:.82rem;line-height:1.25;text-align:center;
  word-break:break-word;max-width:100%;letter-spacing:.01em}
.sx-tm-ch{font-weight:700;font-size:.78rem}
.sx-leg-lab{font-weight:700;color:var(--ink);font-size:.82rem}
.sx-up2{background:var(--heat-up2);color:var(--heat-up2-ink);border-color:transparent}
.sx-up1{background:var(--heat-up1);color:var(--heat-up1-ink)}
.sx-n{background:var(--heat-neutral);color:var(--heat-neutral-ink)}
.sx-dn1{background:var(--heat-dn1);color:var(--heat-dn1-ink)}
.sx-dn2{background:var(--heat-dn2);color:var(--heat-dn2-ink);border-color:transparent}
.sx-none{background:var(--ivory);color:var(--muted);border-style:dashed}
/* Tile ink must outrank `body.d2 a{color:var(--d2-volt)}` (0,1,2) in nepse-d2.css,
   which otherwise paints dark-olive text on the dark heat tiles in both themes. */
body.d2 .sx-tm-tile.sx-up2{color:var(--heat-up2-ink)}
body.d2 .sx-tm-tile.sx-up1{color:var(--heat-up1-ink)}
body.d2 .sx-tm-tile.sx-n{color:var(--heat-neutral-ink)}
body.d2 .sx-tm-tile.sx-dn1{color:var(--heat-dn1-ink)}
body.d2 .sx-tm-tile.sx-dn2{color:var(--heat-dn2-ink)}
body.d2 .sx-tm-tile.sx-none{color:var(--muted)}

.sx-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--space-3);
  font-size:.82rem;color:var(--muted)}
.sx-swatch{width:22px;height:14px;border-radius:4px;border:1px solid var(--hairline);display:inline-block}
span.sx-swatch.sx-up2,span.sx-swatch.sx-up1,span.sx-swatch.sx-n,
span.sx-swatch.sx-dn1,span.sx-swatch.sx-dn2,span.sx-swatch.sx-none{padding:0}

/* ---------- breadth cards ---------- */
.sx-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:var(--space-3)}
.sx-card{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);
  padding:var(--space-4);box-shadow:var(--shadow);font-variant-numeric:tabular-nums}
.sx-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.sx-card-head h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:0;letter-spacing:-.01em}
.sx-card-head h3 a{color:var(--ink)}
.sx-card-head h3 a:hover{color:var(--emerald)}
.sx-avg{font-weight:700;font-size:1.05rem;white-space:nowrap}
.sx-pos{color:var(--up)}
.sx-neg{color:var(--down)}
.sx-breadth{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--ivory);
  border:1px solid var(--hairline-soft);margin:4px 0 8px}
.sx-breadth i{display:block;height:100%}
.sx-b-up{background:var(--up)}
.sx-b-dn{background:var(--down)}
.sx-b-flat{background:var(--gold-soft)}
.sx-breadth-cap{font-size:.8rem;color:var(--muted);margin:0 0 12px}
.sx-card details{border-top:1px solid var(--hairline-soft);padding-top:10px}
.sx-card summary{cursor:pointer;font-weight:600;font-size:.92rem;color:var(--emerald)}
.sx-lead{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.sx-lead h4{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin:0 0 8px}
.sx-lead ul{list-style:none;margin:0;padding:0}
.sx-lead li{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px dashed var(--hairline-soft);
  font-size:.9rem}
.sx-lead li:last-child{border-bottom:0}
.sx-sym{font-weight:700;color:var(--emerald)}
.sx-sym:hover{text-decoration:underline}
.sx-p{margin-left:auto;color:var(--muted)}
.sx-ch{font-weight:600;min-width:64px;text-align:right}
.sx-empty-lead{color:var(--faint);font-size:.85rem}

/* ---------- table ---------- */
.sx-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 var(--space-3)}
.sx-sort{font-size:.92rem;font-weight:600;color:var(--muted)}
.sx-select{padding:9px 10px;border:1px solid var(--hairline);border-radius:10px;font-size:.88rem;
  background:var(--paper);color:var(--ink);font-weight:600;cursor:pointer;font-family:var(--sans);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.sx-select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,168,107,.22)}
.table-scroll{overflow-x:auto;border:1px solid var(--hairline);border-radius:16px;
  background:var(--paper);box-shadow:var(--shadow)}
.sx-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px;font-variant-numeric:tabular-nums}
.sx-table thead th{background:var(--ivory);text-align:left;font-size:.7rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:13px 14px;
  border-bottom:1px solid var(--hairline);white-space:nowrap}
.sx-table tbody td{padding:12px 14px;border-bottom:1px solid var(--hairline-soft)}
.sx-table tbody tr:last-child td{border-bottom:0}
.sx-table tbody tr:hover td{background:var(--ivory)}
.sx-table .num{text-align:right}
.sx-table td a{font-weight:700;color:var(--emerald)}
.sx-table td a:hover{text-decoration:underline}
.sx-dash{color:var(--faint)}
.sx-empty{color:var(--muted);text-align:center;padding:26px 14px;font-size:.95rem}

/* ---------- methodology note ---------- */
.sx-note{margin-top:var(--space-6);border:1px solid var(--hairline);border-radius:var(--radius);
  background:var(--paper);padding:var(--space-4);font-size:.92rem;color:var(--muted)}
.sx-note p{margin:0;line-height:1.65}
.sx-note strong{color:var(--ink)}

/* ---------- skeleton ---------- */
.skl{display:block;border-radius:8px;pointer-events:none;
  background:linear-gradient(100deg,var(--ivory) 42%,#ffffff 50%,var(--ivory) 58%);
  background-size:200% 100%;animation:skl-shimmer 1.7s var(--ease) infinite}
.skl-line{height:14px;margin:10px 0}
.skl-block{height:96px;margin:0 0 12px;flex:1 1 150px}
.skl-row{height:46px;margin:6px 0}
.sx-heat .skl-block{margin:0}
.sx-cards .skl-block{height:190px;margin:0}
@keyframes skl-shimmer{to{background-position:-200% 0}}

/* --- Mobile horizontal-overflow guard: keep document.scrollWidth == viewport at 320px --- */
.sx-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:640px){
  .sx-table{min-width:0}
  .sx-tm-tiles{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));min-width:0}
  .sx-tm-tile{min-width:0;max-width:100%}
  .sx-cards{grid-template-columns:1fr;min-width:0}
  .sx-card{min-width:0;max-width:100%}
  #sxMap,.sx-tm-tile img{max-width:100%}
  #sx-heat{min-width:0;max-width:100%}
}


/* ---------- footer (page-local copy of suite footer) ---------- */
.sc-footer{border-top:1px solid var(--hairline);margin-top:var(--space-6);padding:22px 0 34px;
  text-align:center;color:var(--muted);font-size:.88rem}
.sc-footer a{color:inherit}
.sc-footer-sub{font-size:.78rem;color:var(--faint);margin-top:4px}

/* ---------- responsive ---------- */
@media(max-width:640px){
  .sx-tm-tile{min-width:68px;min-height:58px;padding:6px 4px;border-radius:8px}
  .sx-tm-sym{font-size:.68rem}
  .sx-tm-ch{font-size:.7rem}
  .sx-tm-head h3{font-size:16px}
  .sx-tm-meta{font-size:.74rem}
  .sx-lead{grid-template-columns:1fr}
  .sx-sec h2{font-size:22px}
}

@media(prefers-reduced-motion:reduce){
  .skl{animation:none;background:var(--ivory)}
  .sx-tm-tile{transition:none}
  .sx-tm-tile:hover{transform:none}
}

/* ============================================================
   Concept 03 editorial components (preview: view-sectors, view-heatmap)
   sec-head pattern, pillrow filters, cards-grid, heat grid.
   Mapped onto --nd-* editorial tokens. Real data only.
   ============================================================ */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:34px 0 14px;flex-wrap:wrap}
.sec-head h2{font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--nd-text)}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--nd-lime);margin:0 0 8px}
.sec-head .note{font-size:12.5px;color:var(--nd-dim);max-width:420px;text-align:right}
.pillrow{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.pillrow button{background:var(--nd-panel);border:1px solid var(--nd-border);color:var(--nd-muted);font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;font-family:inherit}
.pillrow button:hover{border-color:var(--nd-lime);color:var(--nd-text)}
.pillrow button.active{background:var(--nd-lime);color:#10130a;border-color:var(--nd-lime)}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
@media(max-width:1100px){.cards-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.cards-grid{grid-template-columns:1fr}}
.heat{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.matrix-note{font-size:12px;color:var(--nd-dim);margin:10px 2px 0}
@media(max-width:700px){.sec-head .note{text-align:left;max-width:none}}

/* ============================================================
 * Premium 3D layer — sectors
 * ============================================================ */
.sx-card{
  background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0) 40%), var(--paper);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.07);
  transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s;
}
.sx-card:hover{
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 3px 8px rgba(0,0,0,.09), 0 18px 44px rgba(0,0,0,.1);
}
[data-theme="dark"] .sx-card{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 40%), var(--nd-panel, #12141A);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
}
[data-theme="dark"] .sx-card:hover{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 3px 8px rgba(0,0,0,.45), 0 18px 44px rgba(0,0,0,.35);
}
.sx-breadth{
  box-shadow: inset 0 2px 4px rgba(0,0,0,.12);
}
.sx-breadth i{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
}
.sx-table{
  border-radius: 14px; overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.07);
}
[data-theme="dark"] .sx-table{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
}
.sx-table thead th{
  background: linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,0) 60%), var(--ivory);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
}
.sx-table tbody tr{ transition: transform .15s; }
.sx-table tbody tr:hover{ transform: translateX(2px); }
@media (prefers-reduced-motion: reduce){
  .sx-card, .sx-table tbody tr{ transition: none; }
  .sx-card:hover, .sx-table tbody tr:hover{ transform: none; }
}

/* ---- heatmap tile 3D depth ----
   NOTE: background-IMAGE only (never the `background` shorthand) so the
   heat-band background-color from .sx-up2/.sx-up1/.sx-n/.sx-dn1/.sx-dn2
   survives — the shorthand reset was painting tiles transparent and leaving
   only colored text on the section background. */
.sx-tm-tile{
  background-image: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 45%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -2px 4px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.18);
}
.sx-tm-tile:hover{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -2px 4px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.28);
}
.sx-tm-tile:active{ transform: translateY(1px) scale(.97); }
@media (prefers-reduced-motion: reduce){
  .sx-tm-tile{ transition: none; }
  .sx-tm-tile:hover, .sx-tm-tile:active{ transform: none; }
}

/* ============================================================
 * CINEMA harmonization (2026-10-23) — section heads take the
 * suite's category pattern: Spectral with the lime square.
 * ============================================================ */
.d2-card-head h2, .sec-head h2, .sx-sec > h2{ font-family:'Spectral','Noto Serif Devanagari',Georgia,serif; }
.d2-card-head h2, .sec-head h2, .sx-sec > h2{ display:flex; align-items:center; gap:10px; }
.d2-card-head h2::before, .sec-head h2::before, .sx-sec > h2::before{ content:''; width:9px; height:9px; border-radius:2px; background:var(--nd-lime,#B8E62E); flex:none; }
[data-theme="light"] .d2-card-head h2::before, [data-theme="light"] .sec-head h2::before, [data-theme="light"] .sx-sec > h2::before{ background:#65A30D; }

/* ---------- Theme-scoped canvas pin (master #0A0C10 / #F6F7F9) ----------
   Beats legacy theme.css [data-theme="dark"] body #101013 (0,1,1)
   with (0,2,2). Tokens resolve per theme via data-theme / data-nd-ed. */
html[data-theme="dark"] body.d2 { background: var(--nd-bg, #0A0C10); }
html[data-theme="light"] body.d2 { background: var(--nd-bg, #F6F7F9); }
html[data-nd-ed="light"] body.d2 { background: var(--nd-bg, #F6F7F9); }

/* ============================================================
 * TEARDOWN 2026-10-28 — stat strip, sector-stocks panel, pager,
 * 48px controls, page-owned freshline, noscript (master tokens).
 * ============================================================ */
.sx-statstrip{margin:20px 0 8px}
.sx-statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1000px){.sx-statgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sx-statgrid{grid-template-columns:1fr}}
.sx-statcard{background:var(--nd-panel,#12141A);border:1px solid var(--nd-border,#1E2430);
  border-radius:18px;padding:20px 22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(0,0,0,.22)}
[data-theme="light"] .sx-statcard{background:#FFFFFF;border-color:#E2E6EC;
  box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(30,40,60,.08)}
.sx-stat-eyebrow{font:500 .75rem var(--nd-font-mono,"IBM Plex Mono",ui-monospace,monospace);
  text-transform:uppercase;letter-spacing:.06em;color:var(--nd-dim,#8E98A8);margin-bottom:8px}
.sx-stat-num{font-family:var(--nd-font-display,"Spectral",Georgia,serif);font-weight:700;
  font-size:1.55rem;line-height:1.2;color:var(--nd-text,#FFFFFF);font-variant-numeric:tabular-nums;
  white-space:nowrap}
[data-theme="light"] .sx-stat-num{color:#0A0C10}
.sx-stat-sub{font-size:.82rem;color:var(--nd-muted,#B8C0CE);margin-top:6px;font-variant-numeric:tabular-nums}
.sx-statcard .sx-breadth{margin-top:10px}

#sxFreshline{font-variant-numeric:tabular-nums}
.sx-fresh-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--nd-lime,#B8E62E);margin-right:6px;vertical-align:1px}
.sx-fresh-dot[data-state="closed"]{background:#F59E0B}
.sx-fresh-dot[data-state="live"]{background:#4ADE80}

/* Sector-stocks panel */
.sx-panel-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:4px 0 16px}
.sx-panel-label{font-size:.82rem;font-weight:700;color:var(--nd-muted,#B8C0CE);display:flex;flex-direction:column;gap:6px}
.sx-panel-select,.sx-panel-input{min-height:48px;box-sizing:border-box;padding:0 14px;
  border:1px solid var(--nd-border,#1E2430);border-radius:12px;font-size:.92rem;font-weight:600;
  background:var(--nd-inset,#0D0F14);color:var(--nd-text,#FFFFFF);font-family:inherit}
[data-theme="light"] .sx-panel-select,[data-theme="light"] .sx-panel-input{background:#EDEFF3;color:#0A0C10;border-color:#E2E6EC}
.sx-panel-select:focus,.sx-panel-input:focus{outline:none;border-color:var(--nd-lime,#B8E62E);
  box-shadow:0 0 0 3px rgba(184,230,46,.22)}
.sx-panel-input{min-width:230px}
.sx-panel-select{cursor:pointer}
.sx-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4ADE80;margin-right:6px;vertical-align:1px}
.sx-notrade{color:var(--nd-dim,#8E98A8);font-size:.85rem}
.sx-panel-stockbtn{display:block;width:100%;min-height:48px;margin-top:14px;border:1px solid var(--nd-border,#1E2430);
  border-radius:12px;background:var(--nd-panel-2,#161A23);color:var(--nd-text,#FFFFFF);
  font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}
[data-theme="light"] .sx-panel-stockbtn{background:#EFF1F5;color:#0A0C10;border-color:#E2E6EC}
.sx-panel-stockbtn:hover{border-color:var(--nd-lime,#B8E62E)}
.sx-panel-stockbtn:focus-visible{outline:2px solid var(--nd-lime,#B8E62E);outline-offset:2px}

/* Pager: Prev quiet, Next lime primary, real buttons, 48px */
.sx-pager{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.sx-pager-btn{min-height:48px;padding:0 22px;border-radius:12px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;
  background:var(--nd-panel,#12141A);color:var(--nd-text,#FFFFFF);border:1px solid var(--nd-border,#1E2430)}
[data-theme="light"] .sx-pager-btn{background:#FFFFFF;color:#0A0C10;border-color:#E2E6EC}
.sx-pager-btn:disabled{opacity:.45;cursor:default}
.sx-pager-btn.sx-pager-next{background:var(--nd-lime,#B8E62E);color:#0A0C10;border-color:var(--nd-lime,#B8E62E)}
[data-theme="light"] .sx-pager-btn.sx-pager-next{background:#4D7C0F;color:#FFFFFF;border-color:#4D7C0F}
.sx-pager-btn:focus-visible{outline:2px solid var(--nd-lime,#B8E62E);outline-offset:2px}
.sx-pager-showing{font-size:.85rem;color:var(--nd-muted,#B8C0CE);font-variant-numeric:tabular-nums}

/* Card-wrapper treatment for table wraps (both tables on this page) */
.sx-table-wrap{border:1px solid var(--nd-border,#1E2430);border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 26px rgba(0,0,0,.22)}
[data-theme="light"] .sx-table-wrap{border-color:#E2E6EC;box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(30,40,60,.08)}

/* 48px design-rich controls (page-owned rules; shared-file rules are
   beaten by specificity, never edited) */
.sx-select{min-height:48px;padding:0 14px}
.pillrow button{min-height:48px;padding:0 16px;display:inline-flex;align-items:center}
.d2-card .sx-viewtoggle button{min-height:48px}
.sx-card summary{min-height:48px;display:flex;align-items:center}
@media(max-width:640px){
  #sx-panel-table .sx-col-name{display:none}
}

/* Noscript: dated static close, token-styled, never mistaken for live data */
.sx-noscript{border:1px solid var(--nd-border,#1E2430);border-radius:16px;padding:18px 22px;
  background:var(--nd-panel,#12141A);margin:16px 0}
[data-theme="light"] .sx-noscript{background:#FFFFFF;border-color:#E2E6EC}
.sx-noscript p{margin:0;font-size:.88rem;line-height:1.65;color:var(--nd-muted,#B8C0CE)}
.sx-noscript strong{color:var(--nd-text,#FFFFFF)}
[data-theme="light"] .sx-noscript strong{color:#0A0C10}

/* ---- R6 (2026-10-29): light-theme contrast to AA (dark untouched) ---- */
/* Active heat pill: dark text #10130a on light lime #4D7C0F = 3.75:1;
   white text = 4.99:1. Market-status sub: d2 muted #7a7466 = 4.33:1;
   #5F5A4E = 6.40:1 on #f6f7f9. */
[data-theme="light"] .pillrow button.active{color:#fff}
[data-theme="light"] .nlv-sub{color:#5F5A4E}
