/**
 * TreasuryPro — Bloomberg Terminal visual layer (black background)
 */

/* ── Design tokens ─────────────────────────────────────────────── */
body.tp-bloomberg {
  --bb-black: #000000;
  --bb-panel: #010101;
  --bb-panel-hi: #060606;
  --bb-border: rgba(255, 255, 255, 0.10);
  --bb-border-dim: rgba(255, 255, 255, 0.05);
  --bb-orange: #FF9E00;
  --bb-orange-hi: #FFB833;
  --bb-ink: #8a8a8a;
  --bb-ink-hi: #d4d4d4;
  --bb-ink-dim: #5a5a5a;
  --bb-green: #3dd68c;
  --bb-red: #f07178;
  --bb-cyan: #5ac8fa;
  --bb-purple: #c792ea;
  --bb-radius: 2px;
}

body.tp-bloomberg,
body.tp-bloomberg:not(.light) {
  background: var(--bb-black) !important;
}

/* ── KPI strip — Bloomberg terminal tiles ──────────────────────── */
body.tp-bloomberg .kpi-grid,
body.tp-bloomberg .bb-kpi-strip {
  gap: 6px !important;
  margin-bottom: 14px !important;
}

body.tp-bloomberg .kpi,
body.tp-bloomberg .kpi-grid .kpi,
body.tp-bloomberg .bb-kpi {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  padding: 10px 12px 28px !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
  min-height: 88px;
}

body.tp-bloomberg .kpi:hover,
body.tp-bloomberg .bb-kpi:hover,
body.tp-bloomberg .pos-kpi:hover,
body.tp-bloomberg .cf-kpi-card:hover {
  background: var(--bb-panel) !important;
  border-color: rgba(255, 158, 0, 0.32) !important;
  box-shadow:
    0 0 0 1px rgba(255, 158, 0, 0.10),
    0 0 18px rgba(255, 158, 0, 0.10),
    inset 0 1px 0 rgba(255, 158, 0, 0.04) !important;
  transform: none !important;
}

/* No top accent bars on any tiles */
body.tp-bloomberg .kpi::before,
body.tp-bloomberg .ch-wrap::before,
body.tp-bloomberg .ch-wrap.ch-premium::before,
body.tp-bloomberg .cf-chart-wrap::before,
body.tp-bloomberg .bb-chart::before,
body.tp-bloomberg .card::before {
  display: none !important;
  content: none !important;
  height: 0 !important;
}

body.tp-bloomberg .kpi-top,
body.tp-bloomberg .kpi-icon {
  display: none !important;
}

body.tp-bloomberg .kpi-label {
  display: block !important;
  font-family: 'Inter', Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--bb-ink) !important;
  margin: 0 0 6px !important;
  line-height: 1.2 !important;
}

body.tp-bloomberg .kpi-val {
  font-family: 'JetBrains Mono', Consolas, 'SF Mono', monospace !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  color: var(--bb-orange-hi) !important;
  margin: 0 !important;
}

body.tp-bloomberg .kpi-val.cg { color: var(--bb-green) !important; }
body.tp-bloomberg .kpi-val.cr { color: var(--bb-red) !important; }
body.tp-bloomberg .kpi-val.cb,
body.tp-bloomberg .kpi-val.cy { color: var(--bb-orange-hi) !important; }
body.tp-bloomberg .kpi-val.cp { color: var(--bb-purple) !important; }
body.tp-bloomberg .kpi-val.cv { color: var(--bb-cyan) !important; }

body.tp-bloomberg .kpi-footer {
  margin-top: 6px !important;
  font-size: 9.5px !important;
  line-height: 1.35 !important;
  color: var(--bb-ink-dim) !important;
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  white-space: normal !important;
}

body.tp-bloomberg .kpi-footer .up { color: var(--bb-green) !important; font-weight: 700 !important; }
body.tp-bloomberg .kpi-footer .down { color: var(--bb-red) !important; font-weight: 700 !important; }
body.tp-bloomberg .kpi-footer .cs { color: var(--bb-ink) !important; }

body.tp-bloomberg .kpi-spark {
  opacity: 0.55 !important;
  bottom: 4px !important;
  right: 4px !important;
  width: 72px !important;
  height: 28px !important;
  z-index: 0 !important;
}

