/* Scoped to AI Trading Signals dashboard ? Light Mode only */

.trading-terminal_root__shQEq {
  /* ???????? PREMIUM COLOR SYSTEM (Auto 1) ????????
     Named tokens are the single source of truth. The legacy --rec-* / --bd-*
     / --sh-* names below alias onto them, so every existing rule inherits the
     upgrade with zero layout or selector changes.
     Goal: purer whites, deeper blacks, crisper greys, clear surface steps. */

  /* ???????? PREMIUM VISUAL SYSTEM V1 ????????
     Three calm surface layers with tiny steps, near-invisible borders, and a
     single soft shadow per elevation. Cards rely on shadow (not outlines) to
     float ? the TradingView / Apple feel. */

  /* ???????? PHASE 17.8 ? Certified Surface System (Wave 0) ????????
     Visual Standards v1 ? SURFACE_STANDARD.md (trading-terminal scope) */
  --zs-surface-canvas: #F5F7F4; /* Surface 0 ? page root, overscroll */
  --zs-surface-base: #FFFFFF; /* Surface 1 ? cards, panels, modal body */
  --zs-terminal-surface-recessed: #F8FAFC; /* Surface 2 ? tracks, wells, chips */
  --zs-surface-elevated: #FFFFFF; /* Surface 3 ? dropdowns, hero (depth via shadow) */
  --zs-surface-overlay: rgba(15, 23, 42, 0.40); /* Surface 4 ? modal scrim */
  /* Hover fill ? state delta, not Surface 5 (SURFACE_STANDARD ? interactive) */
  --zs-surface-hover: #f1f5f9;

  /* Legacy aliases ? certified surfaces (existing rules unchanged) */
  --surface-page: var(--zs-surface-canvas);
  --surface-primary: var(--zs-surface-base);
  --surface-secondary: var(--zs-terminal-surface-recessed);
  --surface-elevated: var(--zs-surface-elevated);
  --surface-hover: var(--zs-surface-hover);
  --surface-sidebar: var(--zs-surface-canvas);

  /* ?? Borders ? golden reference: faint hairlines, never heavy outlines ?? */
  --border-primary: rgba(15, 23, 42, 0.06);
  --border-soft: rgba(15, 23, 42, 0.05);
  --border-active: rgba(15, 23, 42, 0.14);

  /* ?? Text ? approved Tajawal hierarchy inks ?? */
  --text-primary: #131722;
  --text-secondary: #434651;
  --text-muted: #787B86;

  /* ?? Accent + semantic ? limited & intentional ?? */
  --accent: #1d2b3f;
  --success: #15a349;
  --danger: #dc2626;
  --warning: #d97706;
  --info: #2563eb;

  --rec-bg-gradient: radial-gradient(1200px 620px at 100% 0%, rgba(37, 99, 235, 0.045), transparent 55%),
    radial-gradient(900px 560px at 0% 100%, rgba(13, 22, 41, 0.03), transparent 62%);

  /* ?? Legacy aliases (map onto the premium tokens above) ?? */
  --rec-bg: var(--zs-surface-canvas);
  --rec-surface: var(--zs-surface-base);
  --rec-surface-2: var(--zs-terminal-surface-recessed);
  --rec-surface-3: var(--zs-surface-canvas);
  --rec-border: #e2e8f0;
  --rec-border-faint: rgba(15, 23, 42, 0.06);
  --rec-text: var(--text-primary);
  --rec-text-2: var(--text-secondary);
  --rec-muted: var(--text-secondary);
  --rec-muted2: var(--text-muted);

  --bd-primary: var(--border-primary);
  --bd-secondary: rgba(13, 22, 41, 0.05);
  --bd-hairline: var(--border-soft);

  /* Shadows ? near-invisible; structure comes from borders + spacing */
  --sh-1: 0 1px 2px rgba(15, 23, 42, 0.04);
  --sh-2: none;
  --sh-2-hover: 0 1px 3px rgba(15, 23, 42, 0.05);
  --sh-locked: none;
  --sh-3: none;

  --rec-accent: var(--accent);
  --rec-accent-bright: #2c3a4f;
  --rec-accent-soft: rgba(13, 22, 41, 0.06);
  --rec-accent-border: rgba(13, 22, 41, 0.20);
  --rec-buy: var(--success);
  --rec-buy-text: #128041;
  --rec-buy-soft: rgba(21, 163, 73, 0.1);
  --rec-buy-border: rgba(21, 163, 73, 0.24);
  --rec-sell: var(--danger);
  --rec-sell-text: #b91c1c;
  --rec-sell-soft: rgba(220, 38, 38, 0.09);
  --rec-sell-border: rgba(220, 38, 38, 0.22);
  --rec-blue: var(--info);
  --rec-purple: #8b5cf6;
  --rec-gold: #ca8a04;
  --rec-teal: #0d9488;
  --rec-amber: var(--warning);
  --rec-pink: #db2777;

  /* ???????? PREMIUM VISUAL SYSTEM V2 (perceived quality) ????????
     Build on whitespace + typography + visual weight, not boxes. These tokens
     define ONE rhythm so every surface reads as the same system. */

  /* V2 surface aliases ? certified tokens */
  --s0: var(--zs-surface-canvas);
  --s1: var(--zs-surface-base);
  --s2: var(--zs-terminal-surface-recessed);
  --s3: var(--zs-surface-hover);

  /* Hairlines ? used sparingly; structure mostly comes from spacing */
  --line: rgba(13, 22, 41, 0.06);
  --line-strong: rgba(13, 22, 41, 0.10);

  /* Text levels ? primary / secondary / muted */
  --t-primary: #131722;
  --t-secondary: #434651;
  --t-muted: #787B86;
  --t-meta: #787B86;
  --t-caption: #787B86;

  /* Spacing grid ? 4 ? 8 ? 12 ? 16 ? 24 ? 32 ? 40 (no arbitrary values) */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;

  /* Type scale */
  --fs-display: 30px; /* hero price */
  --fs-kpi: 30px;     /* hero KPIs */
  --fs-h1: 20px;      /* symbol */
  --fs-h2: 16px;      /* values in tables */
  --fs-body: 13px;
  --fs-meta: 12px;
  --fs-caption: 11px;

  box-sizing: border-box;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  /* Calm institutional canvas ? no decorative gradient wash */
  background: var(--zs-surface-canvas);
  color: var(--rec-text);
  /* Explicit Tajawal ? do not inherit body IBM Plex stack */
  font-family: var(--tt-tajawal), "Tajawal", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  font-synthesis: none;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: 'kern' 1;
  font-kerning: normal;
}

.trading-terminal_root__shQEq *,
.trading-terminal_root__shQEq *::before,
.trading-terminal_root__shQEq *::after {
  box-sizing: border-box;
  font-synthesis: none;
  letter-spacing: 0;
}

.trading-terminal_app__7YNaA {
  display: block;
  min-height: 100vh;
}

/* Shared severity dot colours (alerts / status) */
.trading-terminal_intelAlertSuccess__2J_Y0 {
  background: #16a34a;
}
.trading-terminal_intelAlertDanger__72gWt {
  background: #dc2626;
}
.trading-terminal_intelAlertWarning__r5rL7 {
  background: #d97706;
}
.trading-terminal_intelAlertInfo__otGDS {
  background: #3b82f6;
}

/* ??? Best opportunities page ??? */
.trading-terminal_oppList__xMZgx {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_oppListRow__klxJZ {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--zs-card-radius);
  background: var(--zs-card-background);
  border: var(--zs-card-border-width) solid var(--bd-hairline);
  box-shadow: var(--sh-3);
}

.trading-terminal_oppListRank__ph6g0 {
  flex-shrink: 0;
  width: 22px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-muted2);
  text-align: center;
}

.trading-terminal_oppListMain__Xiwy8 {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.trading-terminal_oppListHead__9cGUC {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.trading-terminal_oppListSymbol__te3RH {
  font-size: 14px;
  font-weight: 700;
  color: var(--rec-text);
}

.trading-terminal_oppListMarket__O1Reo {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
}

.trading-terminal_oppListMeta__DD_M9 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  color: var(--rec-muted);
}

.trading-terminal_oppListScore__Qg3rY {
  flex-shrink: 0;
  min-width: 36px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--rec-accent);
  font-variant-numeric: tabular-nums;
}

.trading-terminal_oppListCta__PHtSt {
  flex-shrink: 0;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid var(--bd-primary);
  background: var(--rec-surface);
  color: var(--rec-text);
  font-size: 12.5px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background 150ms ease, box-shadow 150ms ease;
}

.trading-terminal_oppListCta__PHtSt:hover {
  background: var(--rec-surface-2);
  box-shadow: var(--sh-3);
}

/* ??? System status page ??? */
.trading-terminal_statusGrid__JDooB {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.trading-terminal_statusCard__N65ri {
  padding: 14px 16px;
  border-radius: var(--zs-card-radius);
  background: var(--zs-card-background);
  border: var(--zs-card-border-width) solid var(--bd-hairline);
  box-shadow: var(--sh-3);
}

.trading-terminal_statusCardWide__BQMIW {
  grid-column: 1 / -1;
}

.trading-terminal_statusCardTitle__e9r_s {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--rec-muted2);
}

.trading-terminal_statusHero__T8scC {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.trading-terminal_statusHeroText__SvuXt {
  font-size: 15px;
  font-weight: 700;
  color: var(--rec-text);
}

.trading-terminal_statusDot___zGjD {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--rec-muted2);
}

.trading-terminal_statusDot___zGjD[data-status='ready'] {
  background: #16a34a;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}

.trading-terminal_statusDot___zGjD[data-status='loading'] {
  background: #d97706;
}

.trading-terminal_statusDot___zGjD[data-status='error'] {
  background: #dc2626;
}

.trading-terminal_statusDl__BPZUc {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.trading-terminal_statusRow__VS4Vv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
}

.trading-terminal_statusRow__VS4Vv dt {
  margin: 0;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_statusRow__VS4Vv dd {
  margin: 0;
  color: var(--rec-text);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: end;
}

.trading-terminal_statusWarn__vcPRs {
  color: #b45309;
  font-weight: 700;
}

.trading-terminal_statusAlertList__SpsBp {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_statusAlertItem__HvoLS {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--rec-surface-2);
}

.trading-terminal_statusAlertDot__9ASSz {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}

.trading-terminal_statusAlertTitle__Gt1c6 {
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-text);
}

.trading-terminal_statusAlertMsg__zYBXd {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--rec-muted);
  line-height: 1.45;
}

/* ??? Legacy nav sidebar (unused on /trading-terminal) ??? */
.trading-terminal_sidebar__8apIi {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: 22px 14px 16px;
  border-inline-end: 1px solid var(--rec-border-faint);
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 40%, #f5f7fa 100%);
  box-shadow: 4px 0 24px rgba(15, 23, 42, 0.04);
}

.trading-terminal_sidebar__8apIi::-webkit-scrollbar {
  width: 4px;
}
.trading-terminal_sidebar__8apIi::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.12);
  border-radius: 99px;
}

.trading-terminal_brand__TLn0C {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 6px 22px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--rec-border-faint);
}

.trading-terminal_brandMark__vNDbB {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: linear-gradient(145deg, var(--rec-accent-bright), var(--rec-accent));
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  display: grid;
  place-items: center;
  letter-spacing: -0.04em;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.28);
}

.trading-terminal_brandName__KBGIZ {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--rec-text);
}

.trading-terminal_nav__E5gpv {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.trading-terminal_navItem__di7S4 {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 10px;
  border-radius: 7px;
  color: var(--rec-muted);
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  background: none;
  width: 100%;
  text-align: start;
  font-family: inherit;
  transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
  position: relative;
}

.trading-terminal_navItem__di7S4:hover {
  background: var(--rec-surface-2);
  color: var(--rec-text);
}

.trading-terminal_navItemActive__LRDGz {
  background: var(--rec-surface-2);
  color: var(--rec-text);
  box-shadow: inset 0 0 0 1px var(--rec-border);
}

.trading-terminal_navItemActive__LRDGz::before {
  content: '';
  position: absolute;
  inset-inline-start: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 16px;
  background: var(--rec-accent);
  border-radius: 0 2px 2px 0;
}

.trading-terminal_navIcon__wJ9kN {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.85;
}

.trading-terminal_navItemActive__LRDGz .trading-terminal_navIcon__wJ9kN {
  opacity: 1;
}

.trading-terminal_navDivider__gt6pY {
  height: 1px;
  background: var(--rec-border-faint);
  margin: 8px 6px;
}

.trading-terminal_upgrade__uYzJu {
  margin-top: auto;
  padding: 14px;
  border-radius: 11px;
  background: linear-gradient(160deg, var(--rec-accent-soft), rgba(15, 23, 42, 0.03) 60%, #fff);
  border: 1px solid var(--rec-accent-border);
  position: relative;
  overflow: hidden;
}

.trading-terminal_upgrade__uYzJu::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 80% at 100% 0%, rgba(15, 23, 42, 0.06), transparent 50%);
  pointer-events: none;
}

.trading-terminal_upgradeTitle__ZiORI {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
  position: relative;
  color: var(--rec-text);
}

.trading-terminal_upgradeIcon__GBA0B {
  width: 14px;
  height: 14px;
  color: var(--rec-accent);
}

.trading-terminal_upgradeDesc__17_RF {
  font-size: 11.5px;
  color: var(--rec-muted);
  line-height: 1.55;
  margin-bottom: 11px;
  position: relative;
}

.trading-terminal_upgradeBtn__BuI0A {
  display: block;
  width: 100%;
  background: var(--rec-accent-soft);
  color: var(--rec-accent-text);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid var(--rec-accent-border);
  text-align: center;
  cursor: pointer;
  font-family: inherit;
  transition: background 140ms;
}

.trading-terminal_upgradeBtn__BuI0A:hover {
  background: rgba(15, 23, 42, 0.12);
}

.trading-terminal_marketStatus__2YPVd {
  margin-top: 12px;
  padding: 12px;
  border-radius: 10px;
  background: var(--rec-surface-2);
  border: 1px solid var(--rec-border-faint);
}

.trading-terminal_marketStatusRow__yJLGv {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--rec-muted);
  margin-bottom: 4px;
  font-weight: 500;
}

.trading-terminal_dot__3Im8e {
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: var(--rec-accent);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.16);
  flex-shrink: 0;
}

.trading-terminal_marketStatusState__PNbBo {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 3px;
  color: var(--rec-text);
}

.trading-terminal_marketStatusTime__sqFFa {
  font-size: 11px;
  color: var(--rec-muted2);
}

.trading-terminal_utilities__LrP8k {
  display: flex;
  gap: 4px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--rec-border-faint);
}

.trading-terminal_utility__OSAvO {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  color: var(--rec-muted2);
  cursor: pointer;
  border: none;
  background: none;
  transition: all 140ms;
}

.trading-terminal_utility__OSAvO:hover {
  color: var(--rec-text);
  background: var(--rec-surface-2);
}

.trading-terminal_utility__OSAvO svg {
  width: 15px;
  height: 15px;
}

/* ??? Main ??? */
.trading-terminal_main__Qnk2P {
  padding: 12px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

/* ?? Top search bar (standalone, first element) ?? */
.trading-terminal_searchBar__Xc_WK {
  width: 100%;
}

.trading-terminal_searchInner__vAuVd {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7.5px 12px;
  border-radius: 9px;
  border: 1px solid var(--rec-border);
  background: var(--rec-surface);
  box-shadow: var(--sh-3);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.trading-terminal_searchInner__vAuVd:focus-within {
  border-color: rgba(15, 23, 42, 0.4);
  box-shadow: 0 0 0 3px var(--rec-accent-soft);
}

.trading-terminal_searchIcon__eRW2T {
  width: 16px;
  height: 16px;
  color: var(--rec-muted2);
  flex-shrink: 0;
}

.trading-terminal_searchInput__82atI {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 13px;
  font-family: inherit;
  color: var(--rec-text);
  min-width: 0;
}

.trading-terminal_searchInput__82atI::placeholder {
  color: var(--rec-muted2);
}

/* ???????? Command Bar ? single-row search + compact filter dropdowns ????????
   Replaces the tall search bar + two button rows. Collapses markets and sort
   into pills/dropdowns so the header is ~half the height and the hero shows
   sooner. Pure presentation ? same query/market/sort/tier state underneath. */
.trading-terminal_commandBar__oJ9rd {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  flex-wrap: nowrap;
}

.trading-terminal_cmdSearch__Ue2q6 {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 1 1 auto;
  min-width: 0;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--rec-border);
  background: var(--rec-surface);
  box-shadow: var(--sh-3);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.trading-terminal_cmdSearch__Ue2q6:focus-within {
  border-color: rgba(15, 23, 42, 0.4);
  box-shadow: 0 0 0 3px var(--rec-accent-soft);
}

.trading-terminal_cmdControls__8Uflj {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.trading-terminal_cmdField__oGz3D {
  position: relative;
}

.trading-terminal_cmdPill__22qiT {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--rec-border);
  background: var(--rec-surface);
  box-shadow: var(--sh-3);
  color: var(--rec-text);
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.trading-terminal_cmdPill__22qiT:hover {
  background: var(--rec-surface-2);
  border-color: var(--border-active);
}

.trading-terminal_cmdPillActive__SUmua {
  border-color: var(--rec-accent-border);
  background: var(--rec-accent-soft);
  color: var(--rec-text);
}

.trading-terminal_cmdPillIcon__Cp2zb {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--rec-muted);
}

.trading-terminal_cmdChevron__VsZnp {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--rec-muted2);
}

/* Dropdown menu (market / sort) */
.trading-terminal_cmdMenu__z1NrW {
  position: absolute;
  inset-inline-end: 0;
  top: calc(100% + 6px);
  z-index: 40;
  min-width: 184px;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-radius: 12px;
  border: 1px solid var(--bd-primary);
  background: var(--zs-surface-elevated);
  box-shadow: var(--sh-1);
}

.trading-terminal_cmdOption__4dVIB {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--rec-text-2);
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  text-align: start;
  cursor: pointer;
  transition: background 130ms ease, color 130ms ease;
}

.trading-terminal_cmdOption__4dVIB:hover {
  background: var(--rec-surface-2);
  color: var(--rec-text);
}

.trading-terminal_cmdOptionActive__rWI_B {
  background: var(--rec-accent-soft);
  color: var(--rec-text);
  font-weight: 700;
}

.trading-terminal_cmdCheck__0SMNb {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--rec-accent);
}

/* Filter popover panel ? markets + sort grouped */
.trading-terminal_cmdPanel__wRr37 {
  position: absolute;
  inset-inline-end: 0;
  top: calc(100% + 6px);
  z-index: 40;
  width: 320px;
  max-width: calc(100vw - 32px);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-radius: 14px;
  border: 1px solid var(--bd-primary);
  background: var(--zs-surface-elevated);
  box-shadow: var(--sh-1);
}

.trading-terminal_cmdPanelGroup__Tqum_ {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_cmdPanelLabel__bMxkT {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--rec-muted2);
}

