:root {
  color-scheme: dark;
  --bg: #101114;
  --panel: #181b20;
  --panel-strong: #20242b;
  --border: #303640;
  --text: #eef1f5;
  --muted: #aeb6c2;
  --accent: #4fb477;
  --danger-bg: #3b1f22;
  --danger-text: #ffb6b6;
}

/* Strategic shipping redesign: larger type and vessel-first comparison */
.shipping-page-header p { font-size: 12px; }
.shipping-section-head { min-height: 66px; padding: 12px 16px; }
.shipping-section-head > div > span { font-size: 10px; }
.shipping-section-head h2 { margin-top: 5px; font-size: 17px; }
.shipping-section-head small { font-size: 11px; }
.shipping-control-head { flex-wrap: wrap; }
.shipping-focus-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #303741; }
.shipping-focus-strip > div { min-width: 0; min-height: 56px; padding: 11px 14px; background: #15191e; }
.shipping-focus-strip b { display: block; color: #dce2e7; font-size: 12px; }
.shipping-focus-strip span { display: block; margin-top: 7px; color: #929da8; font-size: 10px; line-height: 1.35; }
.shipping-segment { display: flex; overflow: hidden; border: 1px solid #47515c; border-radius: 4px; }
.shipping-segment button { min-width: 76px; height: 34px; padding: 0 12px; border: 0; border-right: 1px solid #47515c; color: #a9b2bb; background: #14181d; font-size: 11px; cursor: pointer; }
.shipping-segment button:last-child { border-right: 0; }
.shipping-segment button.active { color: #f0f3f6; background: #315044; }
.shipping-segment-small button { min-width: 54px; height: 30px; padding: 0 8px; font-size: 10px; }
.shipping-table-wrap { overflow-x: auto; }
.shipping-matrix { width: 100%; min-width: 1080px; border-collapse: collapse; table-layout: fixed; }
.shipping-matrix th,
.shipping-matrix td { height: 50px; padding: 8px 12px; border-right: 1px solid rgba(48,55,65,.62); border-bottom: 1px solid rgba(48,55,65,.62); text-align: right; }
.shipping-matrix th:last-child,
.shipping-matrix td:last-child { border-right: 0; }
.shipping-matrix thead th { height: 40px; color: #aeb7c1; background: #1b2026; font-size: 11px; font-weight: 600; white-space: nowrap; }
.shipping-matrix thead th:first-child,
.shipping-matrix tbody th { width: 175px; text-align: left; }
.shipping-matrix tbody th { background: #171b20; }
.shipping-matrix tbody th strong { display: block; color: #e5eaee; font-size: 13px; }
.shipping-matrix tbody th span { display: block; margin-top: 5px; color: #7f8a95; font-size: 10px; font-weight: 400; }
.shipping-matrix tbody td { color: #dce2e7; background: #15191e; font: 700 14px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-matrix tbody td.date { width: 108px; color: #9ca7b2; font-size: 12px; font-weight: 600; white-space: nowrap; }
.shipping-live-status { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }
.shipping-live-status b { color: #dce2e7; font-size: 13px; }
.shipping-live-status span { color: #d1a052; font-size: 11px; }
.shipping-live-status.connected b { color: #59b58a; }
.shipping-live-status.reconnecting b { color: #d9746c; }
.shipping-live-head { min-height: 82px; }
.shipping-live-head > div:first-child { flex: 0 0 auto; }
.shipping-live-header-data { display: flex; align-items: center; justify-content: flex-end; gap: 18px; min-width: 0; }
.shipping-live-facts { display: grid; grid-template-columns: repeat(4, minmax(145px, auto)); gap: 0; }
.shipping-live-facts > div { min-width: 0; padding: 0 15px; border-left: 1px solid #39414b; }
.shipping-live-facts span { display: block; color: #89949e; font-size: 11px; white-space: nowrap; }
.shipping-live-facts strong { display: block; margin-top: 8px; overflow: hidden; color: #e6ebef; font: 700 14px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.shipping-live-head .shipping-live-status { flex: 0 0 auto; min-width: 118px; }
.shipping-live-table { min-width: 760px; }
.shipping-live-note { margin: 0; padding: 10px 14px; border-top: 1px solid #303741; color: #9aa5af; background: #171b20; font-size: 11px; line-height: 1.5; }
.shipping-matrix tbody td.total { color: #eef2f5; font-size: 16px; }
.shipping-matrix tbody td.energy { color: #e2aa63; }
.shipping-matrix tbody td.positive { color: #61bc91; }
.shipping-matrix tbody td.negative { color: #df7c73; }
.shipping-matrix thead th:first-child,
.shipping-matrix tbody th { position: sticky; left: 0; z-index: 2; box-shadow: 1px 0 0 #303741; }
.shipping-matrix thead th:first-child { z-index: 3; }
.shipping-chart-panel > header { min-height: 48px; padding: 10px 14px; }
.shipping-chart-panel h3 { font-size: 13px; }
.shipping-chart-panel header span { font-size: 10px; }
.shipping-chart-control-head > div:first-child span { display: block; margin-top: 5px; text-align: left; }
.shipping-chart { height: 350px; }
.shipping-chart-tall { height: 420px; }
.shipping-chart-focus { height: 400px; }
.shipping-kpis-types { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.shipping-kpis-types > div { min-height: 100px; padding: 15px; }
.shipping-kpis-types span { font-size: 11px; }
.shipping-kpis-types strong { margin-top: 13px; font-size: 26px; }
.shipping-kpis-types small { margin-top: 8px; font-size: 10px; }
.shipping-kpis-types > div.energy { border-top: 2px solid #d99b55; }
.shipping-route-select { font-size: 11px; }
.shipping-route-select select { min-width: 190px; height: 34px; font-size: 11px; }
.shipping-section-head > div > small { display: block; margin-top: 6px; text-align: left; }
.shipping-method summary { font-size: 11px; }
.shipping-method p { font-size: 11px; }

@media (max-width: 1050px) {
  .shipping-live-head { align-items: flex-start; flex-direction: column; }
  .shipping-live-header-data { justify-content: space-between; width: 100%; }
  .shipping-live-facts { flex: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-live-facts > div { min-height: 54px; padding: 8px 12px; }
  .shipping-focus-strip { grid-template-columns: 1fr; }
  .shipping-chart-grid-primary { grid-template-columns: 1fr; }
  .shipping-kpis-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .shipping-live-header-data { align-items: stretch; flex-direction: column; gap: 10px; }
  .shipping-live-head .shipping-live-status { align-items: flex-start; padding: 0 12px 8px; }
  .shipping-live-facts strong { overflow: visible; font-size: 12px; text-overflow: clip; }
  .shipping-section-head { min-height: 0; }
  .shipping-section-head h2 { font-size: 16px; }
  .shipping-control-head { align-items: stretch; }
  .shipping-segment { width: 100%; overflow-x: auto; }
  .shipping-segment button { flex: 1 0 auto; min-width: 82px; }
  .shipping-chart-control-head { align-items: flex-start; flex-direction: column; }
  .shipping-chart-control-head .shipping-segment { margin-top: 8px; }
  .shipping-kpis-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-kpis-types > div:last-child { grid-column: auto; }
  .shipping-kpis-types strong { font-size: 24px; }
  .shipping-chart,
  .shipping-chart-tall,
  .shipping-chart-focus { height: 330px; }
  .shipping-route-select select { width: 68%; }
}

/* Shadow money and non-bank liquidity terminal */
.shadow-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.shadow-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: -2px 0 18px; padding: 18px 0 20px; border-bottom: 1px solid #28323a; }
.shadow-kicker { display: block; margin-bottom: 9px; color: #56a99b; font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .25em; text-transform: uppercase; }
.shadow-hero h1 { margin: 0; color: #edf1f3; font: 650 32px/1.1 Georgia, "Noto Serif SC", serif; letter-spacing: -.03em; }
.shadow-hero p { max-width: 790px; margin: 10px 0 0; color: #81909b; font-size: 12px; line-height: 1.7; }
.shadow-hero-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 600px; }
.shadow-hero-meta span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border: 1px solid #32404a; background: #141a1f; color: #8c9aa4; font: 600 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.shadow-hero-meta i { width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: #60bd91; box-shadow: 0 0 7px rgba(96,189,145,.6); }
.shadow-hero-meta i.global { background: #c8a65f; box-shadow: 0 0 7px rgba(200,166,95,.5); }

.shadow-definition { display: grid; grid-template-columns: 1fr 32px 1fr 32px 1fr; align-items: stretch; margin-bottom: 9px; border: 1px solid #303b44; background: #13191e; }
.shadow-definition > div { padding: 12px 14px; }
.shadow-definition strong { display: block; color: #d9e0e4; font-size: 11px; }
.shadow-definition span { display: block; margin-top: 5px; color: #74828c; font-size: 9px; line-height: 1.5; }
.shadow-definition > i { position: relative; border-right: 1px solid #2b363e; }
.shadow-definition > i::after { content: "→"; position: absolute; top: calc(50% - 9px); right: -10px; width: 19px; color: #64747e; background: #13191e; text-align: center; font-style: normal; }
.shadow-alert { display: flex; align-items: center; gap: 13px; margin-bottom: 10px; padding: 9px 12px; border-left: 2px solid #c7a35d; background: linear-gradient(90deg, rgba(199,163,93,.09), transparent 70%); }
.shadow-alert b { color: #caae72; font: 700 9px/1 ui-monospace, SFMono-Regular, monospace; letter-spacing: .12em; }
.shadow-alert p { margin: 0; color: #9ca8b0; font-size: 10px; }
.shadow-page-index { display: flex; margin-bottom: 10px; border: 1px solid #344049; background: #12181d; }
.shadow-page-index a { flex: 1; padding: 10px 13px; border-right: 1px solid #344049; color: #909da5; font-size: 9px; text-decoration: none; }
.shadow-page-index a:last-child { border-right: 0; }.shadow-page-index a:hover { color: #dfc17c; background: rgba(191,157,87,.06); }
.shadow-page-index span { margin-right: 9px; color: #b89b60; font: 700 8px/1 ui-monospace,monospace; }
.shadow-section-caption { display: flex; align-items: baseline; gap: 11px; padding: 8px 1px 11px; }
.shadow-section-caption span { color: #55a198; font: 700 8px/1 ui-monospace,monospace; letter-spacing: .13em; }.shadow-section-caption h2 { margin: 0; color: #dbe1e4; font-size: 13px; }.shadow-section-caption small { color: #687680; font-size: 8px; }

.shadow-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 10px; border-top: 1px solid #38444d; border-left: 1px solid #38444d; }
.shadow-kpi { min-height: 146px; padding: 13px; border-right: 1px solid #38444d; border-bottom: 1px solid #38444d; background: #151b20; box-shadow: inset 0 2px 0 var(--shadow-accent, #73828c); }
.shadow-kpi-scale { --shadow-accent: #6396b5; } .shadow-kpi-runnable { --shadow-accent: #af7265; } .shadow-kpi-impulse { --shadow-accent: #55a19a; } .shadow-kpi-velocity { --shadow-accent: #c1a15f; }
.shadow-kpi-private { --shadow-accent: #8876a6; } .shadow-kpi-parking { --shadow-accent: #71899f; } .shadow-kpi-run { --shadow-accent: #b56a5c; } .shadow-kpi-inflation { --shadow-accent: #bf8c57; }
.shadow-kpi > header { display: flex; align-items: center; gap: 9px; }
.shadow-kpi > header > span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #34414a; color: var(--shadow-accent); }
.shadow-kpi svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.shadow-kpi header strong, .shadow-kpi header time { display: block; }
.shadow-kpi header strong { color: #bfc9cf; font-size: 10px; }
.shadow-kpi header time { margin-top: 3px; color: #687680; font: 8px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-kpi > b { display: block; margin-top: 19px; color: #ecf0f2; font: 650 22px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: -.035em; }
.shadow-kpi footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: 14px; }
.shadow-kpi footer em { color: #aeb8be; font: 700 9px/1.2 ui-monospace, SFMono-Regular, monospace; font-style: normal; white-space: nowrap; }
.shadow-kpi footer small { color: #697781; font-size: 8px; line-height: 1.4; text-align: right; }
.shadow-trend-up { color: #6bb794 !important; } .shadow-trend-down { color: #c67569 !important; }

.shadow-signal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 10px; border: 1px solid #303b44; background: #12181d; }
.shadow-signal-grid article { min-height: 96px; padding: 12px 14px; border-right: 1px solid #303b44; }
.shadow-signal-grid article:last-child { border-right: 0; }
.shadow-signal-grid span { color: #75838d; font-size: 8px; letter-spacing: .1em; }
.shadow-signal-grid strong { display: block; margin-top: 7px; color: #dce2e6; font-size: 14px; }
.shadow-signal-grid b { float: right; margin-top: -16px; color: #b8a06e; font: 700 10px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-signal-grid p { margin: 8px 0 0; color: #74818a; font-size: 8px; line-height: 1.45; }

.shadow-flow { display: grid; grid-template-columns: 1.1fr 34px 1.1fr 34px 2.4fr; align-items: stretch; margin: 13px 0; border: 1px solid #344049; background: #11171b; }
.shadow-flow-start,.shadow-flow-wrapper { display: flex; flex-direction: column; justify-content: center; padding: 14px; }
.shadow-flow span { color: #74828c; font-size: 8px; letter-spacing: .08em; }
.shadow-flow strong { margin-top: 5px; color: #dce2e5; font-size: 11px; }
.shadow-flow small { margin-top: 5px; color: #65737c; font-size: 8px; line-height: 1.4; }
.shadow-flow-arrow { position: relative; border-left: 1px solid #2c373f; border-right: 1px solid #2c373f; }
.shadow-flow-arrow::after { content: "→"; position: absolute; top: calc(50% - 9px); left: 7px; color: #657680; font-style: normal; }
.shadow-flow-destinations { display: grid; grid-template-columns: repeat(3, 1fr); }
.shadow-flow-destinations > div { display: flex; flex-direction: column; justify-content: center; min-height: 54px; padding: 10px 12px; border-left: 1px solid #2c373f; border-bottom: 1px solid #2c373f; box-shadow: inset 2px 0 var(--dest, #6f7d86); }
.shadow-flow-destinations > div:nth-child(n+4) { border-bottom: 0; }
.shadow-destination-public { --dest:#c3a05e; } .shadow-destination-official { --dest:#b76e5d; } .shadow-destination-market { --dest:#4b9f99; } .shadow-destination-credit { --dest:#967bac; } .shadow-destination-agency { --dest:#668ba9; }

.shadow-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.shadow-chart-grid-main { grid-template-columns: minmax(0, 1.8fr) minmax(320px, .8fr); }
.shadow-panel { min-width: 0; border: 1px solid #344049; background: #151b20; }
.shadow-panel > header { display: flex; align-items: flex-start; justify-content: space-between; min-height: 52px; padding: 11px 13px; border-bottom: 1px solid #303b44; }
.shadow-panel > header span { display: block; color: #687781; font: 700 8px/1 ui-monospace, SFMono-Regular, monospace; letter-spacing: .12em; text-transform: uppercase; }
.shadow-panel > header h2 { margin: 5px 0 0; color: #dce2e6; font-size: 13px; font-weight: 650; }
.shadow-panel > header > small { max-width: 250px; color: #71808a; font-size: 8px; line-height: 1.4; text-align: right; }
.shadow-chart { height: 330px; }

.shadow-market-pulse .shadow-pulse-grid { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 330px; }
.shadow-pulse-grid > div { display: flex; flex-direction: column; justify-content: center; padding: 16px; border-right: 1px solid #2e3941; border-bottom: 1px solid #2e3941; }
.shadow-pulse-grid > div:nth-child(3n) { border-right: 0; } .shadow-pulse-grid > div:nth-child(n+4) { border-bottom: 0; }
.shadow-pulse-grid span { color: #73818b; font-size: 8px; }
.shadow-pulse-grid strong { margin-top: 10px; color: #e0e6e9; font: 650 18px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-pulse-grid small { margin-top: 9px; color: #66747d; font-size: 8px; line-height: 1.4; }

.shadow-country-panel,.shadow-phenomena { margin-bottom: 10px; }
.shadow-country-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.shadow-country-grid article { min-height: 185px; padding: 14px; border-right: 1px solid #303b44; }
.shadow-country-grid article:last-child { border-right: 0; }
.shadow-country-grid article header { display: flex; align-items: center; gap: 9px; }
.shadow-country-grid article header > b { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #40505b; color: #c4a363; font: 700 9px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-country-grid header div { flex: 1; }
.shadow-country-grid header strong,.shadow-country-grid header span { display: block; }
.shadow-country-grid header strong { color: #d7dee2; font-size: 11px; }
.shadow-country-grid header span { margin-top: 3px; color: #6f8f86; font-size: 8px; }
.shadow-country-grid time { color: #66747d; font: 8px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-country-grid h3 { margin: 20px 0 14px; color: #eef1f3; font: 650 16px/1 ui-monospace, SFMono-Regular, monospace; }
.shadow-country-grid article > i { display: block; height: 3px; overflow: hidden; background: #283239; }
.shadow-country-grid article > i span { display: block; width: var(--coverage); height: 100%; background: linear-gradient(90deg,#3d8985,#b59a60); }
.shadow-country-grid footer { display: flex; gap: 8px; margin-top: 10px; }
.shadow-country-grid footer b { color: #bda66f; font: 700 9px/1.4 ui-monospace, monospace; }
.shadow-country-grid footer p { margin: 0; color: #687680; font-size: 8px; line-height: 1.5; }

.shadow-phenomena-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.shadow-phenomena-grid article { min-height: 116px; padding: 14px; border-right: 1px solid #303b44; border-bottom: 1px solid #303b44; box-shadow: inset 2px 0 var(--phenomena,#74828c); }
.shadow-phenomena-grid article:nth-child(3n) { border-right: 0; } .shadow-phenomena-grid article:nth-child(n+4) { border-bottom: 0; }
.shadow-phenomena-grid .hot { --phenomena:#c27762; } .shadow-phenomena-grid .calm { --phenomena:#648eaa; } .shadow-phenomena-grid .lever { --phenomena:#b89a5a; } .shadow-phenomena-grid .warn { --phenomena:#bd655b; } .shadow-phenomena-grid .shift { --phenomena:#559a8f; } .shadow-phenomena-grid .global { --phenomena:#8d76a5; }
.shadow-phenomena-grid b { color: #dbe1e4; font-size: 11px; }
.shadow-phenomena-grid p { margin: 9px 0 5px; color: #b89e68; font: 700 9px/1.3 ui-monospace, SFMono-Regular, monospace; }
.shadow-phenomena-grid small { color: #6f7d86; font-size: 8px; line-height: 1.5; }

.shadow-lower-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 10px; margin-bottom: 10px; }
.shadow-clock-list > div { display: grid; grid-template-columns: 1fr 88px 170px; align-items: center; min-height: 50px; padding: 9px 13px; border-bottom: 1px solid #2d373e; }
.shadow-clock-list > div:last-child { border-bottom: 0; }
.shadow-clock-list strong,.shadow-clock-list small { display: block; }
.shadow-clock-list strong { color: #bdc7cd; font-size: 9px; }
.shadow-clock-list small { margin-top: 4px; color: #65727b; font-size: 8px; }
.shadow-clock-list time { color: #c2a463; font: 8px/1 ui-monospace, monospace; }
.shadow-clock-list em { color: #74828b; font-size: 8px; font-style: normal; text-align: right; }
.shadow-method-list p { display: grid; grid-template-columns: 25px 1fr; gap: 8px; margin: 0; padding: 10px 13px; border-bottom: 1px solid #2d373e; }
.shadow-method-list p:last-child { border-bottom: 0; }
.shadow-method-list b { color: #af945c; font: 700 9px/1.45 ui-monospace, monospace; }
.shadow-method-list span { color: #74828b; font-size: 8px; line-height: 1.55; }

.shadow-sources,.shadow-plan { margin-bottom: 10px; border: 1px solid #344049; background: #13191e; }
.shadow-sources summary,.shadow-plan summary { cursor: pointer; list-style: none; }
.shadow-sources summary::-webkit-details-marker,.shadow-plan summary::-webkit-details-marker { display: none; }
.shadow-sources summary { padding: 13px 15px; color: #aeb8be; font-size: 10px; }
.shadow-sources summary::before { content: "+"; display: inline-block; width: 18px; color: #bd9e60; }
.shadow-sources[open] summary::before { content: "−"; }
.shadow-sources > div { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #303b44; }
.shadow-sources a { display: flex; flex-direction: column; min-height: 85px; padding: 12px; border-right: 1px solid #303b44; border-bottom: 1px solid #303b44; text-decoration: none; }
.shadow-sources a strong { color: #bdc7cc; font-size: 9px; } .shadow-sources a span { margin-top: 7px; color: #74828c; font-size: 8px; } .shadow-sources a small { margin-top: auto; color: #a38c5c; font-size: 8px; }

.shadow-plan { margin-top: 16px; border-color: #48543f; background: linear-gradient(145deg,#151b1b,#11161a); }
.shadow-plan > summary { display: grid; grid-template-columns: 100px 1fr auto; align-items: center; min-height: 66px; padding: 0 17px; }
.shadow-plan > summary > span { color: #c2a15e; font: 700 9px/1 ui-monospace, monospace; letter-spacing: .14em; }
.shadow-plan > summary > strong { color: #dce2e5; font-size: 13px; }
.shadow-plan > summary > small { color: #718089; font-size: 8px; }
.shadow-plan-body { border-top: 1px solid #37423e; }
.shadow-plan-body > section { padding: 22px 24px; border-bottom: 1px solid #303a3e; }
.shadow-plan-body > section:last-child { border-bottom: 0; }
.shadow-plan-body > section > span { color: #a98d56; font: 700 8px/1 ui-monospace, monospace; letter-spacing: .16em; }
.shadow-plan-body h2 { margin: 7px 0 12px; color: #dde3e6; font-size: 15px; }
.shadow-plan-body p { max-width: 1200px; margin: 7px 0; color: #87949c; font-size: 10px; line-height: 1.75; }
.shadow-plan-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.shadow-plan-cards article { padding: 14px; border: 1px solid #354149; background: #12181c; }
.shadow-plan-cards b { color: #c7d0d5; font-size: 10px; }
.shadow-plan-table { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid #354149; }
.shadow-plan-table > div { padding: 13px; border-right: 1px solid #354149; }
.shadow-plan-table > div:last-child { border-right: 0; }
.shadow-plan-table b,.shadow-plan-table code { display: block; }
.shadow-plan-table b { color: #cbd3d7; font-size: 9px; }
.shadow-plan-table code { margin-top: 9px; color: #c1a15e; font-size: 8px; white-space: normal; }
.shadow-plan-equation { display: grid; grid-template-columns: 150px 1fr; gap: 0; max-width: 820px; margin: 14px 0; border: 1px solid #354149; }
.shadow-plan-equation b,.shadow-plan-equation code { padding: 10px 12px; border-bottom: 1px solid #354149; }
.shadow-plan-equation b { color: #aab6bd; font-size: 9px; } .shadow-plan-equation code { color: #c3a461; border-left: 1px solid #354149; font-size: 9px; }
.shadow-plan-final { display: grid; grid-template-columns: auto 40px auto 40px auto 40px auto; align-items: center; justify-content: start; gap: 8px; margin: 17px 0; }
.shadow-plan-final strong { padding: 11px 14px; border: 1px solid #405048; color: #dce2e5; font-size: 10px; }
.shadow-plan-final i::after { content: "→"; color: #8a936f; font-style: normal; }
.shadow-empty { padding: 80px 24px; border: 1px solid #344049; background: #151b20; text-align: center; }
.shadow-empty h2 { color: #dce2e5; } .shadow-empty p { color: #7b8992; }

@media (max-width: 1250px) {
  .shadow-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shadow-country-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shadow-country-grid article { border-bottom: 1px solid #303b44; }
  .shadow-plan-table { grid-template-columns: repeat(3,1fr); }
  .shadow-plan-table > div { border-bottom: 1px solid #354149; }
}
@media (max-width: 900px) {
  .shadow-hero { align-items: flex-start; flex-direction: column; }
  .shadow-hero-meta { justify-content: flex-start; }
  .shadow-definition { grid-template-columns: 1fr; }
  .shadow-definition > i { height: 1px; border-right: 0; border-bottom: 1px solid #2b363e; }
  .shadow-definition > i::after { top: -9px; left: calc(50% - 10px); transform: rotate(90deg); }
  .shadow-chart-grid,.shadow-chart-grid-main,.shadow-lower-grid { grid-template-columns: 1fr; }
  .shadow-flow { grid-template-columns: 1fr; }
  .shadow-flow-arrow { height: 25px; border: 0; border-top: 1px solid #2c373f; border-bottom: 1px solid #2c373f; }
  .shadow-flow-arrow::after { top: 3px; left: 50%; transform: rotate(90deg); }
  .shadow-flow-destinations { border-top: 0; }
  .shadow-phenomena-grid { grid-template-columns: repeat(2,1fr); }
  .shadow-phenomena-grid article:nth-child(3n) { border-right: 1px solid #303b44; }
  .shadow-phenomena-grid article:nth-child(2n) { border-right: 0; }
}
@media (max-width: 620px) {
  .shadow-hero h1 { font-size: 27px; }
  .shadow-kpi-grid,.shadow-signal-grid,.shadow-country-grid,.shadow-phenomena-grid { grid-template-columns: 1fr; }
  .shadow-signal-grid article,.shadow-country-grid article,.shadow-phenomena-grid article { border-right: 0; border-bottom: 1px solid #303b44; }
  .shadow-flow-destinations { grid-template-columns: repeat(2,1fr); }
  .shadow-flow-destinations > div:nth-child(n+4) { border-bottom: 1px solid #2c373f; }
  .shadow-flow-destinations > div:nth-child(n+5) { border-bottom: 0; }
  .shadow-market-pulse .shadow-pulse-grid { grid-template-columns: repeat(2,1fr); }
  .shadow-pulse-grid > div:nth-child(3n) { border-right: 1px solid #2e3941; }
  .shadow-pulse-grid > div:nth-child(2n) { border-right: 0; }
  .shadow-clock-list > div { grid-template-columns: 1fr auto; gap: 6px; }
  .shadow-clock-list em { grid-column: 1/-1; text-align: left; }
  .shadow-sources > div,.shadow-plan-cards,.shadow-plan-table { grid-template-columns: 1fr; }
  .shadow-plan > summary { grid-template-columns: 1fr; gap: 6px; padding: 13px; }
  .shadow-plan-equation { grid-template-columns: 1fr; }
  .shadow-plan-equation code { border-left: 0; }
  .shadow-plan-final { grid-template-columns: 1fr; }
  .shadow-plan-final i { transform: rotate(90deg); text-align: center; }
  .shadow-chart { height: 300px; }
}

/* Shadow money v2: five-signal transmission cockpit */
.shadow-regime { display: grid; grid-template-columns: 230px 1fr auto; align-items: center; gap: 20px; margin-bottom: 10px; padding: 15px 17px; border: 1px solid #3a474f; border-left: 3px solid var(--regime,#6d8d9f); background: linear-gradient(90deg,rgba(77,107,124,.12),#141a1f 55%); }
.shadow-regime-credit { --regime:#c39a55; } .shadow-regime-parking { --regime:#668fa9; } .shadow-regime-asset { --regime:#4e9e93; } .shadow-regime-contraction { --regime:#8f79a7; } .shadow-regime-stress { --regime:#c5685b; }
.shadow-regime div span { display: block; color: #73828c; font: 700 8px/1 ui-monospace,monospace; letter-spacing: .13em; }
.shadow-regime div strong { display: block; margin-top: 7px; color: #e4e9eb; font: 650 17px/1.1 Georgia,"Noto Serif SC",serif; }
.shadow-regime p { margin: 0; color: #a1adb4; font-size: 10px; line-height: 1.6; }
.shadow-regime small { max-width: 190px; color: #697780; font-size: 8px; line-height: 1.5; text-align: right; }

.shadow-kpi-grid-v2 { grid-template-columns: repeat(5,minmax(0,1fr)); }
.shadow-kpi-grid-v2 .shadow-kpi { min-height: 168px; padding: 13px 14px; }
.shadow-kpi-grid-v2 .shadow-kpi-activity { --shadow-accent:#c1a15f; }
.shadow-kpi-grid-v2 .shadow-kpi-credit { --shadow-accent:#8f79a7; }
.shadow-kpi-grid-v2 .shadow-kpi-stress { --shadow-accent:#b96f5d; }
.shadow-kpi-grid-v2 .shadow-kpi > header { justify-content: space-between; }
.shadow-kpi-grid-v2 .shadow-kpi > header em { padding: 4px 6px; border: 1px solid #34414a; color: var(--shadow-accent); font: 700 7px/1 ui-monospace,monospace; font-style: normal; letter-spacing: .08em; }
.shadow-kpi-grid-v2 .shadow-kpi > header time { margin: 0; color: #687680; font: 8px/1 ui-monospace,monospace; }
.shadow-kpi-grid-v2 .shadow-kpi > span { display: block; margin-top: 14px; color: #9da9b0; font-size: 9px; }
.shadow-kpi-grid-v2 .shadow-kpi > b { margin-top: 8px; font-size: 19px; white-space: nowrap; }
.shadow-kpi-grid-v2 .shadow-kpi footer { display: block; margin-top: 13px; }
.shadow-kpi-grid-v2 .shadow-kpi footer strong { display: block; color: #bac4c9; font: 700 9px/1.2 ui-monospace,monospace; }
.shadow-kpi-grid-v2 .shadow-kpi footer small { display: block; margin-top: 6px; text-align: left; }

.shadow-ledgers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 10px; border: 1px solid #354149; background: #12181d; }
.shadow-ledgers article { min-height: 150px; padding: 14px 16px; border-right: 1px solid #354149; }
.shadow-ledgers article:last-child { border-right: 0; }
.shadow-ledgers header { display: flex; align-items: center; gap: 8px; }
.shadow-ledgers header b { display: grid; width: 31px; height: 25px; place-items: center; border: 1px solid #a28755; color: #c5a15b; font: 700 8px/1 ui-monospace,monospace; }
.shadow-ledgers header span { padding: 4px 6px; background: #1c252b; color: #7f929d; font-size: 7px; }
.shadow-ledgers header time { margin-left: auto; color: #697780; font: 8px/1 ui-monospace,monospace; }
.shadow-ledgers h2 { margin: 14px 0 0; color: #aab5bb; font-size: 10px; }
.shadow-ledgers article > strong { display: block; margin-top: 7px; color: #e8ecee; font: 650 19px/1 ui-monospace,monospace; }
.shadow-ledgers p { margin: 11px 0 0; color: #6f7c85; font-size: 8px; line-height: 1.55; }

.shadow-flow-v2 { margin-bottom: 10px; border: 1px solid #354149; background: #13191e; }
.shadow-flow-v2 > header { display: flex; justify-content: space-between; padding: 12px 15px; border-bottom: 1px solid #303b44; }
.shadow-flow-v2 > header span { color: #5d9f95; font: 700 8px/1 ui-monospace,monospace; letter-spacing: .14em; }
.shadow-flow-v2 > header h2 { margin: 5px 0 0; color: #dce2e5; font-size: 13px; }
.shadow-flow-v2 > header small { color: #6f7d86; font-size: 8px; }
.shadow-flow-v2-body { display: grid; grid-template-columns: 1fr 36px 1.25fr 36px 3fr; align-items: stretch; min-height: 164px; }
.shadow-flow-v2-body > i { display: grid; place-items: center; border-right: 1px solid #2c373f; border-left: 1px solid #2c373f; color: #71818a; font-style: normal; }
.shadow-flow-node { display: flex; flex-direction: column; justify-content: center; padding: 16px; }
.shadow-flow-node span,.shadow-flow-branch span { color: #6e7d86; font: 700 7px/1 ui-monospace,monospace; letter-spacing: .11em; }
.shadow-flow-node strong { margin-top: 8px; color: #dce2e5; font-size: 12px; }
.shadow-flow-node small { margin-top: 7px; color: #65727a; font-size: 8px; }
.shadow-flow-node.pool { background: linear-gradient(145deg,rgba(74,165,160,.08),transparent); }
.shadow-flow-branches { display: grid; grid-template-columns: repeat(3,1fr); }
.shadow-flow-branch { display: flex; flex-direction: column; justify-content: center; padding: 11px 13px; border-right: 1px solid #2d383f; border-bottom: 1px solid #2d383f; box-shadow: inset 2px 0 var(--dest,#6f7d86); }
.shadow-flow-branch:nth-child(3n) { border-right: 0; } .shadow-flow-branch:nth-child(n+4) { border-bottom: 0; }
.shadow-flow-branch strong { margin-top: 6px; color: #cbd3d7; font-size: 9px; }
.shadow-flow-branch b { margin-top: 7px; color: #e5e9eb; font: 650 11px/1 ui-monospace,monospace; }
.shadow-flow-v2 > footer { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #303b44; }
.shadow-flow-v2 > footer div { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 10px 14px; border-right: 1px solid #303b44; }
.shadow-flow-v2 > footer div:last-child { border-right: 0; }
.shadow-flow-v2 > footer span { color: #778690; font-size: 8px; }
.shadow-flow-v2 > footer strong { color: #dce2e5; font: 650 11px/1 ui-monospace,monospace; }
.shadow-flow-v2 > footer em { grid-column: 1/-1; color: #9f885a; font-size: 8px; font-style: normal; }

.shadow-component-foot { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid #2f3a42; }
.shadow-component-foot span { padding: 8px 10px; border-right: 1px solid #2f3a42; color: #66747d; font-size: 7px; line-height: 1.45; }
.shadow-component-foot span:last-child { border-right: 0; }
.shadow-component-foot b { display: block; margin-bottom: 4px; color: #9eabb2; font-size: 8px; }
.shadow-validation,.shadow-speed-strip { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #2f3a42; }
.shadow-validation span { grid-column: 1/-1; padding: 7px 10px 0; color: #66747d; font: 700 7px/1 ui-monospace,monospace; letter-spacing: .1em; }
.shadow-validation b { padding: 8px 10px; color: #a9b4ba; font: 600 8px/1 ui-monospace,monospace; }
.shadow-speed-strip > div { padding: 9px 11px; border-right: 1px solid #2f3a42; }
.shadow-speed-strip > div:last-child { border-right: 0; }
.shadow-speed-strip span,.shadow-speed-strip small { display: block; color: #697780; font-size: 7px; }
.shadow-speed-strip strong { display: block; margin: 6px 0; color: #d7dee2; font: 650 13px/1 ui-monospace,monospace; }
.shadow-channel-note { padding: 9px 12px; border-top: 1px solid #2f3a42; color: #72818a; font-size: 8px; line-height: 1.5; }

.shadow-runnable-list { display: grid; grid-template-columns: repeat(2,1fr); min-height: 330px; }
.shadow-runnable-list div { display: flex; flex-direction: column; justify-content: center; padding: 12px 14px; border-right: 1px solid #2f3a42; border-bottom: 1px solid #2f3a42; }
.shadow-runnable-list div:nth-child(2n) { border-right: 0; } .shadow-runnable-list div:nth-child(n+5) { border-bottom: 0; }
.shadow-runnable-list span { color: #7b8992; font-size: 8px; }
.shadow-runnable-list strong { margin-top: 7px; color: #dbe1e4; font: 650 14px/1 ui-monospace,monospace; }
.shadow-runnable-list em { margin-top: 7px; color: #5e9b82; font-size: 7px; font-style: normal; }
.shadow-runnable-list .excluded { opacity: .55; background: repeating-linear-gradient(135deg,transparent,transparent 8px,rgba(120,132,140,.035) 8px,rgba(120,132,140,.035) 9px); }
.shadow-runnable-list .excluded em { color: #b66c61; }
.shadow-phenomena-grid-v2 { grid-template-columns: repeat(4,1fr); }
.shadow-phenomena-grid-v2 article:nth-child(n) { border-right: 1px solid #303b44; border-bottom: 0; }
.shadow-phenomena-grid-v2 article:last-child { border-right: 0; }

.shadow-plan-text .shadow-plan-body > section { padding: 19px 23px; }
.shadow-plan-text .shadow-plan-body h2 { margin-top: 0; }
.shadow-plan-text .shadow-plan-body p { max-width: none; margin-bottom: 0; font-size: 10px; }

.shadow-global-suite { margin: 10px 0; border: 1px solid #3a464e; background: linear-gradient(145deg,#12191d,#10161a 70%); }
.shadow-suite-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 70px; padding: 14px 17px; border-bottom: 1px solid #344048; }
.shadow-suite-head span,.shadow-global-table-head span { color: #c3a15d; font: 700 8px/1 ui-monospace,monospace; letter-spacing: .14em; }
.shadow-suite-head h2,.shadow-global-table-head h2 { margin: 7px 0 0; color: #e0e5e7; font-size: 15px; }
.shadow-global-legend { color: #76858e; font-size: 8px; }
.shadow-global-legend b { color: #aeb9bf; }.shadow-global-legend i::after { content: " / "; margin: 0 7px; color: #4f5d66; font-style: normal; }
.shadow-global-definitions { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #344048; }
.shadow-global-definitions > div { padding: 12px 14px; border-right: 1px solid #303b43; }
.shadow-global-definitions > div:last-child { border-right: 0; }
.shadow-global-definitions span,.shadow-global-definitions strong,.shadow-global-definitions small { display: block; }
.shadow-global-definitions span { color: #6e7e88; font-size: 7px; letter-spacing: .1em; }
.shadow-global-definitions strong { margin-top: 6px; color: #cbd3d7; font-size: 10px; }
.shadow-global-definitions small { margin-top: 5px; color: #65737c; font-size: 8px; }
.shadow-global-charts { margin: 10px; }
.shadow-chart-tall { height: 410px; }
.shadow-global-history-panel { margin: 0 10px 10px; }
.shadow-global-table-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 15px 17px; border-top: 1px solid #344048; border-bottom: 1px solid #344048; }
.shadow-global-table-head nav { display: flex; flex-wrap: wrap; gap: 5px; }
.shadow-global-table-head button { padding: 7px 10px; border: 1px solid #3b4851; color: #7f8d96; background: #141b20; font-size: 8px; cursor: pointer; }
.shadow-global-table-head button:hover,.shadow-global-table-head button.active { border-color: #9b8558; color: #e1c27b; background: rgba(191,157,87,.08); }
.shadow-global-table-wrap { overflow-x: auto; }
.shadow-global-table { width: 100%; min-width: 1230px; border-collapse: collapse; }
.shadow-global-table th { padding: 9px 10px; border-bottom: 1px solid #36424a; color: #71808a; background: #12181c; font: 700 7px/1.2 ui-monospace,monospace; letter-spacing: .08em; text-align: left; white-space: nowrap; }
.shadow-global-table td { padding: 11px 10px; border-right: 1px solid #2d383f; border-bottom: 1px solid #2d383f; color: #9facb3; font-size: 8px; line-height: 1.45; vertical-align: middle; }
.shadow-global-table tr:last-child td { border-bottom: 0; }.shadow-global-table td:last-child { border-right: 0; }
.shadow-global-table tr[hidden] { display: none; }
.shadow-global-table td:first-child { min-width: 106px; }.shadow-global-table td:nth-child(2) { min-width: 178px; color: #c6ced2; }
.shadow-global-table td > b { display: inline-grid; width: 25px; height: 22px; margin-right: 7px; place-items: center; border: 1px solid #4a5861; color: #c2a15f; font: 700 8px/1 ui-monospace,monospace; }
.shadow-global-table td > strong { color: #dce2e5; font-size: 9px; }.shadow-global-table td > small { display: block; margin-top: 4px; color: #64727b; font-size: 7px; }
.shadow-global-table em { color: #b9c3c8; font: 700 12px/1 ui-monospace,monospace; font-style: normal; }.shadow-global-table em.up { color: #62ac8a; }.shadow-global-table em.down { color: #c77669; }
.shadow-coverage { display: inline-block; width: 62px; height: 3px; margin-right: 7px; overflow: hidden; background: #283239; vertical-align: middle; }.shadow-coverage span { display: block; width: var(--coverage); height: 100%; background: linear-gradient(90deg,#498b86,#c09e5b); }
.shadow-global-caveat { padding: 11px 16px; border-top: 1px solid #344048; color: #718089; font-size: 8px; line-height: 1.6; }

@media (max-width: 1250px) {
  .shadow-kpi-grid-v2 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shadow-component-foot { grid-template-columns: repeat(3,1fr); }
  .shadow-phenomena-grid-v2 { grid-template-columns: repeat(2,1fr); }
  .shadow-phenomena-grid-v2 article:nth-child(2n) { border-right: 0; }
  .shadow-phenomena-grid-v2 article:nth-child(-n+2) { border-bottom: 1px solid #303b44; }
  .shadow-global-definitions { grid-template-columns: repeat(2,1fr); }
  .shadow-global-definitions > div:nth-child(2n) { border-right: 0; }
  .shadow-global-definitions > div:nth-child(-n+2) { border-bottom: 1px solid #303b43; }
}
@media (max-width: 900px) {
  .shadow-regime { grid-template-columns: 1fr; gap: 10px; }
  .shadow-regime small { max-width: none; text-align: left; }
  .shadow-ledgers { grid-template-columns: 1fr; }
  .shadow-ledgers article { border-right: 0; border-bottom: 1px solid #354149; }
  .shadow-ledgers article:last-child { border-bottom: 0; }
  .shadow-flow-v2-body { grid-template-columns: 1fr; }
  .shadow-flow-v2-body > i { min-height: 26px; transform: rotate(90deg); border: 0; }
  .shadow-flow-v2 > footer { grid-template-columns: 1fr; }
  .shadow-flow-v2 > footer div { border-right: 0; border-bottom: 1px solid #303b44; }
}
@media (max-width: 620px) {
  .shadow-kpi-grid-v2,.shadow-phenomena-grid-v2 { grid-template-columns: 1fr; }
  .shadow-flow-v2 > header { flex-direction: column; gap: 7px; }
  .shadow-flow-branches { grid-template-columns: repeat(2,1fr); }
  .shadow-flow-branch:nth-child(3n) { border-right: 1px solid #2d383f; }
  .shadow-flow-branch:nth-child(2n) { border-right: 0; }
  .shadow-flow-branch:nth-child(n+4) { border-bottom: 1px solid #2d383f; }
  .shadow-flow-branch:nth-child(n+5) { border-bottom: 0; }
  .shadow-component-foot { grid-template-columns: 1fr; }
  .shadow-component-foot span { border-right: 0; border-bottom: 1px solid #2f3a42; }
  .shadow-runnable-list { grid-template-columns: 1fr; }
  .shadow-runnable-list div:nth-child(n) { border-right: 0; border-bottom: 1px solid #2f3a42; }
  .shadow-runnable-list div:last-child { border-bottom: 0; }
  .shadow-phenomena-grid-v2 article:nth-child(n) { border-right: 0; border-bottom: 1px solid #303b44; }
  .shadow-suite-head,.shadow-global-table-head { align-items: flex-start; flex-direction: column; }
  .shadow-global-legend { line-height: 1.7; }
  .shadow-global-definitions { grid-template-columns: 1fr; }
  .shadow-global-definitions > div:nth-child(n) { border-right: 0; border-bottom: 1px solid #303b43; }
  .shadow-chart-tall { height: 360px; }
  .shadow-page-index { flex-direction: column; }
  .shadow-page-index a { border-right: 0; border-bottom: 1px solid #344049; }
  .shadow-page-index a:last-child { border-bottom: 0; }
}

/* U.S. money-market-fund cash pool */
.mmf-hero,
.mmf-regime,
.mmf-kpi-grid,
.mmf-indicator-strip,
.mmf-ledger,
.mmf-chart-grid,
.mmf-onrrp-panel,
.mmf-market-grid,
.mmf-liquidity-panel,
.mmf-method,
.mmf-empty {
  width: min(1560px, calc(100% - 40px));
  margin-inline: auto;
}

.mmf-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding: 32px 0 22px;
  border-bottom: 1px solid var(--border);
}

.mmf-kicker {
  color: #83aaa8;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .18em;
}

.mmf-hero h1 { margin: 8px 0 6px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.04em; }
.mmf-hero p { max-width: 760px; margin: 0; color: #9ba6af; font-size: 13px; line-height: 1.65; }
.mmf-hero-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; max-width: 520px; }
.mmf-hero-meta span { display: flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #35414a; background: #151a1f; color: #aab4bc; font-size: 10px; white-space: nowrap; }
.mmf-hero-meta i { width: 6px; height: 6px; border-radius: 50%; background: #59ad8b; box-shadow: 0 0 0 3px rgba(89,173,139,.10); }
.mmf-hero-meta i.daily { background: #c7a35b; box-shadow: 0 0 0 3px rgba(199,163,91,.10); }
.mmf-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }

.mmf-regime {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(580px, 1.4fr);
  margin-top: 20px;
  border: 1px solid #3d494f;
  border-left: 3px solid #c7a35b;
  background: linear-gradient(112deg, rgba(199,163,91,.08), transparent 38%), #151a1e;
}
.mmf-regime-private-repo { border-left-color: #54a6a6; }
.mmf-regime-fed-parking { border-left-color: #b77a62; }
.mmf-regime-credit { border-left-color: #9178a8; }
.mmf-regime-defensive { border-left-color: #708db0; }
.mmf-regime-state { padding: 18px 20px; border-right: 1px solid #354149; }
.mmf-regime-state > span,
.mmf-panel header span { color: #81909a; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mmf-regime-state h2 { margin: 5px 0; font-size: 22px; letter-spacing: -.02em; }
.mmf-regime-state p { margin: 0; color: #aeb7be; font-size: 11px; line-height: 1.55; }
.mmf-regime-drivers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mmf-regime-drivers div { display: grid; align-content: center; gap: 7px; padding: 15px 18px; border-right: 1px solid #303a41; }
.mmf-regime-drivers div:last-child { border-right: 0; }
.mmf-regime-drivers span { color: #84919a; font-size: 10px; }
.mmf-regime-drivers strong { color: #e3e8eb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; }
.mmf-regime > small { grid-column: 1 / -1; padding: 7px 20px; border-top: 1px solid #303a41; color: #73808a; font-size: 9px; }

.mmf-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 14px; border: 1px solid #364149; background: #15191d; }
.mmf-kpi { min-width: 0; padding: 15px 14px 13px; border-right: 1px solid #323c43; box-shadow: inset 0 2px 0 transparent; }
.mmf-kpi:last-child { border-right: 0; }
.mmf-kpi-total { box-shadow: inset 0 2px 0 #83aaa8; }
.mmf-kpi-government { box-shadow: inset 0 2px 0 #5a94b8; }
.mmf-kpi-prime { box-shadow: inset 0 2px 0 #a07ab2; }
.mmf-kpi-bill { box-shadow: inset 0 2px 0 #c7a35b; }
.mmf-kpi-repo { box-shadow: inset 0 2px 0 #54a6a6; }
.mmf-kpi-onrrp { box-shadow: inset 0 2px 0 #b77a62; }
.mmf-kpi header { display: flex; align-items: center; gap: 9px; }
.mmf-kpi-icon { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #3b4850; color: #aebbc3; }
.mmf-kpi-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mmf-kpi header div { display: grid; min-width: 0; gap: 2px; }
.mmf-kpi header strong { color: #cbd3d8; font-size: 11px; }
.mmf-kpi time { color: #73808a; font-size: 9px; }
.mmf-kpi > b { display: block; margin: 18px 0 14px; color: #f0f3f5; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(17px, 1.45vw, 23px); font-weight: 650; white-space: nowrap; }
.mmf-kpi footer { display: grid; gap: 4px; min-height: 28px; }
.mmf-kpi footer span { font-size: 10px; font-weight: 750; }
.mmf-kpi footer small { overflow: hidden; color: #77848e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mmf-trend-up { color: #5db18c; }
.mmf-trend-down { color: #ce756d; }
.mmf-trend-neutral { color: #a6afb6; }

.mmf-indicator-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 10px; border-top: 1px solid #303b42; border-bottom: 1px solid #303b42; }
.mmf-indicator-strip article { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 12px; padding: 11px 14px; border-right: 1px solid #303b42; }
.mmf-indicator-strip article:last-child { border-right: 0; }
.mmf-indicator-strip span { color: #8d99a2; font-size: 10px; }
.mmf-indicator-strip strong { grid-row: 1 / span 2; grid-column: 2; color: #dce2e6; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 18px; }
.mmf-indicator-strip small { color: #66747e; font-size: 8px; }

.mmf-ledger { display: grid; grid-template-columns: 220px 55px 1fr; align-items: stretch; margin-top: 20px; border: 1px solid #344048; background: #12171b; }
.mmf-ledger-source { display: grid; gap: 5px; padding: 15px 18px; border-right: 1px solid #354149; }
.mmf-ledger-source span,.mmf-ledger-targets span { color: #74828c; font-size: 9px; }
.mmf-ledger-source strong,.mmf-ledger-targets strong { color: #dbe1e5; font-size: 12px; }
.mmf-ledger-source small { color: #687680; font-size: 8px; }
.mmf-ledger > i { position: relative; }
.mmf-ledger > i::before { content: ""; position: absolute; top: 50%; left: 9px; right: 12px; height: 1px; background: #526069; }
.mmf-ledger > i::after { content: ""; position: absolute; top: calc(50% - 3px); right: 10px; width: 6px; height: 6px; border-top: 1px solid #71808a; border-right: 1px solid #71808a; transform: rotate(45deg); }
.mmf-ledger-targets { display: grid; grid-template-columns: repeat(4, 1fr); }
.mmf-ledger-targets div { display: grid; align-content: center; gap: 5px; padding: 12px 16px; border-left: 1px solid #303a41; }

.mmf-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.mmf-chart-grid-primary { grid-template-columns: minmax(0, 1.45fr) minmax(380px, .55fr); margin-top: 20px; }
.mmf-panel { min-width: 0; border: 1px solid #364149; background: #151a1e; }
.mmf-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 10px 15px; border-bottom: 1px solid #323d44; background: #171d21; }
.mmf-panel h2 { margin: 4px 0 0; color: #dce2e6; font-size: 15px; }
.mmf-panel header > small { color: #7b8891; font-size: 9px; text-align: right; }
.mmf-chart { width: 100%; height: 360px; }
.mmf-onrrp-panel { margin-top: 12px; }
.mmf-chart-onrrp { height: 310px; }
.mmf-rate-chip { display: flex; align-items: baseline; gap: 9px; padding: 6px 9px; border: 1px solid #3d494f; }
.mmf-rate-chip span { color: #7e8b95; font-size: 9px; }
.mmf-rate-chip strong { color: #d8c087; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; }
.mmf-note { margin: 0; padding: 8px 14px; border-top: 1px solid #303a41; color: #77848d; font-size: 9px; line-height: 1.5; }

.mmf-market-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(370px, .55fr); gap: 12px; margin-top: 12px; }
.mmf-table-wrap { overflow-x: auto; }
.mmf-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.mmf-table th,.mmf-table td { padding: 8px 10px; border-bottom: 1px solid #2d373e; text-align: right; white-space: nowrap; }
.mmf-table thead th { color: #72808a; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mmf-table th:nth-child(2),.mmf-table td:nth-child(2) { text-align: left; }
.mmf-table tbody th strong,.mmf-table tbody th span { display: block; }
.mmf-table tbody th strong { max-width: 310px; overflow: hidden; color: #ced6db; font-size: 10px; text-overflow: ellipsis; }
.mmf-table tbody th span { max-width: 310px; margin-top: 2px; overflow: hidden; color: #697781; font-size: 8px; text-overflow: ellipsis; }
.mmf-kind { padding: 3px 5px; border: 1px solid #40505a; color: #9db3c0; font-size: 8px; font-weight: 700; }
.mmf-kind-prime { border-color: rgba(160,122,178,.55); color: #bd9bca; }
.mmf-counterparty-list { padding: 2px 14px 8px; }
.mmf-counterparty-list > div { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 37px; border-bottom: 1px solid #2d373e; }
.mmf-counterparty-list > div > b { color: #63717b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; }
.mmf-counterparty-list > div > span { display: grid; min-width: 0; gap: 4px; }
.mmf-counterparty-list span strong { overflow: hidden; color: #bdc7cd; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mmf-counterparty-list span i { display: block; width: var(--share); max-width: 100%; height: 2px; background: #54a6a6; }
.mmf-counterparty-list em { display: grid; gap: 1px; color: #d4dade; font-size: 9px; font-style: normal; text-align: right; }
.mmf-counterparty-list em small { color: #6f7d87; font-size: 8px; }

.mmf-liquidity-panel { margin-top: 12px; }
.mmf-liquidity-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.mmf-liquidity-grid article { padding: 14px 16px 16px; }
.mmf-liquidity-grid article + article { border-left: 1px solid #323d44; }
.mmf-liquidity-grid h3 { margin: 0 0 12px; color: #ccd5da; font-size: 12px; }
.mmf-liquidity-grid dl { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; }
.mmf-liquidity-grid dl div { padding: 7px 10px; border-left: 1px solid #2f3940; }
.mmf-liquidity-grid dl div:first-child { border-left: 0; }
.mmf-liquidity-grid dt { color: #75828c; font-size: 8px; }
.mmf-liquidity-grid dd { margin: 6px 0 0; color: #dce2e6; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }

.mmf-method { margin-top: 12px; margin-bottom: 34px; border: 1px solid #344048; background: #13181c; }
.mmf-method summary { padding: 12px 15px; color: #aeb8bf; font-size: 10px; font-weight: 750; cursor: pointer; }
.mmf-method-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #303a41; }
.mmf-method-grid > div { padding: 14px 16px; }
.mmf-method-grid > div + div { border-left: 1px solid #303a41; }
.mmf-method-grid h3 { margin: 0 0 10px; color: #cbd3d8; font-size: 11px; }
.mmf-method-grid p { margin: 7px 0; color: #84919a; font-size: 9px; line-height: 1.6; }
.mmf-method-grid a { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 12px; padding: 7px 0; border-bottom: 1px solid #2d373e; color: inherit; text-decoration: none; }
.mmf-method-grid a strong { color: #aebcc4; font-size: 9px; }
.mmf-method-grid a span,.mmf-method-grid a small { color: #6f7d87; font-size: 8px; }
.mmf-empty { margin-top: 24px; padding: 50px 24px; border: 1px solid #364149; background: #151a1e; text-align: center; }
.mmf-empty h2 { font-size: 20px; }
.mmf-empty p { color: #8a969f; font-size: 12px; }

@media (max-width: 1250px) {
  .mmf-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mmf-kpi:nth-child(3) { border-right: 0; }
  .mmf-kpi:nth-child(-n+3) { border-bottom: 1px solid #323c43; }
  .mmf-indicator-strip { grid-template-columns: repeat(3, 1fr); }
  .mmf-indicator-strip article:nth-child(3) { border-right: 0; }
  .mmf-indicator-strip article:nth-child(-n+3) { border-bottom: 1px solid #303b42; }
  .mmf-market-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .mmf-hero { align-items: flex-start; flex-direction: column; }
  .mmf-hero-meta { justify-content: flex-start; }
  .mmf-regime { grid-template-columns: 1fr; }
  .mmf-regime-state { border-right: 0; border-bottom: 1px solid #354149; }
  .mmf-chart-grid,.mmf-chart-grid-primary { grid-template-columns: 1fr; }
  .mmf-ledger { grid-template-columns: 1fr; }
  .mmf-ledger > i { display: none; }
  .mmf-ledger-source { border-right: 0; border-bottom: 1px solid #354149; }
  .mmf-ledger-targets { grid-template-columns: repeat(2, 1fr); }
  .mmf-liquidity-grid { grid-template-columns: 1fr; }
  .mmf-liquidity-grid article + article { border-top: 1px solid #323d44; border-left: 0; }
  .mmf-method-grid { grid-template-columns: 1fr; }
  .mmf-method-grid > div + div { border-top: 1px solid #303a41; border-left: 0; }
}

@media (max-width: 620px) {
  .mmf-hero,.mmf-regime,.mmf-kpi-grid,.mmf-indicator-strip,.mmf-ledger,.mmf-chart-grid,.mmf-onrrp-panel,.mmf-market-grid,.mmf-liquidity-panel,.mmf-method,.mmf-empty { width: calc(100% - 20px); }
  .mmf-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mmf-kpi:nth-child(3) { border-right: 1px solid #323c43; }
  .mmf-kpi:nth-child(2n) { border-right: 0; }
  .mmf-kpi:nth-child(-n+4) { border-bottom: 1px solid #323c43; }
  .mmf-regime-drivers { grid-template-columns: repeat(2, 1fr); }
  .mmf-regime-drivers div:nth-child(2) { border-right: 0; }
  .mmf-regime-drivers div:nth-child(-n+2) { border-bottom: 1px solid #303a41; }
  .mmf-indicator-strip { grid-template-columns: 1fr; }
  .mmf-indicator-strip article { border-right: 0; border-bottom: 1px solid #303b42; }
  .mmf-ledger-targets { grid-template-columns: 1fr; }
  .mmf-liquidity-grid dl { grid-template-columns: repeat(2, 1fr); }
  .mmf-liquidity-grid dl div { border-top: 1px solid #2f3940; }
  .mmf-liquidity-grid dl div:nth-child(odd) { border-left: 0; }
  .mmf-chart { height: 320px; }
}

/* Global capital flow monitor v2 */
.capital-v2-header {
  align-items: flex-end;
  border-bottom-color: #3f4b54;
}

.capital-v2-kicker,
.capital-v2-section-head span,
.capital-v2-panel header span {
  color: #72afbd;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}

.capital-v2-header h1 { font-size: 28px; }
.capital-v2-header p { max-width: 760px; font-size: 14px; }
.capital-v2-stamp { min-width: 246px; }
.capital-v2-stamp span { display: block; }

.capital-v2-summary,
.capital-v2-ledger,
.capital-v2-band,
.capital-v2-chart-grid,
.capital-v2-method,
.capital-v2-empty {
  width: min(1560px, calc(100% - 36px));
  margin-right: auto;
  margin-left: auto;
}

.capital-v2-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--border);
}

.capital-v2-summary article {
  min-height: 148px;
  padding: 22px 24px;
  border-right: 1px solid var(--border);
  background: #151a1f;
}

.capital-v2-summary article:last-child { border-right: 0; }
.capital-v2-summary span,
.capital-v2-kpis span,
.capital-v2-country-note span {
  color: var(--muted);
  font-size: 12px;
}

.capital-v2-summary strong {
  display: block;
  margin-top: 16px;
  color: #f1f3f5;
  font-size: 25px;
  font-weight: 720;
}

.capital-v2-summary b {
  display: block;
  margin-top: 7px;
  color: #ced5db;
  font-size: 17px;
}

.capital-v2-summary small {
  display: block;
  margin-top: 13px;
  color: #7f8a93;
  font-size: 11px;
}

.capital-v2-summary .positive,
.capital-v2-table .positive { color: #67c79a; }
.capital-v2-summary .negative,
.capital-v2-table .negative { color: #eb847c; }

.capital-v2-ledger {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #11161a;
}

.capital-v2-ledger > div {
  display: grid;
  grid-template-columns: 13px auto;
  gap: 6px 10px;
  min-height: 88px;
  padding: 17px 20px;
  border-right: 1px solid var(--border);
}

.capital-v2-ledger > div:last-child { border-right: 0; }
.capital-v2-ledger i,
.capital-v2-legend i {
  display: inline-block;
  width: 11px;
  height: 11px;
  margin-top: 3px;
  border: 1px solid transparent;
}
.capital-v2-ledger i.actual,
.capital-v2-legend i.actual { background: #56a9bd; }
.capital-v2-ledger i.estimate,
.capital-v2-legend i.estimate {
  background-color: #d2a65c;
  background-image: repeating-linear-gradient(135deg, transparent 0 3px, rgba(24,29,34,.65) 3px 5px);
}
.capital-v2-ledger i.official,
.capital-v2-legend i.official { background: #a17eb5; }
.capital-v2-legend i.interval {
  height: 7px;
  border-top: 1px dashed #b8c0c7;
}
.capital-v2-ledger strong { color: #e4e8eb; font-size: 14px; }
.capital-v2-ledger span {
  grid-column: 2;
  color: #8e99a2;
  font-size: 12px;
  line-height: 1.55;
}

.capital-v2-band {
  margin-top: 22px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #151a1f;
}

.capital-v2-section-head,
.capital-v2-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--border);
}

.capital-v2-section-head h2,
.capital-v2-panel h2 {
  margin: 5px 0 0;
  color: #edf0f2;
  font-size: 18px;
  font-weight: 680;
  letter-spacing: 0;
}

.capital-v2-section-head small,
.capital-v2-panel header small {
  display: block;
  margin-top: 5px;
  color: #85919a;
  font-size: 11px;
}

.capital-v2-segment {
  display: inline-flex;
  height: 36px;
  border: 1px solid #424d56;
}

.capital-v2-segment button {
  min-width: 72px;
  padding: 0 13px;
  border: 0;
  border-right: 1px solid #424d56;
  border-radius: 0;
  color: #9ba5ae;
  background: #11161a;
  font-size: 12px;
  cursor: pointer;
}

.capital-v2-segment button:last-child { border-right: 0; }
.capital-v2-segment button.active {
  color: #071216;
  background: #78b8c5;
  font-weight: 700;
}

.capital-v2-legend {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 46px;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(69,79,88,.62);
  color: #aeb7be;
  font-size: 11px;
}

.capital-v2-legend span { display: inline-flex; align-items: center; gap: 7px; }
.capital-v2-legend b { margin-left: auto; color: #76828b; font-weight: 500; }
.capital-v2-chart { width: 100%; height: 430px; }
.capital-v2-chart-main { height: 570px; }
.capital-v2-chart-detail { height: 450px; }

.capital-v2-table-wrap { overflow-x: auto; border-top: 1px solid var(--border); }
.capital-v2-table { width: 100%; min-width: 960px; border-collapse: collapse; }
.capital-v2-table th,
.capital-v2-table td {
  padding: 13px 16px;
  border-bottom: 1px solid rgba(67,77,86,.62);
  color: #aeb7bf;
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
}
.capital-v2-table thead th {
  color: #77838d;
  background: #11161a;
  font-size: 11px;
  font-weight: 600;
}
.capital-v2-table tbody th strong { display: block; color: #e4e8eb; font-size: 13px; }
.capital-v2-table tbody th span { color: #76818a; font-size: 10px; }
.capital-v2-table td.rank { width: 58px; color: #6f7a83; }
.capital-v2-kind {
  display: inline-block;
  padding: 3px 7px;
  border: 1px solid #57636d;
  color: #aeb8c0;
  font-size: 10px;
}
.capital-v2-kind.actual { border-color: #4c8f9e; color: #73bed0; }
.capital-v2-kind.estimate { border-color: #8b7144; color: #ddb66f; }
.capital-v2-footnote {
  margin: 0;
  padding: 13px 20px;
  color: #7f8a93;
  background: #11161a;
  font-size: 11px;
  line-height: 1.6;
}

.capital-v2-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 22px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #151a1f;
}
.capital-v2-panel { min-width: 0; border-right: 1px solid var(--border); }
.capital-v2-panel:last-child { border-right: 0; }
.capital-v2-band .capital-v2-chart-grid {
  width: 100%;
  margin-top: 0;
  border-bottom: 0;
}

.capital-v2-country-select {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #87929b;
  font-size: 11px;
}
.capital-v2-country-select select {
  width: 180px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #46515a;
  border-radius: 0;
  color: #e5e9ec;
  background: #101519;
  font-size: 12px;
}

.capital-v2-country-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  background: #11161a;
}
.capital-v2-country-name { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 6px 12px; }
.capital-v2-country-name > span { color: #70b2c0; font-size: 13px; font-weight: 700; }
.capital-v2-country-name strong { color: #f0f2f4; font-size: 25px; }
.capital-v2-country-name small { grid-column: 1 / -1; color: #7f8b94; font-size: 11px; }
.capital-v2-country-status { text-align: right; }
.capital-v2-country-status b { display: block; color: #d5b36f; font-size: 13px; }
.capital-v2-country-status span { display: block; margin-top: 7px; color: #7d8992; font-size: 11px; }

.capital-v2-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: 1px solid var(--border);
}
.capital-v2-kpis > div {
  min-width: 0;
  min-height: 132px;
  padding: 18px;
  border-right: 1px solid var(--border);
}
.capital-v2-kpis > div:last-child { border-right: 0; }
.capital-v2-kpis strong {
  display: block;
  margin-top: 18px;
  color: #edf0f2;
  font-size: 20px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.capital-v2-kpis small { display: block; margin-top: 9px; color: #75818a; font-size: 10px; line-height: 1.45; }

.capital-v2-country-note {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--border);
  background: #11161a;
}
.capital-v2-country-note > div { padding: 16px 20px; border-right: 1px solid var(--border); }
.capital-v2-country-note > div:last-child { border-right: 0; }
.capital-v2-country-note p { margin: 8px 0 0; color: #b6bec5; font-size: 12px; line-height: 1.6; }

.capital-v2-workflow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.capital-v2-workflow > div { min-height: 142px; padding: 20px; border-right: 1px solid var(--border); }
.capital-v2-workflow > div:last-child { border-right: 0; }
.capital-v2-workflow b { color: #66adbc; font-size: 13px; }
.capital-v2-workflow strong { display: block; margin-top: 18px; color: #e2e6e9; font-size: 14px; }
.capital-v2-workflow span { display: block; margin-top: 9px; color: #87929b; font-size: 11px; line-height: 1.6; }

.capital-v2-method {
  margin-top: 22px;
  margin-bottom: 26px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #11161a;
}
.capital-v2-method summary { padding: 17px 20px; color: #cbd2d7; font-size: 12px; cursor: pointer; }
.capital-v2-rules { padding: 0 20px 14px; border-top: 1px solid var(--border); }
.capital-v2-rules p { margin: 12px 0 0; color: #9ca6ae; font-size: 11px; }
.capital-v2-sources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.capital-v2-sources a { min-height: 96px; padding: 16px 18px; border-right: 1px solid var(--border); text-decoration: none; }
.capital-v2-sources a:last-child { border-right: 0; }
.capital-v2-sources strong,
.capital-v2-sources span,
.capital-v2-sources small { display: block; }
.capital-v2-sources strong { color: #d9dee2; font-size: 12px; }
.capital-v2-sources span { margin-top: 8px; color: #7eb5c0; font-size: 10px; }
.capital-v2-sources small { margin-top: 5px; color: #737f88; font-size: 10px; }
.capital-v2-empty { padding: 50px 20px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

@media (max-width: 1180px) {
  .capital-v2-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-v2-summary article:nth-child(2) { border-right: 0; }
  .capital-v2-summary article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .capital-v2-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .capital-v2-kpis > div:nth-child(3n) { border-right: 0; }
  .capital-v2-kpis > div:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 820px) {
  .capital-v2-summary,
  .capital-v2-ledger,
  .capital-v2-band,
  .capital-v2-chart-grid,
  .capital-v2-method,
  .capital-v2-empty { width: calc(100% - 20px); }
  .capital-v2-ledger,
  .capital-v2-chart-grid,
  .capital-v2-country-note,
  .capital-v2-workflow,
  .capital-v2-sources { grid-template-columns: 1fr; }
  .capital-v2-ledger > div,
  .capital-v2-panel,
  .capital-v2-country-note > div,
  .capital-v2-workflow > div,
  .capital-v2-sources a { border-right: 0; border-bottom: 1px solid var(--border); }
  .capital-v2-ledger > div:last-child,
  .capital-v2-panel:last-child,
  .capital-v2-country-note > div:last-child,
  .capital-v2-workflow > div:last-child,
  .capital-v2-sources a:last-child { border-bottom: 0; }
  .capital-v2-control-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .capital-v2-segment { width: 100%; overflow-x: auto; }
  .capital-v2-segment button { flex: 1 0 auto; }
  .capital-v2-legend { flex-wrap: wrap; gap: 9px 14px; }
  .capital-v2-legend b { width: 100%; margin-left: 0; }
  .capital-v2-chart-main { height: 520px; }
  .capital-v2-country-select { width: 100%; justify-content: space-between; }
  .capital-v2-country-select select { width: 66%; }
}

@media (max-width: 560px) {
  .capital-v2-header h1 { font-size: 24px; }
  .capital-v2-summary { grid-template-columns: 1fr; }
  .capital-v2-summary article,
  .capital-v2-summary article:nth-child(2) { min-height: 124px; border-right: 0; border-bottom: 1px solid var(--border); }
  .capital-v2-summary article:last-child { border-bottom: 0; }
  .capital-v2-summary strong { font-size: 22px; }
  .capital-v2-section-head,
  .capital-v2-panel > header { min-height: 0; padding: 13px 14px; }
  .capital-v2-section-head h2,
  .capital-v2-panel h2 { font-size: 16px; }
  .capital-v2-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-v2-kpis > div,
  .capital-v2-kpis > div:nth-child(3n) { min-height: 118px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .capital-v2-kpis > div:nth-child(2n) { border-right: 0; }
  .capital-v2-kpis > div:nth-last-child(-n+2) { border-bottom: 0; }
  .capital-v2-kpis strong { font-size: 17px; }
  .capital-v2-country-head { align-items: flex-start; flex-direction: column; gap: 13px; }
  .capital-v2-country-status { text-align: left; }
  .capital-v2-chart,
  .capital-v2-chart-detail { height: 360px; }
  .capital-v2-chart-main { height: 500px; }
}

/* Global capital flow radar */
.capital-page-header {
  border-bottom-color: #53606a;
  background: linear-gradient(90deg, rgba(17, 22, 27, .96), rgba(24, 29, 34, .96));
}

.capital-kicker,
.capital-section-head > div > span,
.capital-chart-panel > header span {
  display: block;
  color: #6eb3bf;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
}

.capital-page-header p { margin-top: 5px; color: #99a5af; }
.capital-stamp { align-items: flex-end; gap: 4px; }
.capital-stamp span { color: #aeb8c0; font-size: 11px; }
.capital-stamp span:last-child { color: #d3ab68; }

.capital-band,
.capital-chart-grid,
.capital-method,
.capital-empty {
  width: calc(100% - 36px);
  max-width: 1540px;
  margin: 16px auto 0;
}

.capital-band,
.capital-method,
.capital-empty {
  border: 1px solid var(--border);
  background: rgba(17, 21, 26, .84);
}

.capital-leaders {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.capital-leaders article {
  min-width: 0;
  min-height: 132px;
  padding: 18px 20px 16px;
  border-right: 1px solid var(--border);
}

.capital-leaders article:last-child { border-right: 0; }
.capital-leaders span,
.capital-country-kpis span,
.capital-method-grid span { color: #8f9ba5; font-size: 11px; }
.capital-leaders strong { display: block; margin-top: 12px; color: #edf1f4; font-size: 19px; }
.capital-leaders b { display: block; margin-top: 5px; font: 700 28px/1.05 var(--mono); }
.capital-leaders small { display: block; margin-top: 9px; color: #68747e; font-size: 9px; }
.capital-leaders .positive,
.capital-table .positive,
.capital-state.positive { color: #58c391; }
.capital-leaders .negative,
.capital-table .negative,
.capital-state.negative { color: #e2776e; }
.capital-leaders .neutral,
.capital-table .neutral { color: #aab4bc; }

.capital-section-head,
.capital-chart-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  padding: 12px 17px;
  border-bottom: 1px solid var(--border);
}

.capital-section-head h2,
.capital-chart-panel h2 {
  margin: 4px 0 0;
  color: #e6ebef;
  font-size: 17px;
  font-weight: 650;
}

.capital-section-head small,
.capital-chart-panel > header small { color: #7f8b95; font-size: 10px; text-align: right; }
.capital-coverage { display: grid; grid-template-columns: auto auto auto auto; align-items: baseline; gap: 5px 9px; }
.capital-coverage b { color: #e3e8ec; font: 700 19px var(--mono); }
.capital-coverage span { color: #7f8b95; font-size: 10px; }

.capital-table-wrap { overflow-x: auto; scrollbar-color: #48525b #15191e; }
.capital-table { width: 100%; min-width: 1140px; border-collapse: collapse; }
.capital-table th,
.capital-table td { height: 61px; padding: 10px 12px; border-bottom: 1px solid rgba(54, 62, 70, .72); text-align: right; white-space: nowrap; }
.capital-table thead th { height: 40px; color: #73808a; font-size: 10px; font-weight: 600; text-transform: uppercase; }
.capital-table tbody tr:last-child > * { border-bottom: 0; }
.capital-table tbody tr:hover { background: rgba(82, 104, 115, .09); }
.capital-table tbody th { position: sticky; left: 0; z-index: 1; min-width: 130px; background: #12171c; text-align: left; }
.capital-table tbody th strong { display: block; color: #e2e7eb; font-size: 14px; }
.capital-table tbody th span { display: block; margin-top: 3px; color: #6f7b85; font-size: 9px; }
.capital-table .rank { color: #d2aa69; font: 700 15px var(--mono); }
.capital-table .rank.secondary { color: #72aeba; }
.capital-table .score { min-width: 76px; font: 700 17px var(--mono); }
.capital-table .score.primary { font-size: 21px; }
.confidence-line { display: grid; grid-template-columns: 36px 64px; align-items: center; gap: 7px; }
.confidence-line b { color: #cfd6db; font: 600 12px var(--mono); }
.confidence-line i { position: relative; display: block; width: 64px; height: 4px; background: #333b42; }
.confidence-line i::after { position: absolute; inset: 0 auto 0 0; width: var(--confidence); background: #6aa9b5; content: ""; }
.confidence-line.low i::after { background: #d3a85e; }
.capital-coverage-tag,
.capital-state { display: inline-block; padding: 4px 6px; border: 1px solid #47515a; border-radius: 2px; color: #aeb7be; font-size: 9px; }
.capital-coverage-tag.partial { border-color: #755f3e; color: #d6ab67; }
.capital-state.warning { border-color: #856943; color: #e0b66f; }
.capital-state.positive { border-color: #3c705b; }
.capital-state.negative { border-color: #7b4e4a; }

.capital-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border); }
.capital-chart-panel { min-width: 0; background: rgba(17, 21, 26, .84); }
.capital-chart-panel + .capital-chart-panel { border-left: 1px solid var(--border); }
.capital-chart { width: 100%; height: 390px; }
.capital-chart-detail { height: 370px; }
.capital-chart-compact { height: 340px; }
.capital-detail-grid { width: 100%; margin: 0; border: 0; border-top: 1px solid var(--border); }
.capital-detail-grid .capital-chart-panel.unframed { background: transparent; }

.capital-country-select { display: flex; align-items: center; gap: 9px; color: #89959e; font-size: 10px; }
.capital-country-select select { min-width: 170px; height: 34px; padding: 0 34px 0 10px; border: 1px solid #46515a; border-radius: 2px; background: #171c21; color: #dce2e7; font: 600 12px var(--mono); }
.capital-country-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.capital-country-kpis > div { min-width: 0; min-height: 112px; padding: 15px 16px; border-right: 1px solid var(--border); }
.capital-country-kpis > div:last-child { border-right: 0; }
.capital-country-kpis strong { display: block; margin-top: 12px; color: #e5ebef; font: 700 25px var(--mono); }
.capital-country-kpis small { display: block; margin-top: 7px; overflow-wrap: anywhere; color: #68747e; font-size: 9px; }

.capital-alert-panel { display: flex; flex-direction: column; }
.capital-alert-list { max-height: 340px; overflow-y: auto; }
.capital-alert-list > div { display: grid; grid-template-columns: 78px 130px minmax(0, 1fr); align-items: baseline; gap: 10px; min-height: 57px; padding: 11px 16px; border-bottom: 1px solid rgba(54, 62, 70, .72); }
.capital-alert-list > div:last-child { border-bottom: 0; }
.capital-alert-list b { color: #d7dde1; font-size: 12px; }
.capital-alert-list strong { color: #d8aa63; font-size: 11px; }
.capital-alert-list span { color: #8e99a2; font-size: 10px; line-height: 1.55; }
.capital-alert-list .critical strong { color: #e2776e; }
.capital-alert-list .watch strong { color: #d9ae67; }
.capital-freshness-table { min-width: 1020px; }
.capital-freshness-table .missing { color: #d2a65f; }

.capital-method { margin-bottom: 24px; }
.capital-method summary { padding: 15px 17px; color: #b6c0c8; font-size: 11px; cursor: pointer; }
.capital-method[open] summary { border-bottom: 1px solid var(--border); }
.capital-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.capital-method-grid > div { min-height: 102px; padding: 14px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.capital-method-grid > div:nth-child(3n) { border-right: 0; }
.capital-method-grid strong { display: block; margin-top: 8px; color: #dce2e7; font-size: 13px; }
.capital-method-grid small { display: block; margin-top: 7px; color: #75818b; font-size: 9px; line-height: 1.5; }
.capital-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.capital-sources a { min-height: 66px; padding: 12px 16px; border-right: 1px solid var(--border); color: inherit; text-decoration: none; }
.capital-sources a:nth-child(3n) { border-right: 0; }
.capital-sources a:hover { background: rgba(85, 185, 138, .05); }
.capital-sources b { display: block; color: #cfd6db; font-size: 11px; }
.capital-sources span { display: block; margin-top: 6px; color: #73808a; font-size: 9px; }
.capital-empty { padding: 34px; }
.capital-empty h2 { margin: 0; color: #dce3e8; }
.capital-empty p { color: #85919b; }

@media (max-width: 1120px) {
  .capital-leaders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-leaders article:nth-child(2) { border-right: 0; }
  .capital-leaders article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .capital-country-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .capital-country-kpis > div:nth-child(3) { border-right: 0; }
  .capital-country-kpis > div:nth-child(-n+3) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 760px) {
  .capital-band,
  .capital-chart-grid,
  .capital-method,
  .capital-empty { width: calc(100% - 20px); margin-top: 12px; }
  .capital-stamp { align-items: flex-start; }
  .capital-leaders article { min-height: 118px; padding: 15px; }
  .capital-leaders strong { font-size: 16px; }
  .capital-leaders b { font-size: 24px; }
  .capital-section-head,
  .capital-chart-panel > header { min-height: 60px; padding: 11px 13px; }
  .capital-section-head h2,
  .capital-chart-panel h2 { font-size: 15px; }
  .capital-coverage { display: none; }
  .capital-chart-grid { grid-template-columns: 1fr; }
  .capital-chart-panel + .capital-chart-panel { border-top: 1px solid var(--border); border-left: 0; }
  .capital-chart,
  .capital-chart-detail,
  .capital-chart-compact { height: 330px; }
  .capital-control-head { align-items: flex-start; flex-direction: column; }
  .capital-country-select { width: 100%; justify-content: space-between; }
  .capital-country-select select { width: 72%; min-width: 0; }
  .capital-country-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capital-country-kpis > div,
  .capital-country-kpis > div:nth-child(3) { min-height: 105px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
  .capital-country-kpis > div:nth-child(2n) { border-right: 0; }
  .capital-country-kpis > div:nth-last-child(-n+2) { border-bottom: 0; }
  .capital-country-kpis strong { font-size: 22px; }
  .capital-alert-list > div { grid-template-columns: 58px 96px minmax(0, 1fr); padding: 10px 12px; }
  .capital-method-grid,
  .capital-sources { grid-template-columns: 1fr; }
  .capital-method-grid > div,
  .capital-method-grid > div:nth-child(3n),
  .capital-sources a,
  .capital-sources a:nth-child(3n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .capital-sources a:last-child { border-bottom: 0; }
}

/* Strategic shipping and geopolitical risk terminal */
.shipping-page-header p { margin: 5px 0 0; color: #7f8995; font-size: 11px; }
.shipping-band,
.shipping-method,
.shipping-empty { width: min(1560px, calc(100% - 36px)); margin: 16px auto 0; border: 1px solid #303741; border-radius: 4px; background: #14171b; }
.shipping-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 10px 16px; border-bottom: 1px solid #303741; background: #1a1e24; }
.shipping-section-head > div { min-width: 0; }
.shipping-section-head > div > span { color: #5db29d; font-size: 8px; font-weight: 700; }
.shipping-section-head h2 { margin: 3px 0 0; color: #edf1f5; font-size: 15px; }
.shipping-section-head small { color: #7d8894; font-size: 9px; text-align: right; }
.shipping-risk-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: #303741; }
.shipping-risk-cell { min-width: 0; padding: 12px; border-top: 2px solid #58b88b; background: #15191e; }
.shipping-risk-cell.watch { border-color: #b9a361; }
.shipping-risk-cell.elevated { border-color: #d0a356; }
.shipping-risk-cell.high,
.shipping-risk-cell.severe { border-color: #d96f68; }
.shipping-risk-cell header,
.shipping-risk-cell footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.shipping-risk-cell header strong { overflow: hidden; color: #dce2e7; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.shipping-risk-cell header span { color: #7f8a95; font-size: 8px; }
.shipping-risk-cell > div { margin: 11px 0 10px; }
.shipping-risk-cell > div b { color: #eef2f5; font: 700 23px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-risk-cell > div em { margin-left: 4px; color: #6e7984; font-size: 8px; font-style: normal; }
.shipping-risk-cell footer { color: #7d8994; font-size: 8px; }
.shipping-overview-grid { display: grid; grid-template-columns: minmax(430px, .88fr) minmax(0, 1.12fr); gap: 1px; background: #303741; }
.shipping-alerts,
.shipping-chart-panel { min-width: 0; background: #15191e; }
.shipping-alerts > header,
.shipping-chart-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 8px 13px; border-bottom: 1px solid rgba(48,55,65,.7); }
.shipping-alerts h3,
.shipping-chart-panel h3 { margin: 0; color: #d9e0e6; font-size: 10px; }
.shipping-alerts header span,
.shipping-chart-panel header span { color: #707c87; font-size: 8px; text-align: right; }
.shipping-alert-list > div { display: grid; grid-template-columns: 28px minmax(105px, .8fr) minmax(220px, 1.4fr) 48px; align-items: center; gap: 10px; min-height: 58px; padding: 8px 12px; border-bottom: 1px solid rgba(48,55,65,.56); }
.shipping-alert-list > div:last-child { border-bottom: 0; }
.shipping-alert-rank { color: #66727e; font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-alert-list strong { color: #cfd6dd; font-size: 9px; }
.shipping-alert-list dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.shipping-alert-list dl div { min-width: 0; padding-left: 9px; border-left: 1px solid rgba(48,55,65,.55); }
.shipping-alert-list dt { color: #717d88; font-size: 7px; }
.shipping-alert-list dd { margin: 5px 0 0; color: #d3dae0; font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-alert-list .positive { color: #58b88b; }
.shipping-alert-list .negative { color: #d97870; }
.shipping-score { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 24px; border: 1px solid rgba(88,184,139,.4); border-radius: 3px; color: #67be94; font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-score.watch { color: #c4ad63; border-color: rgba(196,173,99,.42); }
.shipping-score.elevated { color: #d0a356; border-color: rgba(208,163,86,.42); }
.shipping-score.high,
.shipping-score.severe { color: #dc7971; border-color: rgba(220,121,113,.44); }
.shipping-chart { width: 100%; height: 310px; }
.shipping-chart-overview { height: 274px; }
.shipping-route-head { min-height: 64px; }
.shipping-route-select { display: flex; align-items: center; gap: 9px; color: #7e8994; font-size: 8px; }
.shipping-route-select select { min-width: 170px; height: 29px; padding: 0 28px 0 10px; border: 1px solid #424b55; border-radius: 3px; color: #dce2e7; background: #14181d; font: 600 9px/1 sans-serif; }
.shipping-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: #303741; }
.shipping-kpis > div { min-width: 0; min-height: 88px; padding: 13px 14px; background: #15191e; }
.shipping-kpis span { display: block; color: #7f8a95; font-size: 8px; }
.shipping-kpis strong { display: inline-block; margin-top: 11px; overflow: hidden; max-width: 100%; color: #e7ebef; font: 700 20px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.shipping-kpis small { display: block; margin-top: 7px; color: #6e7984; font-size: 7px; }
.shipping-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #303741; }
.shipping-diversion-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 1px; background: #303741; }
.shipping-diversion-summary { display: grid; grid-template-columns: 1fr; gap: 1px; background: #303741; }
.shipping-diversion-summary > div { min-height: 79px; padding: 13px 14px; background: #15191e; }
.shipping-diversion-summary span { display: block; color: #7c8792; font-size: 8px; }
.shipping-diversion-summary strong { display: block; margin-top: 10px; color: #e1e7ec; font: 700 18px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.shipping-chart-wide { height: 318px; }
.shipping-energy-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: #303741; }
.shipping-energy-grid article { min-width: 0; padding: 12px; background: #15191e; }
.shipping-energy-grid article header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.shipping-energy-grid header strong { overflow: hidden; color: #d7dee4; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.shipping-energy-grid header span { color: #78838f; font-size: 7px; }
.shipping-index-row { display: grid; grid-template-columns: 58px 38px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 30px; }
.shipping-index-row span { color: #798590; font-size: 8px; }
.shipping-index-row b { color: #d2d9df; font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: right; }
.shipping-index-row i { position: relative; overflow: hidden; height: 5px; border-radius: 2px; background: #292f36; }
.shipping-index-row i::after { position: absolute; inset: 0 auto 0 0; width: min(var(--value), 100%); content: ""; background: #6b9ec5; }
.shipping-energy-grid footer { margin-top: 9px; color: #68747f; font-size: 7px; }
.shipping-method { margin-bottom: 20px; overflow: hidden; }
.shipping-method summary { min-height: 46px; padding: 15px 16px; color: #aab3bc; background: #181c21; font-size: 9px; cursor: pointer; }
.shipping-method > div { padding: 10px 16px 14px; border-top: 1px solid #303741; }
.shipping-method p { margin: 7px 0; color: #7f8a95; font-size: 9px; line-height: 1.6; }
.shipping-method strong { color: #bdc5cc; }
.shipping-empty { padding: 28px; }
.shipping-empty h2 { margin: 0; font-size: 16px; }
.shipping-empty p { color: #89939d; font-size: 11px; }

@media (max-width: 1100px) {
  .shipping-risk-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shipping-overview-grid { grid-template-columns: 1fr; }
  .shipping-energy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .shipping-band,
  .shipping-method,
  .shipping-empty { width: calc(100% - 20px); margin-top: 12px; }
  .shipping-section-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .shipping-section-head small { text-align: left; }
  .shipping-risk-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-alert-list > div { grid-template-columns: 24px minmax(90px, 1fr) 42px; }
  .shipping-alert-list dl { grid-column: 2 / -1; }
  .shipping-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-kpis > div:last-child { grid-column: 1 / -1; }
  .shipping-chart-grid { grid-template-columns: 1fr; }
  .shipping-chart { height: 270px; }
  .shipping-diversion-layout { grid-template-columns: 1fr; }
  .shipping-diversion-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-energy-grid { grid-template-columns: 1fr; }
  .shipping-route-select { width: 100%; justify-content: space-between; }
  .shipping-route-select select { min-width: 0; width: 72%; }
}

/* U.S. Treasury cash and futures terminal */
.ust-page-header p { margin: 5px 0 0; color: #7f8995; font-size: 11px; }
.ust-band { width: min(1560px, calc(100% - 36px)); margin: 16px auto 0; overflow: hidden; border: 1px solid #303741; border-radius: 4px; background: #14171b; }
.ust-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; padding: 10px 16px; border-bottom: 1px solid #303741; background: #1a1e24; }
.ust-section-head > div:first-child { min-width: 0; }
.ust-section-head h2 { margin-top: 3px; color: #edf1f5; font-size: 15px; }
.ust-section-head > span,
.ust-section-head > time { color: #7d8894; font-size: 9px; text-align: right; }
.ust-eyebrow { color: #5db29d; font-size: 8px; font-weight: 700; }
.ust-frequency-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid #303741; background: #303741; }
.ust-frequency-strip > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; min-height: 38px; padding: 7px 12px; background: #15191e; }
.ust-frequency-strip b { overflow: hidden; color: #aeb7c1; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ust-tag { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 18px; padding: 2px 5px; border: 1px solid #48515c; border-radius: 3px; color: #929da8; background: #171b20; font-size: 7px; font-style: normal; }
.ust-tag.delayed { color: #d5aa5d; border-color: rgba(211,168,91,.42); }
.ust-tag.daily { color: #60b995; border-color: rgba(83,179,140,.38); }
.ust-tag.weekly { color: #78a5d0; border-color: rgba(103,151,197,.42); }
.ust-tag.event { color: #c59dca; border-color: rgba(177,133,184,.4); }
.ust-change-table { border-bottom: 1px solid #303741; background: #303741; }
.ust-change-row { display: grid; grid-template-columns: 70px 105px minmax(160px, 1.15fr) 120px minmax(160px, 1.15fr) 120px minmax(170px, 1.2fr); gap: 1px; margin-top: 1px; background: #303741; }
.ust-change-row > header,
.ust-change-row > div { min-width: 0; min-height: 72px; padding: 10px 11px; background: #15191e; }
.ust-change-row > header { display: flex; flex-direction: column; justify-content: center; }
.ust-change-row > header strong { color: #f0f3f6; font: 700 17px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-change-row > header small { margin-top: 8px; color: #6f7b87; font-size: 7px; }
.ust-change-row > div > span { display: block; color: #7d8995; font-size: 8px; }
.ust-change-row > div > strong { display: block; margin-top: 8px; color: #e2e7ec; font: 700 13px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-change-row > div > small { display: block; margin-top: 7px; overflow-wrap: anywhere; color: #77838e; font-size: 7px; line-height: 1.35; }
.ust-change-row .positive { color: #5fba8d; }
.ust-change-row .negative { color: #db7c73; }
.ust-change-row .warn { color: #d3a95d; }
.ust-change-header { margin-top: 0; }
.ust-change-header > span { min-width: 0; padding: 8px 11px; color: #7d8995; background: #1a1e24; font-size: 8px; font-weight: 600; }
.ust-change-periods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: center; }
.ust-change-periods span { color: #cbd2d9 !important; font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-change-periods b { display: block; margin-bottom: 7px; color: #6f7b87; font: 500 7px/1 sans-serif; }
.ust-change-row > div > small.ust-yield-daily-change { font-size: 12px; font-weight: 700; }
.ust-change-row .ust-yield-changes span { font-size: 16px; }
.ust-change-row .ust-yield-changes b { font-size: 8px; }
.ust-position.long,
.ust-position.cover { color: #5fba8d !important; }
.ust-position.short,
.ust-position.liquidation { color: #db7c73 !important; }
.ust-change-charts { border-top: 1px solid #303741; }
.ust-chart-compact { height: 260px; }
.ust-yield-futures-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; padding: 8px 12px; border-top: 1px solid #303741; background: #1a1e24; }
.ust-yield-futures-head strong { color: #cfd6dd; font-size: 9px; }
.ust-yield-futures-head span { color: #747f8a; font-size: 8px; text-align: right; }
.ust-yield-futures-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid #303741; background: #303741; }
.ust-yield-futures-grid article { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; background: #15191e; }
.ust-yield-futures-grid article > header { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 8px; min-height: 38px; padding: 8px 10px; border-bottom: 1px solid rgba(48,55,65,.72); }
.ust-yield-futures-grid article > header strong { min-width: 0; overflow: hidden; color: #d9e0e6; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.ust-yield-futures-grid .ust-liquidity { position: static; flex: 0 0 auto; }
.ust-yield-futures-grid article > div { min-width: 0; min-height: 59px; padding: 9px 10px; border-right: 1px solid rgba(48,55,65,.58); border-bottom: 1px solid rgba(48,55,65,.58); }
.ust-yield-futures-grid article > div:nth-of-type(2n) { border-right: 0; }
.ust-yield-futures-grid article > div:nth-last-child(-n+2) { border-bottom: 0; }
.ust-yield-futures-grid article span { display: block; color: #747f8a; font-size: 7px; }
.ust-yield-futures-grid article div > strong { display: block; margin-top: 7px; overflow: hidden; color: #dce2e8; font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.ust-yield-futures-grid article small { display: block; margin-top: 6px; overflow: hidden; color: #6e7a85; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.ust-tenor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #303741; }
.ust-tenor-column { min-width: 0; background: #15191e; }
.ust-tenor-column > header { display: flex; align-items: baseline; justify-content: space-between; min-height: 42px; padding: 10px 13px; border-bottom: 1px solid rgba(48,55,65,.78); }
.ust-tenor-column > header strong { color: #eef2f5; font: 700 17px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-tenor-column > header span { color: #6f7b87; font-size: 8px; }
.ust-yield-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid rgba(48,55,65,.78); }
.ust-yield-pair > div { position: relative; min-width: 0; min-height: 138px; padding: 14px 13px; }
.ust-yield-pair > div + div { border-left: 1px solid rgba(48,55,65,.78); }
.ust-yield-pair span { display: block; color: #89949f; font-size: 9px; }
.ust-yield-pair strong { display: block; margin-top: 11px; color: #f0f3f6; font: 700 25px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-yield-pair small { display: block; min-height: 27px; margin-top: 10px; overflow-wrap: anywhere; color: #737f8b; font-size: 8px; line-height: 1.45; }
.ust-yield-pair .ust-tag { position: absolute; bottom: 11px; }
.ust-liquidity { position: absolute; bottom: 11px; display: inline-flex; min-height: 18px; align-items: center; padding: 2px 6px; border: 1px solid #46515d; border-radius: 3px; color: #9ba6b1; font-size: 7px; font-style: normal; }
.ust-liquidity.good { color: #64be91; border-color: rgba(88,180,134,.42); }
.ust-liquidity.thin { color: #d2aa61; border-color: rgba(210,170,97,.42); }
.ust-liquidity.insufficient { color: #df827a; border-color: rgba(217,120,112,.42); }
.ust-price-future { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(48,55,65,.78); }
.ust-price-future > div { min-width: 0; padding: 10px 9px; background: #171b20; }
.ust-price-future span { display: block; overflow: hidden; color: #727e89; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.ust-price-future strong { display: block; margin-top: 6px; overflow: hidden; color: #cfd6dd; font: 700 11px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.ust-difference { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; min-height: 70px; padding: 11px 13px; background: #12161a; }
.ust-difference > div { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; }
.ust-difference span { color: #78838e; font-size: 8px; }
.ust-difference strong { color: #d9e0e6; font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.ust-difference small { grid-column: 1 / -1; color: #697580; font-size: 7px; }
.ust-curve-strip { display: grid; grid-template-columns: 1.35fr repeat(4, minmax(0, .7fr)); gap: 1px; border-top: 1px solid #303741; background: #303741; }
.ust-curve-strip > div { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 8px 13px; background: #161a1f; }
.ust-curve-strip span { color: #7e8994; font-size: 8px; }
.ust-curve-strip strong { color: #dce2e8; font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ust-curve-state.steepening strong { color: #d4aa60; }
.ust-curve-state.flattening strong { color: #69b994; }
.ust-cash-detail-grid,
.ust-auction-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid #303741; background: #303741; }
.ust-cash-detail-grid > article,
.ust-auction-grid > article { min-width: 0; background: #15191e; }
.ust-cash-detail-grid article > header,
.ust-auction-grid article > header { display: flex; align-items: baseline; justify-content: space-between; min-height: 38px; padding: 9px 13px; border-bottom: 1px solid rgba(48,55,65,.72); }
.ust-cash-detail-grid header strong,
.ust-auction-grid header strong { color: #e5eaef; font-size: 12px; }
.ust-cash-detail-grid header span,
.ust-auction-grid header time { color: #707c87; font-size: 8px; }
.ust-cash-detail-grid dl,
.ust-auction-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.ust-cash-detail-grid dl > div,
.ust-auction-grid dl > div { min-width: 0; min-height: 57px; padding: 9px 12px; border-right: 1px solid rgba(48,55,65,.58); border-bottom: 1px solid rgba(48,55,65,.58); }
.ust-cash-detail-grid dl > div:nth-child(2n),
.ust-auction-grid dl > div:nth-child(2n) { border-right: 0; }
.ust-cash-detail-grid dt,
.ust-auction-grid dt { color: #737f8b; font-size: 8px; }
.ust-cash-detail-grid dd,
.ust-auction-grid dd { margin: 7px 0 0; overflow: hidden; color: #d8dfe5; font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.ust-cash-detail-grid article > footer,
.ust-auction-grid article > footer { min-height: 34px; padding: 9px 12px; color: #6f7a85; font-size: 7px; line-height: 1.4; }
.ust-chart-grid { display: grid; gap: 1px; background: #303741; }
.ust-chart-grid-halves { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ust-chart-panel { min-width: 0; background: #15191e; }
.ust-chart-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 8px 13px; border-bottom: 1px solid rgba(48,55,65,.7); }
.ust-chart-panel h3 { margin: 0; color: #d9e0e6; font-size: 10px; }
.ust-chart-panel header span { color: #707c87; font-size: 8px; text-align: right; }
.ust-chart { width: 100%; height: 300px; }
.ust-chart-tall { height: 390px; }
.ust-section-head-controls { min-height: 62px; }
.ust-segment { display: flex; overflow: hidden; border: 1px solid #3d4651; border-radius: 4px; }
.ust-segment button { width: 50px; height: 28px; padding: 0; border: 0; border-right: 1px solid #3d4651; color: #8b96a1; background: #14181d; font-size: 9px; cursor: pointer; }
.ust-segment button:last-child { border-right: 0; }
.ust-segment button.active { color: #edf2f5; background: #31463e; }
.ust-futures-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid #303741; background: #303741; }
.ust-futures-summary > div { display: grid; grid-template-columns: auto auto; align-items: center; gap: 4px 12px; min-height: 60px; padding: 9px 13px; background: #15191e; }
.ust-futures-summary span { color: #82909b; font-size: 8px; }
.ust-futures-summary strong { color: #e5eaef; font: 700 15px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: right; }
.ust-futures-summary small { grid-column: 1 / -1; color: #707c87; font-size: 8px; }
.ust-basis-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: #303741; }
.ust-basis-grid article { min-width: 0; min-height: 118px; padding: 13px 14px; background: #15191e; }
.ust-basis-grid span { color: #7e8994; font-size: 8px; }
.ust-basis-grid strong { display: block; margin-top: 9px; color: #d3a75a; font-size: 12px; }
.ust-basis-grid p { margin: 9px 0 0; color: #77838e; font-size: 8px; line-height: 1.55; }
.ust-methods { border-top: 1px solid #303741; background: #15191e; }
.ust-methods summary,
.ust-errors summary { position: relative; min-height: 42px; padding: 13px 15px; color: #aeb7c0; font-size: 9px; cursor: pointer; list-style: none; }
.ust-methods summary::after,
.ust-errors summary::after { position: absolute; right: 15px; color: #78838e; content: "+"; }
.ust-methods[open] summary::after,
.ust-errors details[open] summary::after { content: "−"; }
.ust-methods > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border-top: 1px solid #303741; background: #303741; }
.ust-methods p,
.ust-errors p { min-width: 0; margin: 0; padding: 11px 14px; background: #15191e; }
.ust-methods p strong,
.ust-errors p strong { display: block; color: #b7c0c9; font-size: 8px; }
.ust-methods p span,
.ust-errors p span { display: block; margin-top: 5px; color: #74808b; font-size: 8px; line-height: 1.5; }
.ust-errors { border-color: rgba(196,116,105,.45); }
.ust-errors p { border-top: 1px solid rgba(48,55,65,.7); }
.ust-empty { width: min(1560px, calc(100% - 36px)); margin: 16px auto; padding: 32px; border: 1px solid #303741; background: #15191e; }
.ust-empty p { color: #84909b; }

@media (max-width: 1280px) {
  .ust-frequency-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ust-yield-futures-grid,
  .ust-tenor-grid,
  .ust-cash-detail-grid,
  .ust-auction-grid,
  .ust-futures-summary,
  .ust-basis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ust-tenor-column + .ust-tenor-column { border-top: 1px solid #303741; }
  .ust-yield-pair > div { min-height: 126px; }
}

@media (max-width: 760px) {
  .ust-page-header { align-items: flex-start; flex-direction: column; }
  .ust-page-header .stamp { justify-content: flex-start; text-align: left; }
  .ust-band,
  .ust-empty { width: calc(100% - 20px); margin-top: 10px; }
  .ust-section-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ust-section-head > span,
  .ust-section-head > time { text-align: left; }
  .ust-frequency-strip,
  .ust-yield-futures-grid,
  .ust-tenor-grid,
  .ust-cash-detail-grid,
  .ust-auction-grid,
  .ust-chart-grid-halves,
  .ust-futures-summary,
  .ust-basis-grid { grid-template-columns: 1fr; }
  .ust-frequency-strip > span { min-height: 36px; }
  .ust-yield-futures-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .ust-yield-futures-head span { text-align: left; }
  .ust-change-header { display: none; }
  .ust-change-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ust-change-row > header { grid-column: 1 / -1; min-height: 54px; }
  .ust-change-row > header strong { font-size: 16px; }
  .ust-change-row > div { min-height: 70px; }
  .ust-change-row > div:nth-of-type(1),
  .ust-change-row > div:nth-of-type(3) { grid-column: 1 / -1; }
  .ust-change-periods { grid-column: 1 / -1; }
  .ust-chart-compact { height: 240px; }
  .ust-yield-pair strong { font-size: 21px; }
  .ust-price-future { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ust-difference { grid-template-columns: 1fr; }
  .ust-difference small { grid-column: 1; }
  .ust-curve-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ust-curve-state { grid-column: 1 / -1; }
  .ust-cash-detail-grid > article + article,
  .ust-auction-grid > article + article { border-top: 1px solid #303741; }
  .ust-chart { height: 270px; }
  .ust-chart-tall { height: 350px; }
  .ust-section-head-controls { align-items: stretch; }
  .ust-segment button { flex: 1; width: auto; }
  .ust-methods > div { grid-template-columns: 1fr; }
}

/* ICOR terminal redesign */
.icor-terminal { width: 100%; border-bottom: 1px solid var(--border); background: #14171b; }
.icor-terminal + .icor-terminal { margin-top: 12px; border-top: 1px solid var(--border); }
.icor-terminal-head { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(210px, auto) minmax(310px, 1fr); align-items: center; gap: 20px; min-height: 76px; padding: 12px 18px; border-bottom: 1px solid var(--border); background: #191d23; }
.icor-country-identity { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.icor-country-identity > span { color: #62aaa1; font-size: 9px; }
.icor-country-identity h2 { margin: 0; overflow: hidden; color: #edf1f5; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.icor-country-identity small { color: #7f8995; font-size: 9px; white-space: nowrap; }
.icor-current-verdict { padding-left: 18px; border-left: 1px solid #39404a; }
.icor-current-verdict > span { display: block; color: #818c98; font-size: 8px; }
.icor-current-verdict strong { display: block; margin-top: 5px; color: #b8c0c9; font-size: 14px; }
.icor-current-verdict strong.good { color: #62bd8c; }
.icor-current-verdict strong.bad { color: #e17c74; }
.icor-current-verdict strong.warn { color: #d1aa62; }
.icor-current-verdict small { display: block; margin-top: 3px; color: #737e8a; font-size: 8px; }
.icor-terminal-actions { display: grid; grid-template-columns: auto minmax(160px, 220px); align-items: center; justify-content: end; gap: 5px 9px; }
.icor-terminal-actions label { color: #818c98; font-size: 9px; text-align: right; }
.icor-terminal-actions select,
.icor-global-controls select,
.icor-rank-panel select { height: 30px; padding: 0 28px 0 9px; border: 1px solid #3c444f; border-radius: 5px; color: #e0e6ec; background: #14171b; font-size: 9px; }
.icor-terminal-actions time { grid-column: 1 / -1; color: #747f8b; font-size: 8px; text-align: right; }
.icor-data-quality { display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 7px 18px; border-bottom: 1px solid rgba(48,54,64,.72); background: #121519; }
.icor-data-quality span { flex: 0 0 auto; padding: 3px 6px; border: 1px solid #48515d; border-radius: 4px; color: #aeb7c0; font-size: 8px; }
.icor-data-quality span.official { color: #6fc096; border-color: rgba(87,185,135,.4); background: rgba(43,89,67,.2); }
.icor-data-quality span.estimate { color: #d2aa61; border-color: rgba(203,162,83,.42); background: rgba(100,75,31,.2); }
.icor-data-quality strong { overflow: hidden; color: #818c98; font-size: 8px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.icor-strip-label { display: flex; align-items: baseline; gap: 9px; min-height: 34px; padding: 8px 18px; border-bottom: 1px solid rgba(48,54,64,.72); background: #15181d; }
.icor-strip-label strong { color: #ced5dc; font-size: 10px; }
.icor-strip-label span { color: #77828e; font-size: 8px; }
.icor-primary-kpis,
.icor-secondary-kpis { display: grid; gap: 1px; background: var(--border); }
.icor-primary-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.icor-secondary-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.icor-kpi { position: relative; min-width: 0; min-height: 104px; padding: 14px 15px 12px; background: #171a1f; }
.icor-kpi::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: #697582; }
.icor-kpi.good::before { background: #57b987; }
.icor-kpi.bad::before { background: #dc756d; }
.icor-kpi.warn::before { background: #cba253; }
.icor-kpi > span { display: block; color: #8c97a3; font-size: 9px; }
.icor-kpi > strong { display: block; margin-top: 10px; overflow-wrap: anywhere; color: #e9eef3; font: 700 20px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.icor-kpi.good > strong { color: #72c69a; }
.icor-kpi.bad > strong { color: #e28a82; }
.icor-kpi.warn > strong { color: #d7b16a; }
.icor-kpi footer { display: flex; align-items: center; justify-content: space-between; gap: 7px; margin-top: 10px; }
.icor-kpi footer small { overflow: hidden; color: #747f8b; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.icor-kpi footer b { color: #9ea8b2; font-size: 8px; font-weight: 600; white-space: nowrap; }
.icor-kpi.good footer b { color: #64b98d; }
.icor-kpi.bad footer b { color: #d97d75; }
.icor-kpi.warn footer b { color: #cba253; }
.icor-terminal-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; padding: 10px 18px; border-bottom: 1px solid var(--border); background: #191d23; }
.icor-terminal-section-head h2 { margin: 0; color: #edf1f5; font-size: 14px; }
.icor-terminal-section-head h2 + span { display: block; margin-top: 4px; color: #7f8995; font-size: 8px; }
.icor-segment { display: flex; overflow: hidden; border: 1px solid #3b434e; border-radius: 5px; }
.icor-segment button { min-width: 46px; height: 28px; padding: 0 10px; border: 0; border-right: 1px solid #3b434e; color: #8f99a5; background: #14171b; font-size: 9px; cursor: pointer; }
.icor-segment button:last-child { border-right: 0; }
.icor-segment button.active { color: #edf1f5; background: #32473d; }
.icor-history-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--border); }
.icor-terminal-chart { min-width: 0; background: #15181d; }
.icor-terminal-chart-wide { grid-column: 1 / -1; }
.icor-terminal-chart > header,
.icor-comparison-table-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 9px 14px; border-bottom: 1px solid rgba(48,54,64,.7); }
.icor-terminal-chart h3,
.icor-comparison-table-panel h3 { margin: 0; color: #d9e0e7; font-size: 10px; }
.icor-terminal-chart header span,
.icor-comparison-table-panel header span { color: #747f8b; font-size: 8px; text-align: right; }
.icor-chart-main { width: 100%; height: 350px; }
.icor-chart-standard { width: 100%; height: 300px; }
.icor-global-head { align-items: center; }
.icor-global-controls { display: flex; align-items: center; gap: 15px; }
.icor-global-controls label { color: #87929e; font-size: 9px; white-space: nowrap; }
.icor-global-controls label select { min-width: 130px; margin-left: 5px; }
.icor-global-grid { display: grid; grid-template-columns: minmax(690px, 1.45fr) minmax(420px, .75fr); gap: 1px; border-bottom: 1px solid var(--border); background: var(--border); }
.icor-comparison-table-panel { min-width: 0; background: #15181d; }
.icor-terminal-table-wrap { height: 548px; overflow: auto; }
.icor-terminal-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.icor-terminal-table th { position: sticky; z-index: 2; top: 0; padding: 9px 10px; color: #7f8a96; background: #1b1f25; text-align: right; white-space: nowrap; }
.icor-terminal-table th:first-child { text-align: left; }
.icor-terminal-table td { height: 42px; padding: 6px 10px; border-top: 1px solid rgba(48,54,64,.55); color: #bdc6cf; text-align: right; white-space: nowrap; }
.icor-terminal-table tbody tr { cursor: pointer; }
.icor-terminal-table tbody tr:hover td { background: #1c2127; }
.icor-terminal-table td:first-child { display: grid; grid-template-columns: 22px auto 1fr; align-items: center; column-gap: 6px; text-align: left; }
.icor-terminal-table td:first-child strong { color: #e0e6ec; font-size: 10px; }
.icor-terminal-table td:first-child small { color: #6f7a86; font-size: 8px; }
.icor-rank-number { color: #687480; font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.icor-terminal-table td.good { color: #67bd90; }
.icor-terminal-table td.bad { color: #dd7e76; }
.icor-terminal-table td.warn { color: #cba253; }
.icor-terminal-table td.icor-extreme { color: #e1847d; }
.icor-terminal-table td.icor-extreme b { margin-left: 4px; padding: 2px 4px; border: 1px solid rgba(220,117,109,.42); border-radius: 3px; font-size: 7px; }
.icor-terminal-table .icor-basis { display: block; margin-top: 2px; color: #6f7a86; font-size: 7px; }
.icor-status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #74808c; }
.icor-status-dot.good { background: #57b987; }
.icor-status-dot.bad { background: #dc756d; }
.icor-status-dot.warn { background: #cba253; }
.icor-rank-panel header select { width: 165px; height: 27px; }
.icor-chart-ranking { width: 100%; height: 548px; }
.icor-details-terminal { background: #15181d; }
.icor-details-terminal details { border-bottom: 1px solid rgba(48,54,64,.72); }
.icor-details-terminal details:last-child { border-bottom: 0; }
.icor-details-terminal summary { position: relative; min-height: 42px; padding: 13px 18px; color: #bdc6cf; font-size: 10px; cursor: pointer; list-style: none; }
.icor-details-terminal summary::-webkit-details-marker { display: none; }
.icor-details-terminal summary::after { position: absolute; right: 19px; color: #78838f; content: "+"; }
.icor-details-terminal details[open] summary::after { content: "−"; }
.icor-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--border); background: var(--border); }
.icor-detail-grid p { min-width: 0; margin: 0; padding: 13px 16px; color: #86919d; background: #171a1f; font-size: 9px; line-height: 1.6; }
.icor-detail-grid strong { display: block; margin-bottom: 4px; color: #d2d9e0; font-size: 9px; }
.icor-detail-source { padding: 13px 18px; border-top: 1px solid var(--border); color: #86919d; font-size: 9px; line-height: 1.6; }
.icor-detail-source p { margin: 0 0 5px; }
.icor-detail-source > div { display: flex; gap: 15px; margin-top: 9px; }
.icor-detail-source a { color: #67b78e; }

@media (max-width: 1280px) {
  .icor-primary-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icor-global-grid { grid-template-columns: minmax(610px, 1.3fr) minmax(390px, .7fr); }
  .icor-global-head { align-items: flex-start; flex-direction: column; }
  .icor-global-controls { width: 100%; justify-content: space-between; }
}

@media (max-width: 960px) {
  .icor-terminal-head { grid-template-columns: 1fr auto; }
  .icor-terminal-actions { grid-column: 1 / -1; grid-template-columns: auto minmax(160px, 220px) 1fr; justify-content: start; }
  .icor-terminal-actions time { grid-column: 3; text-align: right; }
  .icor-primary-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icor-secondary-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icor-secondary-kpis .icor-kpi:last-child { grid-column: span 2; }
  .icor-terminal-section-head { align-items: flex-start; flex-direction: column; }
  .icor-history-layout,
  .icor-global-grid { grid-template-columns: 1fr; }
  .icor-terminal-chart-wide { grid-column: 1; }
  .icor-terminal-table-wrap { height: 500px; }
  .icor-chart-ranking { height: 520px; }
  .icor-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .icor-terminal + .icor-terminal { margin-top: 8px; }
  .icor-terminal-head { grid-template-columns: 1fr; gap: 10px; min-height: 0; padding: 12px; }
  .icor-country-identity { flex-wrap: wrap; }
  .icor-current-verdict { padding: 8px 0 0; border-top: 1px solid #39404a; border-left: 0; }
  .icor-terminal-actions { grid-column: 1; grid-template-columns: auto minmax(0, 1fr); }
  .icor-terminal-actions time { grid-column: 1 / -1; text-align: left; }
  .icor-data-quality { align-items: flex-start; padding: 8px 12px; }
  .icor-data-quality strong { overflow: visible; line-height: 1.45; text-overflow: clip; white-space: normal; }
  .icor-strip-label { padding: 8px 12px; }
  .icor-primary-kpis,
  .icor-secondary-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icor-kpi { min-height: 96px; padding: 12px; }
  .icor-kpi > strong { font-size: 17px; }
  .icor-kpi footer { align-items: flex-start; flex-direction: column; gap: 3px; }
  .icor-terminal-section-head { padding: 10px 12px; }
  .icor-segment { max-width: 100%; overflow-x: auto; }
  .icor-segment button { flex: 0 0 auto; }
  .icor-chart-main,
  .icor-chart-standard { height: 275px; }
  .icor-global-controls { align-items: flex-start; flex-direction: column; }
  .icor-global-controls label { width: 100%; }
  .icor-terminal-table-wrap { height: 440px; }
  .icor-terminal-table { min-width: 780px; }
  .icor-chart-ranking { height: 510px; }
  .icor-terminal-chart > header { align-items: flex-start; }
  .icor-terminal-chart header span { max-width: 52%; white-space: normal; }
  .icor-detail-grid { grid-template-columns: 1fr; }
}

/* ICOR investment efficiency page */
.icor-overview,
.icor-history,
.icor-global,
.icor-method { width: 100%; border-bottom: 1px solid var(--border); background: #15181d; }
.icor-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 10px 18px; border-bottom: 1px solid var(--border); background: #1a1e24; }
.icor-section-head > div:first-child { min-width: 0; }
.icor-section-head h2 { margin: 0; color: #edf1f5; font-size: 15px; }
.icor-section-head h2 + span { display: block; margin-top: 4px; color: #89939f; font-size: 9px; }
.icor-head-actions { display: flex; align-items: center; gap: 9px; }
.icor-head-actions label,
.icor-sort { color: #8e98a4; font-size: 9px; }
.icor-head-actions select,
.icor-sort select { min-width: 155px; height: 30px; margin-left: 5px; padding: 0 28px 0 9px; border: 1px solid #3a424d; border-radius: 5px; color: #e1e6eb; background: #15181d; }
.icor-head-actions time { color: #7f8995; font-size: 9px; white-space: nowrap; }
.icor-country-banner { display: grid; grid-template-columns: minmax(190px, .7fr) auto minmax(300px, 1.3fr); align-items: center; gap: 18px; min-height: 72px; padding: 12px 18px; border-bottom: 1px solid var(--border); background: #14171b; }
.icor-country-banner > div { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.icor-country-banner span { color: #75a8a5; font-size: 9px; }
.icor-country-banner strong { color: #edf1f5; font-size: 17px; }
.icor-country-banner small { color: #7f8995; font-size: 9px; }
.icor-country-banner > p:last-child { margin: 0; color: #8f99a5; font-size: 9px; line-height: 1.6; text-align: right; }
.icor-state { margin: 0; padding: 6px 9px; border: 1px solid #46505c; border-radius: 5px; color: #bec6cf; font-size: 10px; font-weight: 700; white-space: nowrap; }
.icor-state.better { color: #6fc096; border-color: rgba(85,173,131,.45); background: rgba(42,88,66,.22); }
.icor-state.worse,
.icor-state.critical { color: #e18b83; border-color: rgba(216,120,112,.45); background: rgba(106,48,47,.24); }
.icor-state.stable { color: #79a0c8; border-color: rgba(110,148,189,.45); background: rgba(53,70,91,.24); }
.icor-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: var(--border); }
.icor-kpi-grid article { min-width: 0; min-height: 102px; padding: 14px 16px; background: #171a1f; }
.icor-kpi-grid span { display: block; color: #909aa6; font-size: 9px; }
.icor-kpi-grid strong { display: block; margin-top: 9px; overflow-wrap: anywhere; color: #e8edf2; font: 700 18px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.icor-kpi-grid small { display: block; margin-top: 8px; color: #7f8995; font-size: 8px; line-height: 1.45; }
.icor-range { display: flex; overflow: hidden; border: 1px solid #3a424d; border-radius: 5px; }
.icor-range button { min-width: 44px; height: 28px; padding: 0 9px; border: 0; border-right: 1px solid #3a424d; color: #929ca8; background: #15181d; font-size: 9px; cursor: pointer; }
.icor-range button:last-child { border-right: 0; }
.icor-range button.active { color: #e8edf2; background: #35483f; }
.icor-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--border); }
.icor-chart-panel { min-width: 0; background: #15181d; }
.icor-chart-panel > header,
.icor-table-panel > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 43px; padding: 10px 14px; border-bottom: 1px solid rgba(48,54,64,.72); }
.icor-chart-panel h3,
.icor-table-panel h3 { margin: 0; color: #dce3ea; font-size: 11px; }
.icor-chart-panel header span,
.icor-table-panel header span { color: #7f8995; font-size: 8px; text-align: right; }
.icor-chart { width: 100%; min-width: 0; height: 310px; }
.icor-global-layout { display: grid; grid-template-columns: minmax(620px, 1.25fr) minmax(430px, .75fr); gap: 1px; border-bottom: 1px solid var(--border); background: var(--border); }
.icor-table-panel { min-width: 0; background: #15181d; }
.icor-table-wrap { height: 595px; overflow: auto; }
.icor-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.icor-table th { position: sticky; z-index: 2; top: 0; padding: 9px 10px; color: #87919d; background: #1b1f25; text-align: right; white-space: nowrap; }
.icor-table th:first-child { text-align: left; }
.icor-table td { padding: 9px 10px; border-top: 1px solid rgba(48,54,64,.55); color: #c0c8d1; text-align: right; white-space: nowrap; }
.icor-table tbody tr { cursor: pointer; }
.icor-table tbody tr:hover td { background: #1c2127; }
.icor-table td:first-child { text-align: left; }
.icor-table td strong { display: block; color: #e1e6eb; font-size: 10px; }
.icor-table td small { display: block; margin-top: 2px; color: #737e8a; font-size: 8px; }
.icor-table td.positive { color: #6fbd96; }
.icor-table td.negative { color: #df8880; }
.icor-table-state { display: inline-block; padding: 3px 5px; border-left: 2px solid #70869d; color: #aab5c0; }
.icor-table-state.better { border-color: #55ad83; color: #6fbd96; }
.icor-table-state.worse,
.icor-table-state.critical { border-color: #d87870; color: #df8880; }
.icor-ranking-panel { min-width: 0; }
.icor-chart-tall { height: 595px; }
.icor-global-charts { border-bottom: 1px solid var(--border); }
.icor-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--border); }
.icor-method-grid article { min-width: 0; padding: 15px 17px; background: #171a1f; }
.icor-method-grid strong { color: #dce3ea; font-size: 10px; }
.icor-method-grid p { margin: 6px 0 0; color: #89939f; font-size: 9px; line-height: 1.6; }
.icor-source-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 43px; padding: 9px 17px; background: #14171b; }
.icor-source-row > span { color: #87919d; font-size: 9px; line-height: 1.5; }
.icor-source-row > div { display: flex; gap: 14px; flex: 0 0 auto; }
.icor-source-row a { color: #6fbd96; font-size: 9px; }
.icor-empty { width: calc(100% - 36px); margin: 18px; padding: 24px; border: 1px solid var(--border); border-radius: 6px; background: #171a1f; }
.icor-empty h2 { margin: 0; font-size: 15px; }
.icor-empty p { margin: 8px 0 0; color: #929ca8; font-size: 10px; }

@media (max-width: 1280px) {
  .icor-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .icor-global-layout { grid-template-columns: minmax(520px, 1.15fr) minmax(390px, .85fr); }
}

@media (max-width: 960px) {
  .icor-section-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .icor-head-actions { width: 100%; flex-wrap: wrap; }
  .icor-head-actions time { margin-left: auto; }
  .icor-country-banner { grid-template-columns: 1fr auto; }
  .icor-country-banner > p:last-child { grid-column: 1 / -1; text-align: left; }
  .icor-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .icor-chart-grid,
  .icor-global-layout { grid-template-columns: 1fr; }
  .icor-table-wrap { height: 500px; }
  .icor-chart-tall { height: 560px; }
  .icor-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .icor-head-actions select { min-width: 0; max-width: 180px; }
  .icor-head-actions time { width: 100%; margin-left: 0; }
  .icor-country-banner { grid-template-columns: 1fr; gap: 8px; }
  .icor-country-banner > div { flex-wrap: wrap; }
  .icor-country-banner > p:last-child { grid-column: 1; }
  .icor-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icor-kpi-grid article { min-height: 96px; padding: 12px; }
  .icor-kpi-grid strong { font-size: 16px; }
  .icor-range { overflow-x: auto; max-width: 100%; }
  .icor-range button { flex: 0 0 auto; }
  .icor-chart { height: 270px; }
  .icor-chart-tall { height: 520px; }
  .icor-table-wrap { height: 440px; }
  .icor-method-grid { grid-template-columns: 1fr; }
  .icor-source-row { align-items: flex-start; flex-direction: column; }
}

/* Treasury debt page */
.treasury-debt-band { width: 100%; border-bottom: 1px solid var(--border); background: #15181d; }
.treasury-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; padding: 10px 18px; border-bottom: 1px solid var(--border); background: #1a1e24; }
.treasury-section-head > div { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.treasury-section-head h2 { color: #edf1f5; font-size: 15px; }
.treasury-section-head span,
.treasury-section-head time { color: #89939f; font-size: 9px; }
.treasury-section-head time { flex: 0 0 auto; }
.treasury-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--border); gap: 1px; }
.treasury-summary-grid article { min-width: 0; min-height: 105px; padding: 15px 18px; background: #171a1f; }
.treasury-summary-grid span { display: block; color: #929ca8; font-size: 10px; }
.treasury-summary-grid strong { display: block; margin-top: 10px; color: #edf1f5; font: 700 21px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.treasury-summary-grid small { display: block; margin-top: 8px; color: #a8b1bc; font-size: 9px; }
.treasury-change-strip { display: flex; align-items: stretch; min-height: 48px; border-bottom: 1px solid var(--border); background: #14171b; }
.treasury-change-strip > span { display: flex; align-items: center; width: 180px; padding: 9px 18px; color: #7f8995; font-size: 9px; }
.treasury-change-strip > div { display: flex; align-items: center; gap: 12px; min-width: 180px; padding: 9px 18px; border-left: 1px solid var(--border); }
.treasury-change-strip small { color: #89939f; font-size: 9px; }
.treasury-change-strip strong { color: #dce3ea; font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.treasury-chart-grid { display: grid; background: var(--border); gap: 1px; }
.treasury-chart-grid-debt { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
.treasury-chart-panel { min-width: 0; background: #15181d; }
.treasury-chart-panel > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 43px; padding: 10px 14px; border-bottom: 1px solid rgba(48,54,64,.7); }
.treasury-chart-panel h3 { margin: 0; color: #dce3ea; font-size: 11px; }
.treasury-chart-panel header span { color: #7f8995; font-size: 8px; white-space: nowrap; }
.treasury-chart { width: 100%; min-width: 0; height: 310px; }
.treasury-chart-large { height: 350px; }
.treasury-source-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; padding: 8px 16px; border-top: 1px solid var(--border); background: #14171b; }
.treasury-source-row span { color: #858f9b; font-size: 9px; line-height: 1.5; }
.treasury-source-row a { flex: 0 0 auto; color: #6fbd96; font-size: 9px; }
.treasury-interest-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); }
.treasury-definition-list { border-right: 1px solid var(--border); background: #171a1f; }
.treasury-definition-list > div { padding: 16px 17px; border-bottom: 1px solid rgba(48,54,64,.7); }
.treasury-definition-list > div:last-child { border-bottom: 0; }
.treasury-definition-list span { color: #d9e0e7; font-size: 10px; font-weight: 700; }
.treasury-definition-list p { margin: 7px 0 0; color: #8f99a5; font-size: 9px; line-height: 1.6; }
.treasury-interest-panel { min-width: 0; }
.treasury-holder-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .75fr); }
.treasury-holder-chart { height: 430px; }
.treasury-holder-notes { display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--border); background: #171a1f; }
.treasury-holder-notes > div { padding: 16px 18px; border-bottom: 1px solid rgba(48,54,64,.7); }
.treasury-holder-notes > div:last-child { border-bottom: 0; }
.treasury-holder-notes strong { color: #dbe2e8; font-size: 10px; }
.treasury-holder-notes p { margin: 6px 0 0; color: #8e98a4; font-size: 9px; line-height: 1.58; }

.fiscal-pressure-band { width: 100%; border-bottom: 1px solid var(--border); background: #15181d; }
.fiscal-validation { padding: 4px 8px; border: 1px solid #46505c; border-radius: 5px; }
.fiscal-validation.passed { color: #72bd97; border-color: rgba(87,173,131,.45); background: rgba(45,91,68,.2); }
.fiscal-validation.failed { color: #e08a83; border-color: rgba(216,120,112,.45); background: rgba(111,52,49,.2); }
.fiscal-overview-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); border-bottom: 1px solid var(--border); }
.fiscal-risk-panel { position: relative; min-width: 0; padding: 17px 18px 14px; border-right: 1px solid var(--border); background: #171a1f; }
.fiscal-risk-panel::before { position: absolute; inset: 0 auto 0 0; width: 4px; content: ""; background: #7f8995; }
.fiscal-risk-low::before { background: #57ad83; }
.fiscal-risk-neutral::before { background: #7790aa; }
.fiscal-risk-elevated::before { background: #d1a34e; }
.fiscal-risk-high::before,
.fiscal-risk-critical::before { background: #d87870; }
.fiscal-risk-panel > span { color: #87919d; font-size: 9px; }
.fiscal-score-line { display: flex; align-items: baseline; gap: 5px; margin-top: 8px; }
.fiscal-score-line strong { color: #eef2f5; font: 800 36px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-score-line small { color: #77818d; font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-risk-panel h3 { margin: 8px 0 0; color: #dce3ea; font-size: 14px; }
.fiscal-risk-panel > p { margin: 5px 0 0; color: #929ca8; font-size: 9px; }
.fiscal-driver-list { margin-top: 14px; }
.fiscal-driver-list > div { margin-top: 8px; }
.fiscal-driver-list header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fiscal-driver-list header span { overflow: hidden; color: #9aa4af; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-driver-list header strong { color: #c6ced7; font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-driver-list i { display: block; height: 4px; margin-top: 4px; overflow: hidden; background: #2b3038; }
.fiscal-driver-list b { display: block; height: 100%; background: #c69a54; }
.fiscal-risk-panel footer { margin-top: 13px; padding-top: 10px; border-top: 1px solid rgba(48,54,64,.72); color: #aeb7c1; font-size: 9px; }
.fiscal-kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--border); gap: 1px; }
.fiscal-kpi-grid article { min-width: 0; min-height: 120px; padding: 17px 18px; background: #16191e; }
.fiscal-kpi-grid span,
.fiscal-ratio-grid span,
.fiscal-dynamics-grid span { display: block; color: #8f99a5; font-size: 9px; }
.fiscal-kpi-grid strong { display: block; margin-top: 11px; color: #e7ecf1; font: 700 19px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-kpi-grid small,
.fiscal-ratio-grid small,
.fiscal-dynamics-grid small { display: block; margin-top: 8px; color: #818b97; font-size: 8px; line-height: 1.45; }
.fiscal-ratio-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--border); background: var(--border); gap: 1px; }
.fiscal-ratio-grid article { min-width: 0; min-height: 92px; padding: 14px 16px; background: #14171b; }
.fiscal-ratio-grid strong { display: block; margin-top: 8px; color: #d9e1e8; font: 700 17px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-chart-grid { display: grid; gap: 1px; background: var(--border); }
.fiscal-chart-grid-main { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); border-bottom: 1px solid var(--border); }
.fiscal-chart { width: 100%; min-width: 0; height: 345px; }
.fiscal-dynamics-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(420px, .75fr); border-bottom: 1px solid var(--border); }
.fiscal-dynamics-layout > .treasury-chart-panel { border-right: 1px solid var(--border); }
.fiscal-dynamics-chart { height: 330px; }
.fiscal-dynamics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--border); gap: 1px; }
.fiscal-dynamics-grid article { min-width: 0; padding: 15px 16px; background: #171a1f; }
.fiscal-dynamics-grid strong { display: block; margin-top: 9px; color: #e0e6ec; font: 700 15px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fiscal-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #171a1f; }
.fiscal-method-grid article { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--border); }
.fiscal-method-grid article:last-child { border-right: 0; }
.fiscal-method-grid strong { color: #d8dfe6; font-size: 10px; }
.fiscal-method-grid p { margin: 6px 0 0; color: #87919d; font-size: 9px; line-height: 1.55; }
.fiscal-source-row > div { display: flex; gap: 15px; flex: 0 0 auto; }

@media (max-width: 960px) {
  .treasury-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .treasury-section-head > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .treasury-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .treasury-change-strip { overflow-x: auto; }
  .treasury-change-strip > span,
  .treasury-change-strip > div { flex: 0 0 auto; }
  .treasury-chart-grid-debt,
  .treasury-interest-layout,
  .treasury-holder-layout { grid-template-columns: 1fr; }
  .treasury-definition-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-right: 0; border-bottom: 1px solid var(--border); }
  .treasury-definition-list > div { border-right: 1px solid var(--border); border-bottom: 0; }
  .treasury-definition-list > div:last-child { border-right: 0; }
  .treasury-holder-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; border-top: 1px solid var(--border); border-left: 0; }
  .treasury-holder-notes > div { border-right: 1px solid var(--border); }
  .treasury-holder-notes > div:nth-child(2n) { border-right: 0; }
  .treasury-source-row { align-items: flex-start; flex-direction: column; gap: 4px; }
  .fiscal-overview-layout { grid-template-columns: 230px minmax(0, 1fr); }
  .fiscal-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-ratio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fiscal-chart-grid-main,
  .fiscal-dynamics-layout { grid-template-columns: 1fr; }
  .fiscal-dynamics-layout > .treasury-chart-panel { border-right: 0; border-bottom: 1px solid var(--border); }
  .fiscal-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-method-grid article:nth-child(2n) { border-right: 0; }
  .fiscal-method-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 600px) {
  .treasury-summary-grid { grid-template-columns: 1fr; }
  .treasury-summary-grid article { min-height: 92px; }
  .treasury-chart-panel > header { align-items: flex-start; flex-direction: column; gap: 3px; }
  .treasury-chart-panel header span { white-space: normal; }
  .treasury-chart,
  .treasury-chart-large { height: 300px; }
  .treasury-holder-chart { height: 390px; }
  .treasury-definition-list,
  .treasury-holder-notes { grid-template-columns: 1fr; }
  .treasury-definition-list > div,
  .treasury-holder-notes > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .fiscal-overview-layout { grid-template-columns: 1fr; }
  .fiscal-risk-panel { border-right: 0; border-bottom: 1px solid var(--border); }
  .fiscal-kpi-grid,
  .fiscal-ratio-grid,
  .fiscal-dynamics-grid,
  .fiscal-method-grid { grid-template-columns: 1fr; }
  .fiscal-kpi-grid article,
  .fiscal-ratio-grid article { min-height: 88px; }
  .fiscal-chart { height: 300px; }
  .fiscal-method-grid article,
  .fiscal-method-grid article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .fiscal-method-grid article:last-child { border-bottom: 0; }
}

/* Treasury foreign holders page */
.tic-page-ranking { border-top: 0; }
.tic-treasury-head h2 { color: #e4e9ee; font-size: 14px; }
.tic-chart-grid h3 { margin: 0; color: #dce3ea; font-size: 11px; }
.tic-history-section { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #14171b; }
.tic-history-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; padding: 10px 16px; border-bottom: 1px solid var(--border); background: #1a1e24; }
.tic-history-head h2 { color: #edf1f5; font-size: 14px; }
.tic-history-head > div > span { display: block; margin-top: 4px; color: #858f9b; font-size: 9px; }
.tic-history-controls { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.tic-segment { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid #3a424d; border-radius: 6px; background: #13161a; }
.tic-segment button { min-height: 30px; padding: 5px 10px; border: 0; border-right: 1px solid #3a424d; color: #9fa9b5; background: transparent; font: 600 10px/1 system-ui, sans-serif; cursor: pointer; }
.tic-segment button:last-child { border-right: 0; }
.tic-segment button.active { color: #f0f4f7; background: #2c5e49; }
.tic-mode-note { min-height: 34px; padding: 9px 16px; border-bottom: 1px solid var(--border); color: #aeb7c1; background: #171a1f; font-size: 10px; line-height: 1.5; }
.tic-country-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--border); }
.tic-country-panel { min-width: 0; background: #15181d; }
.tic-country-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 54px; padding: 9px 14px; border-bottom: 1px solid rgba(48,54,64,.65); }
.tic-country-panel > header > strong { color: #e4e9ee; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.tic-country-name { display: flex; align-items: center; gap: 9px; min-width: 0; }
.tic-country-name > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #4a5562; border-radius: 50%; color: #d4a653; font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.tic-country-name h3 { margin: 0; color: #e4e9ee; font-size: 12px; }
.tic-country-name small { display: block; margin-top: 2px; color: #7f8995; font-size: 8px; }
.tic-country-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-bottom: 1px solid rgba(48,54,64,.65); }
.tic-country-stats div { min-width: 0; padding: 7px 9px; border-right: 1px solid rgba(48,54,64,.55); }
.tic-country-stats div:last-child { border-right: 0; }
.tic-country-stats dt { overflow: hidden; color: #7f8995; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.tic-country-stats dd { margin: 4px 0 0; overflow: hidden; color: #d8dee5; font: 700 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.tic-country-chart { width: 100%; min-width: 0; height: 270px; }
.tic-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--border); background: #171a1f; }
.tic-method-grid article { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--border); }
.tic-method-grid article:last-child { border-right: 0; }
.tic-method-grid strong { color: #dce3ea; font-size: 10px; }
.tic-method-grid p { margin: 6px 0 0; color: #858f9b; font-size: 9px; line-height: 1.55; }
.tic-history-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; padding: 8px 14px; border-top: 1px solid var(--border); background: #15181d; }
.tic-history-footer > span { color: #858f9b; font-size: 9px; }
.tic-history-footer > div { display: flex; gap: 14px; }
.tic-history-footer a { color: #76b997; font-size: 9px; white-space: nowrap; }
.tic-empty { padding: 24px 28px; border-bottom: 1px solid var(--border); background: #171a1f; }
.tic-empty h2 { color: #e4e9ee; }
.tic-empty p { margin: 7px 0 0; color: #929ca8; font-size: 11px; }

@media (max-width: 960px) {
  .tic-history-head { align-items: flex-start; flex-direction: column; }
  .tic-history-controls { width: 100%; justify-content: space-between; }
  .tic-country-grid { grid-template-columns: 1fr; }
  .tic-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tic-method-grid article:nth-child(2n) { border-right: 0; }
  .tic-method-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}

@media (max-width: 600px) {
  .tic-history-controls { align-items: stretch; flex-direction: column; }
  .tic-segment { width: 100%; }
  .tic-segment button { flex: 1; min-width: 0; padding-right: 6px; padding-left: 6px; }
  .tic-country-panel > header { align-items: flex-start; }
  .tic-country-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tic-country-stats div:nth-child(2n) { border-right: 0; }
  .tic-country-stats div:nth-child(-n+2) { border-bottom: 1px solid rgba(48,54,64,.55); }
  .tic-country-chart { height: 250px; }
  .tic-method-grid { grid-template-columns: 1fr; }
  .tic-method-grid article,
  .tic-method-grid article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .tic-method-grid article:last-child { border-bottom: 0; }
  .tic-history-footer { align-items: flex-start; flex-direction: column; }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", sans-serif;
}

a { color: inherit; }

.app-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 14px 24px;
  background: rgba(16, 17, 20, .96);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}

.brand {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 180px;
  font-size: 20px;
  line-height: 1.1;
}

.brand-kicker,
.eyebrow {
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.app-header nav {
  position: relative;
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  flex: 1;
  overflow: visible;
}

.app-header nav a,
.app-header .nav-trigger,
.logout button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  font: inherit;
}

.nav-group { position: relative; flex: 0 0 auto; }
.nav-trigger { cursor: pointer; }
.nav-trigger::after {
  content: "";
  width: 6px;
  height: 6px;
  margin: -3px 1px 0 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform .16s ease;
}
.nav-group.open > .nav-trigger::after { margin-top: 3px; transform: rotate(225deg); }
.nav-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 30;
  display: none;
  min-width: 232px;
  padding: 6px;
  border: 1px solid #39414b;
  border-radius: 5px;
  background: #171b20;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .38);
}
.nav-group:hover > .nav-menu,
.nav-group:focus-within > .nav-menu,
.nav-group.open > .nav-menu { display: grid; gap: 2px; }
.app-header nav .nav-menu a { width: 100%; min-height: 36px; border-radius: 3px; }

.app-header .nav-group.active > .nav-trigger,
.app-header nav a.active,
.app-header .nav-trigger:hover,
.app-header nav a:hover,
.logout button:hover {
  color: var(--text);
  border-color: var(--border);
  background: var(--panel-strong);
}

.logout { margin: 0; }

.content {
  width: 100%;
  margin: 0;
  padding: 0 0 48px;
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 28px;
  border-bottom: 1px solid var(--border);
}

h1,
h2 {
  margin: 0;
  letter-spacing: 0;
}

h1 {
  font-size: 26px;
  line-height: 1.25;
}

h2 {
  font-size: 16px;
  line-height: 1.35;
}

.stamp {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 10px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 14px;
  text-align: right;
}

.stamp-item { white-space: nowrap; }
.stamp-separator { color: var(--border); }
.accent { color: var(--accent); font-weight: 700; }

.report-tools {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: min(1480px, calc(100% - 40px));
  margin: 18px auto 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(24, 27, 32, .72);
}

.toc-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.toc-links a,
.button-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #15181d;
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
}

.toc-links a:hover,
.button-link:hover {
  color: var(--text);
  border-color: var(--accent);
}

.module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: calc(100% - 40px);
  margin: 22px 20px 18px;
}

.report-stack {
  width: min(1480px, calc(100% - 40px));
  margin: 22px auto 18px;
}

.module-card,
.panel {
  margin: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  overflow: hidden;
}

.panel {
  width: min(1480px, calc(100% - 40px));
  margin: 22px auto 18px;
}

.report-stack .panel {
  width: 100%;
  margin: 0 0 18px;
}

.module-head,
.panel h2,
.report-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 12px 16px;
  background: var(--panel-strong);
  border-bottom: 1px solid var(--border);
  color: var(--text);
}

.report-panel summary {
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.report-panel summary::-webkit-details-marker { display: none; }

.report-panel summary::before {
  content: "▾";
  color: var(--accent);
  font-size: 15px;
}

.report-panel:not([open]) summary::before { content: "▸"; }

.panel-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.badge-warn {
  border-color: #785329;
  color: #ffd099;
  background: rgba(120, 83, 41, .22);
}

.module-head a {
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

pre,
.module-pre,
.json-pre {
  margin: 0;
  padding: 15px 16px 17px;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
  color: #dce2ea;
  font: 14px/1.58 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  tab-size: 2;
}

.module-pre.empty,
.empty { color: var(--muted); }

.hl-warn {
  color: #ffd099;
  background: rgba(190, 117, 33, .22);
  border-radius: 3px;
}

.hl-muted {
  color: #c9d0da;
  background: rgba(174, 182, 194, .12);
  border-radius: 3px;
}

.hl-up {
  color: #82d99b;
  background: rgba(79, 180, 119, .13);
  border-radius: 3px;
}

.hl-down {
  color: #ffaaa2;
  background: rgba(202, 74, 64, .15);
  border-radius: 3px;
}

table {
  width: 100%;
  border-collapse: collapse;
  color: #dce2ea;
}

th,
td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--text);
  background: var(--panel-strong);
  font-weight: 700;
}

td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.action-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

button {
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--accent);
  color: #07120c;
  padding: 9px 13px;
  font-weight: 700;
  cursor: pointer;
}

button:hover { filter: brightness(1.08); }

.button-link { color: #07120c; background: var(--accent); border-color: transparent; font-weight: 700; }

.money-market-band {
  width: min(1560px, calc(100% - 40px));
  margin: 22px auto 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #15181d;
}

.money-market-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: var(--panel-strong);
}

.money-market-head div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.money-market-head span,
.volume-chart-row header span {
  color: var(--muted);
  font-size: 12px;
}

.money-market-scroll { overflow-x: auto; }

.money-market-layout {
  display: grid;
  grid-template-columns: 580px minmax(770px, 1fr);
  align-items: stretch;
  min-width: 1350px;
}

.rate-board {
  border-right: 1px solid var(--border);
  background: #171a1f;
}

.rate-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 38px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.rate-board-head span:last-child {
  text-align: right;
  white-space: nowrap;
}

.rate-row {
  display: grid;
  grid-template-rows: minmax(46px, auto) 24px;
  gap: 6px;
  min-height: 84px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(48, 54, 64, .72);
}

.rate-row:last-child { border-bottom: 0; }

.rate-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 224px;
  align-items: center;
  gap: 14px;
}

.rate-name {
  min-width: 0;
  color: var(--text);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.rate-history {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: stretch;
}

.rate-history-item {
  display: grid;
  align-content: center;
  justify-items: end;
  min-width: 0;
  padding-left: 8px;
  border-left: 1px solid rgba(89, 97, 109, .42);
}

.rate-history-item time {
  color: #8993a0;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.rate-history-item strong {
  margin-top: 4px;
  color: #e9edf2;
  font: 700 13px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}

.rate-history-item strong span { margin-left: 2px; }
.rate-trend-up strong { color: #e9968f; }
.rate-trend-down strong { color: #75c99a; }

.rate-funding {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border-top: 1px dashed rgba(89, 97, 109, .42);
  padding-top: 4px;
}

.rate-funding > span {
  color: var(--muted);
  font-size: 11px;
}

.rate-value,
.rate-volume {
  text-align: right;
  color: #f2f5f8;
  font: 700 14px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rate-volume { color: #cbd2dc; }

.volume-chart-stack {
  display: grid;
  grid-template-rows: repeat(3, minmax(233px, 1fr));
  min-width: 0;
  background: #15181d;
}

.volume-chart-row {
  display: grid;
  grid-template-rows: 52px minmax(181px, 1fr);
  min-width: 0;
  border-bottom: 1px solid var(--border);
  background: #15181d;
}

.volume-chart-row:last-child { border-bottom: 0; }

.volume-chart-row header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 16px 5px;
  border-bottom: 1px solid rgba(48, 54, 64, .48);
}

.volume-chart-row header > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}

.volume-chart-row h3 {
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.2;
}

.chart-period {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border: 1px solid #4c7380;
  color: #b9d6db !important;
  font-size: 11px !important;
}

.chart-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

.chart-summary strong {
  color: #e4e9ef;
  font: 700 13px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.money-chart {
  width: 100%;
  min-width: 0;
  min-height: 181px;
}

.fed-balance-band {
  width: min(1560px, calc(100% - 40px));
  margin: 22px auto 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #15181d;
}

.fed-balance-head,
.fed-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 52px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--panel-strong);
}

.fed-balance-head > div:first-child,
.fed-stage-head > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.fed-balance-head h2,
.fed-stage-head h3,
.fed-chart-panel h4,
.fed-balance-table-wrap h4 { margin: 0; }
.fed-balance-head h2 { font-size: 16px; }
.fed-balance-head span,
.fed-stage-head span,
.fed-stage-head small,
.fed-chart-panel header span { color: var(--muted); font-size: 11px; }

.fed-balance-freshness { display: flex; align-items: center; gap: 8px; }
.fed-balance-freshness span {
  padding: 3px 7px;
  border: 1px solid #426957;
  color: #9ed0b4;
  white-space: nowrap;
}

.fed-overview {
  background: #15181d;
  border-bottom: 1px solid var(--border);
}

.fed-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--border);
}

.fed-regime {
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(250px, 1.35fr) minmax(230px, .9fr);
  align-items: center;
  min-width: 0;
  min-height: 112px;
  padding: 16px 18px;
  border-right: 1px solid var(--border);
  background: #171a1f;
}
.fed-regime:last-child { border-right: 0; }
.fed-regime-state { display: flex; align-items: center; gap: 12px; min-width: 0; }
.fed-status-mark { flex: none; width: 10px; height: 42px; background: #d7b06b; }
.fed-regime-state small { display: block; color: var(--muted); font-size: 10px; }
.fed-regime-state strong { display: block; margin-top: 7px; color: #e5eaf0; font-size: 19px; line-height: 1.2; }
.fed-regime > p { margin: 0; padding: 0 18px; color: #aeb6c2; font-size: 11px; line-height: 1.55; }
.fed-regime dl { display: grid; grid-template-columns: 1fr; gap: 7px; margin: 0; }
.fed-regime dl div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0 0; border-top: 1px solid rgba(48,54,64,.65); }
.fed-regime dt { color: #8f99a6; font-size: 10px; }
.fed-regime dd { margin: 0; color: #dce2e9; font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-regime-easing .fed-regime-state strong { color: #78c99a; }
.fed-regime-easing .fed-status-mark { background: #55ad83; }
.fed-regime-tightening .fed-regime-state strong,
.fed-regime-stress .fed-regime-state strong { color: #e9968f; }
.fed-regime-tightening .fed-status-mark,
.fed-regime-stress .fed-status-mark { background: #d87870; }
.fed-regime-neutral .fed-regime-state strong { color: #d7b06b; }

.fed-core-cards,
.fed-top-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fed-top-cards { border-bottom: 1px solid var(--border); }
.fed-core-card { min-width: 0; min-height: 158px; padding: 13px 16px 12px; border-right: 1px solid rgba(48,54,64,.72); border-bottom: 1px solid rgba(48,54,64,.72); background: #15181d; }
.fed-core-card:nth-child(3n) { border-right: 0; }
.fed-core-card:nth-last-child(-n+3) { border-bottom: 0; }
.fed-core-card header { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.fed-core-card header strong { min-width: 0; color: #cfd6de; font-size: 11px; overflow-wrap: anywhere; }
.fed-core-card time { color: #7f8995; font-size: 9px; white-space: nowrap; }
.fed-core-card-main { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(160px, 1.2fr); align-items: center; gap: 16px; min-height: 72px; margin: 5px 0 6px; }
.fed-core-card-main > b { color: #f0f3f6; font: 700 19px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-kpi-chart { width: 100%; min-width: 0; height: 66px; }
.fed-core-card dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 0; }
.fed-core-card dl div { min-width: 0; }
.fed-core-card dt { color: #7f8995; font-size: 9px; }
.fed-core-card dd { margin: 3px 0 0; color: #bcc5cf; font: 600 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-trend-good { color: #75c99a !important; }
.fed-trend-bad { color: #e9968f !important; }

.fed-balance-overview-layout {
  display: grid;
  grid-template-columns: 610px minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
}

.fed-balance-list {
  border-right: 1px solid var(--border);
  background: #171a1f;
}

.fed-balance-list-row {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  grid-template-rows: minmax(25px, auto) 43px;
  min-width: 0;
  min-height: 84px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(48,54,64,.72);
}
.fed-balance-list-row:last-child { border-bottom: 0; }
.fed-balance-list-row header {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
.fed-balance-list-row header strong { color: #dce3ea; font-size: 11px; line-height: 1.25; overflow-wrap: anywhere; }
.fed-balance-list-row header time { flex: none; color: #7f8995; font-size: 9px; white-space: nowrap; }
.fed-balance-list-value {
  align-self: center;
  color: #f0f3f6;
  font: 700 16px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}
.fed-balance-list-row dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 6px;
  margin: 0;
}
.fed-balance-list-row dl div { min-width: 0; padding-left: 8px; border-left: 1px solid rgba(89,97,109,.35); }
.fed-balance-list-row dt { color: #7f8995; font-size: 9px; }
.fed-balance-list-row dd { margin: 4px 0 0; color: #bcc5cf; font: 600 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }

.fed-overview-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(280px, 1fr));
  min-width: 0;
  background: #15181d;
}
.fed-overview-chart-panel { display: grid; grid-template-rows: 40px minmax(240px, 1fr); min-width: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fed-overview-chart-panel:nth-child(2n) { border-right: 0; }
.fed-overview-chart-panel:last-child { border-bottom: 0; }
.fed-overview-chart-panel header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 13px; border-bottom: 1px solid rgba(48,54,64,.55); }
.fed-overview-chart-panel h3 { margin: 0; color: #dce3ea; font-size: 11px; }
.fed-overview-chart-panel header span { color: var(--muted); font-size: 9px; white-space: nowrap; }
.fed-overview-chart { width: 100%; min-width: 0; min-height: 240px; }
.fed-overview-chart-panel-wide { grid-column: 1 / -1; grid-template-rows: 40px minmax(300px, 1fr); border-right: 0; }
.fed-overview-chart-panel-wide:nth-child(2n) { border-right: 0; }
.fed-overview-chart-wide { min-height: 300px; }
.fed-overview-net-panel { grid-template-rows: 40px auto minmax(300px, 1fr); }
.fed-net-inline-head { overflow-x: auto; }
.fed-net-inline-head > div { display: flex; align-items: center; gap: 20px; min-width: max-content; white-space: nowrap; }
.fed-net-inline-head > div span { display: inline-flex; align-items: center; gap: 6px; color: #818c98; font-size: 9px; }
.fed-net-inline-head strong,
.fed-net-inline-head > b { font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-net-inline-head > b { margin-left: auto; color: #c8d0d8; }
.fed-overview-chart-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 14px; align-items: center; padding: 9px 14px; border-bottom: 1px solid rgba(48,54,64,.55); background: #171a1f; }
.fed-overview-chart-meta code { color: #9bc7b1; font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-overview-chart-meta span { color: var(--muted); font-size: 9px; line-height: 1.45; }

.fed-supply-analysis { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #15181d; }
.fed-supply-analysis-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 52px; padding: 9px 16px; border-bottom: 1px solid var(--border); background: #1a1e24; }
.fed-supply-analysis-head > div { display: flex; align-items: baseline; gap: 12px; }
.fed-supply-analysis-head span { color: #72b897; font-size: 10px; font-weight: 700; }
.fed-supply-analysis-head h3 { margin: 0; color: #edf1f5; font-size: 14px; }
.fed-supply-analysis-head small { color: var(--muted); font-size: 10px; }
.fed-analysis-block + .fed-analysis-block { border-top: 1px solid var(--border); }
.fed-analysis-block > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; padding: 8px 16px; border-bottom: 1px solid rgba(48,54,64,.72); background: #171a1f; }
.fed-analysis-block > header h4 { margin: 0; color: #e1e7ed; font-size: 12px; }
.fed-analysis-block > header span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.fed-analysis-block > header > b { color: #aeb7c1; font: 600 10px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-analysis-chart { width: 100%; min-width: 0; height: 320px; }

.fed-maturity-signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.fed-maturity-signals > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 102px; padding: 13px 16px; border-right: 1px solid rgba(48,54,64,.72); }
.fed-maturity-signals > div:last-child { border-right: 0; }
.fed-maturity-signals header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fed-maturity-signals strong { color: #e2e8ee; font-size: 13px; }
.fed-maturity-signals header b { color: #eef2f5; font: 700 14px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-maturity-signals dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 11px 0 0; }
.fed-maturity-signals dl div { min-width: 0; padding-top: 7px; border-top: 1px solid rgba(89,97,109,.35); }
.fed-maturity-signals dt { color: #7f8995; font-size: 9px; }
.fed-maturity-signals dd { margin: 4px 0 0; color: #bac3cc; font: 600 9px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-maturity-table-wrap { overflow-x: auto; }
.fed-maturity-table { width: 100%; min-width: 1120px; border-collapse: collapse; table-layout: fixed; }
.fed-maturity-table th,
.fed-maturity-table td { padding: 12px 11px; border-right: 1px solid rgba(48,54,64,.55); border-bottom: 1px solid rgba(48,54,64,.55); color: #c4ccd5; font-size: 11px; text-align: right; white-space: nowrap; }
.fed-maturity-table th:first-child,
.fed-maturity-table td:first-child { width: 180px; text-align: left; }
.fed-maturity-table thead th { color: #9ba6b2; font-size: 10px; font-weight: 600; background: #181c21; }
.fed-maturity-table thead th span { display: inline-block; width: 7px; height: 7px; margin-right: 6px; background: var(--bucket-color); }
.fed-maturity-table tbody th { color: #e1e7ed; font-size: 12px; }
.fed-maturity-table tbody strong { color: #f0f3f6; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-maturity-table tr:last-child th,
.fed-maturity-table tr:last-child td { border-bottom: 0; }
.fed-maturity-table th:last-child,
.fed-maturity-table td:last-child { border-right: 0; }
.fed-maturity-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.fed-maturity-chart-panel { min-width: 0; border-right: 1px solid var(--border); background: #15181d; }
.fed-maturity-chart-panel:last-child { border-right: 0; }
.fed-maturity-chart-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; padding: 8px 13px; border-bottom: 1px solid rgba(48,54,64,.55); }
.fed-maturity-chart-panel h5 { margin: 0; color: #dce3ea; font-size: 11px; }
.fed-maturity-chart-panel header span { color: var(--muted); font-size: 9px; }
.fed-maturity-mini-chart { width: 100%; min-width: 0; height: 270px; }

.fed-issuance-overview { display: grid; grid-template-columns: minmax(570px, .95fr) minmax(0, 1.05fr); border-bottom: 1px solid var(--border); }
.fed-issuance-matrix { align-self: stretch; border-right: 1px solid var(--border); }
.fed-issuance-matrix-head,
.fed-issuance-matrix-row { display: grid; grid-template-columns: minmax(190px, 1.45fr) repeat(3, minmax(105px, 1fr)); align-items: center; min-height: 64px; }
.fed-issuance-matrix-head { min-height: 38px; color: #7f8995; font-size: 9px; background: #181c21; }
.fed-issuance-matrix-head span,
.fed-issuance-matrix-row > * { min-width: 0; padding: 0 13px; text-align: right; }
.fed-issuance-matrix-head span:first-child,
.fed-issuance-matrix-row strong { text-align: left; }
.fed-issuance-matrix-row { border-top: 1px solid rgba(48,54,64,.6); }
.fed-issuance-matrix-row strong { color: #d8dfe6; font-size: 10px; }
.fed-issuance-matrix-row span,
.fed-issuance-matrix-row b { color: #bcc5cf; font: 600 10px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-issuance-matrix-row b { color: #eef1f5; }
.fed-issuance-row-maturity span,
.fed-issuance-row-maturity b { color: #74c79a; }
.fed-issuance-row-net span,
.fed-issuance-row-net b { color: #e3b96d; }
.fed-issuance-state-tightening { color: #e9968f !important; }
.fed-issuance-state-easing { color: #75c99a !important; }
.fed-issuance-visuals { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); min-width: 0; }
.fed-issuance-visuals article { min-width: 0; border-bottom: 1px solid var(--border); }
.fed-issuance-visuals article:last-child { border-bottom: 0; }
.fed-issuance-visuals header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; padding: 7px 13px; border-bottom: 1px solid rgba(48,54,64,.55); }
.fed-issuance-visuals h5 { margin: 0; color: #dce3ea; font-size: 11px; }
.fed-issuance-visuals header span { color: var(--muted); font-size: 9px; }
.fed-issuance-mini-chart { width: 100%; min-width: 0; height: 150px; }
.fed-analysis-formula { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 16px; min-height: 42px; padding: 8px 16px; background: #171a1f; }
.fed-analysis-formula code { color: #9bc7b1; font: 10px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-analysis-formula span { color: var(--muted); font-size: 9px; line-height: 1.45; }

.fed-stage { border-bottom: 1px solid var(--border); }
.fed-stage:last-child { border-bottom: 0; }
.fed-stage-head { min-height: 46px; background: #1a1e24; }
.fed-stage-head span { color: #72b897; font-weight: 700; }
.fed-stage-head h3 { color: #edf1f5; font-size: 14px; }
.fed-stage-head > strong { color: #edf1f5; font: 700 15px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.fed-system-monitor { border-top: 1px solid #3d4652; background: #15191f; }
.fed-system-head,
.fed-system-section > header { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 10px 14px; border-bottom: 1px solid #323945; background: #1a1f26; }
.fed-system-head > div,
.fed-system-section > header > div { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.fed-system-head h3 { margin: 0; color: #f0f3f6; font-size: 15px; }
.fed-system-head span,
.fed-system-head time,
.fed-system-section > header span { color: #929da9; font-size: 11px; }
.fed-system-score-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid #323945; }
.fed-system-score { min-width: 0; padding: 12px; border-right: 1px solid #323945; }
.fed-system-score:last-child { border-right: 0; }
.fed-system-score > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 31px; }
.fed-system-score > header strong { color: #d9e0e7; font-size: 11px; line-height: 1.35; }
.fed-system-score > header time { color: #727d89; font-size: 9px; }
.fed-system-score-value { display: flex; align-items: baseline; gap: 3px; margin-top: 5px; }
.fed-system-score-value b { color: #f0f3f6; font: 700 25px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-system-score-value small { color: #8994a1; font-size: 10px; }
.fed-system-score > p { display: flex; justify-content: space-between; gap: 6px; min-height: 30px; margin: 8px 0; color: #adb6c0; font-size: 10px; line-height: 1.35; }
.fed-system-score > p span { flex: 0 0 auto; color: #7f8996; }
.fed-system-score-low { box-shadow: inset 0 2px 0 #55ad83; }
.fed-system-score-watch { box-shadow: inset 0 2px 0 #c69a54; }
.fed-system-score-high { box-shadow: inset 0 2px 0 #d87870; }
.fed-driver-list { display: grid; gap: 4px; }
.fed-driver-list > div { display: grid; grid-template-columns: minmax(62px, 1fr) 46px 22px; align-items: center; gap: 5px; }
.fed-driver-list span,
.fed-driver-list strong { color: #7f8996; font-size: 9px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fed-driver-list strong { text-align: right; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-driver-list i { display: block; height: 3px; background: #303741; }
.fed-driver-list i b { display: block; height: 100%; background: #6d91ba; }
.fed-system-chart-panel { min-width: 0; background: #161b21; }
.fed-system-chart-panel > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-height: 35px; padding: 9px 11px 0; }
.fed-system-chart-panel h4,
.fed-system-chart-panel h5 { margin: 0; color: #d7dee6; font-size: 12px; }
.fed-system-chart-panel > header span { color: #788491; font-size: 9px; }
.fed-system-chart { width: 100%; height: 230px; }
.fed-system-chart-tall { height: 282px; }
.fed-system-chart-wide { border-bottom: 1px solid #323945; }
.fed-system-chart-wide .fed-system-chart { height: 210px; }
.fed-system-section { border-bottom: 1px solid #3a424e; }
.fed-system-section > header h4 { margin: 0; color: #e4e9ee; font-size: 13px; }
.fed-tail-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); }
.fed-tail-summary { border-right: 1px solid #323945; }
.fed-tail-summary > article { padding: 11px 13px; border-bottom: 1px solid #2f3741; }
.fed-tail-summary > article:last-child { border-bottom: 0; }
.fed-tail-summary header { display: flex; justify-content: space-between; gap: 7px; }
.fed-tail-summary header strong { color: #bfc8d1; font-size: 10px; }
.fed-tail-summary header time { color: #6f7a86; font-size: 9px; }
.fed-tail-summary article > b { display: block; margin: 6px 0; color: #edf1f5; font: 700 20px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-tail-summary dl { display: flex; justify-content: space-between; gap: 8px; margin: 0; }
.fed-tail-summary dl div { display: flex; gap: 5px; }
.fed-tail-summary dt,
.fed-tail-summary dd { margin: 0; color: #7e8995; font-size: 9px; }
.fed-tail-summary dd { color: #b4bdc7; }
.fed-rde-card { box-shadow: inset 2px 0 #8d79b8; }
.fed-system-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fed-system-chart-grid > article { border-right: 1px solid #323945; border-bottom: 1px solid #323945; }
.fed-system-chart-grid > article:nth-child(2n) { border-right: 0; }
.fed-system-chart-span { grid-column: 1 / -1; border-right: 0 !important; }
.fed-system-chart-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fed-system-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #323945; }
.fed-system-kpis article { min-width: 0; padding: 11px 13px; border-right: 1px solid #323945; }
.fed-system-kpis article:last-child { border-right: 0; }
.fed-system-kpis span { display: block; min-height: 28px; color: #9ea9b4; font-size: 10px; line-height: 1.35; }
.fed-system-kpis strong { display: block; margin: 4px 0; color: #edf1f5; font: 700 18px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-system-kpis small { display: block; color: #76828e; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fed-credit-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #323945; border-bottom: 1px solid #323945; }
.fed-credit-category-grid article { min-width: 0; border-right: 1px solid #323945; }
.fed-credit-category-grid article:last-child { border-right: 0; }
.fed-credit-category-grid header { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 10px 11px 0; }
.fed-credit-category-grid header div { min-width: 0; }
.fed-credit-category-grid header strong,
.fed-credit-category-grid header span { display: block; color: #bfc8d1; font-size: 10px; }
.fed-credit-category-grid header span { margin-top: 4px; color: #edf1f5; font: 700 15px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-credit-category-grid header small { color: #788491; font-size: 9px; text-align: right; }
.fed-credit-mini-chart { height: 125px; }
.fed-conditions-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, .8fr); }
.fed-conditions-layout > div { border-right: 1px solid #323945; }
.fed-condition-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid #323945; }
.fed-condition-cards article { padding: 11px 13px; border-right: 1px solid #323945; }
.fed-condition-cards article:last-child { border-right: 0; }
.fed-condition-cards span,
.fed-condition-cards small,
.fed-condition-cards p { display: block; margin: 0; color: #85909c; font-size: 9px; }
.fed-condition-cards strong { display: block; margin: 4px 0; color: #edf1f5; font: 700 20px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-condition-cards p { margin-top: 4px; }
.fed-swap-events > header { display: flex; justify-content: space-between; gap: 8px; padding: 11px 12px; border-bottom: 1px solid #323945; }
.fed-swap-events h5 { margin: 0; color: #d7dee6; font-size: 11px; }
.fed-swap-events header span { color: #77828e; font-size: 9px; }
.fed-swap-events article { display: grid; grid-template-columns: 60px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px 12px; border-bottom: 1px solid #2c333d; }
.fed-swap-events time,
.fed-swap-events span { color: #77828e; font-size: 9px; }
.fed-swap-events strong { display: block; color: #bdc6cf; font-size: 10px; }
.fed-swap-events b { color: #e2e7ec; font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-system-formulas { border-top: 1px solid #323945; }
.fed-system-formulas summary { padding: 12px 14px; color: #b9c2cb; font-size: 11px; cursor: pointer; }
.fed-system-formulas > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #323945; }
.fed-system-formulas article { padding: 11px 13px; border-right: 1px solid #323945; border-bottom: 1px solid #323945; }
.fed-system-formulas strong,
.fed-system-formulas code,
.fed-system-formulas p { display: block; margin: 0 0 6px; }
.fed-system-formulas strong { color: #d2d9e0; font-size: 10px; }
.fed-system-formulas code { color: #72b897; font-size: 9px; white-space: normal; }
.fed-system-formulas p { color: #818c98; font-size: 9px; line-height: 1.5; }

@media (max-width: 980px) {
  .fed-system-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fed-system-score { border-bottom: 1px solid #323945; }
  .fed-system-score:nth-child(2n) { border-right: 0; }
  .fed-system-score:last-child { grid-column: 1 / -1; }
  .fed-tail-layout { grid-template-columns: 220px minmax(0, 1fr); }
  .fed-system-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fed-system-kpis article:nth-child(2n) { border-right: 0; }
  .fed-system-kpis article:nth-child(-n + 2) { border-bottom: 1px solid #323945; }
  .fed-conditions-layout { grid-template-columns: 1fr; }
  .fed-conditions-layout > div { border-right: 0; border-bottom: 1px solid #323945; }
}

@media (max-width: 680px) {
  .fed-system-head,
  .fed-system-section > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .fed-system-head > div,
  .fed-system-section > header > div { display: block; }
  .fed-system-head span,
  .fed-system-section > header span { display: block; margin-top: 3px; }
  .fed-system-score-grid,
  .fed-system-kpis,
  .fed-system-chart-grid,
  .fed-system-chart-grid-four,
  .fed-credit-category-grid,
  .fed-condition-cards,
  .fed-system-formulas > div { grid-template-columns: 1fr; }
  .fed-system-score,
  .fed-system-kpis article,
  .fed-credit-category-grid article,
  .fed-condition-cards article,
  .fed-system-formulas article { border-right: 0; border-bottom: 1px solid #323945; }
  .fed-system-score:last-child { grid-column: auto; }
  .fed-tail-layout { grid-template-columns: 1fr; }
  .fed-tail-summary { border-right: 0; border-bottom: 1px solid #323945; }
  .fed-system-chart-span { grid-column: auto; }
  .fed-system-chart-grid > article { border-right: 0; }
  .fed-system-chart { height: 215px; }
  .fed-system-chart-tall { height: 250px; }
  .fed-credit-category-grid header { align-items: flex-start; }
  .fed-swap-events article { grid-template-columns: 54px minmax(0, 1fr); }
  .fed-swap-events article b { grid-column: 2; }
}

.esf-dashboard { border: 1px solid #333b46; background: #15191f; }
.esf-dashboard-head,
.esf-section > header { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 10px 14px; border-bottom: 1px solid #343c47; background: #1a1f26; }
.esf-dashboard-head > div,
.esf-section > header > div { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.esf-dashboard-head h2 { margin: 0; color: #f0f3f6; font-size: 16px; }
.esf-dashboard-head span,
.esf-dashboard-head time,
.esf-section > header span,
.esf-section > header > strong { color: #8994a0; font-size: 10px; }
.esf-intervention-status { display: grid; grid-template-columns: 1fr .75fr 1.35fr 1.5fr; border-bottom: 1px solid #3a424d; }
.esf-intervention-status > article { min-width: 0; padding: 13px 14px; border-right: 1px solid #343c47; box-shadow: inset 0 2px 0 #c69a54; }
.esf-intervention-status > article.esf-status-low { box-shadow: inset 0 2px 0 #55ad83; }
.esf-intervention-status > article.esf-status-high { box-shadow: inset 0 2px 0 #d87870; }
.esf-intervention-status article > span,
.esf-intervention-status article > small { display: block; color: #8994a0; font-size: 9px; }
.esf-intervention-status article > strong { display: block; min-height: 32px; margin: 7px 0 4px; color: #eef2f5; font-size: 15px; line-height: 1.25; }
.esf-score-parts { display: grid; align-content: center; gap: 5px; padding: 10px 13px; }
.esf-score-parts > div { display: grid; grid-template-columns: minmax(90px, 1fr) 60px 20px; align-items: center; gap: 6px; }
.esf-score-parts span,
.esf-score-parts strong { color: #8c97a3; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.esf-score-parts strong { text-align: right; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-score-parts i { display: block; height: 4px; background: #303842; }
.esf-score-parts i b { display: block; height: 100%; background: #c69a54; }
.esf-core-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #3b434e; }
.esf-core-card { min-width: 0; padding: 12px 13px; border-right: 1px solid #343c47; border-bottom: 1px solid #343c47; }
.esf-core-card:nth-child(4n) { border-right: 0; }
.esf-core-card:nth-child(n + 5) { border-bottom: 0; }
.esf-core-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 7px; min-height: 29px; }
.esf-core-card header strong { color: #bac3cc; font-size: 10px; }
.esf-core-card header span { color: #737e8a; font-size: 8px; text-align: right; }
.esf-core-card > b { display: block; margin: 5px 0; color: #eef2f5; font: 700 22px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-core-card > small { color: #83909b; font-size: 9px; }
.esf-core-sdr { box-shadow: inset 2px 0 #8d79b8; }
.esf-core-immediate { box-shadow: inset 2px 0 #55ad83; }
.esf-core-score { box-shadow: inset 2px 0 #c69a54; }
.esf-section { border-bottom: 1px solid #3b434e; }
.esf-section > header h3 { margin: 0; color: #e4e9ee; font-size: 13px; }
.esf-resource-layout,
.esf-currency-layout,
.esf-proxy-layout,
.esf-sdr-layout { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.7fr); }
.esf-resource-list,
.esf-currency-cards,
.esf-proxy-cards,
.esf-sdr-cards { border-right: 1px solid #343c47; }
.esf-resource-list article { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 10px 13px; border-bottom: 1px solid #303842; }
.esf-resource-list article:last-child { border-bottom: 0; }
.esf-resource-list span { color: #9ca7b2; font-size: 10px; }
.esf-resource-list strong { color: #e4e9ee; font: 700 15px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-resource-usd { box-shadow: inset 2px 0 #55ad83; }
.esf-resource-short { box-shadow: inset 2px 0 #638cbc; }
.esf-resource-long { box-shadow: inset 2px 0 #c69a54; }
.esf-resource-sdr { box-shadow: inset 2px 0 #8d79b8; }
.esf-chart-panel { min-width: 0; background: #161b21; }
.esf-chart-panel > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-height: 36px; padding: 9px 11px 0; }
.esf-chart-panel h4 { margin: 0; color: #d2dae2; font-size: 11px; }
.esf-chart-panel header span { color: #78838f; font-size: 9px; }
.esf-chart { width: 100%; height: 250px; }
.esf-chart-medium { height: 220px; }
.esf-currency-cards article { padding: 13px; border-bottom: 1px solid #303842; }
.esf-currency-cards article:last-child { border-bottom: 0; }
.esf-currency-cards header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.esf-currency-cards header strong { color: #b9c2cb; font-size: 11px; }
.esf-currency-cards header b { color: #edf1f5; font: 700 16px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-currency-cards dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0 0; }
.esf-currency-cards dl div { border-right: 1px solid #323a44; }
.esf-currency-cards dl div:last-child { padding-left: 10px; border-right: 0; }
.esf-currency-cards dt,
.esf-currency-cards dd { margin: 0; color: #7d8894; font-size: 9px; }
.esf-currency-cards dd { margin-top: 4px; color: #bdc6cf; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #343c47; }
.esf-kpi-grid article,
.esf-proxy-cards article,
.esf-sdr-cards article { min-width: 0; padding: 12px 13px; border-right: 1px solid #343c47; }
.esf-kpi-grid article:last-child { border-right: 0; }
.esf-kpi-grid span,
.esf-proxy-cards span,
.esf-sdr-cards span { display: block; min-height: 25px; color: #929da8; font-size: 9px; }
.esf-kpi-grid strong,
.esf-proxy-cards strong,
.esf-sdr-cards strong { display: block; margin: 5px 0; color: #edf1f5; font: 700 17px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-kpi-grid small,
.esf-proxy-cards small { color: #74808c; font-size: 8px; }
.esf-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.esf-chart-grid > article:first-child { border-right: 1px solid #343c47; }
.esf-proxy-cards { display: grid; align-content: stretch; }
.esf-proxy-cards article { border-right: 0; border-bottom: 1px solid #303842; }
.esf-proxy-cards article:last-child { border-bottom: 0; }
.esf-sdr-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.esf-sdr-cards article { border-bottom: 1px solid #303842; }
.esf-sdr-cards article:nth-child(2n) { border-right: 0; }
.esf-sdr-cards article:nth-child(n + 3) { border-bottom: 0; }
.esf-market-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #343c47; }
.esf-market-cards article { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 11px 13px; border-right: 1px solid #343c47; }
.esf-market-cards article:last-child { border-right: 0; }
.esf-market-cards span { color: #949faa; font-size: 9px; }
.esf-market-cards strong { color: #edf1f5; font: 700 17px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.esf-market-cards time { grid-column: 1 / -1; color: #717d89; font-size: 8px; }
.esf-market-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(285px, .8fr); }
.esf-market-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-right: 1px solid #343c47; }
.esf-market-chart-grid > article { border-right: 1px solid #303842; }
.esf-market-chart-grid > article:last-child { border-right: 0; }
.esf-market-chart { height: 245px; }
.esf-event-list > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 10px 12px; border-bottom: 1px solid #343c47; }
.esf-event-list h4 { margin: 0; color: #d2dae2; font-size: 11px; }
.esf-event-list header span { color: #78838f; font-size: 9px; }
.esf-event-list article { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; padding: 9px 11px; border-bottom: 1px solid #2c333c; }
.esf-event-list article.event-confirmed { box-shadow: inset 2px 0 #d87870; }
.esf-event-list time { color: #798591; font-size: 8px; }
.esf-event-list strong,
.esf-event-list span { display: block; color: #b7c0c9; font-size: 9px; }
.esf-event-list span { margin-top: 3px; color: #737f8a; line-height: 1.35; }
.esf-methodology summary { padding: 12px 14px; color: #b8c1ca; font-size: 11px; cursor: pointer; }
.esf-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #343c47; }
.esf-method-grid article { padding: 11px 12px; border-right: 1px solid #343c47; border-bottom: 1px solid #343c47; }
.esf-method-grid strong,
.esf-method-grid code,
.esf-method-grid p { display: block; margin: 0 0 6px; }
.esf-method-grid strong { color: #ccd4dc; font-size: 9px; }
.esf-method-grid code { color: #72b897; font-size: 9px; white-space: normal; }
.esf-method-grid p { color: #7d8894; font-size: 9px; line-height: 1.45; }
.esf-accounting { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 11px 13px; }
.esf-accounting span,
.esf-accounting a { color: #8c97a2; font-size: 9px; }
.esf-accounting a { color: #6f9cc7; }
.esf-empty { padding: 18px; border: 1px solid #343c47; color: #8d98a4; }

/* Global monthly silver trade terminal */
.trade-terminal,
.trade-methodology,
.trade-empty { border: 1px solid #343c47; border-bottom: 0; background: #15191f; }
.trade-terminal:last-of-type,
.trade-methodology { border-bottom: 1px solid #343c47; }
.trade-head,
.trade-section-head { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 9px 14px; border-bottom: 1px solid #343c47; background: #1a1f26; }
.trade-head > div:first-child,
.trade-section-head > div:first-child { min-width: 0; }
.trade-head h2,
.trade-section-head h2 { margin: 0; color: #edf1f5; font-size: 15px; }
.trade-head span,
.trade-section-head span { display: block; margin-top: 3px; color: #818c98; font-size: 9px; }
.trade-scope-control { display: flex; align-items: center; border: 1px solid #3b444f; }
.trade-scope-control button { min-height: 30px; padding: 0 11px; border: 0; border-right: 1px solid #3b444f; border-radius: 0; background: #171c22; color: #8995a0; font-size: 9px; cursor: pointer; }
.trade-scope-control button:last-child { border-right: 0; }
.trade-scope-control button.active { background: #2b3740; color: #e8edf2; box-shadow: inset 0 -2px #55ad83; }
.trade-status-line { display: flex; justify-content: space-between; gap: 15px; padding: 7px 14px; border-bottom: 1px solid #303842; color: #74808c; font-size: 8px; }
.trade-summary-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.trade-kpi { min-width: 0; padding: 12px 13px; border-right: 1px solid #343c47; border-bottom: 1px solid #343c47; box-shadow: inset 0 2px #638cbc; }
.trade-summary-grid .trade-kpi:last-child,
.trade-route-kpis .trade-kpi:last-child { border-right: 0; }
.trade-kpi.good { box-shadow: inset 0 2px #55ad83; }
.trade-kpi.warn { box-shadow: inset 0 2px #c69a54; }
.trade-kpi.bad { box-shadow: inset 0 2px #d87870; }
.trade-kpi span,
.trade-kpi small { display: block; color: #818d98; font-size: 8px; line-height: 1.35; }
.trade-kpi strong { display: block; min-height: 22px; margin: 7px 0 5px; color: #eef2f5; font: 700 16px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.trade-role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.trade-role-grid > section { min-width: 0; border-right: 1px solid #343c47; }
.trade-role-grid > section:last-child { border-right: 0; }
.trade-role-grid > section > header { display: flex; justify-content: space-between; padding: 9px 11px; border-bottom: 1px solid #303842; }
.trade-role-grid > section > header strong { color: #bfc8d1; font-size: 10px; }
.trade-role-grid > section > header span { color: #74808c; font-size: 8px; }
.trade-role-grid button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 47px; padding: 8px 11px; border: 0; border-bottom: 1px solid #2d353e; border-radius: 0; background: transparent; color: #b8c2cc; text-align: left; cursor: pointer; }
.trade-role-grid button:hover { background: #1d232a; }
.trade-role-grid button span { min-width: 0; font-size: 10px; }
.trade-role-grid button small { display: block; margin-top: 3px; color: #6f7b87; font-size: 8px; }
.trade-role-grid button strong { margin-left: 8px; color: #d6dde4; font: 700 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.trade-role-grid .positive,
.trade-table .positive { color: #65b88d; }
.trade-role-grid .negative,
.trade-table .negative { color: #d8a55c; }
.trade-global-grid,
.trade-country-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.trade-chart-panel { min-width: 0; border-right: 1px solid #343c47; border-bottom: 1px solid #343c47; background: #161b21; }
.trade-chart-panel:nth-child(2n) { border-right: 0; }
.trade-chart-panel.trade-chart-wide { grid-column: 1 / -1; border-right: 0; }
.trade-chart-panel > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-height: 37px; padding: 9px 11px 0; }
.trade-chart-panel h3 { margin: 0; color: #ccd5dd; font-size: 11px; }
.trade-chart-panel header span { color: #727e89; font-size: 8px; text-align: right; }
.trade-chart { width: 100%; height: 280px; }
.trade-chart-tall { height: 390px; }
.trade-chart-matrix { height: 510px; }
.trade-detail-head label,
.trade-route-selectors label { display: flex; align-items: center; gap: 7px; color: #84909b; font-size: 9px; }
.trade-detail-head select,
.trade-route-selectors select { min-width: 150px; height: 30px; border: 1px solid #46505c; border-radius: 2px; background: #14191f; color: #d9e0e7; font-size: 10px; }
.trade-country-kpis { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); }
.trade-country-kpis .trade-kpi { border-bottom: 1px solid #343c47; }
.trade-country-kpis .trade-kpi:last-child { border-right: 0; }
.trade-route-head { gap: 14px; }
.trade-route-selectors { display: flex; align-items: center; gap: 10px; }
.trade-route-selectors > span { color: #6e7985; }
.trade-route-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.trade-route-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .7fr); }
.trade-route-grid > article:first-child { border-right: 1px solid #343c47; }
.trade-table-wrap { overflow-x: auto; }
.trade-table { width: 100%; min-width: 960px; border-collapse: collapse; }
.trade-table th { padding: 9px 11px; border-right: 1px solid #343c47; border-bottom: 1px solid #3b444f; background: #1a2027; color: #82909b; font-size: 8px; text-align: right; white-space: nowrap; }
.trade-table th:first-child { text-align: left; }
.trade-table td { padding: 9px 11px; border-right: 1px solid #303842; border-bottom: 1px solid #2e363f; color: #b7c1ca; font: 9px/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: right; white-space: nowrap; }
.trade-table td:first-child { text-align: left; }
.trade-table tbody tr { cursor: pointer; }
.trade-table tbody tr:hover { background: #1d232a; }
.trade-table td strong,
.trade-table td small { display: block; }
.trade-table td strong { color: #d6dde4; font-family: system-ui, sans-serif; font-size: 10px; }
.trade-table td small { margin-top: 3px; color: #6f7b87; font-size: 8px; }
.trade-methodology summary { padding: 12px 14px; color: #b9c2cb; font-size: 10px; cursor: pointer; }
.trade-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #343c47; }
.trade-method-grid article { padding: 11px 12px; border-right: 1px solid #343c47; border-bottom: 1px solid #343c47; }
.trade-method-grid article:nth-child(3n) { border-right: 0; }
.trade-method-grid strong,
.trade-method-grid code { display: block; margin-bottom: 6px; font-size: 9px; }
.trade-method-grid strong { color: #cbd4dc; }
.trade-method-grid code { color: #76b596; white-space: normal; }
.trade-method-grid p,
.trade-source-note p,
.trade-source-note a { margin: 0; color: #7d8994; font-size: 9px; line-height: 1.5; }
.trade-source-note { display: flex; flex-wrap: wrap; gap: 7px 18px; padding: 11px 13px; }
.trade-source-note a { color: #6f9cc7; }
.trade-empty { padding: 22px; }
.trade-empty h2 { margin: 0 0 7px; color: #d8dfe6; font-size: 15px; }
.trade-empty p { margin: 0; color: #7d8994; font-size: 10px; }

@media (max-width: 1180px) {
  .trade-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trade-country-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trade-route-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trade-kpi:nth-child(3n) { border-right: 0; }
}

@media (max-width: 760px) {
  .trade-head,
  .trade-section-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .trade-scope-control { width: 100%; overflow-x: auto; }
  .trade-scope-control button { flex: 1 0 max-content; }
  .trade-status-line { align-items: flex-start; flex-direction: column; gap: 3px; }
  .trade-summary-grid,
  .trade-role-grid,
  .trade-global-grid,
  .trade-country-grid,
  .trade-route-grid,
  .trade-method-grid { grid-template-columns: 1fr; }
  .trade-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trade-country-kpis,
  .trade-route-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trade-kpi:nth-child(n) { border-right: 1px solid #343c47; }
  .trade-kpi:nth-child(2n) { border-right: 0; }
  .trade-role-grid > section,
  .trade-chart-panel,
  .trade-route-grid > article:first-child,
  .trade-method-grid article { border-right: 0; }
  .trade-chart-panel.trade-chart-wide { grid-column: auto; }
  .trade-route-selectors { width: 100%; }
  .trade-route-selectors label { flex: 1; align-items: flex-start; flex-direction: column; }
  .trade-route-selectors select,
  .trade-detail-head select { width: 100%; min-width: 0; }
  .trade-detail-head label { width: 100%; justify-content: space-between; }
  .trade-chart { height: 240px; }
  .trade-chart-tall { height: 350px; }
  .trade-chart-matrix { height: 390px; }
  .trade-method-grid article:nth-child(n) { border-right: 0; }
}

@media (max-width: 980px) {
  .esf-intervention-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esf-intervention-status > article:nth-child(2) { border-right: 0; }
  .esf-score-parts { border-top: 1px solid #343c47; }
  .esf-core-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esf-core-card:nth-child(2n) { border-right: 0; }
  .esf-core-card:nth-child(n + 5) { border-bottom: 1px solid #343c47; }
  .esf-core-card:nth-child(n + 7) { border-bottom: 0; }
  .esf-market-layout { grid-template-columns: 1fr; }
  .esf-market-chart-grid { border-right: 0; border-bottom: 1px solid #343c47; }
  .esf-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .esf-dashboard-head,
  .esf-section > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .esf-dashboard-head > div,
  .esf-section > header > div { display: block; }
  .esf-dashboard-head span,
  .esf-section > header span { display: block; margin-top: 3px; }
  .esf-intervention-status,
  .esf-core-grid,
  .esf-resource-layout,
  .esf-currency-layout,
  .esf-kpi-grid,
  .esf-chart-grid,
  .esf-proxy-layout,
  .esf-sdr-layout,
  .esf-market-cards,
  .esf-market-chart-grid,
  .esf-method-grid { grid-template-columns: 1fr; }
  .esf-intervention-status > article,
  .esf-core-card,
  .esf-kpi-grid article,
  .esf-market-cards article,
  .esf-market-chart-grid > article,
  .esf-method-grid article { border-right: 0; border-bottom: 1px solid #343c47; }
  .esf-core-card:nth-child(n) { border-bottom: 1px solid #343c47; }
  .esf-score-parts { border-top: 0; }
  .esf-resource-list,
  .esf-currency-cards,
  .esf-proxy-cards,
  .esf-sdr-cards { border-right: 0; border-bottom: 1px solid #343c47; }
  .esf-chart { height: 220px; }
  .esf-market-chart { height: 215px; }
  .esf-market-chart-grid { border-bottom: 1px solid #343c47; }
}

.fed-formula-line { display: grid; grid-template-columns: 110px max-content minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--border); background: #171a1f; }
.fed-formula-line b { color: #dfe5eb; font-size: 11px; }
.fed-formula-line code,
.fed-formula-grid code { color: #9bc7b1; font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.fed-formula-line span { color: var(--muted); font-size: 10px; line-height: 1.4; }

.fed-chart-grid { display: grid; min-width: 0; }
.fed-chart-grid-halves { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fed-chart-grid-thirds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fed-chart-panel { min-width: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #15181d; }
.fed-chart-grid-halves .fed-chart-panel:nth-child(2n) { border-right: 0; }
.fed-chart-grid-thirds .fed-chart-panel:nth-child(3n) { border-right: 0; }
.fed-chart-panel header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 7px 14px; border-bottom: 1px solid rgba(48,54,64,.55); }
.fed-chart-panel h4 { color: #dce2e9; font-size: 12px; }
.fed-chart { width: 100%; min-width: 0; height: 230px; }
.fed-liquidity-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(390px, 1fr); min-width: 0; }
.fed-liquidity-primary { border-bottom: 0; }
.fed-liquidity-secondary { display: grid; grid-template-rows: repeat(3, 1fr); min-width: 0; }
.fed-liquidity-secondary .fed-chart-panel { border-right: 0; }
.fed-liquidity-secondary .fed-chart-panel:last-child { border-bottom: 0; }
.fed-liquidity-secondary .fed-chart { height: 202px; }
.fed-chart-large { height: 686px; }
.fed-chart-tall { height: 320px; }
.fed-net-liquidity-panel { border-right: 0; border-bottom: 0; }
.fed-chart-net { height: 380px; }

.tic-treasury-section { border-top: 1px solid var(--border); background: #15181d; }
.tic-treasury-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; padding: 8px 16px; border-bottom: 1px solid var(--border); background: #181c21; }
.tic-treasury-head h4 { margin: 0; color: #e4e9ee; font-size: 13px; }
.tic-treasury-head span { display: block; margin-top: 4px; color: #818c98; font-size: 9px; }
.tic-treasury-head time { color: #aeb8c2; font: 600 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.tic-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.tic-summary-grid > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; min-height: 62px; padding: 10px 14px; border-right: 1px solid var(--border); }
.tic-summary-grid > div:last-child { border-right: 0; }
.tic-summary-grid span { color: #858f9b; font-size: 9px; }
.tic-summary-grid strong { color: #e8edf2; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: right; white-space: nowrap; }
.tic-summary-grid small { grid-column: 1 / -1; font-size: 9px; text-align: right; }
.tic-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tic-chart-grid > article { min-width: 0; border-right: 1px solid var(--border); }
.tic-chart-grid > article:last-child { border-right: 0; }
.tic-chart-grid article > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 7px 14px; border-bottom: 1px solid rgba(48,54,64,.55); }
.tic-chart-grid h5 { margin: 0; color: #dce3ea; font-size: 11px; }
.tic-chart-grid header span { color: #818c98; font-size: 9px; }
.tic-chart { width: 100%; min-width: 0; height: 410px; }
.tic-treasury-section footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; padding: 8px 14px; border-top: 1px solid var(--border); background: #171a1f; }
.tic-treasury-section footer span { color: #858f9b; font-size: 9px; line-height: 1.45; }
.tic-treasury-section footer a { color: #76b997; font-size: 9px; white-space: nowrap; }

.fed-issuance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.fed-stress-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.fed-stress-summary div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; min-height: 50px; padding: 8px 14px; border-right: 1px solid var(--border); }
.fed-stress-summary div:last-child { border-right: 0; }
.fed-stress-summary span { color: var(--muted); font-size: 10px; }
.fed-stress-summary strong { color: #e6ebf0; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-stress-summary small { grid-column: 1 / -1; color: #8e98a4; font-size: 9px; }
.fed-issuance-summary div { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 46px; padding: 8px 14px; border-right: 1px solid var(--border); }
.fed-issuance-summary div:last-child { border-right: 0; }
.fed-issuance-summary span { color: var(--muted); font-size: 10px; }
.fed-issuance-summary strong { color: #e6ebf0; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }

.fed-explain-panel { background: #171a1f; }
.fed-explain-panel > summary { padding: 13px 16px; color: #dce3ea; font-size: 12px; font-weight: 700; cursor: pointer; }
.fed-formula-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.fed-formula-grid article { min-width: 0; padding: 13px 15px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fed-formula-grid article:nth-child(3n) { border-right: 0; }
.fed-formula-grid strong { display: block; margin-bottom: 7px; color: #e5eaf0; font-size: 11px; }
.fed-formula-grid p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.fed-balance-table-wrap { overflow-x: auto; padding: 12px 15px 0; }
.fed-balance-table-wrap h4 { margin-bottom: 8px; color: #dce3ea; font-size: 12px; }
.fed-balance-table { min-width: 1100px; font-size: 11px; }
.fed-balance-table th,
.fed-balance-table td { padding: 8px 10px; }
.fed-balance-table td:nth-child(3),
.fed-balance-table td:nth-child(4) { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.fed-balance-empty { margin: 0; padding: 20px 16px; color: var(--muted); }

.silver-inventory-band {
  width: min(1560px, calc(100% - 40px));
  margin: 22px auto 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #15181d;
}

.silver-inventory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 52px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--panel-strong);
}

.silver-inventory-head > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.silver-inventory-head h2 { margin: 0; font-size: 16px; }
.silver-inventory-head span,
.silver-inventory-head time { color: var(--muted); font-size: 12px; }
.silver-inventory-head time { white-space: nowrap; }

.silver-inventory-layout {
  display: grid;
  grid-template-columns: 350px minmax(0, 1fr);
  min-height: 560px;
}

.silver-inventory-chart-stack {
  display: grid;
  grid-template-rows: repeat(3, minmax(280px, 1fr));
  min-width: 0;
}

.silver-inventory-chart-row {
  display: grid;
  grid-template-rows: 42px minmax(238px, 1fr);
  min-width: 0;
  border-bottom: 1px solid var(--border);
}

.silver-inventory-chart-row:last-child { border-bottom: 0; }

.silver-inventory-chart-row > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 16px 4px;
  border-bottom: 1px solid rgba(48, 54, 64, .48);
}

.silver-inventory-chart-row > header > div { display: flex; align-items: center; gap: 8px; }
.silver-inventory-chart-row h3 { margin: 0; color: var(--text); font-size: 13px; }
.silver-inventory-chart-row time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.silver-inventory-chart-row i { display: inline-block; width: 11px; height: 8px; }
.silver-inventory-chart-row .legend-total { background: #697583; }
.silver-inventory-chart-row .legend-registered { width: 8px; background: #54b98a; }
.silver-inventory-chart-row .legend-received { background: #5a9bd5; }
.silver-inventory-chart-row .legend-withdrawn { background: #d58b6a; }
.inventory-dual-legend span { color: var(--muted); font-size: 10px; }
.inventory-dual-legend h3 { margin-left: 7px; }
.silver-inventory-chart { width: 100%; min-width: 0; min-height: 238px; }

.inventory-summary {
  padding: 18px 18px 14px;
  border-right: 1px solid var(--border);
  background: #171a1f;
}

.inventory-share-latest {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 5px 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.inventory-share-latest span { color: var(--muted); font-size: 12px; }
.inventory-share-latest strong { grid-row: span 2; color: #e3b96f; font: 700 30px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.inventory-share-latest time { color: #aeb7c3; font-size: 12px; }

.inventory-kpis { margin: 0; }
.inventory-kpis div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  border-bottom: 1px solid rgba(48, 54, 64, .72);
}
.inventory-kpis dt { color: var(--muted); font-size: 12px; }
.inventory-kpis dd { margin: 0; color: #f2f5f7; font: 700 15px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.inventory-kpis dd small,
.inventory-recent-flows strong small {
  display: block;
  margin-top: 3px;
  color: #818c98;
  font: 10px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.inventory-change-table { margin-top: 14px; font-size: 12px; }
.inventory-change-table > div {
  display: grid;
  grid-template-columns: minmax(78px, 1fr) repeat(3, 72px);
  gap: 6px;
  align-items: center;
  min-height: 32px;
  border-bottom: 1px solid rgba(48, 54, 64, .58);
}
.inventory-change-table span { color: var(--muted); }
.inventory-change-table strong { text-align: right; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.inventory-change-head span { text-align: right; color: #8e98a5; font-size: 11px; }
.inventory-share-change-row strong:empty { display: block; }
.inventory-net-flow-row strong { font-size: 12px; white-space: nowrap; }
.inventory-net-flow-row strong small { display: block; margin-top: 3px; color: #7f8a96; font: 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

.inventory-recent-flows { margin-top: 18px; font-size: 11px; }
.inventory-recent-flows > div {
  display: grid;
  grid-template-columns: minmax(64px, 1fr) 82px 82px;
  gap: 6px;
  align-items: center;
  min-height: 32px;
  border-bottom: 1px solid rgba(48, 54, 64, .58);
}
.inventory-recent-flows span { color: #8e98a5; text-align: right; }
.inventory-recent-flows span:first-child { text-align: left; }
.inventory-recent-flows time { color: var(--muted); }
.inventory-recent-flows strong { color: #edf1f5; text-align: right; font: 700 12px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.trend-up { color: #e9968f; }
.trend-down { color: #75c99a; }
.trend-flat { color: #cbd2dc; }

.inventory-quality { margin: 16px 0 0; padding-top: 12px; border-top: 1px dashed var(--border); color: var(--muted); font-size: 11px; }
.inventory-quality::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #b2bac5; }
.inventory-quality.quality-ok::before { background: #54b98a; }
.inventory-quality.quality-warn::before { background: #d5a85b; }

.inventory-tonnes-inline {
  color: #edf2f5;
  font: 700 12px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}

.silver-inventory-chart-row time small,
.silver-chart-panel header span small {
  margin-left: 6px;
  color: #7f8a96;
  font: 9px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}

.inventory-empty { margin: 0; padding: 22px 16px; color: var(--muted); }

.silver-terminal-band {
  width: min(1560px, calc(100% - 40px));
  margin: 22px auto 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #15181d;
  overflow: hidden;
}

.silver-terminal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 52px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--panel-strong);
}

.silver-terminal-head > div { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.silver-terminal-head h2 { margin: 0; color: #edf1f5; font-size: 16px; }
.silver-terminal-head span,
.silver-terminal-head time { color: var(--muted); font-size: 11px; }
.silver-terminal-head time { white-space: nowrap; }

.silver-price-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  border-bottom: 1px solid var(--border);
}

.silver-price-strip article {
  min-width: 0;
  min-height: 112px;
  padding: 12px 14px;
  border-right: 1px solid var(--border);
}

.silver-price-strip article:last-child { border-right: 0; }
.silver-price-strip article > header,
.silver-price-strip article > footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.silver-price-strip header strong { overflow: hidden; color: #d9e0e7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.silver-price-strip header span { color: #81909c; font-size: 9px; white-space: nowrap; }
.silver-price-strip article > b { display: block; margin: 14px 0 12px; color: #f1f4f6; font: 700 17px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-price-strip footer span,
.silver-price-strip footer time { overflow: hidden; color: #8e99a5; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.silver-inventory-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--border);
  background: #171a1f;
}
.silver-inventory-strip article { min-width: 0; min-height: 112px; padding: 12px 14px; border-right: 1px solid var(--border); }
.silver-inventory-strip article:last-child { border-right: 0; }
.silver-inventory-strip article > header,
.silver-inventory-strip article > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.silver-inventory-strip header strong { overflow: hidden; color: #d9e0e7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.silver-inventory-strip header span { color: #81909c; font-size: 9px; white-space: nowrap; }
.silver-inventory-strip article > b { display: block; margin: 14px 0 12px; color: #f1f4f6; font: 700 19px/1.1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-inventory-strip footer span,
.silver-inventory-strip footer time { overflow: hidden; color: #8e99a5; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.silver-spread-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.silver-spread-strip article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; min-height: 60px; padding: 10px 14px; border-right: 1px solid var(--border); }
.silver-spread-strip article:last-child { border-right: 0; }
.silver-spread-strip span { color: #aeb7c1; font-size: 10px; }
.silver-spread-strip strong { color: #e3b96f; font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-spread-strip small { grid-column: 1 / -1; color: #747f8b; font-size: 9px; }

.silver-delivery-layout { display: grid; grid-template-columns: 286px minmax(0, 1fr); min-width: 0; }
.silver-kpi-rail { padding: 14px 16px; border-right: 1px solid var(--border); background: #171a1f; }
.silver-kpi-rail dl { margin: 0; }
.silver-kpi-rail dl > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 43px; border-bottom: 1px solid rgba(48,54,64,.65); }
.silver-kpi-rail dt { color: #909ba7; font-size: 10px; }
.silver-kpi-rail dd { margin: 0; color: #edf1f5; font: 700 14px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-kpi-rail dd small { display: block; margin-top: 3px; color: #7f8a96; font: 9px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.silver-rail-note { margin-top: 16px; padding-top: 12px; border-top: 1px dashed #3c444f; color: #818c98; font-size: 9px; line-height: 1.6; }

.silver-chart-grid { display: grid; min-width: 0; }
.silver-chart-grid-halves,
.silver-chart-grid-delivery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.silver-chart-grid-slv { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.silver-chart-grid-slv .silver-chart-panel { border-right: 1px solid var(--border); }
.silver-chart-grid-slv .silver-chart-panel:nth-child(4n) { border-right: 0; }
.silver-chart-panel { min-width: 0; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.silver-chart-panel:nth-child(2n) { border-right: 0; }
.silver-chart-panel.silver-chart-wide { grid-column: 1 / -1; border-right: 0; }
.silver-chart-grid-slv .silver-chart-panel:nth-child(2n) { border-right: 1px solid var(--border); }
.silver-chart-grid-slv .silver-chart-panel:nth-child(4n) { border-right: 0; }
.silver-chart-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 40px; padding: 7px 14px; border-bottom: 1px solid rgba(48,54,64,.48); }
.silver-chart-panel h3 { margin: 0; color: #dce2e8; font-size: 11px; }
.silver-chart-panel header span { color: #8b96a2; font-size: 10px; text-align: right; }
.silver-chart { width: 100%; height: 260px; min-width: 0; }
.silver-chart-tall { height: 330px; }
.silver-empty { margin: 0; padding: 20px 16px; color: var(--muted); }

.silver-etf-snapshot-block { grid-column: 1 / -1; min-width: 0; border-bottom: 1px solid var(--border); }
.silver-etf-snapshot-block > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 52px; padding: 10px 16px; border-bottom: 1px solid rgba(48,54,64,.48); }
.silver-etf-snapshot-block > header h3 { margin: 0; color: #edf1f5; font-size: 16px; }
.silver-etf-snapshot-block > header span { color: #7f8a96; font-size: 9px; text-align: right; }
.silver-etf-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 0; }
.silver-etf-strip article { border-bottom: 1px solid var(--border); }
.silver-etf-strip article:nth-child(4n) { border-right: 0; }
.silver-etf-strip article:nth-last-child(-n+4) { border-bottom: 0; }

.silver-india-block { grid-column: 1 / -1; min-width: 0; border-bottom: 1px solid var(--border); background: #15181d; }
.silver-submodule-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 54px; padding: 10px 16px; border-bottom: 1px solid var(--border); }
.silver-submodule-head > div { min-width: 0; }
.silver-submodule-head h3 { margin: 0; color: #eef2f5; font-size: 16px; }
.silver-submodule-head span { display: block; margin-top: 4px; color: #7f8a96; font-size: 9px; }
.silver-submodule-head time { color: #909ba7; font: 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-india-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.silver-india-kpis > div { min-width: 0; min-height: 65px; padding: 10px 14px; border-right: 1px solid var(--border); border-bottom: 1px solid rgba(48,54,64,.55); }
.silver-india-kpis > div:nth-child(4n) { border-right: 0; }
.silver-india-kpis span { display: block; overflow: hidden; color: #8e99a5; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.silver-india-kpis strong { display: block; margin-top: 9px; color: #f2f5f7; font: 700 15px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-india-kpis small { display: block; margin-top: 4px; color: #85909c; font: 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-india-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.silver-india-chart-grid .silver-chart-panel:nth-child(2n) { border-right: 0; }
.silver-india-source-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.silver-india-source-grid > div { min-width: 0; min-height: 78px; padding: 10px 14px; border-right: 1px solid var(--border); }
.silver-india-source-grid > div:last-child { border-right: 0; }
.silver-india-source-grid span,
.silver-india-source-grid small { display: block; color: #818c98; font-size: 9px; }
.silver-india-source-grid strong { display: block; margin: 7px 0 6px; color: #dce3e9; font-size: 11px; }
.silver-india-source-grid small { overflow: hidden; line-height: 1.45; text-overflow: ellipsis; }

.silver-global-comparison { border-top: 1px solid var(--border); }
.silver-global-comparison > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 9px 16px; border-bottom: 1px solid var(--border); }
.silver-global-comparison > header h3 { margin: 0; color: #edf1f5; font-size: 14px; }
.silver-global-comparison > header span { color: #7f8a96; font-size: 9px; text-align: right; }
.silver-global-comparison-head,
.silver-global-comparison-row { display: grid; grid-template-columns: minmax(150px, 1.15fr) repeat(3, minmax(125px, .9fr)) minmax(200px, 1.35fr); align-items: center; }
.silver-global-comparison-head { min-height: 34px; padding: 0 14px; color: #78838f; font-size: 9px; border-bottom: 1px solid rgba(48,54,64,.7); }
.silver-global-comparison-row { min-height: 58px; padding: 0 14px; border-bottom: 1px solid rgba(48,54,64,.55); }
.silver-global-comparison-row:last-child { border-bottom: 0; }
.silver-global-comparison-row > * { min-width: 0; padding-right: 12px; }
.silver-global-comparison-row strong { color: #dce3e9; font-size: 11px; }
.silver-global-comparison-row > span,
.silver-global-comparison-row > b { color: #e7ebef; font: 700 11px/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.silver-global-comparison-row > span:nth-child(2) { color: #f2f5f7; font-size: 14px; }
.silver-global-comparison-row > span:nth-child(2) small { color: #85909c; font-size: 10px; }
.silver-global-comparison-row small { display: block; overflow: hidden; margin-top: 4px; color: #77828e; font: 9px/1.2 system-ui, sans-serif; text-overflow: ellipsis; white-space: nowrap; }

.silver-inline-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.silver-inline-kpis > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; min-height: 54px; padding: 10px 14px; border-right: 1px solid var(--border); }
.silver-inline-kpis > div:last-child { border-right: 0; }
.silver-inline-kpis span { color: #8e99a5; font-size: 10px; }
.silver-inline-kpis strong { color: #f2f5f7; font: 700 15px/1.15 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
.silver-inline-kpis small { grid-column: 1 / -1; color: #818c98; font-size: 10px; }
.silver-positive { color: #6fc69a !important; }
.silver-negative { color: #e18a84 !important; }

.silver-lease-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); border-bottom: 1px solid var(--border); }
.silver-lease-strip article { min-width: 0; padding: 10px 13px; border-right: 1px solid var(--border); }
.silver-lease-strip article:last-child { border-right: 0; }
.silver-lease-strip header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; }
.silver-lease-strip header strong { color: #e1e7ec; font-size: 13px; }
.silver-lease-strip header time { color: #8c98a4; font-size: 10px; }
.silver-lease-strip dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; margin: 0; }
.silver-lease-strip dl div { min-width: 0; }
.silver-lease-strip dt { color: #8e99a5; font-size: 11px; }
.silver-lease-strip dd { overflow: hidden; margin: 5px 0 0; color: #e5eaee; font: 700 13px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.silver-lease-band .silver-chart-panel h3 { font-size: 13px; }
.silver-lease-band .silver-chart-panel header span { font-size: 10px; }

.silver-raw-stack { width: min(1560px, calc(100% - 40px)); margin-top: 22px; }
.silver-raw-details { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: #15181d; }
.silver-raw-details > summary { padding: 13px 16px; color: #cbd3db; font-size: 11px; font-weight: 700; cursor: pointer; }
.silver-raw-details > div { border-top: 1px solid var(--border); }

@media (max-width: 1000px) {
  .silver-spread-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silver-spread-strip article:nth-child(2n) { border-right: 0; }
  .silver-spread-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .silver-delivery-layout { grid-template-columns: 1fr; }
  .silver-kpi-rail { border-right: 0; border-bottom: 1px solid var(--border); }
  .silver-inline-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silver-inline-kpis > div:nth-child(2n) { border-right: 0; }
  .silver-etf-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silver-etf-strip article:nth-child(4n) { border-right: 1px solid var(--border); }
  .silver-etf-strip article:nth-child(2n) { border-right: 0; }
  .silver-etf-strip article:nth-last-child(-n+4) { border-bottom: 1px solid var(--border); }
  .silver-etf-strip article:nth-last-child(-n+2) { border-bottom: 0; }
  .silver-india-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silver-india-kpis > div:nth-child(2n) { border-right: 0; }
  .silver-india-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .silver-india-source-grid > div { border-bottom: 1px solid var(--border); }
  .silver-india-source-grid > div:nth-child(2n) { border-right: 0; }
  .silver-india-source-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .silver-global-comparison { overflow-x: auto; }
  .silver-global-comparison-head,
  .silver-global-comparison-row { min-width: 860px; }
}

@media (max-width: 680px) {
  .silver-terminal-band,
  .silver-raw-stack { width: calc(100% - 20px); margin-top: 12px; }
  .silver-terminal-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .silver-terminal-head > div { display: block; }
  .silver-terminal-head span { display: block; margin-top: 3px; }
  .silver-price-strip { grid-template-columns: 1fr 1fr; }
  .silver-inventory-strip { grid-template-columns: 1fr 1fr; }
  .silver-price-strip article { min-height: 104px; border-bottom: 1px solid var(--border); }
  .silver-inventory-strip article { min-height: 104px; border-bottom: 1px solid var(--border); }
  .silver-price-strip article:nth-child(2n) { border-right: 0; }
  .silver-inventory-strip article:nth-child(2n) { border-right: 0; }
  .silver-inventory-strip article:nth-last-child(-n+2) { border-bottom: 0; }
  .silver-price-strip article > b { font-size: 15px; }
  .silver-inventory-strip article > b { font-size: 16px; }
  .silver-inventory-strip article > header,
  .silver-inventory-strip article > footer { display: block; }
  .silver-inventory-strip header strong,
  .silver-inventory-strip footer span,
  .silver-inventory-strip footer time { overflow: visible; text-overflow: clip; white-space: normal; }
  .silver-inventory-strip header span,
  .silver-inventory-strip footer time { display: block; margin-top: 4px; }
  .silver-etf-strip { grid-template-columns: 1fr; }
  .silver-etf-strip article,
  .silver-etf-strip article:nth-child(4n),
  .silver-etf-strip article:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .silver-etf-strip article:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .silver-etf-strip article:last-child { border-bottom: 0; }
  .silver-spread-strip,
  .silver-inline-kpis,
  .silver-chart-grid-halves,
  .silver-chart-grid-delivery,
  .silver-chart-grid-slv { grid-template-columns: 1fr; }
  .silver-spread-strip article,
  .silver-inline-kpis > div,
  .silver-chart-panel { border-right: 0; border-bottom: 1px solid var(--border); }
  .silver-chart-grid-slv .silver-chart-panel,
  .silver-chart-grid-slv .silver-chart-panel:nth-child(2n),
  .silver-chart-grid-slv .silver-chart-panel:nth-child(4n) { border-right: 0; }
  .silver-chart-panel.silver-chart-wide { grid-column: auto; }
  .silver-india-block { grid-column: auto; }
  .silver-india-chart-grid,
  .silver-india-kpis,
  .silver-india-source-grid { grid-template-columns: 1fr; }
  .silver-india-kpis > div,
  .silver-india-kpis > div:nth-child(2n),
  .silver-india-kpis > div:nth-child(4n),
  .silver-india-source-grid > div,
  .silver-india-source-grid > div:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--border); }
  .silver-india-source-grid > div:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
  .silver-india-source-grid > div:last-child { border-bottom: 0; }
  .silver-submodule-head,
  .silver-global-comparison > header { align-items: flex-start; flex-direction: column; gap: 3px; }
  .silver-global-comparison > header span { text-align: left; }
  .silver-chart-panel > header { align-items: flex-start; flex-direction: column; gap: 2px; }
  .silver-chart-panel header span { text-align: left; }
  .silver-etf-snapshot-block > header { align-items: flex-start; flex-direction: column; gap: 2px; }
  .silver-etf-snapshot-block > header span { text-align: left; }
  .silver-chart { height: 270px; }
  .silver-chart-tall { height: 340px; }
  .silver-lease-strip { grid-template-columns: 1fr 1fr; }
  .silver-lease-strip article:nth-child(2n) { border-right: 0; }
}

.ofr-risk-band {
  width: min(1480px, calc(100% - 40px));
  margin: 22px auto 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  overflow: hidden;
}

.ofr-risk-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 52px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--panel-strong);
}

.ofr-risk-head > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}

.ofr-risk-head span,
.ofr-risk-head time {
  color: var(--muted);
  font-size: 12px;
}

.ofr-risk-head time { white-space: nowrap; }

.ofr-risk-layout {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
}

.ofr-summary {
  padding: 16px;
  border-right: 1px solid var(--border);
  background: #15181d;
}

.ofr-level {
  padding: 2px 0 15px;
  border-bottom: 1px solid rgba(48, 54, 64, .72);
}

.ofr-level > span,
.ofr-driver span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.ofr-level strong {
  display: block;
  margin-top: 5px;
  font-size: 28px;
  line-height: 1.15;
}

.ofr-level small {
  display: block;
  margin-top: 5px;
  color: #d8dee7;
  font: 700 14px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ofr-level.risk-low strong { color: #71cd98; }
.ofr-level.risk-normal strong { color: #c5ccd5; }
.ofr-level.risk-watch strong { color: #e3bd72; }
.ofr-level.risk-high strong { color: #ef995f; }
.ofr-level.risk-severe strong { color: #ef756c; }

.ofr-kpis { margin: 10px 0 0; }
.ofr-kpis > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 31px;
  border-bottom: 1px solid rgba(48, 54, 64, .55);
}
.ofr-kpis dt { color: var(--muted); font-size: 12px; }
.ofr-kpis dd {
  margin: 0;
  color: #edf1f5;
  font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: right;
}
.ofr-kpis dd.risk-trend-up { color: #ef8a7f; }
.ofr-kpis dd.risk-trend-down { color: #71cd98; }

.ofr-driver { padding: 14px 0 10px; }
.ofr-driver strong { display: block; margin-top: 5px; font-size: 14px; line-height: 1.4; }
.ofr-alerts { padding: 9px 10px; border-left: 3px solid #4fb477; background: rgba(79, 180, 119, .08); }
.ofr-alerts p { margin: 0; color: #cad2dc; font-size: 12px; line-height: 1.55; }
.ofr-note,
.ofr-source-note { margin: 12px 0 0; color: #8f99a6; font-size: 11px; line-height: 1.55; }
.ofr-source-note { padding-top: 10px; border-top: 1px dashed var(--border); }

.ofr-chart-stack { min-width: 0; }
.ofr-chart-row { border-bottom: 1px solid var(--border); }
.ofr-chart-row > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 42px;
  padding: 8px 14px;
  background: rgba(32, 36, 43, .46);
}
.ofr-chart-row > header > div { display: flex; align-items: center; gap: 8px; }
.ofr-chart-row h3 { margin: 0; font-size: 13px; letter-spacing: 0; }
.ofr-chart-row time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.ofr-chart { width: 100%; min-height: 250px; }
.ofr-total-chart { min-height: 330px; }
.ofr-components-chart { min-height: 390px; }
.component-check { color: var(--muted); font-size: 11px; white-space: nowrap; }
.component-check.check-ok { color: #71cd98; }
.component-check.check-error { color: #ef756c; }
.legend-ofr-total,
.legend-ofr-components,
.legend-risk-source,
.legend-risk-region { display: inline-block; width: 9px; height: 9px; border-radius: 2px; background: #4fb477; }
.legend-ofr-components { background: #b8759f; }
.legend-risk-source { background: #d96b55; }
.legend-risk-region { background: #6f91b8; }
.ofr-empty { margin: 0; padding: 24px 16px; color: var(--muted); }

.us-risk-market-band {
  width: min(1480px, calc(100% - 40px));
  margin: 18px auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  overflow: hidden;
}
.risk-breadth { color: #dce2ea; font-size: 12px; white-space: nowrap; }
.us-risk-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--border);
}
.us-risk-card { min-width: 0; padding: 14px 16px 12px; border-left: 3px solid #8b96a4; }
.us-risk-card + .us-risk-card { border-left-width: 1px; border-left-color: var(--border); }
.us-risk-card.risk-low { box-shadow: inset 3px 0 0 #4fb477; }
.us-risk-card.risk-normal { box-shadow: inset 3px 0 0 #8b96a4; }
.us-risk-card.risk-watch { box-shadow: inset 3px 0 0 #d5aa58; }
.us-risk-card.risk-high { box-shadow: inset 3px 0 0 #df824b; }
.us-risk-card.risk-severe { box-shadow: inset 3px 0 0 #d95850; }
.us-risk-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.us-risk-card > header div { min-width: 0; }
.us-risk-card > header strong { display: block; color: #edf1f5; font-size: 15px; }
.us-risk-card > header span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.us-risk-card > header b { padding: 3px 6px; border: 1px solid #47505c; border-radius: 4px; color: #cbd2dc; font-size: 11px; white-space: nowrap; }
.us-risk-card.risk-watch > header b { border-color: #8d733f; color: #e3bd72; }
.us-risk-card.risk-high > header b,
.us-risk-card.risk-severe > header b { border-color: #8e504b; color: #ef8a7f; }
.us-risk-value { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 15px 0 11px; }
.us-risk-value strong { font: 700 24px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.us-risk-value time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.us-risk-card dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(48,54,64,.65); border-bottom: 1px solid rgba(48,54,64,.65); }
.us-risk-card dl div { min-width: 0; padding: 8px 4px; text-align: center; }
.us-risk-card dl div + div { border-left: 1px solid rgba(48,54,64,.55); }
.us-risk-card dt { color: var(--muted); font-size: 10px; }
.us-risk-card dd { margin: 4px 0 0; color: #e1e6ed; font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.us-risk-card footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-top: 9px; font-size: 10px; }
.us-risk-card footer a { min-width: 0; color: #91a7c0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.us-risk-card footer span { flex: none; color: #71cd98; white-space: nowrap; }
.us-risk-card footer .freshness-stale { color: #e3bd72; }
.us-risk-chart-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.us-risk-chart-panel { min-width: 0; }
.us-risk-chart-panel + .us-risk-chart-panel { border-left: 1px solid var(--border); }
.us-risk-chart-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 8px 14px; background: rgba(32,36,43,.46); }
.us-risk-chart-panel h3 { margin: 0; font-size: 13px; }
.us-risk-chart-panel header span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.us-risk-line-chart { width: 100%; min-height: 285px; }
.us-risk-method { margin: 0; padding: 10px 14px; border-top: 1px solid var(--border); color: var(--muted); font-size: 11px; line-height: 1.55; }
.us-risk-source-errors { border-top: 1px solid var(--border); color: #d8b36a; font-size: 11px; }
.us-risk-source-errors summary { padding: 10px 14px; cursor: pointer; }
.us-risk-source-errors p { margin: 0; padding: 4px 14px 8px; }

.data-issues-panel {
  width: min(1480px, calc(100% - 40px));
  margin: 22px auto 18px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: #15181d;
}

.data-issues-panel summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
  background: var(--panel-strong);
  font-weight: 700;
}

.data-issues-panel summary::-webkit-details-marker { display: none; }
.data-issues-panel summary::before { content: "▸"; color: var(--accent); }
.data-issues-panel[open] summary::before { content: "▾"; }

.issues-table-wrap { overflow-x: auto; }
.issues-table { min-width: 980px; }
.issues-table th { font-size: 12px; }
.issues-table td { font-size: 13px; vertical-align: middle; }
.issues-table th:nth-child(1) { width: 230px; }
.issues-table th:nth-child(3) { width: 210px; }
.issues-table th:nth-child(4) { width: 90px; }
.issues-table th:nth-child(5) { width: 150px; }
.issue-message { max-width: 620px; overflow-wrap: anywhere; }

.issue-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--muted);
  white-space: nowrap;
}

.issue-open { color: #ffd099; border-color: #785329; }
.issue-resolved { color: #82d99b; border-color: #356b48; }

.issue-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.issue-actions form { margin: 0; }
.issue-actions button { padding: 6px 9px; font-size: 12px; }
.button-muted { color: var(--text); background: #2b3038; border-color: var(--border); }
.issues-empty { margin: 0; padding: 18px 14px; color: var(--muted); }

.login-body {
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(420px, 100%);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--panel);
  padding: 28px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.login-card h1 { margin: 6px 0 22px; }

.login-card label {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
  color: var(--muted);
}

.login-card input {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #0f1115;
  color: var(--text);
  font: inherit;
}

.login-card button {
  width: 100%;
  margin-top: 8px;
}

.error {
  margin-bottom: 14px;
  padding: 10px;
  border-radius: 6px;
  background: var(--danger-bg);
  color: var(--danger-text);
}

@media (max-width: 1280px) and (min-width: 961px) {
  .fed-regime { grid-template-columns: 180px minmax(0, 1fr); }
  .fed-regime dl { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
  .fed-core-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fed-core-card:nth-child(3n) { border-right: 1px solid rgba(48,54,64,.72); }
  .fed-core-card:nth-child(2n) { border-right: 0; }
  .fed-core-card:nth-last-child(-n+3) { border-bottom: 1px solid rgba(48,54,64,.72); }
  .fed-core-card:nth-last-child(-n+2) { border-bottom: 0; }
  .fed-liquidity-layout { grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr); }
  .fed-balance-overview-layout { grid-template-columns: 520px minmax(0, 1fr); }
  .fed-balance-list-row { grid-template-columns: 180px minmax(0, 1fr); padding-inline: 11px; }
  .fed-balance-list-row dl { gap: 3px; }
  .fed-balance-list-row dl div { padding-left: 5px; }
  .fed-balance-list-row dd { font-size: 8px; }
}

@media (max-width: 960px) {
  .app-header {
    position: static;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px;
  }

  .brand { min-width: 0; }

  .app-header nav {
    width: 100%;
    flex-wrap: wrap;
  }

  .nav-group { position: static; }
  .nav-menu { top: calc(100% + 4px); right: 0; left: 0; width: auto; min-width: 0; }

  .page-header {
    display: block;
    padding: 16px;
  }

  h1 { font-size: 22px; }

  .stamp {
    margin-top: 8px;
    justify-content: flex-start;
    text-align: left;
  }

  .module-grid {
    grid-template-columns: 1fr;
    width: calc(100% - 20px);
    margin: 14px 10px 18px;
  }

  .report-tools {
    display: block;
    width: calc(100% - 20px);
    margin: 14px auto 0;
  }

  .report-tools .action-row {
    margin-top: 10px;
  }

  .report-stack {
    width: calc(100% - 20px);
    margin: 14px auto 18px;
  }

  .panel { width: calc(100% - 20px); }

  .report-stack .panel { width: 100%; }

  .money-market-band,
  .fed-balance-band,
  .silver-inventory-band,
  .ofr-risk-band,
  .us-risk-market-band,
  .data-issues-panel {
    width: calc(100% - 20px);
    margin-top: 14px;
  }

  .fed-balance-head,
  .fed-stage-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .fed-balance-head > div:first-child,
  .fed-stage-head > div { display: block; }
  .fed-balance-head span { display: block; margin-top: 3px; }
  .fed-balance-freshness { flex-direction: row; }
  .fed-status-grid { grid-template-columns: 1fr; }
  .fed-regime { grid-template-columns: 1fr; gap: 12px; border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-regime > p { padding: 0; }
  .fed-core-cards,
  .fed-top-cards { grid-template-columns: 1fr; }
  .fed-core-card,
  .fed-core-card:nth-child(3n),
  .fed-core-card:nth-last-child(-n+3) { border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-core-card:last-child { border-bottom: 0; }
  .fed-balance-overview-layout { grid-template-columns: 1fr; }
  .fed-balance-list { border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-balance-list-row { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 7px; min-height: 105px; }
  .fed-balance-list-value { font-size: 17px; }
  .fed-balance-list-row dl { grid-column: 1; }
  .fed-balance-list-row dl div:first-child { padding-left: 0; border-left: 0; }
  .fed-overview-chart-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .fed-overview-chart-panel,
  .fed-overview-chart-panel:nth-child(2n),
  .fed-overview-chart-panel:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-overview-chart-panel:last-child { border-bottom: 0; }
  .fed-overview-chart { min-height: 250px; }
  .fed-overview-chart-panel-wide { grid-column: 1; }
  .fed-overview-chart-meta { grid-template-columns: 1fr; gap: 4px; }
  .fed-net-inline-head { align-items: center; flex-direction: row; gap: 16px; }
  .fed-net-inline-head > div { gap: 14px; }
  .fed-supply-analysis-head,
  .fed-analysis-block > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .fed-supply-analysis-head > div { display: block; }
  .fed-supply-analysis-head h3 { margin-top: 3px; }
  .fed-issuance-overview { grid-template-columns: 1fr; }
  .fed-maturity-signals,
  .fed-maturity-chart-grid { grid-template-columns: 1fr; }
  .fed-maturity-signals > div,
  .fed-maturity-chart-panel { border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-maturity-signals > div:last-child,
  .fed-maturity-chart-panel:last-child { border-bottom: 0; }
  .fed-issuance-matrix { overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--border); }
  .fed-issuance-mini-chart { height: 180px; }
  .fed-issuance-matrix-head,
  .fed-issuance-matrix-row { min-width: 670px; }
  .fed-analysis-formula { grid-template-columns: 1fr; gap: 4px; }
  .fed-formula-line { grid-template-columns: 1fr; gap: 5px; }
  .fed-chart-grid-halves { grid-template-columns: 1fr; }
  .fed-chart-grid-thirds { grid-template-columns: 1fr; }
  .fed-chart-grid-thirds .fed-chart-panel:nth-child(3n) { border-right: 0; }
  .tic-treasury-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .tic-summary-grid { grid-template-columns: 1fr 1fr; }
  .tic-summary-grid > div:nth-child(2n) { border-right: 0; }
  .tic-summary-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .tic-chart-grid { grid-template-columns: 1fr; }
  .tic-chart-grid > article { border-right: 0; border-bottom: 1px solid var(--border); }
  .tic-chart-grid > article:last-child { border-bottom: 0; }
  .tic-chart { height: 390px; }
  .tic-treasury-section footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .fed-liquidity-layout { grid-template-columns: 1fr; }
  .fed-liquidity-primary { border-bottom: 1px solid var(--border); }
  .fed-liquidity-secondary { grid-template-rows: none; }
  .fed-chart-panel { border-right: 0; }
  .fed-chart { height: 250px; }
  .fed-chart-large,
  .fed-chart-tall { height: 290px; }
  .fed-chart-net { height: 300px; }
  .fed-liquidity-secondary .fed-chart { height: 250px; }
  .fed-issuance-summary { grid-template-columns: 1fr 1fr; }
  .fed-stress-summary { grid-template-columns: 1fr 1fr; }
  .fed-stress-summary div:nth-child(2n) { border-right: 0; }
  .fed-issuance-summary div:nth-child(2n) { border-right: 0; }
  .fed-formula-grid { grid-template-columns: 1fr; }
  .fed-formula-grid article,
  .fed-formula-grid article:nth-child(3n) { border-right: 0; }

  .money-market-head div {
    display: block;
  }

  .money-market-head span {
    display: block;
    margin-top: 3px;
  }

  .silver-inventory-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .silver-inventory-head > div { display: block; }
  .silver-inventory-head span { display: block; margin-top: 3px; }
  .silver-inventory-layout { grid-template-columns: 1fr; }
  .inventory-summary { border-right: 0; border-bottom: 1px solid var(--border); }
  .silver-inventory-chart-row > header time { display: none; }
  .silver-inventory-chart { min-height: 250px; }
  .ofr-risk-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ofr-risk-head > div { display: block; }
  .ofr-risk-head span { display: block; margin-top: 3px; }
  .ofr-risk-layout { grid-template-columns: 1fr; }
  .ofr-summary { border-right: 0; border-bottom: 1px solid var(--border); }
  .ofr-chart-row > header time { display: none; }
  .ofr-chart { min-height: 250px; }
  .ofr-components-chart { min-height: 340px; }
  .component-check { white-space: normal; text-align: right; }
  .us-risk-cards,
  .us-risk-chart-grid { grid-template-columns: 1fr; }
  .us-risk-card + .us-risk-card,
  .us-risk-chart-panel + .us-risk-chart-panel { border-left: 0; border-top: 1px solid var(--border); }
  .us-risk-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .us-risk-card dl div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(48,54,64,.55); }
  .us-risk-card dl div:nth-child(4) { border-top: 1px solid rgba(48,54,64,.55); }
  .us-risk-card footer { display: block; }
  .us-risk-card footer span { display: block; margin-top: 5px; white-space: normal; }
  .us-risk-line-chart { min-height: 260px; }

  pre,
  .module-pre,
  .json-pre {
    font-size: 12px;
    line-height: 1.55;
    padding: 12px;
  }
}

/* Shipping redesign final cascade */
.shipping-page-header p { font-size: 12px; }
.shipping-section-head { min-height: 66px; padding: 12px 16px; }
.shipping-section-head > div > span { font-size: 10px; }
.shipping-section-head h2 { margin-top: 5px; font-size: 17px; }
.shipping-section-head small { font-size: 11px; }
.shipping-chart-panel > header { min-height: 48px; padding: 10px 14px; }
.shipping-chart-panel h3 { font-size: 13px; }
.shipping-chart-panel header span { font-size: 10px; }
.shipping-chart { height: 350px; }
.shipping-chart-tall { height: 420px; }
.shipping-chart-focus { height: 400px; }
.shipping-kpis-types { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.shipping-kpis-types > div { min-height: 100px; padding: 15px; }
.shipping-kpis-types span { font-size: 11px; }
.shipping-kpis-types strong { margin-top: 13px; font-size: 26px; }
.shipping-kpis-types small { margin-top: 8px; font-size: 10px; }
.shipping-route-select { font-size: 11px; }
.shipping-route-select select { min-width: 190px; height: 34px; font-size: 11px; }
.shipping-method summary,
.shipping-method p { font-size: 11px; }

@media (max-width: 1050px) {
  .shipping-chart-grid-primary { grid-template-columns: 1fr; }
  .shipping-kpis-types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .shipping-section-head { min-height: 0; }
  .shipping-section-head h2 { font-size: 16px; }
  .shipping-control-head { align-items: stretch; }
  .shipping-segment { width: 100%; overflow-x: auto; }
  .shipping-segment button { flex: 1 0 auto; min-width: 82px; }
  .shipping-chart-control-head { align-items: flex-start; flex-direction: column; }
  .shipping-chart-control-head .shipping-segment { margin-top: 8px; }
  .shipping-kpis-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shipping-kpis-types > div:last-child { grid-column: auto; }
  .shipping-kpis-types strong { font-size: 24px; }
  .shipping-chart,
  .shipping-chart-tall,
  .shipping-chart-focus { height: 330px; }
  .shipping-route-select select { width: 68%; }
}