body.tp-bloomberg .kpi .kpi-label,
body.tp-bloomberg .kpi .kpi-val,
body.tp-bloomberg .kpi .kpi-footer {
  position: relative;
  z-index: 1;
}

/* Position page KPIs */
body.tp-bloomberg .pos-kpi {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: none !important;
}

/* ── KPI tiles — Cashflow (.cf-kpi-*) ─────────────────────────── */
body.tp-bloomberg .cf-kpi-card {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

body.tp-bloomberg .cf-kpi-card:hover {
  border-color: rgba(255, 158, 0, 0.32) !important;
  background: var(--bb-panel) !important;
  box-shadow:
    0 0 0 1px rgba(255, 158, 0, 0.10),
    0 0 18px rgba(255, 158, 0, 0.10) !important;
}

body.tp-bloomberg .cf-kpi-ico {
  display: none !important;
}

body.tp-bloomberg .cf-kpi-lbl {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--bb-ink) !important;
}

body.tp-bloomberg .cf-kpi-val {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--bb-orange-hi) !important;
}

body.tp-bloomberg .cf-kpi-pos { color: var(--bb-green) !important; }
body.tp-bloomberg .cf-kpi-neg { color: var(--bb-red) !important; }
body.tp-bloomberg .cf-kpi-blue { color: var(--bb-cyan) !important; }

body.tp-bloomberg .cf-kpi-sub {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 9px !important;
  color: var(--bb-ink-dim) !important;
}

/* ── Chart containers — flush, no decorative chrome ─────────────── */
body.tp-bloomberg .ch-wrap,
body.tp-bloomberg .ch-wrap.ch-premium,
body.tp-bloomberg .ch-wrap.bb-chart,
body.tp-bloomberg:not(.light) .ch-wrap:not(.ch-fill),
body.tp-bloomberg .cf-chart-wrap,
body.tp-bloomberg .bb-chart,
body.tp-bloomberg .card .ch-wrap {
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
}

body.tp-bloomberg .card .ch-wrap.ch-fill {
  background: transparent !important;
}

body.tp-bloomberg:not(.light) .ch-wrap::after {
  display: none !important;
}

body.tp-bloomberg:not(.light) .ch-echarts,
body.tp-bloomberg:not(.light) .ch-host {
  background: transparent !important;
}