.trading-terminal_cmdPanelChips__Wgbpd {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.trading-terminal_cmdChip__xrmVT {
  padding: 6px 11px;
  border-radius: 8px;
  border: 1px solid var(--bd-hairline);
  background: var(--rec-surface-2);
  color: var(--rec-muted);
  font-size: 12.5px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.trading-terminal_cmdChip__xrmVT:hover {
  color: var(--rec-text);
  border-color: var(--bd-primary);
}

.trading-terminal_cmdChipActive__5S19v {
  background: var(--rec-accent-soft);
  border-color: var(--rec-accent-border);
  color: var(--rec-text);
  font-weight: 700;
}

@media (max-width: 720px) {
  .trading-terminal_commandBar__oJ9rd {
    flex-wrap: wrap;
  }
  .trading-terminal_cmdSearch__Ue2q6 {
    flex: 1 1 100%;
  }
  .trading-terminal_cmdControls__8Uflj {
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .trading-terminal_cmdControls__8Uflj::-webkit-scrollbar {
    display: none;
  }
  .trading-terminal_cmdPanel__wRr37 {
    width: 280px;
  }
}

/* ?? Filter bar: two labeled groups (markets / sort) ?? */
.trading-terminal_filterBar__ghzkB {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--bd-hairline);
  border-radius: 12px;
  background: var(--rec-surface-2);
}

.trading-terminal_filterGroup__twhPq {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.trading-terminal_filterGroup__twhPq + .trading-terminal_filterGroup__twhPq {
  padding-top: 8px;
  border-top: 1px solid var(--rec-border-faint);
}

.trading-terminal_filterLabel__VUaU4 {
  flex-shrink: 0;
  width: 58px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: normal;
  white-space: nowrap;
  color: var(--rec-muted);
}

.trading-terminal_tabs__C_lMc {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}

.trading-terminal_tab__uxrs5 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5.5px 10px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #434651;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: all 150ms ease;
}

.trading-terminal_tab__uxrs5:hover {
  background: rgba(15, 23, 42, 0.05);
  color: #131722;
}

.trading-terminal_tabActive__N93cf,
.trading-terminal_tabActive__N93cf:hover {
  background: rgba(15, 23, 42, 0.07);
  color: #131722;
  border-color: rgba(15, 23, 42, 0.18);
  font-weight: 700;
}

.trading-terminal_tab__uxrs5 svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.trading-terminal_customize__ITdRz {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-inline-start: auto;
  padding: 5.5px 10px;
  background: transparent;
  border: 1px solid var(--rec-border-faint);
  border-radius: 7px;
  color: #131722;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: all 150ms ease;
}

.trading-terminal_customize__ITdRz:hover {
  background: rgba(15, 23, 42, 0.05);
  color: var(--rec-text);
  border-color: var(--bd-hairline);
}

.trading-terminal_customize__ITdRz svg {
  width: 13px;
  height: 13px;
}

.trading-terminal_work__ZBa4_ {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
  min-width: 0;
}

.trading-terminal_panels__7Yu2l {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.trading-terminal_panel__Ftpf4 {
  background: var(--rec-surface);
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.trading-terminal_panelHead__7001I {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.trading-terminal_panelHead__7001I h3 {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--rec-text);
}

.trading-terminal_panelMeta__0_Gum {
  font-size: 11px;
  color: var(--rec-muted2);
  font-weight: 500;
}

.trading-terminal_panelInfo__kszn6 {
  width: 14px;
  height: 14px;
  color: var(--rec-muted2);
}

.trading-terminal_priorityList__UtXV2,
.trading-terminal_perfList__O0pgu,
.trading-terminal_latestList__T6GzF {
  display: flex;
  flex-direction: column;
}

.trading-terminal_priorityRow__pgQq0 {
  display: flex;
  align-items: center;
  padding: 9px 6px;
  border-radius: 6px;
  font-size: 13px;
  transition: background 140ms;
}

.trading-terminal_priorityRow__pgQq0:hover {
  background: var(--rec-surface-2);
}

.trading-terminal_pdot__N9Dnm {
  width: 6.5px;
  height: 6.5px;
  border-radius: 99px;
  margin-inline-end: 10px;
  flex-shrink: 0;
}

.trading-terminal_priorityHigh__AKdLT .trading-terminal_pdot__N9Dnm {
  background: var(--rec-buy);
}
.trading-terminal_priorityMedium__b7Mjy .trading-terminal_pdot__N9Dnm {
  background: var(--rec-amber);
}
.trading-terminal_priorityLow___s4hE .trading-terminal_pdot__N9Dnm {
  background: var(--rec-blue);
}
.trading-terminal_priorityWatch__4iJOO .trading-terminal_pdot__N9Dnm {
  background: var(--rec-muted2);
}

.trading-terminal_pname__mMmPT {
  flex: 1;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_pcount__4eDwR {
  background: var(--rec-surface-2);
  color: var(--rec-muted);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 99px;
  min-width: 26px;
  text-align: center;
  border: 1px solid var(--rec-border-faint);
}

.trading-terminal_perfRow__083Hx {
  display: flex;
  align-items: center;
  padding: 9px 6px;
  border-radius: 6px;
  transition: background 140ms;
}

.trading-terminal_perfRow__083Hx:hover {
  background: var(--rec-surface-2);
}

.trading-terminal_tickerIcon__xV8Zo {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  margin-inline-end: 10px;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
  letter-spacing: -0.02em;
}

.trading-terminal_iconBtc__BjMQB {
  background: rgba(234, 179, 8, 0.15);
  color: #ca8a04;
}
.trading-terminal_iconEth__BoQJM {
  background: rgba(139, 92, 246, 0.12);
  color: var(--rec-purple);
}
.trading-terminal_iconXau__ioISZ {
  background: rgba(202, 138, 4, 0.14);
  color: var(--rec-gold);
}
.trading-terminal_iconSol__FlWK_ {
  background: rgba(13, 148, 136, 0.14);
  color: var(--rec-teal);
}
.trading-terminal_iconEur__9pCf4 {
  background: rgba(59, 130, 246, 0.12);
  color: var(--rec-blue);
}
.trading-terminal_iconAapl__lDeiB {
  background: rgba(100, 116, 139, 0.14);
  color: var(--rec-muted);
}

.trading-terminal_ptkr__TWdYT {
  flex: 1;
  font-size: 12.5px;
  color: var(--rec-text);
  font-weight: 500;
  letter-spacing: -0.005em;
}

.trading-terminal_ppct__Q59R6 {
  font-size: 12.5px;
  color: var(--rec-buy-text);
  font-weight: 700;
}

.trading-terminal_viewAll__R7_kF {
  width: 100%;
  margin-top: 8px;
  padding: 8px;
  background: transparent;
  border: 1px solid var(--rec-border-faint);
  border-radius: 7px;
  color: var(--rec-muted);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: all 140ms;
}

.trading-terminal_viewAll__R7_kF:hover {
  background: var(--rec-surface-2);
  color: var(--rec-text);
  border-color: var(--rec-border);
}

.trading-terminal_latestRow__p6agp {
  display: flex;
  align-items: center;
  padding: 9px 6px;
  border-radius: 6px;
  transition: background 140ms;
}

.trading-terminal_latestRow__p6agp:hover {
  background: var(--rec-surface-2);
}

.trading-terminal_latestRow__p6agp .trading-terminal_tickerIcon__xV8Zo {
  margin-inline-end: 10px;
}

.trading-terminal_ltkr__DuY43 {
  flex: 1;
  font-size: 12.5px;
  color: var(--rec-text);
  font-weight: 500;
  letter-spacing: -0.005em;
}

.trading-terminal_lpill__YGi_c {
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 99px;
  margin-inline-end: 8px;
  letter-spacing: 0;
}

.trading-terminal_lpillBuy__IQW65 {
  background: var(--rec-buy-soft);
  color: var(--rec-buy-text);
  border: 1px solid var(--rec-buy-border);
}

.trading-terminal_lpillSell__UepFE {
  background: var(--rec-sell-soft);
  color: var(--rec-sell-text);
  border: 1px solid var(--rec-sell-border);
}

.trading-terminal_ltime__p9z8G {
  font-size: 11px;
  color: var(--rec-muted2);
  min-width: 36px;
  text-align: end;
}

.trading-terminal_cardGrid__yw2Ho {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  min-width: 0;
}

.trading-terminal_signalCard__Mf_G0 {
  background: var(--rec-surface);
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  cursor: pointer;
  transition: all 220ms ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.trading-terminal_signalCard__Mf_G0::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: radial-gradient(140% 60% at 100% 0%, var(--card-tint, transparent) 0%, transparent 55%);
  pointer-events: none;
  opacity: 0.65;
  transition: opacity 220ms ease;
}

.trading-terminal_signalCard__Mf_G0:hover {
  border-color: var(--rec-border);
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

.trading-terminal_signalCard__Mf_G0:hover::after {
  opacity: 1;
}

.trading-terminal_cardTop__EQVQq {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.trading-terminal_dirPill__ocxH4 {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
  letter-spacing: 0;
}

.trading-terminal_dirBuy__cZ45f {
  background: var(--rec-buy-soft);
  color: var(--rec-buy-text);
  border: 1px solid var(--rec-buy-border);
}

.trading-terminal_dirSell__xhHiq {
  background: var(--rec-sell-soft);
  color: var(--rec-sell-text);
  border: 1px solid var(--rec-sell-border);
}

.trading-terminal_catLabel__Li6vR {
  font-size: 11px;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_cardSymbolRow__u3bcr {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  position: relative;
  z-index: 1;
}

.trading-terminal_cardSymbol__8Lw_d {
  font-size: 17px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.018em;
}

.trading-terminal_cardPctPill__crTDr {
  font-size: 11.5px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 5px;
  letter-spacing: -0.005em;
}

.trading-terminal_pctUp__JuQay {
  background: rgba(22, 163, 74, 0.12);
  color: var(--rec-buy-text);
}

.trading-terminal_pctDown__7ay2M {
  background: rgba(220, 38, 38, 0.1);
  color: var(--rec-sell-text);
}

.trading-terminal_cardRange__qXtnj {
  font-size: 13.5px;
  color: var(--rec-muted);
  font-weight: 500;
  margin-top: -8px;
  position: relative;
  z-index: 1;
  letter-spacing: -0.005em;
}

.trading-terminal_cardChart__DSs6q {
  width: 100%;
  height: 56px;
  display: block;
  position: relative;
  z-index: 1;
}

.trading-terminal_cardTps__br_sn {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding: 11px 0;
  border-top: 1px solid var(--rec-border-faint);
  border-bottom: 1px solid var(--rec-border-faint);
  position: relative;
  z-index: 1;
}

.trading-terminal_tpItem__d0M2s {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.trading-terminal_tpLabel__X6dZg {
  font-size: 10.5px;
  color: var(--rec-muted);
  font-weight: 500;
  letter-spacing: 0;
}

.trading-terminal_tpValue__WLyX_ {
  font-size: 13px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.008em;
}

.trading-terminal_cardMeta__i6Meb {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.trading-terminal_riskBlock__UICJ4 {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.trading-terminal_riskLabel__2n44m {
  font-size: 10.5px;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_riskValueRow__2INYv {
  display: flex;
  align-items: center;
  gap: 8px;
}

.trading-terminal_riskValue__c2I0y {
  font-size: 12.5px;
  color: var(--rec-text);
  font-weight: 700;
}

.trading-terminal_riskBars__oyxGK {
  display: flex;
  gap: 2px;
  align-items: flex-end;
}

.trading-terminal_riskBars__oyxGK span {
  width: 3px;
  border-radius: 1px;
  background: #cbd5e1;
}

.trading-terminal_riskBars__oyxGK span:nth-child(1) {
  height: 5px;
}
.trading-terminal_riskBars__oyxGK span:nth-child(2) {
  height: 8px;
}
.trading-terminal_riskBars__oyxGK span:nth-child(3) {
  height: 11px;
}

.trading-terminal_riskBarsLow__h1QU9 span:nth-child(1) {
  background: var(--rec-buy);
}

.trading-terminal_riskBarsMedium__zhjMP span:nth-child(1),
.trading-terminal_riskBarsMedium__zhjMP span:nth-child(2) {
  background: var(--rec-amber);
}

.trading-terminal_riskBarsHigh__XsPcZ span {
  background: var(--rec-sell);
}

.trading-terminal_confidenceBlock__OmLGS {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.trading-terminal_confText__BbDOQ {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.trading-terminal_confLabel__pIloI {
  font-size: 10.5px;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_confValue__sglzn {
  font-size: 12.5px;
  color: var(--rec-text);
  font-weight: 700;
}

.trading-terminal_confRing__bHS3o {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.trading-terminal_cardFoot__RIxqY {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 11px;
  border-top: 1px solid var(--rec-border-faint);
  position: relative;
  z-index: 1;
}

.trading-terminal_favTime__iNL72 {
  display: flex;
  align-items: center;
  gap: 9px;
}

.trading-terminal_favBtn__uFi_p,
.trading-terminal_moreBtn___aNvs {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  color: var(--rec-muted2);
  border: none;
  background: none;
  cursor: pointer;
  transition: all 140ms;
}

.trading-terminal_favBtn__uFi_p:hover,
.trading-terminal_moreBtn___aNvs:hover {
  color: var(--rec-text);
  background: var(--rec-surface-2);
}

.trading-terminal_favBtn__uFi_p svg,
.trading-terminal_moreBtn___aNvs svg {
  width: 13px;
  height: 13px;
}

.trading-terminal_footTime__Kh197 {
  font-size: 11.5px;
  color: var(--rec-muted);
  font-weight: 500;
}

.trading-terminal_mainCol__35Bb9 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

/* ??? Station brain (live intelligence ? compact, dark premium) ??? */
.trading-terminal_stationBrain__15z8L {
  --sb-bg: #0f1419;
  --sb-bg2: #161d26;
  --sb-text: #e8edf4;
  --sb-muted: #94a3b8;
  --sb-accent: #84cc16;
  --sb-accent-soft: rgba(132, 204, 22, 0.14);
  --sb-line: rgba(255, 255, 255, 0.07);
  --sb-warn: #fbbf24;

  background: linear-gradient(165deg, var(--sb-bg) 0%, var(--sb-bg2) 55%, #121820 100%);
  border: 1px solid var(--sb-line);
  border-radius: 12px;
  padding: 14px 15px 15px;
  color: var(--sb-text);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
  min-width: 0;
  overflow: hidden;
}

.trading-terminal_stationHead___MZ42 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.trading-terminal_stationTitleRow__tLhsM {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.trading-terminal_stationIcon__CAbhQ {
  width: 16px;
  height: 16px;
  color: var(--sb-accent);
  flex-shrink: 0;
}

.trading-terminal_stationTitle__UtUEh {
  margin: 0;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--sb-text);
}

.trading-terminal_stationLive__M_9Xe {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--sb-accent);
  padding: 3px 8px;
  border-radius: 99px;
  background: var(--sb-accent-soft);
  flex-shrink: 0;
}

.trading-terminal_stationLiveDot__2F1Et {
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: var(--sb-accent);
  box-shadow: 0 0 0 3px rgba(132, 204, 22, 0.22);
}

.trading-terminal_stationFallback__hNZRJ {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--sb-muted);
}

.trading-terminal_stationFallbackMuted__VujV4 {
  margin: 8px 0 0;
  font-size: 11.5px;
  color: var(--sb-muted);
  line-height: 1.5;
}

.trading-terminal_stationSkeleton__wZstf {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_stationSkeleton__wZstf span {
  display: block;
  height: 10px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
}

.trading-terminal_stationSkeleton__wZstf span:nth-child(1) {
  width: 88%;
}
.trading-terminal_stationSkeleton__wZstf span:nth-child(2) {
  width: 72%;
}
.trading-terminal_stationSkeleton__wZstf span:nth-child(3) {
  width: 56%;
}

.trading-terminal_stationBody__TBROY {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.trading-terminal_stationPrimary__R8qSF {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--sb-text);
  letter-spacing: -0.01em;
}

.trading-terminal_stationTransition__FF4dA {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 0 2px;
  border-bottom: 1px solid var(--sb-line);
}

.trading-terminal_stationTransitionLbl__cYoXJ {
  font-size: 10px;
  font-weight: 700;
  color: var(--sb-muted);
  text-transform: none;
}

.trading-terminal_stationTransitionTxt__g_mvc {
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 500;
}

.trading-terminal_stationGrid__rB9kS {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_stationRow__KJgjH {
  display: grid;
  grid-template-columns: minmax(72px, auto) 1fr;
  gap: 8px 10px;
  align-items: start;
  font-size: 11.5px;
  line-height: 1.5;
}

.trading-terminal_stationRow__KJgjH dt {
  margin: 0;
  color: var(--sb-muted);
  font-weight: 500;
}

.trading-terminal_stationRow__KJgjH dd {
  margin: 0;
  color: var(--sb-text);
  font-weight: 500;
  word-break: break-word;
}

.trading-terminal_stationRowInline__7pNVs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: 11.5px;
  line-height: 1.45;
}

.trading-terminal_stationRowInline__7pNVs dt {
  margin: 0 0 3px;
  color: var(--sb-muted);
  font-weight: 500;
}

.trading-terminal_stationRowInline__7pNVs dd {
  margin: 0;
  color: var(--sb-text);
  font-weight: 700;
}

.trading-terminal_stationWarn__Goeei {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.18);
  color: #fde68a;
  font-size: 11.5px;
  line-height: 1.45;
}

.trading-terminal_stationFeed__DXpKH {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.trading-terminal_stationFeed__DXpKH li {
  font-size: 11px;
  color: var(--sb-muted);
  line-height: 1.45;
  padding-inline-start: 10px;
  position: relative;
}

.trading-terminal_stationFeed__DXpKH li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 0.55em;
  width: 4px;
  height: 4px;
  border-radius: 99px;
  background: var(--sb-accent);
  opacity: 0.75;
}

.trading-terminal_stationFeedSingle__T_5TT {
  margin: 0;
  font-size: 11px;
  color: var(--sb-muted);
  line-height: 1.45;
}

.trading-terminal_stationConsensus__A0o7j {
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid var(--sb-line);
  font-size: 11px;
  line-height: 1.5;
  color: var(--sb-muted);
}

.trading-terminal_stationConsensusLbl__lPxaY {
  color: var(--sb-text);
  font-weight: 700;
}

.trading-terminal_stationBrain__15z8L .zs-tone-positive {
  color: #4ade80;
}
.trading-terminal_stationBrain__15z8L .zs-tone-negative {
  color: #ff6b63;
}
.trading-terminal_stationBrain__15z8L .zs-tone-warning {
  color: #fbbf24;
}
.trading-terminal_stationBrain__15z8L .zs-tone-neutral {
  color: var(--sb-muted);
}

@media (max-width: 1180px) {
  .trading-terminal_cardGrid__yw2Ho {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 920px) {
  .trading-terminal_stationRowInline__7pNVs {
    grid-template-columns: 1fr;
  }

  .trading-terminal_cardGrid__yw2Ho {
    grid-template-columns: 1fr;
  }
  .trading-terminal_perfStatRow__VKJoW {
    grid-template-columns: repeat(2, 1fr);
  }
  .trading-terminal_oppGrid__4y5sk {
    grid-template-columns: 1fr;
  }
  .trading-terminal_execMetrics__14lBJ {
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
  }
  .trading-terminal_execMetric__KevPG:nth-child(3) {
    padding-inline-start: 0;
    border-inline-start: none;
  }
  .trading-terminal_searchWrap__K3w3n {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* ????????????????????????????????????????????????????????????????
   Trading Terminal Intelligence ? live wiring (light mode)
   ???????????????????????????????????????????????????????????????? */

/* Direction / status chips */
.trading-terminal_dirWatch__Fcv7h {
  background: rgba(59, 130, 246, 0.1);
  color: var(--rec-blue);
  border: 1px solid rgba(59, 130, 246, 0.22);
}

.trading-terminal_statusChip__f0Dcx {
  font-size: 10.5px;
  font-weight: 500;
  padding: 3px 9px;
  border-radius: 99px;
  border: 1px solid var(--rec-border);
  color: var(--rec-muted);
  background: var(--rec-surface-2);
  white-space: nowrap;
}
.trading-terminal_statusWatch__6UTFG {
  color: var(--rec-blue);
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.2);
}
.trading-terminal_statusPending__2obXc {
  color: var(--rec-amber);
  background: rgba(217, 119, 6, 0.08);
  border-color: rgba(217, 119, 6, 0.2);
}
.trading-terminal_statusConditional__AGiAE {
  color: #7c3aed;
  background: rgba(124, 58, 237, 0.09);
  border-color: rgba(124, 58, 237, 0.22);
}
.trading-terminal_statusActive__RG8LG {
  color: var(--rec-purple);
  background: rgba(139, 92, 246, 0.08);
  border-color: rgba(139, 92, 246, 0.22);
}
.trading-terminal_statusWin__tXvPq {
  color: var(--rec-buy-text);
  background: var(--rec-buy-soft);
  border-color: var(--rec-buy-border);
}
.trading-terminal_statusLoss__IFvgQ {
  color: var(--rec-sell-text);
  background: var(--rec-sell-soft);
  border-color: var(--rec-sell-border);
}
.trading-terminal_statusCancelled__5_XRv {
  color: var(--rec-muted2);
  background: var(--rec-surface-2);
}

/* Price line */
.trading-terminal_cardPriceNow__BgQJ1 {
  font-size: 14px;
  font-weight: 700;
  color: var(--rec-text);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.trading-terminal_liveDot__bJNjv {
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: var(--rec-buy);
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.18);
}
.trading-terminal_cardPriceUnavailable__IWJwh {
  font-size: 11px;
  color: var(--rec-amber);
}

/* Tags row */
.trading-terminal_cardTags__VKwoA {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 2px 0 4px;
}
.trading-terminal_cardTag__P3JLp {
  font-size: 10.5px;
  color: var(--rec-muted);
  background: var(--rec-surface-2);
  border: 1px solid var(--rec-border-faint);
  padding: 2px 8px;
  border-radius: 99px;
}

.trading-terminal_tpWin__tVkLY {
  color: var(--rec-buy-text);
}
.trading-terminal_tpLossText__wAJ4h {
  color: var(--rec-sell-text);
}

/* Progress to target */
.trading-terminal_progressWrap__qXquh {
  margin: 2px 0 6px;
}
.trading-terminal_progressBar__EKMdm {
  height: 5px;
  border-radius: 99px;
  background: var(--rec-surface-2);
  overflow: hidden;
}
.trading-terminal_progressBar__EKMdm span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rec-blue), var(--rec-purple));
}
.trading-terminal_progressLabel__iioA_ {
  display: block;
  font-size: 10.5px;
  color: var(--rec-muted);
  margin-top: 4px;
}

.trading-terminal_cardSummary__KsaJB {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--rec-muted);
}

/* Why button */
.trading-terminal_whyBtn__j_fnk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-blue);
  background: rgba(59, 130, 246, 0.07);
  border: 1px solid rgba(59, 130, 246, 0.18);
  border-radius: 10px;
  padding: 7px 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.trading-terminal_whyBtn__j_fnk:hover {
  background: rgba(59, 130, 246, 0.12);
}

/* Locked card */
.trading-terminal_signalCardLocked__Mea_D {
  position: relative;
}
.trading-terminal_lockBox__LjrM0 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 26px 14px;
  text-align: center;
  color: var(--rec-muted);
}
.trading-terminal_lockBox__LjrM0 p {
  margin: 0;
  font-size: 12.5px;
}
.trading-terminal_lockCta__yUgi4 {
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-blue);
  text-decoration: none;
  border: 1px solid rgba(59, 130, 246, 0.22);
  border-radius: 8px;
  padding: 6px 14px;
}

/* Skeletons + states */
.trading-terminal_cardSkeleton__ph1OH {
  border: 1px solid var(--rec-border);
  border-radius: 16px;
  background: var(--rec-surface);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 200px;
}
.trading-terminal_cardSkeleton__ph1OH span {
  display: block;
  height: 14px;
  border-radius: 8px;
  background: linear-gradient(90deg, #eef2f6, #f8fafc, #eef2f6);
  background-size: 200% 100%;
  animation: trading-terminal_ttShimmer__HufJ5 1.3s ease-in-out infinite;
}
.trading-terminal_cardSkeleton__ph1OH span:nth-child(2) {
  width: 70%;
}
.trading-terminal_cardSkeleton__ph1OH span:nth-child(3) {
  width: 45%;
}
@keyframes trading-terminal_ttShimmer__HufJ5 {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.trading-terminal_stateBox__zFPuj {
  grid-column: 1 / -1;
  border: 1px dashed var(--rec-border);
  border-radius: 16px;
  background: var(--rec-surface);
  padding: 40px 20px;
  text-align: center;
  color: var(--rec-muted);
}
.trading-terminal_stateBox__zFPuj p {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_stateBoxHint__Jroj3 {
  font-size: 12px;
  color: var(--rec-muted);
}

/* Smart filters */
.trading-terminal_smartFilters__m78AS {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  flex: 1;
  min-width: 0;
}
.trading-terminal_smartChip__F0Ypi {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 5px 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.trading-terminal_smartChip__F0Ypi:hover {
  background: rgba(15, 23, 42, 0.05);
  color: var(--rec-text);
}
.trading-terminal_smartChipActive__PONnH,
.trading-terminal_smartChipActive__PONnH:hover {
  color: var(--rec-text);
  background: rgba(15, 23, 42, 0.07);
  border-color: rgba(15, 23, 42, 0.18);
  font-weight: 700;
}

/* Verdict strip */
.trading-terminal_verdictBar__740Au {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 9px;
  background: var(--rec-surface-2);
  border: 1px solid var(--rec-border-faint);
}
.trading-terminal_verdictDot__B8MhY {
  width: 6px;
  height: 6px;
  flex-shrink: 0;
  border-radius: 99px;
  background: var(--rec-blue);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}
.trading-terminal_verdictText___vOf7 {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--rec-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.trading-terminal_verdictRisk__qAVI7 {
  flex-shrink: 0;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--rec-amber);
  margin-inline-start: auto;
  white-space: nowrap;
}

/* Insight panels (performance + opportunity) */
.trading-terminal_insightPanel__OqCno {
  margin-top: 18px;
  border: 1px solid var(--rec-border);
  border-radius: 16px;
  background: var(--rec-surface);
  padding: 18px;
}
.trading-terminal_insightTitle__bO32S {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_insightEmpty__2odwr {
  margin: 0;
  font-size: 12.5px;
  color: var(--rec-muted);
}
.trading-terminal_perfStatRow__VKJoW {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.trading-terminal_perfStat__ZOwqB {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.trading-terminal_perfStatLabel__kSFkf {
  font-size: 11px;
  color: var(--rec-muted);
}
.trading-terminal_perfStatValue__VVFvx {
  font-size: 18px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_perfUp__k72OY {
  color: var(--rec-buy-text);
}
.trading-terminal_perfDown__d_83t {
  color: var(--rec-sell-text);
}
.trading-terminal_perfSubRow__NbXky {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 12px;
  font-size: 12px;
  color: var(--rec-muted);
}
.trading-terminal_equityCurve__I4t4r {
  width: 100%;
  height: 64px;
  margin-top: 12px;
}

/* Opportunity map */
.trading-terminal_oppGrid__4y5sk {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.trading-terminal_oppItem__IJrqZ {
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  padding: 12px;
  background: var(--rec-surface-2);
}
.trading-terminal_oppItemHead__gm3Ay {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-text);
  margin-bottom: 8px;
}
.trading-terminal_oppScore__mMSQc {
  color: var(--rec-blue);
}
.trading-terminal_oppBar__E6kAb {
  height: 6px;
  border-radius: 99px;
  background: var(--rec-border);
  overflow: hidden;
}
.trading-terminal_oppBar__E6kAb span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rec-blue), var(--rec-purple));
}
.trading-terminal_oppMeta__cStPs {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--rec-muted);
}

/* Live feed */
.trading-terminal_feedList__0_sfr {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trading-terminal_feedRow__BBUyC {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--rec-text);
  line-height: 1.45;
}
.trading-terminal_feedDot__dMkS_ {
  margin-top: 5px;
  width: 7px;
  height: 7px;
  border-radius: 99px;
  flex-shrink: 0;
  background: var(--rec-muted2);
}
.trading-terminal_feedMsg__aG2mH {
  flex: 1;
}
.trading-terminal_feedPositive__OK3Xg {
  background: var(--rec-buy);
}
.trading-terminal_feedNegative__0G6si {
  background: var(--rec-sell);
}
.trading-terminal_feedWarning__jiKSJ {
  background: var(--rec-amber);
}
.trading-terminal_feedNeutral__jUgdA {
  background: var(--rec-muted2);
}

/* ??? Performance Intelligence Dashboard ??? */
.trading-terminal_perfDashboard__Z0A5T {
  margin-top: 18px;
  border: 1px solid var(--rec-border);
  border-radius: 16px;
  background: var(--rec-surface);
  padding: 20px;
}
.trading-terminal_perfDashHead__G6t9o {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rec-border-faint);
}
.trading-terminal_perfDashTitle__P4ZmH {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_perfDashUpdated__Php7O {
  font-size: 12px;
  color: var(--rec-muted);
}
.trading-terminal_perfDashEmpty__INR8o {
  text-align: center;
  padding: 36px 20px;
}
.trading-terminal_perfDashEmptyTitle__wtdXc {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_perfDashEmptyBody__yCqDJ {
  margin: 0;
  font-size: 12.5px;
  color: var(--rec-muted);
  line-height: 1.6;
}
.trading-terminal_perfDashSection__VKfSF {
  margin-bottom: 20px;
}
.trading-terminal_perfDashSection__VKfSF:last-child {
  margin-bottom: 0;
}
.trading-terminal_perfDashSectionTitle__h89JH {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-muted);
  letter-spacing: normal;
}
.trading-terminal_perfDashOverviewGrid__xhGZJ {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.trading-terminal_perfDashRow4__UJvkI {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.trading-terminal_perfDashStat__aPZig {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  background: var(--rec-surface-2);
}
.trading-terminal_perfDashStatLabel__y2Qy8 {
  font-size: 12px;
  color: var(--rec-muted);
}
.trading-terminal_perfDashStatValue__RkBjA {
  font-size: 16px;
  font-weight: 700;
  color: var(--rec-text);
  line-height: 1.2;
}
.trading-terminal_perfDashSplit__cR2iN {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 16px;
}
.trading-terminal_perfDashEquityWrap__MS7gp {
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  background: var(--rec-surface-2);
  padding: 12px;
}
.trading-terminal_perfDashEquity___pC2u {
  width: 100%;
  height: 120px;
  display: block;
}
.trading-terminal_perfDashEquityLabels__rhA0E {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  color: var(--rec-muted);
  font-weight: 500;
}
.trading-terminal_perfDashMarketGrid__6drij {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.trading-terminal_perfDashMarketCard__9Nqm0 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--rec-border-faint);
  border-radius: 10px;
  background: var(--rec-surface-2);
}
.trading-terminal_perfDashMarketEmpty__KiEyY {
  opacity: 0.65;
}
.trading-terminal_perfDashMarketName__DITde {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-text);
  min-width: 72px;
}
.trading-terminal_perfDashMarketStats__DZef6 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 12px;
  color: var(--rec-text);
}
.trading-terminal_perfDashMarketStats__DZef6 em {
  font-style: normal;
  color: var(--rec-muted);
  margin-inline-end: 4px;
}
.trading-terminal_perfDashTableWrap__iMR79 {
  overflow-x: auto;
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
}
.trading-terminal_perfDashTable__Vwk8p {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.trading-terminal_perfDashTable__Vwk8p th {
  text-align: start;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-muted);
  background: var(--rec-surface-2);
  border-bottom: 1px solid var(--rec-border-faint);
}
.trading-terminal_perfDashTable__Vwk8p td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--rec-border-faint);
  color: var(--rec-text);
}
.trading-terminal_perfDashTable__Vwk8p tr:last-child td {
  border-bottom: none;
}
.trading-terminal_perfDashSymbol__pPv9V {
  font-weight: 700;
}
.trading-terminal_perfDashReason__Xpje_ {
  color: var(--rec-muted);
  font-size: 12px;
}
.trading-terminal_perfDashBadge__6QafF {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.trading-terminal_perfDashBadgeWin___WVpU {
  color: var(--rec-buy-text);
  background: rgba(22, 163, 74, 0.1);
}
.trading-terminal_perfDashBadgeLoss__Fe_cm {
  color: var(--rec-sell-text);
  background: rgba(220, 38, 38, 0.08);
}

@media (max-width: 1100px) {
  .trading-terminal_perfDashOverviewGrid__xhGZJ,
  .trading-terminal_perfDashRow4__UJvkI {
    grid-template-columns: repeat(2, 1fr);
  }
  .trading-terminal_perfDashSplit__cR2iN {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .trading-terminal_perfDashOverviewGrid__xhGZJ,
  .trading-terminal_perfDashRow4__UJvkI {
    grid-template-columns: 1fr;
  }
  .trading-terminal_perfDashMarketCard__9Nqm0 {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ????????????????????????????????????????????????????????????????
   Signal Details modal ? reference layout (presentation only)
   Spacing scale: 4 / 8 / 12 / 16 / 20 / 24 / 32
   Surfaces: #FFFFFF ? borders #E0E3EB ? text #111827 / #374151 / #6B7280 (Tajawal)
   ???????????????????????????????????????????????????????????????? */

.trading-terminal_mdlOverlay__wpEIm {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 32px;
  background: rgba(15, 23, 42, 0.32);
  backdrop-filter: blur(2px);
  animation: trading-terminal_mdlFade__iZLKU 170ms cubic-bezier(0.22, 1, 0.36, 1);
}

.trading-terminal_mdlPanel__tfqAd {
  width: min(1040px, calc(100vw - 80px));
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e0e3eb;
  border-radius: 14px;
  box-shadow: 0 16px 40px -20px rgba(15, 23, 42, 0.28);
  overflow: hidden;
  outline: none;
  animation: trading-terminal_mdlRise__CgrFO 170ms cubic-bezier(0.22, 1, 0.36, 1);
  /* Typography lock ? Tajawal only (400 / 500 / 700) */
  font-family: var(--tt-tajawal), "Tajawal", sans-serif;
  font-synthesis: none;
  letter-spacing: 0;
  --mdl-ink-primary: #111827;
  --mdl-ink-secondary: #374151;
  --mdl-ink-muted: #6b7280;
  --mdl-ink-subtle: #8a94a3;
  --mdl-ink-label: #4b5563;
  --mdl-ink-section: #1f2937;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlPanel__tfqAd button,
.trading-terminal_mdlPanel__tfqAd a,
.trading-terminal_mdlPanel__tfqAd input,
.trading-terminal_mdlPanel__tfqAd select,
.trading-terminal_mdlPanel__tfqAd textarea {
  font-family: inherit;
  font-synthesis: none;
  letter-spacing: 0;
}

.trading-terminal_mdlHead__vyJSK {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 24px 0;
}

.trading-terminal_mdlHeadTitle__OrvXl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlHeadTitle__OrvXl svg {
  width: 15px;
  height: 15px;
  color: currentColor;
}

.trading-terminal_mdlClose__ZQ_gt {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: #f4f5f8;
  color: var(--mdl-ink-secondary);
  cursor: pointer;
  font: inherit;
  transition: background 140ms ease, color 140ms ease;
}

.trading-terminal_mdlClose__ZQ_gt:hover {
  background: #e8ebf0;
  color: var(--mdl-ink-primary);
}

.trading-terminal_mdlScroll__T_8xh {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 24px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trading-terminal_mdlSkeleton__U_5FS {
  padding: 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trading-terminal_mdlSkeleton__U_5FS span {
  height: 16px;
  border-radius: 8px;
  background: linear-gradient(90deg, #eef2f6, #f8fafc, #eef2f6);
  background-size: 200% 100%;
  animation: trading-terminal_ttShimmer__HufJ5 1.3s ease-in-out infinite;
}

.trading-terminal_mdlSkeleton__U_5FS span:nth-child(2) {
  width: 70%;
}

.trading-terminal_mdlSkeleton__U_5FS span:nth-child(3) {
  width: 45%;
}

.trading-terminal_mdlError__POX4S {
  padding: 32px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #b45309;
}

/* ?? Header: identity (RTL start) + price/sparkline cluster ?? */
.trading-terminal_mdlHero__4eT9n {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  align-items: center;
  column-gap: 24px;
  min-height: 120px;
  padding: 4px 0;
}

.trading-terminal_mdlHeroIdentity__w33WO {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.trading-terminal_mdlHeroBody__aZ03A {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlHeroTop__vXcvZ {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.trading-terminal_mdlHeroQuote__e_QB8 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
}

.trading-terminal_mdlHeroSpark__Pg299 {
  flex: 0 0 200px;
  width: 200px;
  max-width: 200px;
  display: flex;
  align-items: center;
  opacity: 0.9;
}

.trading-terminal_toSparkModal__ZkqtK {
  height: 36px;
  width: 100%;
}

.trading-terminal_mdlHeroSummary__a6okh {
  display: none;
}

.trading-terminal_mdlSymbol__5A3_U {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_mdlDecision__4OOLJ {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding: 6px 12px;
  border-radius: 6px;
  background: color-mix(in srgb, currentColor 10%, transparent);
}

.trading-terminal_mdlAssetName__vV6cS {
  margin: 0;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  font-weight: 400;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
}

.trading-terminal_mdlMarketBadge___K8B4 {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlHeroPrice___RS6C {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlPrice__cyA9U {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 30px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trading-terminal_mdlPriceMuted__e_ag4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlUpdated__hgi9B {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 400;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
}

/* ?? Primary decision metrics ? 3 equal bordered blocks ?? */
.trading-terminal_mdlMetrics__YKNtO {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.trading-terminal_mdlMetric__5_Z_p {
  display: grid;
  grid-template-rows: 18px 36px 16px 3px;
  align-content: start;
  align-items: start;
  gap: 6px;
  height: 118px;
  min-height: 118px;
  max-height: 118px;
  padding: 14px 16px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #e0e3eb;
  border-radius: 10px;
}

.trading-terminal_mdlMetricLabel__oTAhF {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlMetricLabel__oTAhF svg {
  flex-shrink: 0;
}

.trading-terminal_mdlMetricValue__wpHjW {
  font-size: 31px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  margin: 0;
  display: flex;
  align-items: flex-end;
  height: 36px;
}

.trading-terminal_mdlMetricCaption__pm6nI {
  font-size: 12px;
  font-weight: 400;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
  line-height: 1.35;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trading-terminal_mdlMetricBar__dB7Hm {
  position: relative;
  width: 100%;
  height: 3px;
  border-radius: 99px;
  background: #eef2f6;
  overflow: hidden;
  margin: 0;
  align-self: end;
}

.trading-terminal_mdlMetricBarFill__eMTGi {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  height: 100%;
  border-radius: 99px;
  transition: width 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ?? Tabs ?? */
.trading-terminal_mdlTabs__TBcHd {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 4px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid #e0e3eb;
  overflow-x: auto;
  scrollbar-width: none;
}

.trading-terminal_mdlTabs__TBcHd::-webkit-scrollbar {
  display: none;
}

.trading-terminal_mdlTab__ZuxEh {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
  height: 52px;
  min-height: 52px;
  padding: 0 8px;
  margin-bottom: -1px;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  color: #4b5563;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  cursor: pointer;
  transition: color 140ms ease, border-color 140ms ease;
}

.trading-terminal_mdlTab__ZuxEh svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: currentColor;
}

.trading-terminal_mdlTab__ZuxEh:hover {
  color: var(--mdl-ink-primary);
}

.trading-terminal_mdlTabActive__NWK_c {
  color: var(--mdl-ink-primary);
  font-weight: 700;
  border-bottom-color: var(--mdl-ink-primary);
}

.trading-terminal_mdlTabActive__NWK_c svg {
  color: currentColor;
}

.trading-terminal_mdlTabPanel__DMpiR {
  min-height: 0;
  padding-top: 0;
  animation: trading-terminal_mdlTabFade__3PDcw 150ms ease;
}

.trading-terminal_mdlCards2__v5sZu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.trading-terminal_mdlCard__0PAvq {
  padding: 0;
  background: transparent;
  border: none;
}

.trading-terminal_mdlTradeWrap__NPz0e > .trading-terminal_mdlCard__0PAvq {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e0e3eb;
}

.trading-terminal_mdlCardTitle___xD7x {
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--mdl-ink-section);
  border: none;
}

.trading-terminal_mdlCardTitle___xD7x svg {
  flex-shrink: 0;
  color: currentColor;
  width: 14px;
  height: 14px;
}

.trading-terminal_mdlCardText__3sivR {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--mdl-ink-label);
  letter-spacing: 0;
}

.trading-terminal_mdlDl__9obrl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trading-terminal_mdlDlRow__4ilgl {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e3eb;
}

.trading-terminal_mdlDlRow__4ilgl:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.trading-terminal_mdlDlRow__4ilgl dt {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlDlRow__4ilgl dd {
  margin: 0;
  text-align: end;
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_mdlVerdict_buy__uT7Er {
  color: #15803d;
}
.trading-terminal_mdlVerdict_sell__2_Nt0 {
  color: #c41e1e;
}
.trading-terminal_mdlVerdict_watch__I6Hrv {
  color: #5b6878;
}
.trading-terminal_mdlVerdict_conditional__3kcmH {
  color: #b45309;
}

.trading-terminal_mdlWarn__iUiKi {
  margin: 12px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: #b45309;
  background: transparent;
  border: none;
  border-inline-start: 2px solid #d97706;
  border-radius: 0;
  padding: 0 8px;
  line-height: 1.5;
}

.trading-terminal_mdlIndicators__DYSbT {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.trading-terminal_mdlIndicator__tyTfw {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid #e0e3eb;
}

.trading-terminal_mdlIndicator__tyTfw:last-child {
  border-bottom: none;
}

.trading-terminal_mdlIndTag__nlnp3 {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 0;
  border: none;
  background: transparent;
  line-height: 1.4;
  min-width: 56px;
}

.trading-terminal_mdlIndTag__nlnp3::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: currentColor;
  flex-shrink: 0;
}

.trading-terminal_mdlIndSupport__TDAU1 {
  color: #15803d;
}

.trading-terminal_mdlIndOppose__BKEUz {
  color: #b91c1c;
}

.trading-terminal_mdlIndBody__juyxq {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlIndName__tFMFE {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
}

.trading-terminal_mdlIndReason__YLTzy {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlTfGrid__7jqDh {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 0;
}

.trading-terminal_mdlTf__RZ4I_ {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  background: transparent;
  border: none;
}

.trading-terminal_mdlTf__RZ4I_ + .trading-terminal_mdlTf__RZ4I_ {
  border-inline-start: 1px solid #e0e3eb;
}

.trading-terminal_mdlTfName__6Fwne {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
}

.trading-terminal_mdlTfDir__Oe8R3 {
  font-size: 13px;
  font-weight: 700;
}

.trading-terminal_mdlTfPct__ydnj5 {
  font-size: 13px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  font-variant-numeric: tabular-nums;
}

.trading-terminal_mdlTfBull__dBm1Y .trading-terminal_mdlTfDir__Oe8R3 {
  color: #15803d;
}
.trading-terminal_mdlTfBear__hqTcp .trading-terminal_mdlTfDir__Oe8R3 {
  color: #c41e1e;
}
.trading-terminal_mdlTfNeutral__eUt_r .trading-terminal_mdlTfDir__Oe8R3 {
  color: #5b6878;
}

/* ?? Plan area ?? */
.trading-terminal_mdlTradeWrap__NPz0e {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trading-terminal_mdlPlanHead__d2xNu {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: 20px 0 18px;
}

.trading-terminal_mdlPlanHeadText__vGBzG {
  min-width: 0;
}

.trading-terminal_mdlPlanTitle__594y6 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.3;
}

.trading-terminal_mdlPlanTitle__594y6 svg {
  flex-shrink: 0;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlPlanDesc__G8cgv {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
  max-width: 52ch;
}

.trading-terminal_mdlPlanDistance__gsxAG {
  display: none;
}

/* Strict 3?2 monitoring / execution grid */
.trading-terminal_mdlPlanGrid__oA0LY {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.trading-terminal_mdlPlanStack__6MPc3 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trading-terminal_mdlPlanGridRow2__uBvIS {
  display: grid;
  gap: 12px;
}

.trading-terminal_mdlPlanCell__NN_85 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  height: 96px;
  min-height: 96px;
  max-height: 96px;
  padding: 14px 16px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
  overflow: hidden;
}

.trading-terminal_mdlPlanCell__NN_85::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2px;
  height: 36px;
  border-radius: 99px;
  background: #94a3b8;
}

.trading-terminal_mdlPlanCell_blue__XV5zs::before {
  background: #1d4ed8;
}
.trading-terminal_mdlPlanCell_red__C0DB1::before {
  background: #dc2626;
}
.trading-terminal_mdlPlanCell_green__y_jA1::before {
  background: #15803d;
}
.trading-terminal_mdlPlanCell_orange__FjqN0::before {
  background: #b45309;
}
.trading-terminal_mdlPlanCell_purple___PnU_::before {
  background: #7c3aed;
}
.trading-terminal_mdlPlanCell_neutral__6vrqn::before {
  background: #94a3b8;
}

.trading-terminal_mdlPlanCellLabel__4_Ve_ {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--mdl-ink-label);
  line-height: 1.3;
}

.trading-terminal_mdlPlanCellValue__cKndb {
  font-size: 24px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_mdlPlanCellHint__5Mk5i {
  font-size: 12px;
  font-weight: 400;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
  line-height: 1.35;
  min-height: 0;
}

.trading-terminal_mdlCellBadge__xttqs {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  color: var(--mdl-ink-secondary);
  background: #f4f5f8;
  border: 1px solid #e0e3eb;
  border-radius: 6px;
  padding: 4px 8px;
  white-space: nowrap;
  line-height: 1.3;
  letter-spacing: 0;
}

/* Legacy trade-grid aliases (unused by rebuilt watch panel; keep for safety) */
.trading-terminal_mdlTradeGrid__jTHjz,
.trading-terminal_mdlTradeGrid_watch__tdQDU {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.trading-terminal_mdlTradeCell__EQOZg {
  display: none;
}

.trading-terminal_mdlWaitStrip__Jg6cr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  max-height: 72px;
  padding: 12px 16px;
  box-sizing: border-box;
  background: #f8f9fb;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
}

.trading-terminal_mdlWaitStripBody__bGNgY {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlWaitStripLabel__0q5Vk {
  font-size: 12px;
  font-weight: 500;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
}

.trading-terminal_mdlWaitStripText__33yub {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--mdl-ink-label);
  letter-spacing: 0;
}

.trading-terminal_mdlWaitStripIcon__j_yW2 {
  flex-shrink: 0;
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlWaitReason__hmSxT {
  display: none;
}

.trading-terminal_mdlTimeline__ChfrL {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.trading-terminal_mdlEvent__TuFu_ {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.trading-terminal_mdlEventDot__6cb94 {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 99px;
  background: #94a3b8;
}

.trading-terminal_mdlTone_positive__WzHi4 {
  background: #16a34a;
}
.trading-terminal_mdlTone_negative__IQeLp {
  background: #dc2626;
}
.trading-terminal_mdlTone_warning__Ev3Pl {
  background: #d97706;
}
.trading-terminal_mdlTone_neutral__See7t {
  background: #94a3b8;
}

.trading-terminal_mdlEventBody__3HLoV {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlEventMsg__1_2mx {
  font-size: 14px;
  font-weight: 500;
  color: var(--mdl-ink-primary);
  line-height: 1.5;
}

.trading-terminal_mdlEventTime__z8__8 {
  font-size: 12px;
  font-weight: 400;
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlLocked__69pwC {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 32px 24px;
  background: #f8f9fb;
  border: 1px solid #e0e3eb;
  border-radius: 12px;
}

.trading-terminal_mdlLocked__69pwC svg {
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlLocked__69pwC p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--mdl-ink-muted);
  line-height: 1.5;
  max-width: 42ch;
}

.trading-terminal_mdlLockedCta__AaSsH {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  background: #131722;
  border-radius: 8px;
  padding: 8px 18px;
  text-decoration: none;
  transition: background 150ms ease;
}

.trading-terminal_mdlLockedCta__AaSsH:hover {
  background: #1e293b;
}

.trading-terminal_mdlEmpty__OZbSn {
  margin: 0;
  padding: 24px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--mdl-ink-muted);
}

/* ?? Footer ?? */
.trading-terminal_mdlFoot__o0fzE {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 70px;
  min-height: 70px;
  max-height: 70px;
  padding: 0 24px;
  box-sizing: border-box;
  border-top: 1px solid #e0e3eb;
  background: #ffffff;
}

.trading-terminal_mdlFootClose__c1i26 {
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--mdl-ink-secondary);
  background: #ffffff;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
  width: 76px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease;
}

.trading-terminal_mdlFootClose__c1i26:hover {
  background: #f4f5f8;
  color: var(--mdl-ink-primary);
}

.trading-terminal_mdlFootCta__oXaH9 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  color: #ffffff;
  background: #131722;
  border: none;
  border-radius: 8px;
  min-width: 158px;
  height: 40px;
  padding: 0 16px;
  cursor: pointer;
  text-decoration: none;
  transition: background 140ms ease;
}

.trading-terminal_mdlFootCta__oXaH9:hover {
  background: #1e293b;
}

.trading-terminal_mdlProBadge__v2jJ8 {
  font-size: 11px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  background: #ffffff;
  border-radius: 5px;
  padding: 1px 6px;
}

.trading-terminal_mdlFootNote__LKTO7 {
  font-size: 13px;
  font-weight: 500;
  color: var(--mdl-ink-secondary);
  letter-spacing: 0;
}

/* ?? Lifecycle execution ticket (??? ???????) ? density geometry ?? */
.trading-terminal_mdlTicket__mTunJ {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.trading-terminal_mdlTicketHead__Sbv0b {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-bottom: 12px;
}

.trading-terminal_mdlTicketTitle__lkOa1 {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.3;
}

.trading-terminal_mdlTicketTitle__lkOa1 svg {
  flex-shrink: 0;
  color: var(--mdl-ink-secondary);
}

.trading-terminal_mdlTicketHeadline__r2Ocy {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
}

.trading-terminal_mdlExecPanel___gn3A {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
  margin-bottom: 22px;
}

.trading-terminal_mdlExecStatus__AqEqj {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 28px;
  min-height: 44px;
  max-height: 48px;
  padding: 8px 12px;
  box-sizing: border-box;
  border-bottom: 1px solid #e0e3eb;
  background: #f8f9fb;
}

.trading-terminal_mdlExecStatusItem__7h2eS {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.trading-terminal_mdlExecStatusLabel__qBD9R {
  font-size: 12px;
  font-weight: 500;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
  white-space: nowrap;
}

.trading-terminal_mdlExecStatusValue__cynL5 {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.3;
}

.trading-terminal_mdlExecGrid__Epe65 {
  display: grid;
  grid-template-columns: repeat(var(--mdl-exec-cols, 4), minmax(0, 1fr));
}

.trading-terminal_mdlExecField__g3Y4z {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 56px;
  padding: 10px 12px;
  box-sizing: border-box;
  border-inline-start: 1px solid #e0e3eb;
}

.trading-terminal_mdlExecField__g3Y4z:first-child {
  border-inline-start: none;
}

.trading-terminal_mdlExecFieldLabel__Wf_cz {
  font-size: 13px;
  font-weight: 500;
  color: var(--mdl-ink-label);
  letter-spacing: 0;
  line-height: 1.25;
}

.trading-terminal_mdlExecFieldValue__rlgCx {
  font-size: 16px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_mdlTicketBlock___rDmV {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid #e0e3eb;
}

.trading-terminal_mdlTicketBlockTitle___iS8r {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-section);
  letter-spacing: 0;
  line-height: 1.3;
}

.trading-terminal_mdlTicketBlockText__y7JUS {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--mdl-ink-label);
  letter-spacing: 0;
}

/* ?? Lifecycle: stage meta + target roadmap ?? */
.trading-terminal_mdlLifeMeta__KisUQ {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  padding: 10px 12px;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
  background: #ffffff;
}

.trading-terminal_mdlLifeMetaItem__7RfJh {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_mdlLifeMetaLabel__rzapa {
  font-size: 12px;
  font-weight: 500;
  color: var(--mdl-ink-muted);
  letter-spacing: 0;
}

.trading-terminal_mdlLifeMetaValue__OhLe0 {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  letter-spacing: 0;
  line-height: 1.3;
}

.trading-terminal_mdlRoadmap__cwm9k {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_mdlRoadmapTitle__E0lKi {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-section);
  letter-spacing: 0;
}

.trading-terminal_mdlRoadmapList__hUgHt {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #e0e3eb;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.trading-terminal_mdlRoadmapConnector__9BvD6 {
  display: none;
}

.trading-terminal_mdlRoadmapRow__rR4z6 {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) minmax(72px, 96px) minmax(48px, 72px);
  align-items: center;
  column-gap: 10px;
  min-height: 40px;
  height: 40px;
  padding: 0 12px;
  box-sizing: border-box;
  border-top: 1px solid #e0e3eb;
}

.trading-terminal_mdlRoadmapRow__rR4z6:first-child {
  border-top: none;
}

.trading-terminal_mdlRoadmapId__Law1t {
  font-size: 12px;
  font-weight: 700;
  color: var(--mdl-ink-secondary);
  letter-spacing: 0;
}

.trading-terminal_mdlRoadmapPrice__HTzTa {
  font-size: 14px;
  font-weight: 700;
  color: var(--mdl-ink-primary);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  text-align: end;
}

.trading-terminal_mdlRoadmapRole__6wu3Y {
  font-size: 13px;
  font-weight: 500;
  color: var(--mdl-ink-label);
  letter-spacing: 0;
}

.trading-terminal_mdlRoadmapDist__GygZO {
  display: none;
}

.trading-terminal_mdlRoadmapState__gGnGb {
  font-size: 13px;
  font-weight: 500;
  color: var(--mdl-ink-secondary);
  letter-spacing: 0;
  text-align: end;
}

.trading-terminal_mdlRoadmap_hit__J1Rq7 .trading-terminal_mdlRoadmapState__gGnGb {
  color: #15803d;
  font-weight: 700;
}

.trading-terminal_mdlRoadmap_passed__ibn4m .trading-terminal_mdlRoadmapState__gGnGb {
  color: #0f766e;
}

.trading-terminal_mdlRoadmap_upcoming__qUUp9 .trading-terminal_mdlRoadmapState__gGnGb {
  color: var(--mdl-ink-muted);
}

.trading-terminal_mdlRoadmap_cancelled__3_5Z4 .trading-terminal_mdlRoadmapState__gGnGb {
  color: #b91c1c;
}

.trading-terminal_mdlRoadmap_unresolved__POp_N .trading-terminal_mdlRoadmapState__gGnGb {
  color: var(--mdl-ink-muted);
  font-weight: 500;
}

@media (max-width: 900px) {
  .trading-terminal_mdlExecGrid__Epe65 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trading-terminal_mdlExecField__g3Y4z:nth-child(2n + 1) {
    border-inline-start: none;
  }

  .trading-terminal_mdlExecField__g3Y4z:nth-child(n + 3) {
    border-top: 1px solid #e0e3eb;
  }
}

@media (max-width: 720px) {
  .trading-terminal_mdlLifeMeta__KisUQ {
    grid-template-columns: 1fr;
  }

  .trading-terminal_mdlExecStatus__AqEqj {
    max-height: none;
    min-height: 40px;
    gap: 6px 20px;
  }

  .trading-terminal_mdlExecGrid__Epe65 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trading-terminal_mdlRoadmapRow__rR4z6 {
    grid-template-columns: 36px minmax(0, 1fr) minmax(64px, 88px) minmax(40px, 64px);
    column-gap: 8px;
    padding: 0 10px;
    height: 38px;
    min-height: 38px;
  }
}

@media (max-width: 420px) {
  .trading-terminal_mdlExecGrid__Epe65 {
    grid-template-columns: 1fr;
  }

  .trading-terminal_mdlExecField__g3Y4z {
    border-inline-start: none;
  }

  .trading-terminal_mdlExecField__g3Y4z:not(:first-child) {
    border-top: 1px solid #e0e3eb;
  }

  .trading-terminal_mdlExecField__g3Y4z:nth-child(n + 3) {
    border-top: 1px solid #e0e3eb;
  }
}

@keyframes trading-terminal_mdlFade__iZLKU {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes trading-terminal_mdlRise__CgrFO {
  from {
    opacity: 0;
    transform: translateY(6px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes trading-terminal_mdlTabFade__3PDcw {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 960px) {
  .trading-terminal_mdlHero__4eT9n {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .trading-terminal_mdlHeroQuote__e_QB8 {
    justify-content: flex-start;
  }

  .trading-terminal_mdlHeroSpark__Pg299 {
    flex-basis: 200px;
    width: 200px;
  }
}

@media (max-width: 720px) {
  .trading-terminal_mdlOverlay__wpEIm {
    padding: 12px;
  }

  .trading-terminal_mdlPanel__tfqAd {
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    border-radius: 12px;
  }

  .trading-terminal_mdlHead__vyJSK,
  .trading-terminal_mdlScroll__T_8xh,
  .trading-terminal_mdlFoot__o0fzE {
    padding-inline: 16px;
  }

  .trading-terminal_mdlMetrics__YKNtO,
  .trading-terminal_mdlPlanGrid__oA0LY {
    grid-template-columns: 1fr;
  }

  .trading-terminal_mdlCards2__v5sZu {
    grid-template-columns: 1fr;
  }

  .trading-terminal_mdlHeroSpark__Pg299 {
    display: none;
  }

  .trading-terminal_mdlTabs__TBcHd {
    justify-content: flex-start;
  }

  .trading-terminal_mdlTab__ZuxEh {
    flex: 0 0 auto;
    padding-inline: 12px;
  }

  .trading-terminal_mdlFoot__o0fzE {
    flex-wrap: wrap;
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trading-terminal_mdlOverlay__wpEIm,
  .trading-terminal_mdlPanel__tfqAd,
  .trading-terminal_mdlTabPanel__DMpiR {
    animation: none;
  }

  .trading-terminal_mdlTab__ZuxEh:hover,
  .trading-terminal_mdlFootClose__c1i26:hover,
  .trading-terminal_mdlFootCta__oXaH9:hover {
    transform: none;
  }
}

/* WATCH (monitoring) card */
.trading-terminal_cardTagWatch__bvirH {
  color: var(--rec-blue);
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.2);
}
.trading-terminal_watchNote__sygms {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(59, 130, 246, 0.05);
  border: 1px dashed rgba(59, 130, 246, 0.28);
}
.trading-terminal_watchNoteTitle__ahWBR {
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-blue);
}
.trading-terminal_watchNoteBody__i1wA2 {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--rec-muted);
}

/* Analytics intelligence */
.trading-terminal_analyticsLeaderGrid__GrQl_ {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.trading-terminal_analyticsLeaderCard__z25j_ {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  background: var(--rec-surface-2);
}
.trading-terminal_analyticsLeaderLabel__S4lPA {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
}
.trading-terminal_analyticsLeaderValue__Hy8VP {
  font-size: 15px;
  font-weight: 700;
  color: var(--rec-text);
}
.trading-terminal_analyticsLeaderMeta__lcUgb {
  font-size: 12px;
  color: var(--rec-muted);
}
.trading-terminal_analyticsBar__2opEa {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: var(--rec-border-faint);
  overflow: hidden;
}
.trading-terminal_analyticsBarFill__WACNx {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  height: 100%;
  border-radius: 999px;
  background: #3b82f6;
}
.trading-terminal_analyticsInsights__SnunQ {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trading-terminal_analyticsInsight__fSJn9 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--rec-border-faint);
  border-radius: 12px;
  background: var(--rec-surface-2);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--rec-text);
}
.trading-terminal_analyticsInsightDot__5NeSw {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--rec-muted);
}
.trading-terminal_analyticsInsightPositive__Kh7_p .trading-terminal_analyticsInsightDot__5NeSw {
  background: #16a34a;
}
.trading-terminal_analyticsInsightNegative__h_Jcm .trading-terminal_analyticsInsightDot__5NeSw {
  background: #dc2626;
}
.trading-terminal_analyticsInsightNeutral__MwdTN .trading-terminal_analyticsInsightDot__5NeSw {
  background: #3b82f6;
}
.trading-terminal_analyticsMuted__twiRZ {
  color: var(--rec-muted);
}
.trading-terminal_analyticsScoreCell__PcyYV {
  font-weight: 700;
}
@media (max-width: 980px) {
  .trading-terminal_analyticsLeaderGrid__GrQl_ {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .trading-terminal_analyticsLeaderGrid__GrQl_ {
    grid-template-columns: 1fr;
  }
}

/* Station alerts panel */
.trading-terminal_alertsList__t7nGg {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trading-terminal_alertRow__Q6Fop {
  padding: 12px 14px;
  border: var(--zs-card-border-width) solid var(--rec-border-faint);
  border-radius: var(--zs-card-radius);
  background: var(--rec-surface-2);
}
.trading-terminal_alertRowHead__jAWCI {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.trading-terminal_alertTitle__nryMd {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-text);
  line-height: 1.4;
}
.trading-terminal_alertBadge__JpQHb {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 999px;
  line-height: 1.5;
}
.trading-terminal_alertBadgeSuccess__prIIY {
  background: rgba(22, 163, 74, 0.12);
  color: #16a34a;
}
.trading-terminal_alertBadgeDanger__Tq6F2 {
  background: rgba(220, 38, 38, 0.12);
  color: #dc2626;
}
.trading-terminal_alertBadgeWarning__kt6So {
  background: rgba(234, 179, 8, 0.14);
  color: #ca8a04;
}
.trading-terminal_alertBadgeInfo__e6N1U {
  background: rgba(59, 130, 246, 0.12);
  color: #3b82f6;
}
.trading-terminal_alertMessage__N755q {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--rec-muted);
}
.trading-terminal_alertMeta__w5BiI {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 10.5px;
  color: var(--rec-muted);
}

/* ????????????????????????????????????????????????????????????????
   Trade Object ? Signal Card Design System (Step 1)
   ???????????????????????????????????????????????????????????????? */

.trading-terminal_cardGrid__yw2Ho {
  gap: 14px;
  align-items: start;
}

/* ?? Base object ? golden reference card personality ?? */
.trading-terminal_tradeObject__ct2D8 {
  position: relative;
  background: var(--zs-card-background);
  border: var(--zs-card-border-width) solid var(--rec-border-faint);
  border-radius: var(--zs-card-radius);
  padding: 11px 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  cursor: pointer;
  box-shadow: var(--sh-2);
  transition: border-color 150ms ease, box-shadow 150ms ease;
  border-inline-start: var(--zs-card-stripe-width) solid transparent;
}

/* Tier badges stay; card chrome stays calm (no extra elevation per tier). */
.trading-terminal_tier_elite__9eOqP {
  border-color: rgba(202, 138, 4, 0.14);
}

.trading-terminal_tier_high__yK78t {
  border-color: rgba(37, 99, 235, 0.12);
}

.trading-terminal_tier_strong__wG7EJ {
  border-color: rgba(13, 148, 136, 0.12);
}

.trading-terminal_tier_new__3rasj {
  border-color: rgba(99, 102, 241, 0.12);
}

.trading-terminal_tier_watch__m9Wc8 {
  /* default card shadow */
}

/* Golden reference had no top gradient accent strip on cards. */
.trading-terminal_tradeObject__ct2D8::before {
  display: none;
}

/* Tight info block: symbol ? asset ? price ? decision ? summary */
.trading-terminal_toBody__uZ8Wg {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.trading-terminal_tradeObject__ct2D8:hover {
  border-color: var(--rec-border);
  box-shadow: var(--sh-2-hover);
}

.trading-terminal_tradeObject_buy__pcJs6 {
  border-inline-start-color: #16a34a;
}

.trading-terminal_tradeObject_sell__U1YSN {
  border-inline-start-color: #dc2626;
}

.trading-terminal_tradeObject_watch__xP_cH {
  border-inline-start-color: #94a3b8;
}

.trading-terminal_tradeObject_conditional__4d5O9 {
  border-inline-start-color: #d97706;
}

.trading-terminal_tradeObjectLocked__ohlg1 {
  cursor: default;
  background: var(--zs-card-background);
  border-color: var(--rec-border-faint);
  box-shadow: var(--sh-locked);
  border-inline-start-color: #cbd5e1;
}

.trading-terminal_tradeObjectLocked__ohlg1:hover {
  box-shadow: var(--sh-locked);
  border-color: var(--rec-border-faint);
  transform: none;
}

/* ?? Header: symbol + asset name + tiny status ?? */
.trading-terminal_toHeader__16C97 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.trading-terminal_toHeaderMain__UZHNi {
  min-width: 0;
}

.trading-terminal_toSymbol__n2J8t {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_toMarket__p9z4X {
  margin: 2px 0 0;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--rec-muted2);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trading-terminal_toStatus__LFaOH {
  flex-shrink: 0;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
  background: var(--rec-surface-2);
  border-radius: 6px;
  padding: 3px 7px;
  white-space: nowrap;
}

/* ?? Header end column: tier badge stacked above the lifecycle hint ?? */
.trading-terminal_toHeaderEnd__na8tF {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}

/* ?? Opportunity-tier badge ? small, professional, never garish ?? */
.trading-terminal_tierBadge__xpobj {
  display: inline-flex;
  align-items: center;
  height: 19px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  border: 1px solid transparent;
}

.trading-terminal_tierBadge_elite__iCdUG {
  background: rgba(202, 138, 4, 0.12);
  color: #8a5e08;
  border-color: rgba(202, 138, 4, 0.28);
}

.trading-terminal_tierBadge_high__7fwGI {
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.24);
}

.trading-terminal_tierBadge_strong__lmGhS {
  background: rgba(13, 148, 136, 0.1);
  color: #0f766e;
  border-color: rgba(13, 148, 136, 0.24);
}

.trading-terminal_tierBadge_new__N5v2x {
  background: rgba(99, 102, 241, 0.1);
  color: #4f46e5;
  border-color: rgba(99, 102, 241, 0.24);
}

/* ?? Price block: second-strongest after symbol ?? */
/* Price (right, dominant) + decision tag (left) share one row so the card's
   left side is never a dead column. RTL flow keeps reading order price ? decision. */
.trading-terminal_toPriceRow__zf_eW {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.trading-terminal_toPrice__IkpGH {
  margin: 0;
  font-size: 27px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  gap: 7px;
  line-height: 1;
}

.trading-terminal_toPriceMuted___wrz_ {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--rec-muted2);
  line-height: 1;
  padding: 6px 0;
}

.trading-terminal_toLive__AvGtE {
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: #16a34a;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.16);
}

/* ?? Decision: medium label, never bigger than price ?? */
.trading-terminal_toDecision__O6ugx {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.trading-terminal_toDecisionTag__Jx8Tc {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  align-self: center;
  flex-shrink: 0;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1;
  padding: 6px 12px 6px 11px;
  border-radius: 9px;
  background: color-mix(in srgb, currentColor 11%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
}

.trading-terminal_toDecisionDot__sqmMg {
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: currentColor;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}

.trading-terminal_toDecision_buy__zerL9 {
  color: #15803d;
}

.trading-terminal_toDecision_sell__hU_PG {
  color: #c41e1e;
}

.trading-terminal_toDecision_watch__AP0Gg {
  color: #5b6878;
}

.trading-terminal_toDecision_conditional__KAr9X {
  color: #b45309;
}

.trading-terminal_toSummary__G_lL4 {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--rec-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Signal-first card: price + a small secondary sparkline share one row, so the
   trade plan below becomes the hero of the card (not the chart). */
.trading-terminal_toPriceLine__HxLAQ {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 1px 0 2px;
}

/* Sparkline demoted to a small, quiet element next to the price. */
.trading-terminal_toSparkMini__k6SOZ {
  flex-shrink: 0;
  width: 84px;
  opacity: 0.92;
}

.trading-terminal_toSparkMini__k6SOZ .trading-terminal_toSpark__pbDQl {
  height: 22px;
}

/* ?? Deterministic sparkline ? tiny, calm, below price / above metrics.
   Colour is driven by `color` on the wrapper (decision kind). Not a live
   chart; it's a stable shape derived from symbol + price. ?? */
.trading-terminal_toSpark__pbDQl {
  position: relative;
  width: 100%;
  height: 30px;
}

.trading-terminal_toSparkEmpty__tbgtL {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  font-synthesis: none;
  color: rgba(91, 112, 136, 0.86);
}

.trading-terminal_toSparkSvg__CCDzm {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.trading-terminal_toSparkLine__mwxIb {
  stroke-width: 1.3;
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

/* Crisp leading dot at the latest point ? positioned via HTML so the stretched
   SVG never distorts it into an ellipse. */
.trading-terminal_toSparkDot___SvRB {
  position: absolute;
  inset-inline-end: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  transform: translate(50%, -50%);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9);
  pointer-events: none;
}

/* ?? Metrics: compact trading tiles (value-first) ?? */
.trading-terminal_toMetrics__n4pz9 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 9px;
  margin-top: 1px;
  border-top: 1px solid var(--border-soft);
}

/* Borderless metric cells ? value-first, no grey boxes. The tiles read as
   clean stat columns (TradingView style), separated by whitespace only. */
.trading-terminal_toMetricTile__kEKgY {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: start;
  min-height: 0;
}

.trading-terminal_toMetricNum__gc6nK {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: var(--rec-text);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_toMetricCap__I1kdL {
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1;
  color: var(--rec-muted2);
  white-space: nowrap;
}

/* Risk as plain colour-coded text (no pill) ? matches the clean stat columns */
.trading-terminal_toRiskChip__0SsEB {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--rec-muted);
  background: transparent;
  border: none;
  padding: 0;
  white-space: nowrap;
}

.trading-terminal_toRisk_low__pCRVm {
  color: #b45309;
}

.trading-terminal_toRisk_medium__XAQuW {
  color: #b45309;
}

.trading-terminal_toRisk_high__c7udb {
  color: #dc2626;
}

.trading-terminal_toRisk_extreme__WKttZ {
  color: #dc2626;
}

/* Keep label style for locked-card masked metrics (unchanged) */
.trading-terminal_toMetricLabel__6kSMT {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
}

/* ?? Real recommendation trade block (Card / Hero / Modal) ?? */
.trading-terminal_recBlock__En32W {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.trading-terminal_recBlock_card__92Dte {
  margin-top: 3px;
  padding-top: 2px;
}

/* Card footer owns the heartbeat ? avoid duplicating it in the WATCH head row. */
.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchUpdated__azasP {
  display: none;
}

.trading-terminal_recBlock_hero__xn4cy {
  gap: 5px;
  min-width: 0;
}

.trading-terminal_recBlock_modal__IZmZ7 {
  gap: 8px;
}

.trading-terminal_recEmpty__4k8CE {
  margin: 0;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--rec-muted);
  line-height: 1.4;
}

.trading-terminal_recMeta__PNVvu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
}

.trading-terminal_recDir__Kt0ys {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--rec-text);
  padding: 2px 7px;
  border-radius: 6px;
  background: var(--rec-surface-2);
  border: 1px solid var(--border-soft);
}

.trading-terminal_recStatus__uOdFL {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--rec-muted);
  padding: 2px 7px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid var(--border-soft);
}

/* WATCH badge ? calm neutral, never reads as an actionable BUY/SELL. */
.trading-terminal_recWatchTag__xBZCU {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5b6878;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(91, 104, 120, 0.1);
  border: 1px solid rgba(91, 104, 120, 0.22);
}

/* ?? WATCH = "actively monitored", not "empty" ?? */
.trading-terminal_recWatchHead__mOqmE {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

/* Soft breathing dot ? signals the system is live-watching this idea. */
.trading-terminal_recWatchPulse__VnTPq {
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: #5b6878;
  box-shadow: 0 0 0 0 rgba(91, 104, 120, 0.5);
  animation: trading-terminal_recWatchPulse__VnTPq 2.4s ease-out infinite;
}

@keyframes trading-terminal_recWatchPulse__VnTPq {
  0% {
    box-shadow: 0 0 0 0 rgba(91, 104, 120, 0.45);
  }
  70% {
    box-shadow: 0 0 0 5px rgba(91, 104, 120, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(91, 104, 120, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .trading-terminal_recWatchPulse__VnTPq {
    animation: none;
  }
}

.trading-terminal_recWatchState__V1m_b {
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-text);
}

.trading-terminal_recWatchUpdated__azasP {
  margin-inline-start: auto;
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
  font-variant-numeric: tabular-nums;
}

.trading-terminal_recWatchCond__UnHth {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  color: var(--rec-muted);
  line-height: 1.35;
}

.trading-terminal_recWatchCondVal__ukcH5 {
  font-weight: 700;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
}

.trading-terminal_recMetaItem__OJ7u2 {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.trading-terminal_recMetaVal__jre9_ {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
}

.trading-terminal_recMetaCap__79AF3 {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
}

.trading-terminal_recLevels__aVNT0,
.trading-terminal_recLevelsModal___l8B4 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px 8px;
  padding-top: 8px;
  border-top: 1px solid var(--rec-border-faint);
}

@media (max-width: 600px) {
  .trading-terminal_recLevels__aVNT0,
  .trading-terminal_recLevelsModal___l8B4 {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 8px;
  }

  .trading-terminal_recWatchHead__mOqmE {
    gap: 6px 8px;
  }

  .trading-terminal_recWatchUpdated__azasP {
    flex: 1 1 100%;
    margin-inline-start: 0;
  }
}

.trading-terminal_recLevelsHero__ZsCD1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 8px;
  padding-top: 4px;
}

.trading-terminal_recLevel__uhEDI {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
}

.trading-terminal_recLevelVal__e5X_l {
  font-size: 13px;
  font-weight: 700;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.trading-terminal_recLevelCap__IJHHu {
  font-size: 10px;
  font-weight: 500;
  color: var(--rec-muted2);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.trading-terminal_recReason__moQWq {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--rec-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Executable cards: golden reference shows up to two reason lines before footer. */
.trading-terminal_recBlock_card__92Dte .trading-terminal_recReason__moQWq:not(.trading-terminal_recReasonWatch__zEqWP) {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: unset;
  margin-top: 1px;
}

/* WATCH reason must read fully ? not clipped like a dashboard KPI. */
.trading-terminal_recReasonWatch__zEqWP {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

.trading-terminal_recTimes__1iDEM {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  color: var(--rec-muted2);
  line-height: 1.3;
}

.trading-terminal_recBadges__KlGAT {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ?? Footer ? golden rhythm: timestamp inline-start, action inline-end (RTL) ?? */
.trading-terminal_toFooter__grO8S {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 2px;
  padding-top: 4px;
}

.trading-terminal_toUpdated__G2gSI {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
}

.trading-terminal_toAction__NzCvl {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-text);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #cbd5e1;
  transition: text-decoration-color 160ms ease;
}

.trading-terminal_toAction__NzCvl:hover {
  text-decoration-color: var(--rec-text);
}

/* ?? Locked premium preview ?? */
.trading-terminal_toLockedDecision__yDhiM {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.trading-terminal_toLockedTier__uCS4f {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: normal;
  color: var(--rec-muted);
  background: var(--rec-surface-2);
  border: 1px solid var(--rec-border-faint);
  border-radius: 6px;
  padding: 2px 7px;
}

.trading-terminal_toLockedMetrics__hZtd2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 12px;
  margin-top: 4px;
  border-top: 1px solid var(--border-soft);
}

.trading-terminal_toLockedMetric__ddqpe {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: start;
}

.trading-terminal_toLockedMetric__ddqpe .trading-terminal_toMetricLabel__6kSMT {
  order: 2;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--rec-muted2);
}

.trading-terminal_toLockedMasked__h8XOb {
  order: 1;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  color: var(--rec-muted2);
  user-select: none;
}

.trading-terminal_toLockedFoot__omLfO {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin-top: auto;
  padding-top: 7px;
}

/* Single light line hinting at the hidden Entry/TP/SL rows */
.trading-terminal_toLockedLevels__3Lwzc {
  display: flex;
  flex-direction: column;
}

.trading-terminal_toLockedLevels__3Lwzc span {
  display: block;
  width: 100%;
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg, #e2e8f0 0%, #f1f5f9 100%);
}

.trading-terminal_toLockedNote__p_fzx {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--rec-muted);
}

.trading-terminal_toLockedHeadline__jXJev {
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--rec-text);
}

.trading-terminal_toLockedCta__4HmPi {
  flex-shrink: 0;
  display: inline-block;
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  padding: 5px 13px;
  border: 1px solid var(--rec-text);
  border-radius: 7px;
  background: var(--rec-text);
  transition: opacity 160ms ease;
}

.trading-terminal_toLockedCta__4HmPi:hover {
  opacity: 0.86;
}

.trading-terminal_toLockedCtaSmall__UfuZ_ {
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rec-muted);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 160ms ease;
}

.trading-terminal_toLockedCtaSmall__UfuZ_::after {
  content: '?';
  font-size: 12px;
}

.trading-terminal_toLockedCtaSmall__UfuZ_:hover {
  color: var(--rec-text);
}

/* ?? Skeleton ?? */
.trading-terminal_toSkeleton__DiC9m {
  background: var(--zs-card-background);
  border: var(--zs-card-border-width) solid var(--rec-border-faint);
  border-radius: var(--zs-card-radius);
  padding: 16px;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.trading-terminal_toSkeleton__DiC9m span {
  display: block;
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, #f1f5f9 0%, #e8edf2 50%, #f1f5f9 100%);
  background-size: 200% 100%;
  animation: trading-terminal_toShimmer__Q6P_w 1.4s ease infinite;
}

.trading-terminal_toSkeleton__DiC9m span:first-child {
  width: 40%;
  height: 18px;
}

.trading-terminal_toSkeleton__DiC9m span:nth-child(2) {
  width: 55%;
  height: 28px;
}

.trading-terminal_toSkeleton__DiC9m span:nth-child(3) {
  width: 100%;
  margin-top: auto;
}

@keyframes trading-terminal_toShimmer__Q6P_w {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* Overview muted values */
.trading-terminal_statValueMuted__2UQWQ {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--rec-muted) !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

/* Sidebar empty hint */
.trading-terminal_panelEmptyHint__mzfBr {
  margin: 0;
  padding: 8px 4px;
  font-size: 12.5px;
  color: var(--rec-muted);
  text-align: center;
}

@media (max-width: 920px) {
  .trading-terminal_toPrice__IkpGH {
    font-size: 23px;
  }

  .trading-terminal_toDecisionTag__Jx8Tc {
    font-size: 13.5px;
  }
}

/* ?????????????????????????????????????????????????????????????? */
/* Asset logos ? rendered from the shared markets icon-spec system  */
/* ?????????????????????????????????????????????????????????????? */
.trading-terminal_assetLogo__VgAva {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: #ffffff;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08), 0 2px 5px rgba(13, 22, 41, 0.09);
}

.trading-terminal_assetLogoImg__aciif {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.trading-terminal_assetLogoFallback__Mh9Pd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
  color: #ffffff;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08) inset;
}

.trading-terminal_assetLogoForex__lZi27 {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.trading-terminal_assetLogoFlagBase__5Uw3o,
.trading-terminal_assetLogoFlagQuote__pWa2b {
  position: absolute;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1.5px #ffffff;
}

.trading-terminal_assetLogoFlagBase__5Uw3o {
  inset-inline-start: 0;
  top: 0;
}

.trading-terminal_assetLogoFlagQuote__pWa2b {
  inset-inline-end: 0;
  bottom: 0;
}

/* ?????????????????????????????????????????????????????????????? */
/* Card header identity (logo + symbol)                             */
/* ?????????????????????????????????????????????????????????????? */
.trading-terminal_toHeaderId__xPTFv {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

/* ?????????????????????????????????????????????????????????????? */
/* Hero signal ? the single focal recommendation above the grid     */
/* ?????????????????????????????????????????????????????????????? */
/* V6 ? Signal Ticket: 3 columns (identity ? metrics ? action), no table-like
   dividers, single strong focal point. Identity sits on the right in RTL. */
.trading-terminal_heroCard__XYha1 {
  position: relative;
  background: var(--zs-card-hero-background);
  border: var(--zs-card-hero-border-width) solid var(--rec-border-faint);
  border-radius: var(--zs-card-hero-radius);
  padding: 16px 22px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 28px;
  cursor: pointer;
  box-shadow: var(--sh-1);
  border-inline-start: var(--zs-card-hero-stripe-width) solid transparent;
  transition: box-shadow 150ms ease, border-color 150ms ease;
}

.trading-terminal_heroCard__XYha1:hover {
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.09);
  border-color: var(--rec-border);
}

.trading-terminal_heroCardLocked__EQfQx,
.trading-terminal_heroCardLocked__EQfQx:hover {
  cursor: default;
  transform: none;
  box-shadow: var(--sh-1);
}

.trading-terminal_heroEmpty__EUM9_ {
  background: var(--zs-card-hero-background);
  border: var(--zs-card-hero-border-width) solid var(--rec-border-faint);
  border-radius: var(--zs-card-hero-radius);
  padding: 20px 24px;
  margin-bottom: 14px;
  text-align: center;
  box-shadow: var(--sh-2);
}

.trading-terminal_heroEmptyTitle__YL4NA {
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
}

.trading-terminal_heroEmptyHint__MoyaI {
  margin: 0;
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Monitoring hero ? fallback when no public executable signal qualifies. */
.trading-terminal_heroCard_monitoring__lAvPB {
  cursor: default;
  align-items: center;
}

.trading-terminal_heroCard_monitoring__lAvPB:hover {
  box-shadow: var(--sh-1);
  border-color: var(--rec-border-faint);
  transform: none;
}

.trading-terminal_heroMonitorMain__434WZ {
  flex: 1 1 300px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.trading-terminal_heroMonitorBadge__OsyBQ {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  font-size: 11px;
  font-weight: 700;
  color: #5b6878;
  background: rgba(100, 116, 139, 0.1);
  border: 1px solid rgba(100, 116, 139, 0.22);
  border-radius: 999px;
  padding: 1px 9px;
  letter-spacing: normal;
}

.trading-terminal_heroMonitorTitle__zHhuc {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.trading-terminal_heroMonitorDesc__xVHEF {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--rec-muted);
  max-width: 54ch;
}

.trading-terminal_heroMonitorKpis__xetSc {
  margin: 8px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 18px;
  list-style: none;
}

.trading-terminal_heroMonitorKpi__aeUa_ {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.trading-terminal_heroMonitorKpi__aeUa_ dt {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
  line-height: 1.25;
}

.trading-terminal_heroMonitorKpi__aeUa_ dd {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1;
}

.trading-terminal_heroMonitorSpotlight__1XHTd {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 220px;
  max-width: 280px;
}

.trading-terminal_heroMonitorSpotlightLabel___zTJ1 {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
  letter-spacing: normal;
}

.trading-terminal_heroMonitorSpotlightBody__Xna1M {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.07);
  background: color-mix(in srgb, var(--zs-terminal-surface-recessed) 72%, transparent);
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease;
}

.trading-terminal_heroMonitorSpotlightBody__Xna1M:hover {
  border-color: rgba(15, 23, 42, 0.12);
  background: var(--zs-terminal-surface-recessed);
}

.trading-terminal_heroMonitorSpotlightHead__jKHrH {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.trading-terminal_heroMonitorSpotlightId__xWRF1 {
  flex: 1 1 auto;
  min-width: 0;
}

.trading-terminal_heroMonitorSpotlightId__xWRF1 .trading-terminal_heroSymbol__MgkYC {
  font-size: 17px;
}

.trading-terminal_heroMonitorSpotlightId__xWRF1 .trading-terminal_heroSub__EEYp_ {
  font-size: 11.5px;
}

.trading-terminal_heroMonitorSpotlightHead__jKHrH .trading-terminal_heroPrice__Ibny3 {
  margin-inline-start: 0;
  font-size: 17px;
  flex-shrink: 0;
}

.trading-terminal_heroMonitorSpotlightMetrics__fgwN3 {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH span:first-child {
  font-size: 15px;
  font-weight: 700;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH span:last-child {
  font-size: 10.5px;
  font-weight: 500;
  color: var(--rec-muted2);
  line-height: 1.1;
}

.trading-terminal_heroMonitorSpotlightMetrics__fgwN3 .trading-terminal_heroDecisionTag__EtSAZ {
  font-size: 12px;
  padding: 4px 9px;
  margin-inline-start: auto;
}

/* ?? Column 1 ? Signal identity (largest, focal) ?? */
.trading-terminal_heroMain__YAlJP {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.trading-terminal_heroMainBody__ztFr5 {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.trading-terminal_heroBadge__VxhoO {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--rec-accent);
  background: var(--rec-accent-soft);
  border: 1px solid var(--rec-accent-border);
  border-radius: 999px;
  padding: 1px 9px;
  letter-spacing: normal;
}

.trading-terminal_heroIdRow__o5Hxl {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 100%;
}

.trading-terminal_heroSymbol__MgkYC {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.02em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

/* Decision as a clear pill badge, tinted by its own colour */
.trading-terminal_heroDecisionTag__EtSAZ {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  padding: 5px 11px;
  border-radius: 8px;
  background: color-mix(in srgb, currentColor 12%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
}

.trading-terminal_heroPrice__Ibny3 {
  margin-inline-start: auto;
  font-size: 22px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

.trading-terminal_heroSub__EEYp_ {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--rec-muted);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.trading-terminal_heroReason__upb3U {
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--rec-muted2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Flexible chart band ? absorbs the dead horizontal space between the identity
   and the metrics so the hero reads as a recommendation center, not a strip. */
.trading-terminal_heroSpark__817wy {
  flex: 1.3 1 90px;
  min-width: 70px;
  display: flex;
  align-items: center;
  align-self: stretch;
}

.trading-terminal_toSparkHero__kZ1BE {
  height: 48px;
}

/* ?? Column 2 ? Metrics as compact pills (stacked) ?? */
.trading-terminal_heroMetricsCol__NEYps {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.trading-terminal_heroMetricPill__iXJjC {
  display: inline-flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  min-width: 128px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  color: var(--rec-text);
  white-space: nowrap;
}

.trading-terminal_heroPillValue__w4QE_ {
  font-size: 16px;
  font-weight: 700;
  color: inherit;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

.trading-terminal_heroPillMasked__dgqsl {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--rec-muted2);
  line-height: 1;
}

.trading-terminal_heroPillLabel__eCR3F {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted2);
  line-height: 1;
}

/* Risk ? colour-coded value only (no pill chrome) */
.trading-terminal_heroRisk_low__0FI_B {
  color: #15803d;
}

.trading-terminal_heroRisk_medium__ZSjVR {
  color: #b45309;
}

.trading-terminal_heroRisk_high__oRBLb {
  color: #b91c1c;
}

.trading-terminal_heroRisk_extreme__sbX1A {
  color: #b91c1c;
}

/* ?? Column 3 ? Action ?? */
.trading-terminal_heroActionCol__Logjn {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 7px;
  max-width: 190px;
}

.trading-terminal_heroActionNote__4xy7I {
  font-size: 12px;
  font-weight: 500;
  color: var(--rec-muted);
  line-height: 1.35;
}

.trading-terminal_heroProBadge__y_8FI {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--rec-accent);
  background: var(--rec-accent-soft);
  border: 1px solid var(--rec-accent-border);
  border-radius: 6px;
  padding: 3px 7px;
  letter-spacing: 0.02em;
}

.trading-terminal_heroCta__QSu1b {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  background: #0f172a;
  border: 1px solid #0f172a;
  border-radius: 9px;
  padding: 8px 16px;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.trading-terminal_heroCta__QSu1b:hover {
  background: #1e293b;
  border-color: #1e293b;
  transform: translateY(-1px);
}

/* Open hero CTA ? quiet ghost so it never steals attention */
.trading-terminal_heroCtaGhost__mvmJt {
  color: var(--rec-text);
  background: transparent;
  border: 1px solid var(--bd-primary);
}

.trading-terminal_heroCtaGhost__mvmJt:hover {
  background: var(--rec-surface-2);
  border-color: rgba(15, 23, 42, 0.22);
  color: var(--rec-text);
}

/* Tablet ? action drops below, identity + metrics stay in a row */
@media (max-width: 900px) {
  .trading-terminal_heroCard__XYha1 {
    flex-wrap: wrap;
    gap: 14px 20px;
  }

  .trading-terminal_heroMonitorKpis__xetSc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trading-terminal_heroMonitorSpotlight__1XHTd {
    flex: 1 1 100%;
    max-width: none;
  }

  .trading-terminal_heroMain__YAlJP {
    flex: 1 1 100%;
  }

  .trading-terminal_heroSpark__817wy {
    display: none;
  }

  .trading-terminal_heroActionCol__Logjn {
    max-width: none;
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
}

/* Mobile ? stacked compact */
@media (max-width: 600px) {
  .trading-terminal_heroCard__XYha1 {
    flex-direction: column;
    align-items: stretch;
    gap: 13px;
  }

  .trading-terminal_heroMonitorKpis__xetSc {
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
  }

  .trading-terminal_heroMonitorTitle__zHhuc {
    font-size: 18px;
  }

  .trading-terminal_heroMetricsCol__NEYps {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .trading-terminal_heroMetricPill__iXJjC {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }

  .trading-terminal_heroActionCol__Logjn {
    align-items: stretch;
  }

  .trading-terminal_heroReason__upb3U,
  .trading-terminal_heroSub__EEYp_ {
    white-space: normal;
  }

  .trading-terminal_heroPrice__Ibny3 {
    margin-inline-start: 0;
  }
}

/* ?????????????????????????????????????????????????????????????? */
/* Terminal V2 ? section navigation + sub-pages                     */
/* ?????????????????????????????????????????????????????????????? */
/* Page intro ? section identity above the primary navigation */
.trading-terminal_pageIntro__2XtyF {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.trading-terminal_pageIntroTitle__nI3b4 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #131722;
  letter-spacing: 0;
  line-height: 1.25;
}

.trading-terminal_pageIntroLead__BGwnK {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #434651;
  line-height: 1.55;
  max-width: 62ch;
}

/* Primary section navigation ? Linear / Vercel premium tab bar */
.trading-terminal_terminalNavWrap__rd43w {
  display: flex;
  justify-content: flex-start;
  padding: 2px 0;
  margin: 2px 0 4px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.trading-terminal_terminalNavWrap__rd43w::-webkit-scrollbar {
  display: none;
}

.trading-terminal_terminalNav__hrojb {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: max-content;
  max-width: max-content;
  padding: 5px;
  border-radius: 14px;
  background: var(--rec-surface-2);
  border: 1px solid var(--bd-hairline);
  box-shadow: none;
}

.trading-terminal_terminalNavLink__GXb30 {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 16px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  color: var(--rec-muted);
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease,
    box-shadow 150ms ease;
}

.trading-terminal_terminalNavLink__GXb30:hover {
  color: var(--rec-text);
  background: rgba(15, 23, 42, 0.045);
}

.trading-terminal_terminalNavLinkActive__0tPTL,
.trading-terminal_terminalNavLinkActive__0tPTL:hover {
  color: var(--rec-text);
  font-weight: 700;
  background: var(--rec-surface);
  border-color: transparent;
  box-shadow: var(--sh-3);
}

/* Active indicator ? subtle navy underline under the label */
.trading-terminal_terminalNavLinkActive__0tPTL::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 2.5px;
  border-radius: 99px;
  background: var(--rec-accent);
}

.trading-terminal_terminalNavIcon__pv9yA {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  opacity: 0.8;
}

.trading-terminal_terminalNavLinkActive__0tPTL .trading-terminal_terminalNavIcon__pv9yA {
  opacity: 1;
}

.trading-terminal_subPageMain__MTGvF {
  flex: 1;
  min-width: 0;
  padding: 18px 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.trading-terminal_subPageHead__gsKM6 {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.trading-terminal_subPageTitle__5Oi2T {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: var(--rec-text);
  letter-spacing: normal;
  line-height: 1.25;
}

.trading-terminal_subPageLead__b3s8x {
  margin: 0;
  font-size: 13.5px;
  font-weight: 400;
  color: var(--rec-muted);
  line-height: 1.5;
  max-width: 62ch;
}

.trading-terminal_historyToolbar__0zuWc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.trading-terminal_historyToolbar__0zuWc .trading-terminal_searchInner__vAuVd {
  flex: 1 1 280px;
  max-width: 420px;
}

.trading-terminal_historyFilters__nzp8N {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.trading-terminal_alertsPageGrid__mpRLe {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}

@media (max-width: 920px) {
  .trading-terminal_subPageMain__MTGvF {
    padding: 14px 16px 28px;
  }

  .trading-terminal_pageIntroTitle__nI3b4 {
    font-size: 19px;
  }

  .trading-terminal_alertsPageGrid__mpRLe {
    grid-template-columns: 1fr;
  }

  .trading-terminal_statusGrid__JDooB {
    grid-template-columns: 1fr;
  }

  .trading-terminal_oppListRow__klxJZ {
    flex-wrap: wrap;
  }

  .trading-terminal_oppListCta__PHtSt {
    width: 100%;
    text-align: center;
  }
}

/* ???????????? Auto 4 ? premium micro interactions ????????????
   transform/opacity only for motion; brief colour highlight for price.
   Everything is one-shot ? no infinite/continuous motion ? and fully
   disabled under prefers-reduced-motion. */

@keyframes trading-terminal_ttFadeRise__5wP2J {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes trading-terminal_ttFlashUp__RWzEq {
  0% {
    background-color: rgba(21, 163, 73, 0.22);
  }
  100% {
    background-color: rgba(21, 163, 73, 0);
  }
}

@keyframes trading-terminal_ttFlashDown__XTz1D {
  0% {
    background-color: rgba(220, 38, 38, 0.2);
  }
  100% {
    background-color: rgba(220, 38, 38, 0);
  }
}

/* Tight highlight box that hugs the price digits (no layout shift) */
.trading-terminal_priceFlash__mEPkC {
  border-radius: 5px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media (prefers-reduced-motion: no-preference) {
  /* Cards + hero appear once on mount: fade + gentle rise */
  .trading-terminal_tradeObject__ct2D8,
  .trading-terminal_heroCard__XYha1 {
    animation: trading-terminal_ttFadeRise__5wP2J 0.32s ease-out both;
  }

  /* Subtle, bounded stagger across the first cards in the grid */
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(2) {
    animation-delay: 0.03s;
  }
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(3) {
    animation-delay: 0.06s;
  }
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(4) {
    animation-delay: 0.09s;
  }
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(5) {
    animation-delay: 0.12s;
  }
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(6) {
    animation-delay: 0.15s;
  }
  .trading-terminal_cardGrid__yw2Ho > *:nth-child(n + 7) {
    animation-delay: 0.18s;
  }

  /* Price ticked up / down ? brief green / red highlight, then back to normal */
  .trading-terminal_priceFlashUp___YwrS {
    animation: trading-terminal_ttFlashUp__RWzEq 0.9s ease-out;
  }
  .trading-terminal_priceFlashDown__yJU7z {
    animation: trading-terminal_ttFlashDown__XTz1D 0.9s ease-out;
  }

  /* Soft tactile press on filter controls */
  .trading-terminal_tab__uxrs5:active,
  .trading-terminal_smartChip__F0Ypi:active,
  .trading-terminal_customize__ITdRz:active {
    transform: scale(0.97);
  }
}

/* ????????????????????????????????????????????????????????????????
   TYPOGRAPHY RECOVERY ? trading-terminal only
   Restore weight / contrast / hierarchy. Layout architecture unchanged.
   ???????????????????????????????????????????????????????????????? */

.trading-terminal_root__shQEq :is(button, a, [role='button'], input, select):focus-visible {
  outline: 2px solid rgba(29, 43, 63, 0.55);
  outline-offset: 2px;
}

.trading-terminal_pageIntro__2XtyF {
  gap: 4px;
  padding-block: 0;
}

.trading-terminal_pageIntroTitle__nI3b4 {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
  color: #131722;
}

.trading-terminal_pageIntroLead__BGwnK {
  font-size: 14px;
  font-weight: 400;
  color: #434651;
  line-height: 1.55;
  max-width: 72ch;
}

/* Application-style tab bar ? not a pill cluster */
.trading-terminal_terminalNavWrap__rd43w {
  padding: 0;
  margin: 0 0 2px;
  border-bottom: 1px solid var(--rec-border-faint);
}

.trading-terminal_terminalNav__hrojb {
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.trading-terminal_terminalNavLink__GXb30 {
  position: relative;
  height: 34px;
  padding: 0 12px;
  gap: 6px;
  border-radius: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  color: #434651;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  box-shadow: none;
  transition: color 140ms ease, border-color 140ms ease, background 140ms ease;
}

.trading-terminal_terminalNavLink__GXb30:hover {
  color: #131722;
  background: rgba(15, 23, 42, 0.03);
}

.trading-terminal_terminalNavLinkActive__0tPTL,
.trading-terminal_terminalNavLinkActive__0tPTL:hover {
  color: #131722;
  font-weight: 700;
  background: transparent;
  border-color: transparent;
  border-bottom-color: var(--rec-accent);
  box-shadow: none;
}

.trading-terminal_terminalNavLinkActive__0tPTL::after {
  display: none;
}

.trading-terminal_terminalNavIcon__pv9yA {
  width: 14px;
  height: 14px;
  opacity: 0.85;
}

.trading-terminal_terminalNavLinkActive__0tPTL .trading-terminal_terminalNavIcon__pv9yA {
  opacity: 1;
}

/* Unified command toolbar */
.trading-terminal_commandBar__oJ9rd {
  gap: 8px;
  flex-wrap: wrap;
  align-items: stretch;
  padding: 0;
  margin: 0;
}

.trading-terminal_cmdSearch__Ue2q6 {
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  box-shadow: none;
  background: var(--rec-surface);
  border-color: var(--rec-border);
}

.trading-terminal_searchInput__82atI {
  font-size: 14px;
  font-weight: 500;
  color: #131722;
  letter-spacing: 0;
}

.trading-terminal_searchInput__82atI::placeholder {
  color: #787B86;
  font-weight: 500;
  opacity: 1;
}

.trading-terminal_cmdPill__22qiT {
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  box-shadow: none;
  font-weight: 500;
  font-size: 14px;
  color: #131722;
  letter-spacing: 0;
  line-height: 1.35;
}

.trading-terminal_cmdPill__22qiT:focus-visible,
.trading-terminal_cmdSearch__Ue2q6:focus-within {
  box-shadow: 0 0 0 2px rgba(29, 43, 63, 0.18);
}

.trading-terminal_cmdControls__8Uflj {
  gap: 6px;
}

/* Signal grid density */
.trading-terminal_cardGrid__yw2Ho {
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trading-terminal_tradeObject__ct2D8 {
  padding: 12px 14px 10px;
  gap: 8px;
  border-radius: 12px;
  box-shadow: none;
  transition: border-color 140ms ease, background 140ms ease;
}

.trading-terminal_tradeObject__ct2D8:hover {
  box-shadow: none;
  background: color-mix(in srgb, var(--rec-surface) 92%, #f1f5f9);
}

.trading-terminal_tradeObject__ct2D8:focus-visible {
  outline: 2px solid rgba(29, 43, 63, 0.5);
  outline-offset: 2px;
}

.trading-terminal_toBody__uZ8Wg {
  gap: 6px;
}

.trading-terminal_toSymbol__n2J8t {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  color: #131722;
}

.trading-terminal_toSymbol__n2J8t [dir='ltr'] {
  unicode-bidi: isolate;
}

.trading-terminal_toMarket__p9z4X {
  font-size: 12.5px;
  color: #787B86;
  font-weight: 400;
  line-height: 1.4;
}

.trading-terminal_toStatus__LFaOH {
  font-size: 12.5px;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--rec-border-faint);
  background: transparent;
  color: #434651;
  line-height: 1.35;
}

.trading-terminal_tierBadge__xpobj {
  height: 17px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 4px;
}

/* Price dominates the card */
.trading-terminal_toPrice__IkpGH {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
  color: #131722;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_toPrice__IkpGH [dir='ltr'] {
  unicode-bidi: isolate;
}

.trading-terminal_toPriceLine__HxLAQ {
  align-items: flex-end;
  gap: 10px;
  margin: 0;
  min-height: 28px;
}

.trading-terminal_toSparkMini__k6SOZ {
  width: 72px;
  opacity: 0.75;
  margin-bottom: 2px;
}

.trading-terminal_toSparkMini__k6SOZ .trading-terminal_toSpark__pbDQl {
  height: 20px;
}

.trading-terminal_toDecisionTag__Jx8Tc {
  font-size: 12.5px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  gap: 5px;
  align-self: flex-start;
  letter-spacing: 0;
  line-height: 1.35;
}

.trading-terminal_toDecisionDot__sqmMg {
  width: 5px;
  height: 5px;
  box-shadow: none;
}

.trading-terminal_toDecision_watch__AP0Gg {
  color: #3f4b5a;
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.22);
}

/* Status ? compact but not pale */
.trading-terminal_recWatchTag__xBZCU {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  padding: 2px 8px;
  border-radius: 4px;
  color: #334155;
  background: rgba(100, 116, 139, 0.1);
  border-color: rgba(100, 116, 139, 0.22);
  line-height: 1.35;
}

.trading-terminal_recWatchPulse__VnTPq {
  width: 5px;
  height: 5px;
  box-shadow: none;
  animation: none;
}

.trading-terminal_recWatchState__V1m_b {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-secondary);
  line-height: 1.35;
}

.trading-terminal_recWatchCond__UnHth {
  font-size: 13px;
  font-weight: 400;
  color: #434651;
  line-height: 1.45;
}

.trading-terminal_recWatchCondVal__ukcH5 {
  font-weight: 700;
  color: #131722;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_recReason__moQWq,
.trading-terminal_recReasonWatch__zEqWP {
  font-size: 13px;
  font-weight: 400;
  color: #434651;
  line-height: 1.5;
}

.trading-terminal_recBlock_card__92Dte {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid var(--rec-border-faint);
  gap: 6px;
}

.trading-terminal_recLevels__aVNT0 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 10px;
  padding-top: 8px;
  border-top: 1px solid var(--rec-border-faint);
  align-items: start;
}

.trading-terminal_recLevel__uhEDI {
  gap: 2px;
}

.trading-terminal_recLevelVal__e5X_l {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  color: #131722;
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
  line-height: 1.2;
}

.trading-terminal_recLevelCap__IJHHu {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.35;
}

.trading-terminal_toFooter__grO8S {
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px solid var(--rec-border-faint);
}

.trading-terminal_toUpdated__G2gSI {
  font-size: 12.5px;
  font-weight: 500;
  color: #787B86;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_toAction__NzCvl {
  font-size: 14px;
  font-weight: 500;
  color: #131722;
  min-height: 28px;
  padding: 2px 4px;
  line-height: 1.35;
}

/* Compact system status strip */
.trading-terminal_heroCard__XYha1 {
  padding: 10px 14px;
  margin-bottom: 12px;
  gap: 12px;
  border-radius: 12px;
  box-shadow: none;
  align-items: stretch;
}

.trading-terminal_heroCard__XYha1:hover {
  box-shadow: none;
}

.trading-terminal_heroCard_monitoring__lAvPB {
  padding: 10px 14px;
  cursor: default;
}

.trading-terminal_heroMonitorStrip__jsbMP {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  width: 100%;
  min-width: 0;
}

.trading-terminal_heroMonitorMain__434WZ {
  flex: 0 1 220px;
  min-width: 0;
  gap: 4px;
}

.trading-terminal_heroMonitorHead__w2Zdh {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.trading-terminal_heroMonitorBadge__OsyBQ {
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  padding: 2px 7px;
  letter-spacing: 0;
  color: #334155;
  background: rgba(100, 116, 139, 0.1);
  border: 1px solid rgba(100, 116, 139, 0.2);
  line-height: 1.35;
}

.trading-terminal_heroMonitorTitle__zHhuc {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  color: #131722;
}

.trading-terminal_heroMonitorDesc__xVHEF {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  max-width: 48ch;
  color: #434651;
}

.trading-terminal_heroMonitorKpis__xetSc {
  margin: 0;
  padding: 0;
  border-top: none;
  border-inline-start: 1px solid var(--rec-border-faint);
  padding-inline-start: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(64px, auto));
  gap: 8px 16px;
  flex: 0 1 auto;
}

.trading-terminal_heroMonitorKpi__aeUa_ {
  gap: 2px;
}

.trading-terminal_heroMonitorKpi__aeUa_ dt {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-muted);
  line-height: 1.35;
}

.trading-terminal_heroMonitorKpi__aeUa_ dd {
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--rec-text);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.trading-terminal_heroMonitorSpotlight__1XHTd {
  flex: 1 1 260px;
  min-width: 0;
  max-width: none;
  gap: 4px;
}

.trading-terminal_heroMonitorSpotlightBody__Xna1M {
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid var(--rec-border-faint);
  background: transparent;
  gap: 8px;
}

.trading-terminal_heroMonitorSpotlightBody__Xna1M:hover {
  background: var(--zs-terminal-surface-recessed);
  border-color: var(--rec-border);
}

.trading-terminal_heroMonitorSpotlightHead__jKHrH {
  gap: 8px;
}

.trading-terminal_heroMonitorSpotlightId__xWRF1 .trading-terminal_heroSymbol__MgkYC {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  letter-spacing: 0;
  color: #131722;
  line-height: 1.2;
}

.trading-terminal_heroMonitorSpotlightId__xWRF1 .trading-terminal_heroSub__EEYp_ {
  font-size: 12.5px;
  font-weight: 400;
  margin: 1px 0 0;
  color: #787B86;
  line-height: 1.4;
}

.trading-terminal_heroMonitorSpotlightHead__jKHrH .trading-terminal_heroPrice__Ibny3,
.trading-terminal_heroPrice__Ibny3 {
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  margin: 0;
  line-height: 1.1;
  color: #131722;
}

.trading-terminal_heroMonitorSpotlightMetrics__fgwN3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 40px;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH span:first-child {
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #131722;
  line-height: 1.2;
}

.trading-terminal_heroMonitorSpotlightMetric__EFPbH span:last-child {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
  line-height: 1.35;
}

.trading-terminal_heroMonitorSpotlightMetrics__fgwN3 .trading-terminal_heroDecisionTag__EtSAZ {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}

.trading-terminal_heroMonitorSpotlight__1XHTd .trading-terminal_heroSpark__817wy {
  width: 72px;
  height: 22px;
  flex-shrink: 0;
  opacity: 0.75;
}

.trading-terminal_heroMonitorSpotlight__1XHTd .trading-terminal_heroCta__QSu1b {
  margin-inline-start: auto;
  height: 28px;
  padding: 0 10px;
  font-size: 11.5px;
  font-weight: 700;
  border-radius: 8px;
}

/* Actionable hero (when a real signal wins) ? denser ticket */
.trading-terminal_heroMain__YAlJP {
  gap: 10px;
}

.trading-terminal_heroBadge__VxhoO {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 4px;
}

.trading-terminal_heroSymbol__MgkYC {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

.trading-terminal_heroReason__upb3U {
  font-size: 14px;
  font-weight: 400;
  color: #434651;
  line-height: 1.4;
}

.trading-terminal_heroSpark__817wy {
  width: 96px;
  height: 36px;
  opacity: 0.8;
}

.trading-terminal_heroCta__QSu1b {
  height: 34px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 12.5px;
}

.trading-terminal_subPageMain__MTGvF {
  padding: 12px 28px 32px;
  gap: 12px;
}

.trading-terminal_subPageTitle__5Oi2T {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  color: #131722;
  line-height: 1.25;
}

.trading-terminal_subPageLead__b3s8x {
  font-size: 14px;
  font-weight: 400;
  color: #434651;
  line-height: 1.55;
}

@media (prefers-reduced-motion: no-preference) {
  .trading-terminal_tradeObject__ct2D8,
  .trading-terminal_heroCard__XYha1 {
    animation: trading-terminal_ttFadeRise__5wP2J 0.16s ease-out both;
  }
}

@media (max-width: 1280px) {
  .trading-terminal_main__Qnk2P,
  .trading-terminal_subPageMain__MTGvF {
    padding-inline: 20px;
  }

  .trading-terminal_cardGrid__yw2Ho {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trading-terminal_heroMonitorKpis__xetSc {
    grid-template-columns: repeat(2, minmax(72px, auto));
    border-inline-start: none;
    padding-inline-start: 0;
    border-top: 1px solid var(--rec-border-faint);
    padding-top: 8px;
    width: 100%;
  }
}

@media (max-width: 920px) {
  .trading-terminal_main__Qnk2P,
  .trading-terminal_subPageMain__MTGvF {
    padding: 10px 14px 24px;
    gap: 10px;
  }

  .trading-terminal_pageIntroTitle__nI3b4 {
    font-size: 22px;
  }

  .trading-terminal_commandBar__oJ9rd {
    flex-direction: column;
    align-items: stretch;
  }

  .trading-terminal_cmdControls__8Uflj {
    width: 100%;
    flex-wrap: wrap;
  }

  .trading-terminal_cmdField__oGz3D {
    flex: 1 1 auto;
  }

  .trading-terminal_cmdPill__22qiT {
    width: 100%;
    justify-content: space-between;
  }

  .trading-terminal_cardGrid__yw2Ho {
    grid-template-columns: 1fr;
  }

  .trading-terminal_toPrice__IkpGH {
    font-size: 26px;
  }

  .trading-terminal_heroMonitorStrip__jsbMP {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .trading-terminal_heroMonitorMain__434WZ {
    flex: 0 0 auto;
    width: 100%;
    gap: 2px;
  }

  .trading-terminal_heroMonitorTitle__zHhuc {
    font-size: 16px;
    font-weight: 700;
  }

  .trading-terminal_heroMonitorDesc__xVHEF {
    display: none;
  }

  .trading-terminal_heroMonitorKpis__xetSc {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px 8px;
    border-inline-start: none;
    padding-inline-start: 0;
    border-top: 1px solid var(--rec-border-faint);
    padding-top: 8px;
    width: 100%;
  }

  .trading-terminal_heroMonitorSpotlight__1XHTd {
    flex: 1 1 auto;
  }

  .trading-terminal_heroMonitorSpotlightBody__Xna1M {
    padding: 8px;
    gap: 6px;
  }

  .trading-terminal_heroMonitorSpotlightMetrics__fgwN3 {
    gap: 6px 10px;
  }

  .trading-terminal_heroMonitorSpotlight__1XHTd .trading-terminal_heroSpark__817wy {
    display: none;
  }

  .trading-terminal_heroMonitorSpotlight__1XHTd .trading-terminal_heroCta__QSu1b {
    margin-inline-start: 0;
    width: 100%;
  }

  .trading-terminal_heroCard_monitoring__lAvPB {
    padding: 10px 12px;
  }

  .trading-terminal_recLevels__aVNT0 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .trading-terminal_terminalNavLink__GXb30 {
    padding: 0 10px;
    font-size: 14px;
  }

  .trading-terminal_toPriceLine__HxLAQ {
    flex-wrap: wrap;
  }

  .trading-terminal_toSparkMini__k6SOZ {
    width: 100%;
    max-width: 120px;
  }
}

/* ????????????????????????????????????????????????????????????????
   TAJAWAL TYPOGRAPHY CANON ? final cascade layer (trading-terminal)
   Approved hierarchy. Layout / data / logic untouched.
   Family: next/font Tajawal on .root (inherit). No IBM Plex.
   ???????????????????????????????????????????????????????????????? */

.trading-terminal_root__shQEq {
  font-family: var(--tt-tajawal), "Tajawal", sans-serif;
  font-synthesis: none;
  letter-spacing: 0;
}

.trading-terminal_root__shQEq :is(button, input, select, textarea, a, label) {
  font-family: inherit;
}

/* Workspace / filter tabs */
.trading-terminal_tab__uxrs5 {
  font-size: 14px;
  font-weight: 500;
  color: #434651;
  font-family: inherit;
  letter-spacing: 0;
}

.trading-terminal_tab__uxrs5:hover {
  color: #131722;
}

.trading-terminal_tabActive__N93cf,
.trading-terminal_tabActive__N93cf:hover {
  font-size: 14px;
  font-weight: 700;
  color: #131722;
}

.trading-terminal_customize__ITdRz,
.trading-terminal_filterLabel__VUaU4,
.trading-terminal_navItem__di7S4 {
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  letter-spacing: 0;
}

.trading-terminal_navItem__di7S4 {
  color: #434651;
}

.trading-terminal_navItemActive__LRDGz {
  font-weight: 700;
  color: #131722;
}

.trading-terminal_customize__ITdRz {
  color: #131722;
}

.trading-terminal_filterLabel__VUaU4 {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
}

/* Metric tiles on signal cards */
.trading-terminal_toMetricNum__gc6nK {
  font-size: 14px;
  font-weight: 700;
  color: #131722;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.trading-terminal_toMetricCap__I1kdL,
.trading-terminal_toMetricLabel__6kSMT {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
  letter-spacing: 0;
}

.trading-terminal_cardPriceNow__BgQJ1 {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.1;
  color: #131722;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.trading-terminal_cardSymbol__8Lw_d {
  font-size: 14px;
  font-weight: 700;
  color: #131722;
  letter-spacing: 0;
}

/* Section / insight titles */
.trading-terminal_insightTitle__bO32S,
.trading-terminal_perfDashTitle__P4ZmH,
.trading-terminal_perfDashSectionTitle__h89JH,
.trading-terminal_stationTitle__UtUEh,
.trading-terminal_statusCardTitle__e9r_s {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  color: #131722;
  letter-spacing: 0;
}

.trading-terminal_perfDashSectionTitle__h89JH {
  font-size: 14px;
  font-weight: 700;
}

/* LTR islands for tickers / money */
.trading-terminal_root__shQEq [dir='ltr'],
.trading-terminal_root__shQEq .trading-terminal_ltrIsland__eSoYo {
  unicode-bidi: isolate;
  direction: ltr;
}

/* ????????????????????????????????????????????????????????????????
   UI CLEANUP ? density / chrome (typography LOCKED ? do not alter
   font-family / font-weight / ink colors here)
   ???????????????????????????????????????????????????????????????? */

.trading-terminal_root__shQEq {
  --zs-card-stripe-width: 0px;
  --zs-card-hero-stripe-width: 0px;
  --zs-card-radius: 8px;
}

/* Cards: quiet tool tiles, no decorative side stripe */
.trading-terminal_tradeObject__ct2D8,
.trading-terminal_tradeObject_buy__pcJs6,
.trading-terminal_tradeObject_sell__U1YSN,
.trading-terminal_tradeObject_watch__xP_cH,
.trading-terminal_tradeObject_conditional__4d5O9,
.trading-terminal_tradeObjectLocked__ohlg1,
.trading-terminal_heroCard__XYha1,
.trading-terminal_heroCard_monitoring__lAvPB,
.trading-terminal_heroCardLocked__EQfQx {
  border-inline-start: 0 none !important;
  border-inline-start-color: transparent !important;
}

.trading-terminal_tradeObject__ct2D8 {
  padding: 10px 12px 8px;
  gap: 5px;
  border-radius: 8px;
  box-shadow: none;
  border-color: #e0e3eb;
  background: #ffffff;
}

.trading-terminal_tradeObject__ct2D8:hover {
  box-shadow: none;
  border-color: #d0d5dd;
  background: #ffffff;
}

.trading-terminal_toBody__uZ8Wg {
  gap: 4px;
}

.trading-terminal_toHeader__16C97 {
  gap: 6px;
  margin: 0;
}

.trading-terminal_toHeaderId__xPTFv {
  gap: 8px;
}

/* Price + sparkline as one primary composition */
.trading-terminal_toPriceLine__HxLAQ {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  min-height: 0;
}

.trading-terminal_toPrice__IkpGH {
  margin: 0;
  flex: 0 1 auto;
}

.trading-terminal_toSparkMini__k6SOZ {
  flex: 0 0 auto;
  width: 56px;
  margin: 0;
  margin-inline-start: 2px;
  opacity: 0.72;
}

.trading-terminal_toSparkMini__k6SOZ .trading-terminal_toSpark__pbDQl {
  height: 18px;
}

/* One separator max ? before metrics */
.trading-terminal_recBlock_card__92Dte {
  margin-top: 2px;
  padding-top: 0;
  border-top: none;
  gap: 5px;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recLevels__aVNT0 {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid #e8ebf0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 8px;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchHead__mOqmE {
  margin: 0;
  gap: 6px;
}

.trading-terminal_recWatchCond__UnHth {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: none;
  font-size: inherit;
  line-height: 1.35;
}

.trading-terminal_recWatchCondLabel__oKXOz {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
  flex-shrink: 0;
}

.trading-terminal_recWatchCondVal__ukcH5 {
  font-size: 13px;
  font-weight: 700;
  color: #131722;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

.trading-terminal_recLevels__aVNT0 {
  border-top: none;
}

.trading-terminal_recLevel__uhEDI {
  gap: 1px;
  padding: 0;
  background: transparent;
  border: none;
}

.trading-terminal_toFooter__grO8S {
  display: flex;
  align-items: center;
  margin-top: 0;
  padding-top: 2px;
  border-top: none;
  min-height: 0;
}

.trading-terminal_toUpdated__G2gSI {
  font-size: 12px;
  font-weight: 500;
  color: #787B86;
  line-height: 1.3;
}

.trading-terminal_toAction__NzCvl {
  display: none;
}

/* Top workspace ? tighter, no hero theatre */
.trading-terminal_pageIntro__2XtyF {
  gap: 2px;
  margin-bottom: 0;
}

.trading-terminal_terminalNavWrap__rd43w {
  margin: 0 0 4px;
}

.trading-terminal_commandBar__oJ9rd {
  gap: 6px;
  margin: 0 0 4px;
}

.trading-terminal_cmdSearch__Ue2q6,
.trading-terminal_cmdPill__22qiT {
  height: 34px;
  border-radius: 8px;
  box-shadow: none;
}

.trading-terminal_cmdControls__8Uflj {
  gap: 4px;
}

.trading-terminal_work__ZBa4_ {
  gap: 12px;
}

.trading-terminal_cardGrid__yw2Ho {
  gap: 10px;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recDir__Kt0ys {
  display: inline-flex;
  align-items: center;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  padding: 2px 8px;
  border-radius: 4px;
  color: #334155;
  background: rgba(100, 116, 139, 0.1);
  border: 1px solid rgba(100, 116, 139, 0.22);
  line-height: 1.35;
}

/* Monitoring status strip ? compact, no nested card */
.trading-terminal_heroCard__XYha1,
.trading-terminal_heroCard_monitoring__lAvPB {
  padding: 8px 12px;
  margin-bottom: 8px;
  gap: 8px;
  border-radius: 8px;
  box-shadow: none;
  border: 1px solid #e0e3eb;
  background: #ffffff;
}

.trading-terminal_heroCard_monitoring__lAvPB {
  border-inline-start: 0 none;
}

.trading-terminal_heroMonitorStrip__jsbMP {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

.trading-terminal_heroMonitorMain__434WZ {
  flex: 0 1 200px;
  gap: 2px;
}

.trading-terminal_heroMonitorBadge__OsyBQ {
  display: none;
}

.trading-terminal_heroMonitorTitle__zHhuc {
  margin: 0;
}

.trading-terminal_heroMonitorDesc__xVHEF {
  margin: 0;
  max-width: 36ch;
}

.trading-terminal_heroMonitorKpis__xetSc {
  margin: 0;
  padding: 0;
  border: none;
  padding-inline-start: 0;
  border-inline-start: none;
  gap: 6px 14px;
  grid-template-columns: repeat(4, minmax(56px, auto));
}

.trading-terminal_heroMonitorKpi__aeUa_ dt {
  font-size: 11px;
}

.trading-terminal_heroMonitorKpi__aeUa_ dd {
  font-size: 13px;
}

/* Integrated spotlight row ? not a card-in-card */
.trading-terminal_heroMonitorSpotlightRow__tmQqE {
  display: flex;
  flex: 1 1 280px;
  min-width: 0;
  align-items: center;
  gap: 8px 10px;
  padding: 4px 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 0;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE:hover {
  background: transparent;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroSymbol__MgkYC {
  margin: 0;
  font-size: 14px;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroPrice__Ibny3 {
  font-size: 18px;
  margin: 0;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroSpark__817wy {
  width: 56px;
  height: 20px;
  opacity: 0.7;
  flex-shrink: 0;
  margin-inline-start: auto;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroMonitorSpotlightId__xWRF1 {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroMonitorSpotlightMetric__EFPbH {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroMonitorSpotlightMetric__EFPbH span:first-child {
  font-size: 13px;
  font-weight: 700;
  color: #131722;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  line-height: 1.2;
}

.trading-terminal_heroMonitorSpotlightRow__tmQqE .trading-terminal_heroMonitorSpotlightMetric__EFPbH span:last-child {
  font-size: 11px;
  font-weight: 500;
  color: #787B86;
  letter-spacing: 0;
}

@media (max-width: 920px) {
  .trading-terminal_heroMonitorSpotlightRow__tmQqE {
    flex: 1 1 100%;
    flex-wrap: wrap;
  }

  .trading-terminal_heroMonitorKpis__xetSc {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ----------------------------------------------------------------
   Monitoring summary strip (ms*) ? 4-zone unified desktop layout
   Pixel-polish: optical balance only; Tajawal 400/500/700
   ---------------------------------------------------------------- */

.trading-terminal_msStrip__l8_Wf {
  display: grid;
  /* ~26% | ~27% | ~24% | ~23% */
  grid-template-columns:
    minmax(0, 1.04fr)
    minmax(0, 1.08fr)
    minmax(0, 0.96fr)
    minmax(0, 0.92fr);
  align-items: center;
  column-gap: 0;
  width: 100%;
  height: 106px;
  min-height: 106px;
  max-height: 106px;
  margin: 0 0 12px;
  padding: 0 20px;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  font-family: var(--tt-tajawal), "Tajawal", sans-serif;
  font-synthesis: none;
  letter-spacing: 0;
  color: #374151;
}

.trading-terminal_msStrip_noSpotlight__qneno {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  height: auto;
  min-height: 106px;
  max-height: none;
  padding-block: 14px;
}

.trading-terminal_msZoneStatus__ZVLEG,
.trading-terminal_msZoneMetrics__6JG2e,
.trading-terminal_msZoneBest__BiUuX,
.trading-terminal_msZoneSpark__fe4jZ {
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding-block: 11px;
}

.trading-terminal_msZoneStatus__ZVLEG {
  gap: 10px;
  padding-inline: 0 18px;
  justify-content: flex-start;
}

.trading-terminal_msZoneMetrics__6JG2e,
.trading-terminal_msZoneBest__BiUuX,
.trading-terminal_msZoneSpark__fe4jZ {
  border-inline-start: 1px solid #e5e7eb;
  padding-inline: 18px;
  margin: 0;
  align-self: stretch;
}

.trading-terminal_msZoneSpark__fe4jZ {
  padding-inline-end: 0;
}

.trading-terminal_msStatusIcon__JbDEm {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
}

.trading-terminal_msStatusCopy__dYpJL {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  max-width: 28ch;
  flex: 0 1 auto;
}

.trading-terminal_msStatusTitle__Tmb1Z {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #111827;
  letter-spacing: 0;
}

.trading-terminal_msStatusDesc__NnxfI {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #4b5563;
  letter-spacing: 0;
  max-width: 28ch;
}

/* Zone 2 ? equal metric cells */
.trading-terminal_msZoneMetrics__6JG2e {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  padding-block: 11px;
}

.trading-terminal_msMetric__reOCx {
  display: grid;
  grid-template-rows: 14px auto auto;
  justify-items: start;
  align-content: center;
  row-gap: 3px;
  min-width: 0;
  height: 100%;
  padding-inline: 8px;
  border-inline-start: 1px solid #eef0f3;
  box-sizing: border-box;
}

.trading-terminal_msMetric__reOCx:first-child {
  border-inline-start: none;
  padding-inline-start: 0;
}

.trading-terminal_msMetric__reOCx:last-child {
  padding-inline-end: 0;
}

.trading-terminal_msMetricIcon__HZAFW {
  color: #4b5563;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.trading-terminal_msMetricLabel__KgUEt {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
  color: #4b5563;
  letter-spacing: 0;
}

.trading-terminal_msMetricValue__9S2rl {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  color: #111827;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

/* Zone 3 ? best opportunity breathing room */
.trading-terminal_msZoneBest__BiUuX {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  border-radius: 0;
  outline: none;
}

.trading-terminal_msZoneBest__BiUuX:hover .trading-terminal_msBestSymbol__CMVIe,
.trading-terminal_msZoneBest__BiUuX:focus-visible .trading-terminal_msBestSymbol__CMVIe {
  color: #1f2937;
}

.trading-terminal_msZoneBest__BiUuX:focus-visible {
  box-shadow: inset 0 0 0 2px #d1d5db;
}

.trading-terminal_msBestHead__DIPb_ {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
}

.trading-terminal_msBestSymbol__CMVIe {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.trading-terminal_msBestPrice__tl5CK {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-block: 1px 0;
  font-size: 24px;
  font-weight: 700;
  color: #111827;
  letter-spacing: 0;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_msBestSecondary__lB0RZ {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #1f2937;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.trading-terminal_msBestSecondary__lB0RZ span span {
  font-variant-numeric: tabular-nums;
}

/* Zone 4 ? vertically centered sparkline */
.trading-terminal_msZoneSpark__fe4jZ {
  justify-content: center;
  align-items: center;
  min-height: 0;
}

.trading-terminal_msZoneSpark__fe4jZ .trading-terminal_toSpark__pbDQl,
.trading-terminal_msZoneSpark__fe4jZ .trading-terminal_toSparkHero__kZ1BE {
  width: 100%;
  max-width: none;
  height: 46px;
  opacity: 1;
  display: flex;
  align-items: center;
}

.trading-terminal_msZoneSpark__fe4jZ .trading-terminal_toSparkSvg__CCDzm {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 1100px) {
  .trading-terminal_msStrip__l8_Wf {
    grid-template-columns:
      minmax(0, 1.04fr)
      minmax(0, 1.08fr)
      minmax(0, 0.96fr)
      minmax(0, 0.92fr);
    height: auto;
    min-height: 106px;
    max-height: none;
    padding: 0 18px;
  }

  .trading-terminal_msZoneStatus__ZVLEG,
  .trading-terminal_msZoneMetrics__6JG2e,
  .trading-terminal_msZoneBest__BiUuX,
  .trading-terminal_msZoneSpark__fe4jZ {
    padding-block: 11px;
  }

  .trading-terminal_msStatusTitle__Tmb1Z {
    font-size: 17px;
  }

  .trading-terminal_msBestPrice__tl5CK {
    font-size: 22px;
  }

  .trading-terminal_msMetricValue__9S2rl {
    font-size: 14px;
  }
}

/* Tablet ? 2 ? 2 */
@media (max-width: 920px) {
  .trading-terminal_msStrip__l8_Wf {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    max-height: none;
    min-height: 0;
    row-gap: 14px;
    padding: 16px 16px;
  }

  .trading-terminal_msZoneStatus__ZVLEG {
    grid-column: 1;
    grid-row: 1;
  }

  .trading-terminal_msZoneMetrics__6JG2e {
    grid-column: 2;
    grid-row: 1;
    border-inline-start: 1px solid #e5e7eb;
  }

  .trading-terminal_msZoneBest__BiUuX {
    grid-column: 1;
    grid-row: 2;
    border-inline-start: none;
    padding-inline-start: 0;
    margin-inline-start: 0;
    border-top: 1px solid #e5e7eb;
    padding-top: 12px;
  }

  .trading-terminal_msZoneSpark__fe4jZ {
    grid-column: 2;
    grid-row: 2;
    border-top: 1px solid #e5e7eb;
    padding-top: 12px;
  }

  .trading-terminal_msStrip_noSpotlight__qneno .trading-terminal_msZoneMetrics__6JG2e {
    border-inline-start: 1px solid #e5e7eb;
  }
}

/* Mobile ? stacked hierarchy */
@media (max-width: 640px) {
  .trading-terminal_msStrip__l8_Wf,
  .trading-terminal_msStrip_noSpotlight__qneno {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    row-gap: 0;
    padding: 14px 14px;
  }

  .trading-terminal_msZoneStatus__ZVLEG,
  .trading-terminal_msZoneMetrics__6JG2e,
  .trading-terminal_msZoneBest__BiUuX,
  .trading-terminal_msZoneSpark__fe4jZ {
    grid-column: 1 !important;
    grid-row: auto !important;
    border-inline-start: none;
    margin-inline-start: 0;
    padding-inline-start: 0;
    padding-block: 12px;
    border-top: 1px solid #e5e7eb;
  }

  .trading-terminal_msZoneStatus__ZVLEG {
    border-top: none;
    padding-top: 0;
    order: 1;
  }

  .trading-terminal_msZoneBest__BiUuX {
    order: 2;
  }

  .trading-terminal_msZoneMetrics__6JG2e {
    order: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 10px;
  }

  .trading-terminal_msMetric__reOCx:nth-child(2n + 1) {
    border-inline-start: none;
    padding-inline-start: 0;
  }

  .trading-terminal_msMetric__reOCx:nth-child(2n) {
    border-inline-start: 1px solid #eef0f3;
  }

  .trading-terminal_msZoneSpark__fe4jZ {
    order: 4;
    min-height: 48px;
    padding-bottom: 0;
  }

  .trading-terminal_msStatusTitle__Tmb1Z {
    font-size: 16px;
  }

  .trading-terminal_msBestPrice__tl5CK {
    font-size: 22px;
  }
}

/* ==================================================================
   MARKET SIGNAL CARDS ? final micro-polish (alignment only)
   No further compression. Strip / grid / data / type sizes untouched.
   ================================================================== */

/* Equal card height within each grid row */
.trading-terminal_cardGrid__yw2Ho {
  align-items: stretch;
}

.trading-terminal_tradeObject__ct2D8 {
  height: 100%;
  box-sizing: border-box;
  /* keep current density ? do not compress further */
  padding: 8px 12px 6px;
  gap: 4px;
}

.trading-terminal_toBody__uZ8Wg {
  gap: 2px;
  flex: 0 0 auto;
}

/* Logo + ticker + name: shared vertical center */
.trading-terminal_toHeader__16C97 {
  align-items: center;
  gap: 8px;
  margin: 0;
  min-height: 34px;
}

.trading-terminal_toHeaderId__xPTFv {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.trading-terminal_toHeaderId__xPTFv > :first-child {
  flex-shrink: 0;
}

.trading-terminal_toHeaderMain__UZHNi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
}

.trading-terminal_toMarket__p9z4X {
  margin: 0;
}

/* Price + live dot + sparkline on one optical baseline */
.trading-terminal_toPriceLine__HxLAQ {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  min-height: 30px;
}

.trading-terminal_toPrice__IkpGH {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  line-height: 1;
}

.trading-terminal_toLive__AvGtE {
  align-self: center;
  margin: 0;
}

.trading-terminal_toSparkMini__k6SOZ {
  flex: 0 0 auto;
  width: 52px;
  margin: 0;
  opacity: 0.78;
  align-self: center;
  display: flex;
  align-items: center;
}

.trading-terminal_toSparkMini__k6SOZ .trading-terminal_toSpark__pbDQl {
  height: 16px;
}

/* Fixed stack: status -> entry (constant gap) */
.trading-terminal_recBlock_card__92Dte {
  margin-top: 1px;
  padding-top: 0;
  border-top: none;
  gap: 4px;
  flex: 1 1 auto;
  min-height: 0;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchHead__mOqmE {
  margin: 0;
  gap: 4px;
  min-height: 22px;
  align-items: center;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchTag__xBZCU {
  padding: 1px 7px;
  border-radius: 4px;
  line-height: 1.3;
}

/* Entry row: same start/end edges on every card */
.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchCond__UnHth {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  min-height: 18px;
  margin: 0;
  padding: 0;
  border: none;
  line-height: 1.3;
  box-sizing: border-box;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchCondLabel__oKXOz {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 500;
  color: #787b86;
  line-height: 1.3;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recWatchCondVal__ukcH5 {
  flex: 0 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  color: #131722;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  line-height: 1.2;
}

/* Metrics: equal columns + locked value/label baselines */
.trading-terminal_recBlock_card__92Dte .trading-terminal_recLevels__aVNT0 {
  margin-top: 1px;
  padding-top: 6px;
  border-top: 1px solid #eef0f3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px 8px;
  align-items: start;
  min-height: 41px;
  box-sizing: border-box;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recLevel__uhEDI {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: none;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recLevelVal__e5X_l {
  height: 17px;
  min-height: 17px;
  max-height: 17px;
  line-height: 17px;
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
}

.trading-terminal_recBlock_card__92Dte .trading-terminal_recLevelCap__IJHHu {
  height: 16px;
  min-height: 16px;
  max-height: 16px;
  line-height: 16px;
  overflow: hidden;
  white-space: nowrap;
}

/* Freshness: pinned to card bottom, same edge inset via card padding */
.trading-terminal_toFooter__grO8S {
  margin-top: auto;
  padding-top: 0;
  border-top: none;
  min-height: 16px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.trading-terminal_toUpdated__G2gSI {
  font-size: 12px;
  font-weight: 500;
  color: #787b86;
  line-height: 1.3;
}

/* ── Mobile V2 (< 1024px) ────────────────────────────────────────────
   Section tabs become a compact, sticky, swipeable segmented bar under the
   mobile top bar; page padding follows the shared mobile gutter. Terminal
   data, signals and every route are unchanged. Desktop rules above untouched. */
@media (max-width: 1023.98px) {
  .trading-terminal_terminalNavWrap__rd43w {
    position: sticky;
    top: var(--zs-header-height, 56px);
    z-index: 30;
    margin: 0 0 8px;
    padding: 8px 0;
    background: color-mix(in srgb, var(--rec-surface, #ffffff) 94%, transparent);
    -webkit-backdrop-filter: saturate(1.3) blur(12px);
    backdrop-filter: saturate(1.3) blur(12px);
    scroll-padding-inline: var(--zs-m-gutter, 16px);
  }

  .trading-terminal_terminalNav__hrojb {
    padding: 4px;
    gap: 2px;
    border-radius: 12px;
  }

  .trading-terminal_terminalNavLink__GXb30 {
    height: 36px;
    min-height: 36px;
    padding: 0 12px;
    gap: 6px;
    font-size: 13px;
  }

  .trading-terminal_terminalNavLinkActive__0tPTL::after {
    bottom: 3px;
  }

  .trading-terminal_subPageMain__MTGvF {
    padding: 12px var(--zs-m-gutter, 16px) 24px;
  }
}

