/* ix-uniform: one text and chart grammar on every page (2026-10-26).
   The house look is the ix-dash kit (Tax, Risk, Order Flow, Portfolio workspace:
   css/ix-dash.css). Pages built before the kit keep their layout and features;
   js/ix-uniform.js tags their headings, labels, table heads and numbers with the
   classes below so they read like the kit. Kit pages are left alone.
   Values copied from ix-dash.css: card h2 0.98rem/600, KPI label 0.78rem/500
   ink-2, table head 0.74rem/500 muted, numbers Inter tabular. */

:root {
  --ixu-ink: #1c1a17; --ixu-line: #efece6; --ixu-hover: rgba(28,26,23,0.03); --ixu-ink-2: #5c5751; --ixu-muted: #6f6a62; --ixu-line-2: #e4e0d8;
  --ixu-sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --ixu-serif: 'Source Serif 4', Georgia, serif;
}
html[data-theme="dark"] { --ixu-ink: #ece9e3; --ixu-line: #2b2926; --ixu-hover: rgba(236,233,227,0.035); --ixu-ink-2: #b8b2a9; --ixu-muted: #9a948a; --ixu-line-2: #36332f; }

/* Page body text: never the browser default serif. */
body.ixu-on { font-family: var(--ixu-sans); }

/* Card and section titles: sentence case, one size. */
html body.ixu-on .ixu-ctitle.ixu-ctitle {
  font-family: var(--ixu-sans) !important; font-size: 15.68px !important; font-weight: 600 !important;
  text-transform: none !important; letter-spacing: -0.005em !important; color: var(--ixu-ink) !important; line-height: 1.3 !important;
}
/* Page title (one per page). */
html body.ixu-on .ixu-ptitle.ixu-ptitle {
  font-family: var(--ixu-serif) !important; font-weight: 600 !important; letter-spacing: -0.012em !important; text-transform: none !important;
}
/* Small labels above a figure (KPI labels, field captions). */
html body.ixu-on .ixu-label.ixu-label {
  font-family: var(--ixu-sans) !important; font-size: 12.48px !important; font-weight: 500 !important;
  text-transform: none !important; letter-spacing: 0 !important; color: var(--ixu-ink-2) !important;
}
/* A label the page cut with an ellipsis: up to two lines instead of a cut word. */
html body.ixu-on .ixu-label-wrap.ixu-label-wrap {
  white-space: normal !important; display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden !important; text-overflow: clip !important; line-height: 1.25 !important;
}
/* Table column heads. */
html body.ixu-on .ixu-th.ixu-th {
  font-family: var(--ixu-sans) !important; font-size: 11.84px !important; font-weight: 500 !important;
  text-transform: none !important; letter-spacing: 0 !important; color: var(--ixu-muted) !important;
}
/* Figures: the normal face with aligned digits, not a typewriter face. */
html body.ixu-on .ixu-num.ixu-num { font-family: var(--ixu-sans) !important; font-variant-numeric: tabular-nums; letter-spacing: -0.01em !important; }
/* Table cells: one size. */
html body.ixu-on .ixu-td.ixu-td { font-size: 13.44px !important; }

/* A page whose cards touch the window edge gets the kit gutter. */
body.ixu-on.ixu-gutter { padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
@media (max-width: 640px) { body.ixu-on.ixu-gutter { padding-left: 16px !important; padding-right: 16px !important; } }

/* Cards: one corner and one border (the kit's --r-lg 14px, --r-md 10px inside a card). */
html body.ixu-on .ixu-box.ixu-box { border-radius: 14px !important; border-color: var(--ixu-line) !important; }
html body.ixu-on .ixu-box-in.ixu-box-in { border-radius: 10px !important; border-color: var(--ixu-line) !important; }

/* Tables: one row rhythm and a quiet hover. */
html body.ixu-on .ixu-th.ixu-th { padding-top: 8px !important; padding-bottom: 8px !important; border-bottom-color: var(--ixu-line-2) !important; }
html body.ixu-on tbody tr:hover > td { background-color: var(--ixu-hover); }

/* Tab rows that scroll sideways with a hidden scrollbar hid their last tab.
   Above phone width they wrap instead (.ey_tabs / .si_tabs pattern, or any row
   marked data-ix-tabs-wrap). Phones keep the swipe row. */
@media (min-width: 641px) {
  html body.ixu-on .ey_tabs, html body.ixu-on .si_tabs, html body [data-ix-tabs-wrap] { flex-wrap: wrap !important; overflow-x: visible !important; row-gap: 4px; }
}

/* Calendar and provenance badges (2026-10-27): one size and no ALL CAPS.
   Earnings / economic / IPO calendar badges, the screener provenance badge and
   inline uppercase pills ("TODAY") read 12px/500 in sentence case. The month
   grid's .cal-pill keeps its compact size (it sits inside a day cell).
   .ecal_badge keeps its own lowercase + first-letter sentence case. */
html body.ixu-on .ecal_badge, html body.ixu-on .ecal_ai-badge, html body.ixu-on .status-badge,
html body.ixu-on .fsm-prov .badge, html body.ixu-on .sa-badge, html body.ixu-on .ev-badge-port,
html body.ixu-on span[style*="text-transform:uppercase"][style*="border-radius:999px"] {
  font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important;
}
html body.ixu-on .ecal_ai-badge, html body.ixu-on .status-badge, html body.ixu-on .fsm-prov .badge,
html body.ixu-on .sa-badge, html body.ixu-on .ev-badge-port,
html body.ixu-on span[style*="text-transform:uppercase"][style*="border-radius:999px"] { text-transform: none !important; }

/* A table wrapper that scrolls sideways shows a fade on its right edge until
   it is scrolled to the end (class set by js/ix-uniform.js; not the Dashboard). */
html body .ixu-xscroll:not(.ixu-xend) {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), rgba(0,0,0,0.25));
  mask-image: linear-gradient(to right, #000 calc(100% - 36px), rgba(0,0,0,0.25));
}

/* "Charts by TradingView": the lightweight-charts licence credit, shown under the price
   charts that turn the library's own logo off (Order Flow, Technicals, Terminal). */
.ix-tv-credit { display: inline-block; margin: 4px 0 0; color: var(--tk-muted, #6f6a62); font: 400 11px/1.4 var(--ixu-sans); text-decoration: none; }
.ix-tv-credit:hover, .ix-tv-credit:focus-visible { color: var(--tk-ink-2, #5c5751); text-decoration: underline; }

/* Long lists in a card (js/ix-uniform.js, 2026-11-06): the list ends on a whole row
   and this button under it opens the rest in place. */
.ixu-more { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; margin: 8px 0 0; padding: 6px 12px;
  background: transparent; border: 1px solid var(--tk-line, rgba(127,127,127,0.25)); border-radius: var(--tk-radius-sm, 6px);
  color: var(--tk-ink-2, #5c5751); font: 500 13px/1.3 var(--ixu-sans, Inter, sans-serif); cursor: pointer; }
.ixu-more:hover { background: var(--tk-chip, rgba(127,127,127,0.08)); color: var(--tk-ink-1, #1c1a17); }
.ixu-more:focus-visible { outline: 2px solid var(--tk-accent, #d97757); outline-offset: 2px; }