body.tp-bloomberg:not(.light) .ch-wrap canvas,
body.tp-bloomberg .cf-chart-wrap canvas {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* Cards */
body.tp-bloomberg:not(.light) .card {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: none !important;
}

body.tp-bloomberg:not(.light) .card:hover {
  border-color: var(--bb-border) !important;
}

body.tp-bloomberg:not(.light) .card-t {
  color: var(--bb-ink-hi) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

body.tp-bloomberg:not(.light) .card-s {
  color: var(--bb-ink) !important;
}

body.tp-bloomberg .cf-card {
  background: var(--bb-panel) !important;
  border-color: var(--bb-border-dim) !important;
}

/* Cash map legend */
body.tp-bloomberg:not(.light) .c-legend .c-row {
  border-color: var(--bb-border-dim) !important;
}

body.tp-bloomberg:not(.light) .c-legend .c-row:hover {
  border-color: var(--bb-orange) !important;
  background: rgba(255, 158, 0, 0.06) !important;
}

/* Theme toggles removed */
body.tp-bloomberg .theme-toggle,
body.tp-bloomberg #mtnThemeBtn {
  display: none !important;
}

/* ── All dashboard tiles — near-black panels on pure black canvas ─── */
body.tp-bloomberg .premium-tile,
body.tp-bloomberg .tile-mini,
body.tp-bloomberg .fi-metric,
body.tp-bloomberg .scenario-card,
body.tp-bloomberg .ai-metric-card,
body.tp-bloomberg .ai-q-card,
body.tp-bloomberg .stat,
body.tp-bloomberg .modal,
body.tp-bloomberg .tab-nav {
  background: var(--bb-panel) !important;
  border-color: var(--bb-border-dim) !important;
  box-shadow: none !important;
}

body.tp-bloomberg .premium-tile:hover,
body.tp-bloomberg .tile-mini:hover,
body.tp-bloomberg .scenario-card:hover,
body.tp-bloomberg:not(.light) .card:hover {
  background: var(--bb-panel) !important;
  border-color: rgba(255, 158, 0, 0.28) !important;
  box-shadow:
    0 0 0 1px rgba(255, 158, 0, 0.08),
    0 0 16px rgba(255, 158, 0, 0.08) !important;
}

body.tp-bloomberg .ai-ins-card {
  background: var(--bb-panel) !important;
  border-color: var(--bb-border-dim) !important;
}

body.tp-bloomberg .ai-ins-card.risk {
  background: #050303 !important;
  border-color: rgba(239, 68, 68, 0.18) !important;
}

body.tp-bloomberg .ai-ins-card.opportunity {
  background: #030504 !important;
  border-color: rgba(16, 185, 129, 0.18) !important;
}

body.tp-bloomberg .ai-ins-card.alert,
body.tp-bloomberg .ai-ins-card.recommendation,
body.tp-bloomberg .ai-ins-card.observation {
  background: #050403 !important;
}

body.tp-bloomberg:not(.light) .card::after {
  display: none !important;
}

/* Chart / visual card headers — [class*="card"] must not paint card-h navy */
body.tp-bloomberg .card-h,
body.tp-bloomberg .card-h-tight,
body.tp-bloomberg .card-t,
body.tp-bloomberg .card-s,
body.tp-bloomberg .card-chart,
body.tp-bloomberg .card-chart-compact {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.tp-bloomberg .card.card-chart,
body.tp-bloomberg .card.card-chart-compact {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  padding: 12px 14px 10px !important;
}

body.tp-bloomberg .card.card-chart:hover,
body.tp-bloomberg .card.card-chart-compact:hover {
  background: var(--bb-panel) !important;
  border-color: rgba(255, 158, 0, 0.28) !important;
  box-shadow:
    0 0 0 1px rgba(255, 158, 0, 0.08),
    0 0 16px rgba(255, 158, 0, 0.08) !important;
}

body.tp-bloomberg .card-t {
  color: var(--bb-ink-hi) !important;
  font-weight: 600 !important;
}

body.tp-bloomberg .card-s {
  color: var(--bb-ink-dim) !important;
}

body.tp-bloomberg .period-tog {
  background: #030303 !important;
  border-color: var(--bb-border-dim) !important;
}

body.tp-bloomberg .period-btn {
  color: var(--bb-ink-dim) !important;
}

body.tp-bloomberg .period-btn.on {
  background: var(--bb-orange) !important;
  color: #000 !important;
  box-shadow: 0 0 12px rgba(255, 158, 0, 0.22) !important;
}

/* Beat legacy navy/gold KPI rules loaded later in index.html */
body.tp-bloomberg:not(.light):not(.mtn) .kpi,
body.tp-bloomberg:not(.light):not(.mtn) .card,
body.tp-bloomberg:not(.light):not(.mtn) .pos-kpi,
body.tp-bloomberg:not(.light) .kpi,
body.tp-bloomberg:not(.light) .card,
body.tp-bloomberg:not(.light) .pos-kpi,
body.tp-bloomberg .kpi.green,
body.tp-bloomberg .kpi.blue,
body.tp-bloomberg .kpi.cyan,
body.tp-bloomberg .kpi.purple,
body.tp-bloomberg .kpi.yellow,
body.tp-bloomberg .kpi.red,
body.tp-bloomberg .kpi.orange {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: none !important;
}

body.tp-bloomberg:not(.light):not(.mtn) .kpi:hover,
body.tp-bloomberg:not(.light):not(.mtn) .card:hover,
body.tp-bloomberg:not(.light):not(.mtn) .pos-kpi:hover,
body.tp-bloomberg:not(.light) .kpi:hover,
body.tp-bloomberg:not(.light) .card:hover,
body.tp-bloomberg:not(.light) .pos-kpi:hover {
  background: var(--bb-panel) !important;
  border-color: rgba(255, 158, 0, 0.32) !important;
  box-shadow:
    0 0 0 1px rgba(255, 158, 0, 0.10),
    0 0 18px rgba(255, 158, 0, 0.10),
    inset 0 1px 0 rgba(255, 158, 0, 0.04) !important;
  transform: none !important;
}

/* ── Compact page bar (Overview + modules) ───────────────────────── */
body.tp-bloomberg .bb-pg-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--bb-border-dim);
}

body.tp-bloomberg .bb-pg-bar-left {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

body.tp-bloomberg .bb-pg-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bb-orange-hi);
  font-family: 'Inter', Arial, sans-serif;
}

body.tp-bloomberg .bb-pg-meta {
  font-size: 10px;
  color: var(--bb-ink-dim);
  font-family: 'JetBrains Mono', Consolas, monospace;
  letter-spacing: 0.02em;
}

body.tp-bloomberg .bb-pg-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.tp-bloomberg .btn-compact {
  font-size: 10px !important;
  padding: 4px 10px !important;
  border-radius: 2px !important;
}

/* ── Overview grid: 60 / 40 chart split ─────────────────────────── */
body.tp-bloomberg .g2-60-40 {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 12px;
  align-items: stretch;
}

@media (max-width: 1100px) {
  body.tp-bloomberg .g2-60-40 {
    grid-template-columns: 1fr;
  }
}

body.tp-bloomberg .g2e {
  gap: 12px !important;
}

body.tp-bloomberg .main {
  padding: 16px 20px 32px !important;
}

/* ── Chart card footer strip ───────────────────────────────────── */
body.tp-bloomberg .chart-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
  padding: 7px 0 0;
  margin-top: 6px;
  border-top: 1px solid var(--bb-border-dim);
}

body.tp-bloomberg .chart-card-foot-note {
  font-size: 10px;
  color: var(--bb-ink-dim);
  line-height: 1.35;
}

/* ── Inline stat chips (chart headers) ─────────────────────────── */
body.tp-bloomberg .bb-stat-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.tp-bloomberg .bb-stat-chip {
  text-align: right;
  line-height: 1.25;
  padding-left: 8px;
  border-left: 1px solid var(--bb-border-dim);
}

body.tp-bloomberg .bb-stat-chip:first-child {
  padding-left: 0;
  border-left: none;
}

body.tp-bloomberg .bb-stat-chip .bb-stat-val {
  font-family: 'JetBrains Mono', Consolas, monospace;
  font-size: 12px;
  font-weight: 700;
  color: var(--bb-ink-hi);
}

body.tp-bloomberg .bb-stat-chip .bb-stat-lbl {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bb-ink-dim);
}

body.tp-bloomberg .bb-stat-chip .bb-stat-delta {
  font-family: 'JetBrains Mono', Consolas, monospace;
  font-size: 9px;
  font-weight: 600;
}

body.tp-bloomberg .bb-stat-delta.up { color: var(--bb-green) !important; }
body.tp-bloomberg .bb-stat-delta.down { color: var(--bb-red) !important; }

/* ── Terminal tables (compact density) ─────────────────────────── */
body.tp-bloomberg .bb-table,
body.tp-bloomberg table.bb-table,
body.tp-bloomberg .forecast-tbl.bb-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

body.tp-bloomberg .bb-table thead th,
body.tp-bloomberg .forecast-tbl.bb-table thead th {
  background: #030303 !important;
  color: var(--bb-ink) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--bb-border-dim) !important;
  position: sticky;
  top: 0;
  z-index: 2;
}

body.tp-bloomberg .bb-table-compact thead th,
body.tp-bloomberg .bb-table-compact td {
  padding: 6px 10px !important;
}

body.tp-bloomberg .bb-table tbody td,
body.tp-bloomberg .forecast-tbl.bb-table tbody td {
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--bb-border-dim) !important;
  color: var(--bb-ink-hi) !important;
}

body.tp-bloomberg .bb-table tbody tr:hover td,
body.tp-bloomberg .forecast-tbl.bb-table tbody tr:hover td {
  background: rgba(255, 158, 0, 0.04) !important;
  box-shadow: inset 3px 0 0 rgba(255, 158, 0, 0.35);
}

body.tp-bloomberg .bb-table .mono,
body.tp-bloomberg .forecast-tbl.bb-table .mono {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 11px !important;
  text-align: right;
}

body.tp-bloomberg .forecast-tbl.bb-table td:first-child,
body.tp-bloomberg .forecast-tbl.bb-table th:first-child {
  background: #010101 !important;
  text-align: left !important;
}

body.tp-bloomberg .forecast-tbl.bb-table thead th:first-child {
  background: #030303 !important;
}

/* ── Transaction rows (compact) ────────────────────────────────── */
body.tp-bloomberg .tx-row.bb-tx-compact {
  padding: 7px 0 !important;
  gap: 10px !important;
  border-bottom-color: var(--bb-border-dim) !important;
}

body.tp-bloomberg .tx-row.bb-tx-compact:hover {
  background: rgba(255, 158, 0, 0.04) !important;
  box-shadow: inset 3px 0 0 rgba(255, 158, 0, 0.28);
}

body.tp-bloomberg .tx-row .tx-desc {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--bb-ink-hi) !important;
}

body.tp-bloomberg .tx-row .tx-meta {
  font-size: 10px !important;
  color: var(--bb-ink-dim) !important;
}

body.tp-bloomberg .tx-row .tx-amt {
  font-family: 'JetBrains Mono', Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* ── Insight list (no emoji icons) ─────────────────────────────── */
body.tp-bloomberg .insight-row .i-icon {
  display: none !important;
}

body.tp-bloomberg .insight-row {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--bb-border-dim);
  border-radius: 0 !important;
}

body.tp-bloomberg .insight-row:last-child {
  border-bottom: none;
}

body.tp-bloomberg .insight-row .i-title {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--bb-ink-hi) !important;
}

body.tp-bloomberg .insight-row .i-sub {
  font-size: 10px !important;
  color: var(--bb-ink-dim) !important;
}

/* ── Cashflow module cards ───────────────────────────────────────── */
body.tp-bloomberg .cf-card,
body.tp-bloomberg .cf-driver-card,
body.tp-bloomberg .cf-scenario-card,
body.tp-bloomberg .cf-summary-item,
body.tp-bloomberg .cf-ai-section {
  background: var(--bb-panel) !important;
  border: 1px solid var(--bb-border-dim) !important;
  border-radius: var(--bb-radius) !important;
  box-shadow: none !important;
}

body.tp-bloomberg .cf-card:hover,
body.tp-bloomberg .cf-driver-card:hover {
  border-color: rgba(255, 158, 0, 0.28) !important;
  box-shadow: 0 0 16px rgba(255, 158, 0, 0.08) !important;
}

body.tp-bloomberg .cf-app,
body.tp-bloomberg.cf-root,
body.tp-bloomberg #root {
  background: var(--bb-black) !important;
}

/* ── FX Forecast terminal shell ──────────────────────────────────── */
body.tp-bloomberg.fx-terminal {
  background: var(--bb-black) !important;
  color: var(--bb-ink) !important;
}

body.tp-bloomberg.fx-terminal .bg-terminal-bg,
body.tp-bloomberg.fx-terminal [class*="bg-terminal"] {
  background: var(--bb-black) !important;
}

body.tp-bloomberg.fx-terminal .bg-terminal-card,
body.tp-bloomberg.fx-terminal [class*="bg-terminal-card"] {
  background: var(--bb-panel) !important;
  border-color: var(--bb-border-dim) !important;
}

/* ── Density toggle: Compact (default) vs Standard ─────────────── */
body.tp-bloomberg.tp-density-standard .main {
  padding: 22px 26px 36px !important;
}

body.tp-bloomberg.tp-density-standard .kpi-grid,
body.tp-bloomberg.tp-density-standard .bb-kpi-strip {
  gap: 10px !important;
  margin-bottom: 16px !important;
}

body.tp-bloomberg.tp-density-standard .kpi,
body.tp-bloomberg.tp-density-standard .bb-kpi {
  min-height: 92px !important;
  padding: 12px 14px 30px !important;
}

body.tp-bloomberg.tp-density-standard .kpi-val {
  font-size: 26px !important;
}

body.tp-bloomberg.tp-density-standard .ov-chart-h {
  height: 200px !important;
}

body.tp-bloomberg.tp-density-standard .ov-chart-h-sm {
  height: 220px !important;
}

body.tp-bloomberg.tp-density-standard .bb-table tbody td,
body.tp-bloomberg.tp-density-standard .forecast-tbl.bb-table tbody td {
  padding: 10px 14px !important;
}

body.tp-bloomberg.tp-density-standard .card {
  margin-bottom: 16px !important;
}

body.tp-bloomberg.tp-density-standard .card.card-chart-compact {
  padding: 14px 16px 12px !important;
}

body.tp-bloomberg.tp-density-compact .main {
  padding: 12px 16px 24px !important;
}

body.tp-bloomberg.tp-density-compact .kpi-grid,
body.tp-bloomberg.tp-density-compact .bb-kpi-strip {
  gap: 5px !important;
  margin-bottom: 10px !important;
}

body.tp-bloomberg.tp-density-compact .kpi,
body.tp-bloomberg.tp-density-compact .bb-kpi {
  min-height: 68px !important;
  padding: 7px 9px 20px !important;
}

body.tp-bloomberg.tp-density-compact .kpi-val {
  font-size: 19px !important;
}

body.tp-bloomberg.tp-density-compact .kpi-label {
  font-size: 8px !important;
  margin-bottom: 4px !important;
}

body.tp-bloomberg.tp-density-compact .kpi-footer {
  font-size: 8.5px !important;
  margin-top: 4px !important;
}

body.tp-bloomberg.tp-density-compact .ov-chart-h {
  height: 148px !important;
}

body.tp-bloomberg.tp-density-compact .ov-chart-h-sm {
  height: 168px !important;
}

body.tp-bloomberg.tp-density-compact .bb-pg-bar {
  margin-bottom: 8px !important;
  padding-bottom: 7px !important;
}

body.tp-bloomberg.tp-density-compact .g2-60-40,
body.tp-bloomberg.tp-density-compact .g2e {
  gap: 8px !important;
}

body.tp-bloomberg.tp-density-compact .bb-table thead th,
body.tp-bloomberg.tp-density-compact .forecast-tbl.bb-table thead th {
  padding: 5px 8px !important;
  font-size: 8px !important;
}

body.tp-bloomberg.tp-density-compact .bb-table tbody td,
body.tp-bloomberg.tp-density-compact .forecast-tbl.bb-table tbody td {
  padding: 4px 8px !important;
  font-size: 11px !important;
}

body.tp-bloomberg.tp-density-compact .tx-row.bb-tx-compact {
  padding: 5px 0 !important;
}

body.tp-bloomberg.tp-density-compact .card {
  margin-bottom: 10px !important;
}

body.tp-bloomberg.tp-density-compact .card.card-chart-compact {
  padding: 8px 10px 8px !important;
}

body.tp-bloomberg.tp-density-compact .card-t {
  font-size: 12px !important;
}

body.tp-bloomberg.tp-density-compact .card-s {
  font-size: 10px !important;
}

/* Density toggle button — Treasury menubar, Cashflow, FX headers */
body.tp-bloomberg .tp-density-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 600;
  font-family: 'Inter', Arial, sans-serif;
  color: var(--bb-ink);
  background: #030303;
  border: 1px solid var(--bb-border-dim);
  border-radius: 2px;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s, color 0.15s;
}

body.tp-bloomberg .tp-density-btn:hover {
  border-color: rgba(255, 158, 0, 0.28);
  color: var(--bb-ink-hi);
}

body.tp-bloomberg .tp-density-btn[aria-pressed="true"] {
  border-color: rgba(255, 158, 0, 0.35) !important;
  box-shadow: 0 0 12px rgba(255, 158, 0, 0.12) !important;
  color: var(--bb-orange-hi) !important;
}

body.tp-bloomberg #densityToggleBtn[aria-pressed="true"] .mb-pill-txt {
  color: var(--bb-orange-hi) !important;
}

/* Cashflow / FX compact density on grids */
body.tp-bloomberg.tp-density-compact .cf-grid td,
body.tp-bloomberg.tp-density-compact .cf-grid th {
  padding: 5px 8px !important;
  font-size: 11px !important;
}

body.tp-bloomberg.tp-density-compact #main-table tbody td {
  padding: 4px 8px !important;
  font-size: 11px !important;
}

body.tp-bloomberg.tp-density-standard .cf-grid td,
body.tp-bloomberg.tp-density-standard .cf-grid th {
  padding: 8px 12px !important;
}

body.tp-bloomberg.tp-density-standard #main-table tbody td {
  padding: 8px 12px !important;
}
