@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ══ Theme 2 — Arctic White (Stripe / Linear style) ═════════════════════════
   Ticker strip: pitch-black  #0f172a
   Primary nav:  pure white   #ffffff
   Tab bar:      white + bottom border
   Body:         warm near-white  #f8fafc
   Cards:        white with 0.5px border
   Accent:       near-black   #0f172a  (buttons, active states)
   Gains:        emerald      #16a34a
   Losses:       red          #dc2626
   ══════════════════════════════════════════════════════════════════════════ */

:root {
  /* Surfaces */
  --bg:     #f8fafc;
  --bg2:    #ffffff;
  --bg3:    #f1f5f9;
  --card:   #ffffff;
  --bdr:    #e2e8f0;
  --bdr2:   #cbd5e1;

  /* Brand / Accent — Build 144 Aurora: blue CTAs, indigo-tinted hover fills */
  --acc:    #2563eb;
  --acc-h:  #1d4ed8;
  --acc2:   #3b82f6;
  --acc-lt: #eaf1fe;

  /* Semantic */
  --grn:    #16a34a;
  --red:    #dc2626;
  --ylw:    #ca8a04;
  --org:    #ea580c;
  --purp:   #7c3aed;
  --pink:   #db2777;

  /* Text */
  --txt:    #0f172a;
  --txt2:   #334155;
  --txt3:   #64748b;

  /* Functional aliases */
  --inc:    #16a34a;
  --dir:    #2563eb;
  --vol:    #ca8a04;
  --blu:    #2563eb;  /* Build 82 — bullish-crosses KPI accent */

  /* Nav colours (used in secondary nav overrides) */
  --navy:   #0f172a;
  --navy2:  #1e293b;

  /* Shape */
  --r:      12px;
  --r2:     8px;
  --r3:     6px;

  /* Shadows — clean, very subtle */
  --sh:     0 2px 12px rgba(15,23,42,.08);
  --sh2:    0 1px 4px rgba(15,23,42,.06);
  --sh3:    0 0 0 1px rgba(15,23,42,.04);

  --font:   'Inter', system-ui, -apple-system, sans-serif;
  --mono:   'JetBrains Mono', monospace;

  /* Build 83 — shared type scale (slightly larger, single source of truth) */
  --fs-card-title: 1.0rem;
  --fs-section:    0.72rem;
  --fs-label:      0.8rem;
  --fs-value:      0.92rem;
  --fs-value-lg:   1.7rem;
  --fs-mono:       0.84rem;
  --fs-meta:       0.74rem;

  /* Build 83 — pill soft tints (light) */
  --grn-bg: #e9f7ef; --grn-bd: #c9ecd6;
  --ylw-bg: #fdf6e9; --ylw-bd: #f3e2bd;
  --red-bg: #fdeceb; --red-bd: #f6cfcc;
  --blu-bg: #eaf1fe; --blu-bd: #cfe0fb;
}

/* ── Dark mode ────────────────────────────────────────────────────────────── */
[data-theme="dark"] {
  --bg:#0f172a; --bg2:#1e293b; --bg3:#1e293b; --card:#1e293b;
  --bdr:#334155; --bdr2:#475569;
  --acc:#3b82f6; --acc-h:#60a5fa; --acc2:#2563eb; --acc-lt:rgba(59,130,246,.12);
  --grn:#4ade80; --red:#f87171; --ylw:#fbbf24; --org:#fb923c; --purp:#a78bfa; --pink:#f472b6;
  --txt:#f1f5f9; --txt2:#cbd5e1; --txt3:#94a3b8;
  --inc:#4ade80; --dir:#60a5fa; --vol:#fbbf24; --blu:#60a5fa;
  --sh:0 2px 16px rgba(0,0,0,.4); --sh2:0 1px 6px rgba(0,0,0,.3); --sh3:0 0 0 1px rgba(0,0,0,.2);

  /* Build 83 — pill soft tints (dark) */
  --grn-bg:rgba(74,222,128,.13); --grn-bd:rgba(74,222,128,.28);
  --ylw-bg:rgba(251,191,36,.13); --ylw-bd:rgba(251,191,36,.28);
  --red-bg:rgba(248,113,113,.13); --red-bd:rgba(248,113,113,.28);
  --blu-bg:rgba(96,165,250,.13); --blu-bd:rgba(96,165,250,.28);
}

/* ── Reset ────────────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:15px; -webkit-text-size-adjust:100%; }
body { font-family:var(--font); background:var(--bg); color:var(--txt); min-height:100vh; overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* ── Layout ───────────────────────────────────────────────────────────────── */
.shell { display:flex; flex-direction:column; min-height:100vh; }

/* ── Build 177: app body = left sidebar + content column ─────────────────── */
.body-row { display:flex; flex:1; min-height:0; align-items:stretch; }
main  { flex:1; min-width:0; padding:20px 24px; max-width:1800px; margin:0 auto; width:100%; }
.panel { display:none; }
.panel.active { display:block; animation:fadeIn .15s ease-out; }

/* ── Ticker strip — pitch black, high-contrast text ──────────────────────── */
.ticker-strip {
  background: #0f172a !important;
  padding: 5px 20px;
  display: flex; align-items: center; gap: 16px;
  white-space: nowrap; overflow: hidden; min-height: 28px;
  position: sticky; top: 0; z-index: 210;
}
.ticker-inner { display:flex; align-items:center; gap:22px; overflow:hidden; flex:1; }
.market-status-chip { font-size:.65rem; font-weight:700; padding:2px 9px; border-radius:10px; white-space:nowrap; flex-shrink:0; }
.ticker-strip,.ticker-strip span,.ticker-strip div { font-size:.68rem !important; }
.ticker-strip * { font-size:inherit !important; }
[data-theme="dark"] .ticker-strip { background:#020617 !important; }

/* Market bar text — bright on dark strip */
.mbar-item { display:inline-flex; align-items:center; gap:5px; font-size:.68rem; white-space:nowrap; }
.mbar-label { font-weight:700; color:#94a3b8; font-size:.68rem; }
.mbar-price { font-family:var(--mono); font-weight:600; color:#e2e8f0; font-size:.68rem; }
.mbar-change { font-size:.67rem; }
.mbar-sep { color:#334155; margin:0 6px; }

/* ── Primary nav — slim top strip (Build 177) ─────────────────────────────── */
/* Build 177: with the left sidebar carrying navigation, the header is slimmed
   from 56px to 46px and holds only global controls (search/status/provider/
   alerts/theme/account) to reclaim vertical real estate for content. */
header.primary-nav {
  background: #ffffff;
  border-bottom: 1px solid var(--bdr);
  padding: 0 18px;
  height: 46px;
  display: flex; align-items: center; gap: 14px;
  position: sticky; top: 28px; z-index: 200;
  box-shadow: 0 1px 0 var(--bdr);
}
[data-theme="dark"] header.primary-nav { background:#1e293b; border-bottom-color:#334155; }

.logo { display:flex; align-items:center; gap:10px; font-weight:800; font-size:1rem; color:var(--txt); text-decoration:none; white-space:nowrap; letter-spacing:-.3px; flex-shrink:0; font-family:var(--font); }
.logo-icon { width:30px; height:30px; border-radius:8px; background:transparent; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.logo-icon img { width:100%; height:100%; display:block; object-fit:contain; }
/* The new brand mark is a self-contained dark tile, so the same icon keeps
   strong contrast in both light and dark modes. */
[data-theme="dark"] .logo-icon { background:transparent; box-shadow:0 0 0 1px rgba(148,163,184,.18); }
.logo-wordmark { color:var(--txt); }

.primary-nav-right { display:flex; align-items:center; gap:8px; margin-left:auto; }

.nav-search {
  width:220px; background:var(--bg3); border:1px solid var(--bdr);
  border-radius:20px; padding:6px 14px 6px 32px;
  color:var(--txt); font-size:.78rem; outline:none;
  transition:all .18s; font-family:var(--font);
}
.nav-search::placeholder { color:var(--txt3); }
.nav-search:focus { width:280px; background:var(--bg2); border-color:var(--acc); box-shadow:0 0 0 3px rgba(15,23,42,.08); }
[data-theme="dark"] .nav-search:focus { box-shadow:0 0 0 3px rgba(241,245,249,.1); }
.nav-search-icon { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--txt3); pointer-events:none; }

.status-pill {
  display:flex; align-items:center; gap:5px; font-size:.68rem; font-weight:600;
  padding:4px 10px; border-radius:20px; white-space:nowrap;
  background:var(--bg3); color:var(--txt2); border:1px solid var(--bdr);
  text-transform:uppercase; letter-spacing:.3px;
}
.status-pill.light { background:var(--bg3); color:var(--txt2); }
.sdot { width:6px; height:6px; border-radius:50%; background:var(--txt3); flex-shrink:0; }
.sdot.scanning { background:#ca8a04; animation:pulse 1s infinite; }
.sdot.complete  { background:#16a34a; }
.spill { font-family:var(--mono); font-size:.63rem; color:var(--txt3); }

.nav-icon-btn { background:none; border:1px solid var(--bdr); color:var(--txt2); cursor:pointer; padding:5px 7px; border-radius:7px; display:flex; align-items:center; justify-content:center; position:relative; transition:all .15s; }
.nav-icon-btn:hover { border-color:var(--acc); color:var(--txt); background:var(--bg3); }

.user-avatar-btn { background:var(--acc); color:var(--bg2); border:2px solid var(--bg2); border-radius:50%; width:32px; height:32px; cursor:pointer; font-size:.72rem; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--font); transition:all .15s; box-shadow:var(--sh2); }
.user-avatar-btn:hover { box-shadow:var(--sh); }

.umenu-btn { width:100%; text-align:left; padding:8px 14px; background:none; border:none; color:var(--txt); font-size:.8rem; cursor:pointer; font-family:var(--font); transition:background .1s; border-radius:6px; }
.umenu-btn:hover { background:var(--bg3); }
.umenu-btn.accent { color:#2563eb; }
.umenu-btn.danger { color:var(--red); border-top:1px solid var(--bdr); }

/* ── Tab bar — white with strong bottom indicator ─────────────────────────── */
nav.secondary-nav {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  display: flex; overflow-x: auto; scrollbar-width: none;
  padding: 0 24px;
  position: sticky; top: 56px; z-index: 150;
  box-shadow: 0 2px 8px rgba(15,23,42,.12);
}
nav.secondary-nav::-webkit-scrollbar { display:none; }
[data-theme="dark"] nav.secondary-nav { background:#0f172a; border-bottom-color:#334155; }

.ntab {
  padding: 13px 16px; font-size:.78rem; font-weight:500;
  color: rgba(255,255,255,.6); border:none; background:none;
  cursor:pointer !important; white-space:nowrap;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s, background .15s;
  font-family:var(--font); letter-spacing:.1px; flex-shrink:0;
}
.ntab:hover { color:rgba(255,255,255,.9); background:rgba(255,255,255,.07); }
.ntab.active { color:#ffffff; border-bottom-color:#ffffff; font-weight:600; }

/* Override any inherited nav styles */
nav.secondary-nav .ntab { color:rgba(255,255,255,.6); }
nav.secondary-nav .ntab:hover { color:rgba(255,255,255,.9); background:rgba(255,255,255,.07); }
nav.secondary-nav .ntab.active { color:#ffffff; border-bottom-color:#ffffff; font-weight:600; background:transparent; }

.nbadge { display:inline-block; background:var(--red); color:#fff; font-size:.6rem; font-weight:700; padding:1px 6px; border-radius:9px; margin-left:4px; font-family:var(--mono); }
.nbadge.grn { background:var(--grn); }

/* ── Build 177: left vertical sidebar navigation ──────────────────────────── */
/* Replaces the old overflowing horizontal .secondary-nav. Grouped, fully
   labeled, ordered by frequency. Sticky under the slim 46px header. */
aside.sidebar {
  width: 224px; flex-shrink: 0;
  background: #0f172a;
  border-right: 1px solid var(--bdr);
  padding: 8px 0 26px;
  overflow-y: auto;
  position: sticky; top: 74px;
  height: calc(100vh - 74px);
  scrollbar-width: thin; scrollbar-color: #475569 transparent;
}
aside.sidebar::-webkit-scrollbar { width: 7px; }
aside.sidebar::-webkit-scrollbar-thumb { background: #475569; border-radius: 4px; }
[data-theme="dark"] aside.sidebar { background:#0b1120; border-right-color:#334155; }

/* Build 178: group headers are now collapse/expand toggle buttons with a caret.
   Labels brightened for stronger contrast on the dark rail. */
.sb-group {
  display:flex; align-items:center; gap:7px; width:100%;
  padding: 13px 18px 5px; font-size:.63rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:#cbd5e1;
  font-family:var(--font); background:none; border:none;
  cursor:pointer !important; text-align:left;
  transition: color .12s;
}
.sb-group:hover { color:#fff; }
.sb-group:first-child { padding-top: 6px; }
.sb-gcaret {
  font-size:.6rem; color:#94a3b8; flex-shrink:0; width:10px;
  text-align:center; transition: transform .15s ease;
}
.sb-group[aria-expanded="false"] .sb-gcaret { transform: rotate(-90deg); }
.sb-group:hover .sb-gcaret { color:#cbd5e1; }
.sb-glabel { flex:1; }
/* Collapsed: hide the group's items. */
.sb-items.collapsed { display:none; }

.sbitem {
  display:flex; align-items:center; gap:11px; width:100%;
  padding:8px 18px; font-size:.81rem; font-weight:500;
  color:rgba(255,255,255,.86); background:none; border:none;
  border-left:3px solid transparent; cursor:pointer !important;
  text-align:left; white-space:nowrap; font-family:var(--font);
  transition: color .12s, background .12s, border-color .12s;
}
.sbitem:hover { color:#fff; background:rgba(255,255,255,.06); }
.sbitem.active {
  color:var(--acc-h); background:var(--acc-lt);
  border-left-color:var(--acc-h); font-weight:600;
}
.sbitem .sb-em { width:19px; text-align:center; flex-shrink:0; font-size:.95rem; }
.sbitem .sb-lbl { flex:1; overflow:hidden; text-overflow:ellipsis; }
.sbitem .nbadge { margin-left:0; flex-shrink:0; }

/* On narrow screens the sidebar becomes a compact icon rail so content keeps room. */
@media (max-width: 860px) {
  aside.sidebar { width:54px; padding-top:6px; }
  aside.sidebar .sb-group { justify-content:center; padding:8px 0 3px; pointer-events:none; }
  aside.sidebar .sb-group .sb-glabel,
  aside.sidebar .sb-group .sb-gcaret { display:none; }
  aside.sidebar .sb-group::before { content:"\2022"; font-size:.7rem; color:var(--bdr2); }
  /* In rail mode groups never collapse — keep every icon reachable. */
  .sb-items.collapsed { display:block; }
  .sbitem { justify-content:center; gap:0; padding:11px 0; position:relative; }
  .sbitem .sb-lbl { display:none; }
  .sbitem .nbadge { position:absolute; margin:0; transform:translate(12px,-12px); }
}

/* ── Provider pill ────────────────────────────────────────────────────────── */
.provider-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:20px; font-size:.72rem; font-weight:600; cursor:pointer; transition:all .15s; font-family:var(--font); background:var(--bg3); border:1px solid var(--bdr); color:var(--txt2); }
.provider-pill:hover { border-color:var(--acc); color:var(--txt); }
.provider-pill.active-anthropic  { background:#fffbeb; border-color:#f59e0b; color:#92400e; }
.provider-pill.active-openai     { background:#f0fdf4; border-color:#16a34a; color:#14532d; }
.provider-pill.active-perplexity { background:#faf5ff; border-color:#7c3aed; color:#5b21b6; }
.provider-pill.active-gemini     { background:#eef2ff; border-color:#6366f1; color:#3730a3; }
.provider-pill.active-grok       { background:#f8fafc; border-color:#111827; color:#111827; }
.provider-pill.active-deepseek   { background:#eff6ff; border-color:#2563eb; color:#1e3a8a; }
.provider-pill.no-provider       { background:#fef2f2; border-color:#dc2626; color:#991b1b; }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:var(--r2);
  font-size:.8rem; font-weight:600; font-family:var(--font);
  border:none; cursor:pointer !important; transition:all .15s;
  white-space:nowrap; letter-spacing:.1px;
}
.btn:disabled { opacity:.4; cursor:not-allowed !important; }
.btn-p { background:var(--acc); color:#ffffff; }
.btn-p:hover:not(:disabled) { background:var(--acc-h); }
.btn-d { background:var(--red); color:#fff; }
.btn-d:hover:not(:disabled) { background:#b91c1c; }
.btn-g { background:var(--bg2); color:var(--txt); border:1px solid var(--bdr); }
.btn-g:hover:not(:disabled) { border-color:var(--acc); background:var(--bg3); }
.btn-y { background:#fffbeb; color:#92400e; border:1px solid #f59e0b; }
.btn-sm { padding:5px 12px; font-size:.73rem; }

/* ── Cards ────────────────────────────────────────────────────────────────── */
.tcard { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); overflow:hidden; cursor:pointer; transition:all .2s; box-shadow:var(--sh3); }
.tcard:hover { border-color:var(--acc); box-shadow:var(--sh); }
/* Build 182: Admin Panel section tiles — a responsive grid (4 per row) styled
   like the Position Manager KPI tiles. Each tile selects an admin section. */
.admin-tiles { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.admin-tile { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; padding:14px 10px; min-height:84px; font-family:var(--font); color:var(--txt); }
.admin-tile .admin-tile-ico { font-size:1.5rem; line-height:1; }
.admin-tile .admin-tile-lbl { font-size:.74rem; font-weight:700; }
.admin-tile .admin-tile-count { font-size:.66rem; font-weight:800; color:var(--acc); min-height:.9em; }
.admin-tile.active { border-color:var(--acc); background:var(--bg3); box-shadow:var(--sh); }
.admin-tile.active .admin-tile-lbl { color:var(--acc); }
@media (max-width:900px){ .admin-tiles { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .admin-tiles { grid-template-columns:1fr; } }
.tcard-hdr { display:flex; align-items:center; justify-content:space-between; padding:12px 14px 10px; border-bottom:1px solid var(--bdr); }
.tsym { font-size:1rem; font-weight:800; font-family:var(--font); }
.tprice { font-family:var(--mono); font-size:.78rem; color:var(--txt2); margin-left:6px; }
.sbadge { font-size:.72rem; font-weight:600; padding:3px 9px; border-radius:20px; }
.sbadge.hi { background:#dcfce7; color:#15803d; }
.sbadge.md { background:#dbeafe; color:#1d4ed8; }
.sbadge.lo { background:#fef9c3; color:#a16207; }
.tcard-body { padding:10px 14px; }
.rgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:12px; }

/* ── Stats row ────────────────────────────────────────────────────────────── */
.stats-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; margin-bottom:16px; }
.stat { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:14px 16px; cursor:pointer; transition:all .2s; }
.stat:hover { border-color:var(--acc); box-shadow:var(--sh2); }
.stat.af { border-color:var(--acc); background:var(--bg3); }
.stat-lbl { font-size:.62rem; color:var(--txt3); text-transform:uppercase; letter-spacing:.7px; margin-bottom:5px; font-weight:700; }
.stat-val { font-family:var(--mono); font-size:1.3rem; font-weight:700; color:var(--txt); }
.stat-sub { font-size:.65rem; color:var(--txt2); margin-top:4px; }

/* ── Chips ────────────────────────────────────────────────────────────────── */
.chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; align-items:center; }
.chip { padding:5px 14px; border-radius:20px; font-size:.75rem; font-weight:500; border:1px solid var(--bdr); background:var(--bg2); color:var(--txt2); cursor:pointer; transition:all .15s; font-family:var(--font); }
.chip:hover { border-color:var(--acc); color:var(--txt); }
.chip.active { background:var(--acc); color:#ffffff; border-color:var(--acc); font-weight:600; }
.chip.inc { background:#f0fdf4; border-color:#16a34a; color:#15803d; }
.chip.dir { background:#eff6ff; border-color:#2563eb; color:#1d4ed8; }
.chip.vol { background:#fffbeb; border-color:#ca8a04; color:#92400e; }

/* ── Scan bar ─────────────────────────────────────────────────────────────── */
.scan-bar { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:12px 16px; margin-bottom:12px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.scan-bar input { flex:1; min-width:200px; background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r2); padding:8px 13px; color:var(--txt); font-size:.82rem; outline:none; transition:border-color .15s; font-family:var(--font); }
.scan-bar input:focus { border-color:var(--acc); background:var(--bg2); }
.scan-bar input::placeholder { color:var(--txt3); }

/* ── Toggle ───────────────────────────────────────────────────────────────── */
.auto-row { display:none !important; }
.tog { position:relative; display:inline-block; width:36px; height:20px; }
.tog input { opacity:0; width:0; height:0; }
.slider { position:absolute; cursor:pointer; inset:0; background:var(--bdr2); border-radius:20px; transition:.2s; }
.slider:before { content:''; position:absolute; height:14px; width:14px; left:3px; bottom:3px; background:#fff; border-radius:50%; transition:.2s; }
input:checked+.slider { background:var(--acc); }
input:checked+.slider:before { transform:translateX(16px); }

/* ── Progress ─────────────────────────────────────────────────────────────── */
.prog-wrap { width:100%; background:var(--bg3); border-radius:4px; height:3px; overflow:hidden; }
.prog-bar { height:100%; background:var(--acc); transition:width .3s; }

/* ── Animations ───────────────────────────────────────────────────────────── */
@keyframes pulse  { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes fadeIn { from{opacity:0;transform:translateY(3px)} to{opacity:1;transform:none} }
@keyframes spin   { to{transform:rotate(360deg)} }

/* ── Modal ────────────────────────────────────────────────────────────────── */
.modal-ov { position:fixed; inset:0; background:rgba(15,23,42,.5); backdrop-filter:blur(4px); z-index:500; display:none; align-items:center; justify-content:center; padding:16px; overflow-y:auto; }
.modal-ov.open { display:flex; }
.modal { background:var(--bg2); border:1px solid var(--bdr); border-radius:var(--r); width:100%; max-width:880px; max-height:92vh; overflow-y:auto; box-shadow:0 20px 60px rgba(15,23,42,.2); }
.modal-hdr { position:sticky; top:0; background:var(--bg2); padding:16px 20px; border-bottom:1px solid var(--bdr); display:flex; justify-content:space-between; align-items:center; z-index:10; }
.modal-title { font-size:1rem; font-weight:700; }
.modal-x { background:var(--bg3); border:1px solid var(--bdr); color:var(--txt); width:28px; height:28px; border-radius:6px; cursor:pointer; font-size:.9rem; display:flex; align-items:center; justify-content:center; transition:all .15s; }
.modal-x:hover { border-color:var(--red); color:var(--red); }
.modal-body { padding:18px 20px; }

/* ── Sub-tabs ─────────────────────────────────────────────────────────────── */
.stabs { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:14px; overflow-x:auto; scrollbar-width:none; }
.stab { padding:5px 14px; border-radius:20px; font-size:.76rem; font-weight:500; border:1px solid var(--bdr); background:var(--bg2); color:var(--txt2); cursor:pointer !important; white-space:nowrap; transition:all .15s; font-family:var(--font); }
.stab:hover { border-color:var(--acc); color:var(--txt); }
.stab.active { background:var(--acc); color:#ffffff; border-color:var(--acc); font-weight:600; }
.univ-stab { padding:5px 14px; border-radius:20px; font-size:.76rem; font-weight:500; border:1px solid var(--bdr); background:var(--bg2); color:var(--txt2); cursor:pointer !important; white-space:nowrap; transition:all .15s; font-family:var(--font); }
.univ-stab:hover { border-color:var(--acc); color:var(--txt); }
.univ-stab.active { background:var(--acc); color:#ffffff; border-color:var(--acc); font-weight:600; }
.sdetail { display:none; } .sdetail.active { display:block; }

/* ── Strategy tags ────────────────────────────────────────────────────────── */
.strat-tag { display:inline-flex; font-size:.7rem; font-weight:600; padding:2px 9px; border-radius:20px; margin-bottom:4px; }
.strat-tag.Income      { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.strat-tag.Directional { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.strat-tag.Volatility  { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }

/* ── Builder ──────────────────────────────────────────────────────────────── */
.builder-layout { display:grid; grid-template-columns:320px 1fr; gap:14px; }
@media(max-width:700px) { .builder-layout { grid-template-columns:1fr; } }
.bpanel { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); overflow:hidden; }
.bpanel-hdr { padding:9px 14px; border-bottom:1px solid var(--bdr); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--txt3); display:flex; align-items:center; justify-content:space-between; background:var(--bg3); }
.bpanel-body { padding:14px; }
.blbl { font-size:.7rem; color:var(--txt3); font-weight:600; margin-bottom:4px; display:block; }
.binput { width:100%; background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:7px 10px; color:var(--txt); font-size:.82rem; outline:none; margin-bottom:8px; transition:border-color .15s; font-family:var(--font); }
.binput:focus { border-color:var(--acc); background:var(--bg2); }
select.binput { cursor:pointer; }
.tgrid { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-bottom:7px; }
.tbtn { padding:6px 8px; border-radius:var(--r2); font-size:.7rem; font-weight:600; border:1px solid var(--bdr); background:var(--bg3); color:var(--txt2); cursor:pointer; text-align:center; transition:all .15s; font-family:var(--font); }
.tbtn:hover { border-color:var(--acc); color:var(--txt); background:var(--bg2); }
.leg-row { background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r2); padding:8px 10px; margin-bottom:5px; }
.leg-hdr { display:flex; justify-content:space-between; align-items:center; margin-bottom:5px; font-size:.75rem; font-weight:700; }
.leg-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.rleg { background:#fef2f2; color:var(--red); border:1px solid #fecaca; border-radius:4px; width:22px; height:22px; cursor:pointer; font-size:.85rem; display:flex; align-items:center; justify-content:center; transition:all .15s; }
.rleg:hover { background:#fee2e2; }

/* ── Heatmap ──────────────────────────────────────────────────────────────── */
.hmap-top { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:14px 16px; margin-bottom:12px; }
.hmap-meta { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:7px; margin-bottom:12px; }
.hmap-box { background:var(--bg3); border-radius:var(--r2); padding:9px 12px; text-align:center; border:1px solid var(--bdr); }
.hmap-box-lbl { font-size:.6rem; text-transform:uppercase; color:var(--txt3); letter-spacing:.5px; margin-bottom:3px; }
.hmap-box-val { font-family:var(--mono); font-size:.98rem; font-weight:700; }
.hmap-expiry-bar { display:flex; gap:5px; overflow-x:auto; scrollbar-width:none; padding-bottom:3px; margin-bottom:10px; }
.exp-btn { padding:4px 12px; border-radius:var(--r3); font-size:.72rem; font-weight:600; border:1px solid var(--bdr); background:var(--bg3); color:var(--txt2); cursor:pointer; white-space:nowrap; flex-shrink:0; transition:all .15s; }
.exp-btn.active { background:var(--acc); color:#fff; border-color:var(--acc); }
.hmap-wrap { overflow:auto; max-height:430px; border-radius:var(--r2); border:1px solid var(--bdr); }
.hmap-table { border-collapse:collapse; font-size:.72rem; min-width:600px; }
.hmap-table th { background:var(--bg3); padding:6px 9px; font-size:.63rem; color:var(--txt3); font-weight:700; white-space:nowrap; position:sticky; top:0; z-index:5; border-bottom:1px solid var(--bdr); }
.hmap-table td { padding:4px 7px; text-align:right; font-weight:600; white-space:nowrap; font-family:var(--mono); font-size:.72rem; border:1px solid var(--bdr); min-width:52px; color:var(--txt); }
.hmap-table td.sk { background:var(--bg3); color:var(--txt2); font-weight:700; text-align:left; position:sticky; left:0; z-index:3; border-right:1px solid var(--bdr); font-family:var(--font); }

/* ── Tables ───────────────────────────────────────────────────────────────── */
.trade-table { width:100%; border-collapse:collapse; font-size:.78rem; }
.trade-table th { text-align:left; padding:8px 12px; color:var(--txt3); font-size:.63rem; text-transform:uppercase; border-bottom:2px solid var(--bdr); position:sticky; top:0; background:var(--bg3); letter-spacing:.4px; font-weight:700; }
.trade-table td { padding:8px 12px; border-bottom:1px solid var(--bdr); color:var(--txt); }
.trade-table tr:hover td { background:var(--bg3); }
.trade-table tr.win-row  td { background:#f0fdf4; }
.trade-table tr.loss-row td { background:#fef2f2; }

/* ── Journal table ────────────────────────────────────────────────────────── */
.jtable { width:100%; border-collapse:collapse; font-size:.77rem; font-family:var(--font); }
.jtable thead th { text-align:left; padding:8px 12px; color:var(--txt3); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; border-bottom:2px solid var(--bdr); background:var(--bg3); white-space:nowrap; position:sticky; top:0; z-index:2; }
.jtable thead th.num { text-align:right; }
.jtable tbody td { padding:8px 12px; border-bottom:1px solid var(--bdr); color:var(--txt); font-size:.77rem; white-space:nowrap; vertical-align:middle; }
.jtable tbody td.num { text-align:right; font-family:var(--mono); font-size:.74rem; }
.jtable tbody td.money { text-align:right; font-family:var(--mono); font-size:.76rem; font-weight:700; }
.jtable tbody td.date { font-size:.7rem; color:var(--txt2); font-family:var(--mono); }
.jtable tbody tr:hover td { background:var(--bg3); }
.jtable tbody tr.jrow-closed td { opacity:.75; }
.jtable tbody tr.jrow-closed:hover td { opacity:1; }
.jtable .j-ticker { font-weight:800; font-size:.85rem; color:var(--txt); letter-spacing:-.2px; }
.jtable .j-tag { display:inline-block; padding:2px 7px; border-radius:10px; font-size:.63rem; font-weight:600; white-space:nowrap; }
.jtable .j-side-buy  { background:#dbeafe; color:#1d4ed8; }
.jtable .j-side-sell { background:#dcfce7; color:#15803d; }
.jtable .j-status-open   { background:#dcfce7; color:#15803d; }
.jtable .j-status-closed { background:var(--bg3); color:var(--txt3); border:1px solid var(--bdr); }
.jtable .j-actions { display:flex; gap:3px; flex-wrap:nowrap; align-items:center; }
.jtable .j-pnl-pos { color:var(--grn); font-weight:800; font-family:var(--mono); }
.jtable .j-pnl-neg { color:var(--red); font-weight:800; font-family:var(--mono); }
.jtable .j-pnl-nil { color:var(--txt3); font-family:var(--mono); }
.jtable .j-premium { color:var(--ylw); font-weight:700; font-family:var(--mono); }
.jtable .j-collateral { color:var(--txt2); font-family:var(--mono); font-size:.7rem; }
.jtable .j-expiry-near { color:var(--red) !important; font-weight:700; }
.jtable .j-expiry-soon { color:var(--ylw) !important; }
.batch-table { width:100%; border-collapse:collapse; font-size:.77rem; }
.batch-table th { text-align:left; padding:6px 10px; color:var(--txt3); font-weight:700; font-size:.63rem; text-transform:uppercase; border-bottom:1px solid var(--bdr); background:var(--bg3); }
.batch-table td { padding:6px 10px; border-bottom:1px solid var(--bdr); }
.batch-table tr.top-row td { background:#f0fdf4; }

/* ── Journal ──────────────────────────────────────────────────────────────── */
.tj-card { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:14px 16px; margin-bottom:10px; }
.tj-hdr { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.tj-status { font-size:.7rem; font-weight:600; padding:3px 10px; border-radius:20px; }
.tj-status.open    { background:#dbeafe; color:#1d4ed8; }
.tj-status.closed  { background:#dcfce7; color:#15803d; }
.tj-status.expired { background:#fef2f2; color:#dc2626; }

/* ── Forms ────────────────────────────────────────────────────────────────── */
.form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.form-group label { font-size:.7rem; color:var(--txt3); font-weight:600; display:block; margin-bottom:3px; }
.form-group input,.form-group select,.form-group textarea { width:100%; background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:7px 10px; color:var(--txt); font-size:.82rem; outline:none; transition:border-color .15s; font-family:var(--font); }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--acc); background:var(--bg2); }
.form-group textarea { resize:vertical; min-height:60px; }

/* ── Alerts ───────────────────────────────────────────────────────────────── */
.alert-card { background:var(--card); border-radius:var(--r); border:1px solid #fecaca; padding:12px 16px; display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.alert-card.medium { border-color:#fed7aa; }

/* ── MACD ─────────────────────────────────────────────────────────────────── */
.macd-card { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:12px 16px; margin-bottom:8px; display:flex; align-items:flex-start; justify-content:space-between; gap:14px; min-width:0; transition:border-color .2s; }
.macd-card:hover { border-color:var(--acc); }
.macd-card > div:first-child { flex:1; min-width:0; overflow:hidden; }
.macd-card > div:last-child { flex-shrink:0; display:flex; gap:5px; align-items:flex-start; }
.macd-sig { display:inline-flex; align-items:center; font-size:.68rem; font-weight:700; padding:3px 9px; border-radius:20px; }
.macd-sig.bullish,.macd-sig.bullish_momentum { background:#dcfce7; color:#15803d; }
.macd-sig.bearish,.macd-sig.bearish_momentum { background:#fef2f2; color:#dc2626; }

/* ── Screener ─────────────────────────────────────────────────────────────── */
.sc-form { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:16px; margin-bottom:14px; }
.sc-sec-title { font-size:.7rem; text-transform:uppercase; letter-spacing:.5px; color:var(--txt3); font-weight:700; margin-bottom:10px; }
.sc-table { width:100%; border-collapse:collapse; font-size:.76rem; }
.sc-table th { text-align:left; padding:7px 10px; color:var(--txt3); font-size:.63rem; text-transform:uppercase; border-bottom:2px solid var(--bdr); background:var(--bg3); white-space:nowrap; font-weight:700; }
.sc-table td { padding:6px 10px; border-bottom:1px solid var(--bdr); white-space:nowrap; color:var(--txt); }
.sc-table tr:hover td { background:var(--bg3); }
.rr { display:flex; align-items:center; gap:6px; margin-bottom:6px; font-size:.76rem; }
.rr span { color:var(--txt2); min-width:85px; }
.rr input { flex:1; background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:5px 9px; color:var(--txt); font-size:.76rem; outline:none; max-width:75px; font-family:var(--mono); }
.rr input:focus { border-color:var(--acc); }
.rr em { color:var(--txt3); font-style:normal; }

/* ── Guide ────────────────────────────────────────────────────────────────── */
.guide-card { margin-bottom:8px; }
.guide-hdr { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; cursor:pointer; border-radius:var(--r); background:var(--card); border:1px solid var(--bdr); transition:border-color .15s; }
.guide-hdr:hover { border-color:var(--acc); }
.guide-title { font-weight:600; font-size:.88rem; }
.guide-body { display:none; padding:16px; background:var(--bg3); border:1px solid var(--bdr); border-top:none; border-radius:0 0 var(--r) var(--r); }
.guide-body.open { display:block; }
.guide-arrow { transition:transform .2s; display:inline-block; }
.gm-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.gm-pill { background:var(--bg2); border:1px solid var(--bdr); border-radius:var(--r2); padding:4px 10px; font-size:.74rem; }
.gm-lbl { color:var(--txt3); }
.gm-val { font-weight:700; color:var(--txt); margin-left:5px; }
.sc-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.sc-box { background:var(--bg2); border:1px solid var(--bdr); border-radius:var(--r2); padding:9px 11px; }
.sc-box-title { font-size:.72rem; font-weight:700; margin-bottom:5px; }
.sc-box-title.up   { color:var(--grn); }
.sc-box-title.down { color:var(--red); }
.sc-box-title.flat { color:var(--ylw); }
.sc-box-title.spike{ color:var(--purp); }
.sc-box-text { font-size:.76rem; color:var(--txt2); line-height:1.6; }
.guide-cat { font-size:.68rem; font-weight:600; padding:2px 9px; border-radius:20px; }
.guide-cat.Income      { background:#f0fdf4; color:#15803d; }
.guide-cat.Directional { background:#eff6ff; color:#1d4ed8; }
.guide-cat.Volatility  { background:#fffbeb; color:#92400e; }

/* ── Backtest ─────────────────────────────────────────────────────────────── */
.bt-controls { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:14px; margin-bottom:12px; display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.bt-controls label { font-size:.7rem; color:var(--txt3); font-weight:600; display:block; margin-bottom:3px; }
.bt-controls select,.bt-controls input { background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:7px 10px; color:var(--txt); font-size:.82rem; outline:none; font-family:var(--font); }
.bt-controls select:focus,.bt-controls input:focus { border-color:var(--acc); }
.bt-stats { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:9px; margin-bottom:12px; }
.bt-stat { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:12px 14px; text-align:center; }
.bt-stat-lbl { font-size:.62rem; color:var(--txt3); text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; font-weight:700; }
.bt-stat-val { font-family:var(--mono); font-size:1.15rem; font-weight:700; }
.bt-banner { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:14px 16px; margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.bt-rec { display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:600; padding:3px 10px; border-radius:20px; background:var(--bg3); color:var(--txt2); border:1px solid var(--bdr); }
.bt-rec-card { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:11px 13px; cursor:pointer; transition:all .15s; }
.bt-rec-card:hover { border-color:var(--acc); }

/* ── AI output ────────────────────────────────────────────────────────────── */
.ai-panel { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r); padding:16px 20px; line-height:1.8; font-size:.86rem; color:var(--txt2); }
.ai-panel h1,.ai-panel h2,.ai-panel h3 { color:var(--txt); margin:14px 0 6px; font-family:var(--font); }
.ai-panel h1 { font-size:.97rem; border-left:3px solid var(--txt); padding-left:10px; }
.ai-panel h2 { font-size:.9rem; }
.ai-panel strong { color:var(--txt); font-weight:700; }
.ai-panel table { width:100%; border-collapse:collapse; margin:10px 0; font-size:.82rem; }
.ai-panel th { background:var(--bg3); padding:7px 10px; text-align:left; font-size:.65rem; text-transform:uppercase; color:var(--txt3); letter-spacing:.4px; border-bottom:1px solid var(--bdr); }
.ai-panel td { padding:7px 10px; border-bottom:1px solid var(--bdr); color:var(--txt); }
.ai-panel tr:hover td { background:var(--bg3); }
.ai-select { background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:5px 9px; color:var(--txt); font-size:.76rem; outline:none; cursor:pointer; font-family:var(--font); }

/* ── Data section ─────────────────────────────────────────────────────────── */
.dsec { background:var(--card); border:1px solid var(--bdr); border-radius:var(--r2); padding:12px 14px; margin-bottom:9px; }
.dsec-title { font-size:.62rem; text-transform:uppercase; letter-spacing:.6px; color:var(--txt3); margin-bottom:8px; font-weight:700; }
.mgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:6px; }
.mbox { background:var(--bg3); border-radius:var(--r2); padding:8px 12px; border:1px solid var(--bdr); }
.mbox-lbl { font-size:.62rem; color:var(--txt3); text-transform:uppercase; letter-spacing:.4px; }
.mbox-val { font-family:var(--mono); font-size:.95rem; font-weight:700; margin-top:3px; }
.mbox-val.g{color:var(--grn)} .mbox-val.r{color:var(--red)} .mbox-val.a{color:var(--txt)}
.gpills { display:flex; gap:6px; flex-wrap:wrap; }
.gpill { background:var(--bg3); border:1px solid var(--bdr); border-radius:var(--r3); padding:4px 10px; font-size:.75rem; }
.gn{color:var(--txt3)} .gv{color:var(--txt);font-weight:700;margin-left:5px}

/* ── Tags ─────────────────────────────────────────────────────────────────── */
.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.tag{font-size:.63rem;font-weight:600;padding:2px 7px;border-radius:4px;background:var(--bg3);color:var(--txt3);border:1px solid var(--bdr)}
.tag.bull{background:#dcfce7;color:#15803d}
.tag.bear{background:#fef2f2;color:#dc2626}
.tag.hot{background:#ffedd5;color:#c2410c}
.mmini{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:6px}
.mmini-lbl{font-size:.6rem;color:var(--txt3);text-transform:uppercase}
.mmini-val{font-family:var(--mono);font-size:.82rem;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.setup-card-line{font-size:.7rem;color:var(--txt2);font-weight:700;line-height:1.35;margin:2px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.setup-panel{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(14,165,233,.04));border:1px solid rgba(37,99,235,.18);border-radius:16px;padding:14px;margin:0 0 12px;box-shadow:var(--sh3)}
.setup-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.setup-kicker{font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.setup-title{font-size:1rem;font-weight:900;color:var(--txt);margin-top:2px}
.setup-sub{display:flex;gap:8px;flex-wrap:wrap;font-size:.72rem;color:var(--txt2);margin-top:4px}
.setup-score{min-width:88px;border-radius:14px;padding:8px 10px;text-align:center;border:1px solid var(--bdr);background:var(--card)}
.setup-score strong{display:block;font-family:var(--mono);font-size:1.1rem;color:var(--txt)}
.setup-score span{display:block;margin-top:2px;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--txt3)}
.setup-score.ready{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}
.setup-score.review{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.setup-score.check{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.setup-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.setup-metrics div{background:var(--card);border:1px solid var(--bdr);border-radius:12px;padding:9px 10px;min-width:0}
.setup-metrics span{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--txt3);margin-bottom:4px}
.setup-metrics strong{display:block;font-size:.76rem;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.setup-metrics strong.risk{color:var(--red)}
.setup-metrics strong.reward{color:var(--grn)}
.setup-legs-wrap{overflow-x:auto;margin-bottom:10px}
.setup-legs{background:var(--card)}
.setup-guidance{display:grid;gap:6px;color:var(--txt2);font-size:.74rem;line-height:1.45}
.setup-guidance strong{color:var(--txt)}
.setup-guidance ul{margin:0;padding-left:18px;color:var(--txt3)}
.setup-rationale{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--bdr);font-size:.74rem;line-height:1.5;color:var(--txt2)}
@media(max-width:760px){.setup-panel-head{flex-direction:column}.setup-score{width:100%}.setup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── Toast ────────────────────────────────────────────────────────────────── */
.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--bg2);color:var(--txt);border:1px solid var(--bdr);border-radius:var(--r2);padding:10px 16px;font-size:.82rem;box-shadow:var(--sh);max-width:320px;animation:slideUp .2s ease-out;font-family:var(--font)}
.toast.success{border-left:3px solid var(--grn)}
.toast.error{border-left:3px solid var(--red)}
.toast.info{border-left:3px solid var(--txt)}
@keyframes slideUp{from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none}}

/* ── Universe chips ───────────────────────────────────────────────────────── */
.univ-chip{display:inline-flex;align-items:center;padding:4px 11px;margin:3px;background:var(--bg2);border:1px solid var(--bdr);border-radius:20px;font-size:.74rem;font-weight:600;color:var(--txt);font-family:var(--mono);cursor:pointer;transition:all .15s;white-space:nowrap}
.univ-chip:hover{border-color:var(--acc);background:var(--bg3)}
.univ-chip.spec{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.univ-chip.spec:hover{background:#ede9fe}
.univ-chip.wl{background:#fffbeb;border-color:#fde68a;color:#92400e}
.univ-chip.wl:hover{background:#fef9c3}

/* ── Scrollbar ────────────────────────────────────────────────────────────── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bdr2);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:var(--txt3)}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media(max-width:600px){main{padding:10px 12px} .stats-row{grid-template-columns:repeat(2,1fr)}}

/* ── Cursor ───────────────────────────────────────────────────────────────── */
.ntab,.stab,.chip,.btn,.stat,.tcard,.guide-hdr,button{cursor:pointer !important}

/* ── Chat ─────────────────────────────────────────────────────────────────── */
.chat-suggest{background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;padding:4px 11px;font-size:.65rem;color:var(--txt2);cursor:pointer;transition:all .15s;white-space:nowrap}
.chat-suggest:hover{border-color:var(--acc);color:var(--txt);background:var(--bg2)}
.chat-msg-user{align-self:flex-end;background:var(--acc);color:#fff;border-radius:14px 14px 4px 14px;padding:10px 14px;max-width:85%;font-size:.8rem;line-height:1.55;word-break:break-word}
.chat-msg-ai{align-self:flex-start;background:var(--bg3);border:1px solid var(--bdr);color:var(--txt);border-radius:4px 14px 14px 14px;padding:10px 14px;max-width:92%;font-size:.8rem;line-height:1.65;word-break:break-word}
.chat-msg-ai strong{color:var(--txt);font-weight:700}
.chat-msg-ai code{background:var(--bg2);padding:2px 5px;border-radius:4px;font-size:.73rem;font-family:var(--mono)}
.chat-typing{display:flex;gap:4px;padding:10px 14px;align-self:flex-start}
.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--txt);opacity:.4;animation:chatBounce 1.2s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}
.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes chatBounce{0%,60%,100%{transform:translateY(0);opacity:.4} 30%{transform:translateY(-6px);opacity:1}}
@keyframes chatFade{0%,100%{opacity:.4} 50%{opacity:1}}

/* ── AI config box ────────────────────────────────────────────────────────── */
.ai-config-box{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r2);padding:12px 14px;margin-bottom:14px}

/* ── Build 82 — MACD dashboard tiles (KPI cards + 3-column tiles + pills) ──────
   Presentation only. All colours come from theme CSS vars so light + dark both
   work; soft pill tints are color-mixed into --card so they read on either
   surface, and pill TEXT uses the strong semantic colour (legible on both). */
.macd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.macd-kpi{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--bdr);
  border-radius:var(--r);padding:13px 15px;box-shadow:var(--sh2)}
.macd-kpi .mk-lbl{font-size:.6rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--txt3)}
.macd-kpi .mk-val{font-size:1.7rem;font-weight:800;letter-spacing:-1px;margin-top:5px;line-height:1}
.macd-kpi .mk-sub{font-size:.62rem;color:var(--txt3);margin-top:5px}
.macd-kpi .mk-bar{position:absolute;left:0;top:0;bottom:0;width:4px}
.macd-kpi.mk-grn .mk-val{color:var(--grn)} .macd-kpi.mk-grn .mk-bar{background:var(--grn)}
.macd-kpi.mk-ylw .mk-val{color:var(--ylw)} .macd-kpi.mk-ylw .mk-bar{background:var(--ylw)}
.macd-kpi.mk-blu .mk-val{color:var(--blu)} .macd-kpi.mk-blu .mk-bar{background:var(--blu)}
.macd-kpi.mk-red .mk-val{color:var(--red)} .macd-kpi.mk-red .mk-bar{background:var(--red)}

.macd-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.macd-tile{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);
  padding:14px 14px 8px;box-shadow:var(--sh2)}
.macd-tile-hd{display:flex;align-items:center;gap:7px;font-size:.64rem;font-weight:800;
  letter-spacing:.5px;text-transform:uppercase;color:var(--txt2);margin-bottom:10px}
.macd-tile-hd .mt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.macd-tile-hd .mt-cnt{margin-left:auto;font-size:.6rem;font-weight:700;color:var(--txt3);
  background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;padding:2px 9px}
.macd-row{display:flex;align-items:center;gap:9px;padding:7px 7px;border-radius:8px}
.macd-row+.macd-row{margin-top:1px}
.macd-row:hover{background:var(--bg3)}
.macd-row .mr-tk{font-weight:700;font-size:.78rem;color:var(--txt);min-width:48px}
.macd-row .mr-pr{font-family:var(--mono);font-size:.72rem;color:var(--txt3);min-width:74px}
.macd-row .mr-spacer{flex:1}
.macd-empty{font-size:.68rem;color:var(--txt3);padding:10px 7px}

.macd-pill{font-size:.6rem;font-weight:700;letter-spacing:.2px;border-radius:20px;padding:4px 10px;
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.macd-pill .mp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.macd-pill.mp-grn{background:color-mix(in srgb,var(--grn) 15%,var(--card));color:var(--grn);
  border:1px solid color-mix(in srgb,var(--grn) 35%,var(--card))}
.macd-pill.mp-grn .mp-dot{background:var(--grn)}
.macd-pill.mp-ylw{background:color-mix(in srgb,var(--ylw) 15%,var(--card));color:var(--ylw);
  border:1px solid color-mix(in srgb,var(--ylw) 35%,var(--card))}
.macd-pill.mp-ylw .mp-dot{background:var(--ylw)}
.macd-pill.mp-red{background:color-mix(in srgb,var(--red) 15%,var(--card));color:var(--red);
  border:1px solid color-mix(in srgb,var(--red) 35%,var(--card))}
.macd-pill.mp-red .mp-dot{background:var(--red)}
.macd-pill.mp-neutral{background:var(--bg3);color:var(--txt2);border:1px solid var(--bdr)}
.macd-pill.mp-neutral .mp-dot{background:var(--txt3)}

.macd-view{font-size:.62rem;font-weight:600;color:var(--txt2);border:1px solid var(--bdr);
  border-radius:7px;padding:4px 10px;background:var(--card);cursor:pointer;white-space:nowrap}
.macd-view:hover{background:var(--bg3)}
.macd-foot{margin-top:14px;text-align:right}
.macd-foot a{font-size:.66rem;color:var(--acc);font-weight:600;text-decoration:none}

@media(max-width:900px){
  .macd-kpis{grid-template-columns:repeat(2,1fr)}
  .macd-tiles{grid-template-columns:1fr}
}

/* ── Build 83 — shared design system (reusable, single source of truth) ────────
   Slightly-larger consistent type scale + reusable card / row / kpi / pill
   primitives. All colours come from the existing theme vars so light + dark
   both adapt; soft pill tints use the Build-83 *-bg/*-bd tokens (defined for
   both themes). Compatible siblings of the Build 82 .macd-* / Crypto classes —
   nothing existing is changed. */
.card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);
  padding:20px 20px 12px;box-shadow:var(--sh2)}
.card-hd{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.card-hd .ico{font-size:1.05rem;line-height:1}
.card-hd .ttl{font-size:var(--fs-card-title);font-weight:700;letter-spacing:-.2px;color:var(--txt)}
.card-hd .right{margin-left:auto;display:flex;align-items:center;gap:9px}
.ds-chip{font-size:var(--fs-meta);font-weight:600;color:var(--txt3);background:var(--bg3);
  border:1px solid var(--bdr);border-radius:20px;padding:3px 11px;white-space:nowrap}
.ds-btn{font-size:var(--fs-meta);font-weight:600;color:var(--txt2);background:var(--card);
  border:1px solid var(--bdr);border-radius:9px;padding:6px 13px;cursor:pointer;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px}
.ds-btn:hover{background:var(--bg3)}

.sec-lbl{font-size:var(--fs-section);font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:var(--txt3);margin:4px 2px 8px}

/* Rows */
.row{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:10px}
.row+.row{border-top:1px solid var(--bdr)}
.row .k{font-weight:700;font-size:var(--fs-label);min-width:58px;color:var(--txt)}
.row .sub{font-size:var(--fs-meta);color:var(--txt3)}
.row .mono{font-family:var(--mono);font-size:var(--fs-mono);color:var(--txt2)}
.row .v{font-family:var(--mono);font-size:var(--fs-value);font-weight:700;margin-left:auto}
.row .v.pos{color:var(--grn)} .row .v.neg{color:var(--red)}
.row .spacer{flex:1}

/* KPI inside card */
.kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:6px}
.kpi-mini .lbl{font-size:var(--fs-section);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--txt3)}
.kpi-mini .num{font-size:var(--fs-value-lg);font-weight:800;letter-spacing:-1px;line-height:1.05;margin-top:4px;color:var(--txt)}
.kpi-mini .num.pos{color:var(--grn)} .kpi-mini .num.neg{color:var(--red)}
.total-line{display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--bdr);margin-top:12px;padding-top:12px}
.total-line .tl-lbl{font-size:var(--fs-section);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--txt3)}
.total-line .tl-val{font-family:var(--mono);font-size:var(--num-md);font-weight:800;color:var(--txt)}
.total-line .tl-val.pos{color:var(--grn)} .total-line .tl-val.neg{color:var(--red)}

/* Pills */
.pill{font-size:var(--fs-meta);font-weight:700;border-radius:20px;padding:4px 11px;
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.pill .pdot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pill.p-grn{background:var(--grn-bg);color:var(--grn);border:1px solid var(--grn-bd)}
.pill.p-grn .pdot{background:var(--grn)}
.pill.p-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bd)}
.pill.p-red .pdot{background:var(--red)}
.pill.p-ylw{background:var(--ylw-bg);color:var(--ylw);border:1px solid var(--ylw-bd)}
.pill.p-ylw .pdot{background:var(--ylw)}
.pill.p-blu{background:var(--blu-bg);color:var(--blu);border:1px solid var(--blu-bd)}
.pill.p-blu .pdot{background:var(--blu)}

/* Form controls (defined for a later Screener pass; not yet applied) */
.field{display:flex;align-items:center;gap:10px;padding:7px 0}
.field label{font-size:var(--fs-label);color:var(--txt2);min-width:96px}
.field input{font-size:var(--fs-value);font-family:var(--mono);width:74px;padding:7px 9px;
  border:1px solid var(--bdr);border-radius:9px;background:var(--card);color:var(--txt)}
.field .dash{color:var(--txt3)}
.preset{display:inline-flex;gap:8px;flex-wrap:wrap}
.preset .pbtn{font-size:var(--fs-meta);font-weight:600;color:var(--ylw);background:var(--ylw-bg);
  border:1px solid var(--ylw-bd);border-radius:9px;padding:7px 13px;cursor:pointer}
.subhd{font-size:var(--fs-section);font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:var(--txt3);display:flex;align-items:center;gap:7px;margin-bottom:10px}
.muted{font-size:var(--fs-meta);color:var(--txt3)}
.cta{font-size:var(--fs-label);font-weight:700;color:#fff;background:var(--acc);border:none;
  border-radius:10px;padding:9px 16px;cursor:pointer}
[data-theme="dark"] .cta{background:var(--blu)}
/* Build 85 — dark-mode primary-button contrast fix.
   In dark mode --acc is near-white (#f1f5f9), so .btn-p's hardcoded white text was
   invisible (white-on-white). Use the dark surface color for the label instead. */
[data-theme="dark"] .btn-p{color:var(--bg)}
[data-theme="dark"] .btn-p:hover:not(:disabled){color:var(--bg)}

/* ── Build 84 — platform-wide design-system rollout ───────────────────────────
   Unifies the per-tab header typography across ALL tabs onto the Build-83 type
   scale. `.fw8` was previously an unstyled (no-op) utility class used on every
   tab title; defining it here gives every tab a consistent bold title weight +
   colour without touching any markup hooks. Tab subtitles already use theme
   vars. No colours hardcoded; both themes adapt via existing tokens. */
.fw8{font-weight:700;color:var(--txt);letter-spacing:-.2px}

/* ══════════════════════════════════════════════════════════════════════════
   Build 144 — Aurora palette: reusable colorful tile classes (platform-wide).
   Cool gradients (sky / blue / violet / teal / indigo) with WHITE text +
   drop-shadow so labels stay legible in BOTH light and dark themes. Use
   `.kpi-tile k-<color>` for stat/overview tiles and the gradient applies the
   same in either theme (semantic green/red for gains/losses is unchanged).
   ══════════════════════════════════════════════════════════════════════════ */
.kpi-tile{
  position:relative; border-radius:16px; padding:16px 16px 14px; overflow:hidden;
  color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.16); transition:transform .15s,box-shadow .15s;
}
.kpi-tile:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.24); }
.kpi-tile::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 120% at 100% 0%,rgba(255,255,255,.22),transparent 55%); }
.kpi-tile .ic{ font-size:1.1rem; margin-bottom:7px; }
.kpi-tile .lbl{ font-size:.68rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  color:rgba(255,255,255,.92); text-shadow:0 1px 2px rgba(0,0,0,.35); }
.kpi-tile .val{ font-size:1.6rem; font-weight:800; margin-top:3px; line-height:1.1;
  text-shadow:0 1px 3px rgba(0,0,0,.4); }
.kpi-tile .delta{ font-size:.7rem; font-weight:700; margin-top:6px; display:inline-block;
  background:rgba(255,255,255,.22); padding:2px 9px; border-radius:20px; }
.kpi-tile.k-sky  { background:linear-gradient(135deg,#0284c7,#38bdf8); }
.kpi-tile.k-blue { background:linear-gradient(135deg,#2563eb,#60a5fa); }
.kpi-tile.k-violet{background:linear-gradient(135deg,#7c3aed,#a78bfa); }
.kpi-tile.k-teal { background:linear-gradient(135deg,#0d9488,#2dd4bf); }
.kpi-tile.k-indigo{background:linear-gradient(135deg,#4f46e5,#818cf8); }
.kpi-tile.k-cyan { background:linear-gradient(135deg,#0891b2,#22d3ee); }
[data-theme="dark"] .kpi-tile.k-sky  { background:linear-gradient(135deg,#0369a1,#38bdf8); }
[data-theme="dark"] .kpi-tile.k-blue { background:linear-gradient(135deg,#1d4ed8,#60a5fa); }
[data-theme="dark"] .kpi-tile.k-violet{background:linear-gradient(135deg,#6d28d9,#a78bfa); }
[data-theme="dark"] .kpi-tile.k-teal { background:linear-gradient(135deg,#0f766e,#2dd4bf); }
[data-theme="dark"] .kpi-tile.k-indigo{background:linear-gradient(135deg,#4338ca,#818cf8); }
[data-theme="dark"] .kpi-tile.k-cyan { background:linear-gradient(135deg,#0e7490,#22d3ee); }

/* Aurora colorful Guide category cards (override muted card look on this grid).
   White text on gradient; deterministic colors cycle via :nth-child. */
.guide-cat-grid > div{ color:#fff !important; border:none !important;
  box-shadow:0 5px 16px rgba(0,0,0,.16) !important; }
.guide-cat-grid > div *{ color:#fff !important; }
.guide-cat-grid > div::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(120% 120% at 0% 0%,rgba(255,255,255,.22),transparent 52%); }
.guide-cat-grid > div{ position:relative; overflow:hidden; }
.guide-cat-grid > div:nth-child(6n+1){ background:linear-gradient(135deg,#0284c7,#38bdf8) !important; }
.guide-cat-grid > div:nth-child(6n+2){ background:linear-gradient(135deg,#2563eb,#60a5fa) !important; }
.guide-cat-grid > div:nth-child(6n+3){ background:linear-gradient(135deg,#7c3aed,#a78bfa) !important; }
.guide-cat-grid > div:nth-child(6n+4){ background:linear-gradient(135deg,#0d9488,#2dd4bf) !important; }
.guide-cat-grid > div:nth-child(6n+5){ background:linear-gradient(135deg,#4f46e5,#818cf8) !important; }
.guide-cat-grid > div:nth-child(6n+6){ background:linear-gradient(135deg,#0891b2,#22d3ee) !important; }

/* ====================================================================
   Build 183 - platform-wide typography normalization (Option A: Full
   normalization) + Tile Option 2 (clean / modern).

   GOAL: one consistent type system across every tab. Historically the UI
   accumulated ~1,450 ad-hoc inline font-size declarations spanning 40+ near
   duplicate rem values (.6/.62/.63/.65/.68 ...). This layer collapses all of
   that onto a strict 4-role scale - Header 1 / Header 2 / Body 1 / Body 2 -
   plus an uppercase Caption role and a 3-step monospace number scale. It works
   by (a) defining canonical scale tokens, (b) RE-TUNING the existing Build-83
   --fs-* tokens (already wired through cards/rows/tables) onto the scale, and
   (c) snapping the structural class selectors that carry the bulk of the text
   onto the matching role. The cascade does the heavy lifting so we never have
   to touch the inline styles individually (which is what caused regressions).
   ==================================================================== */
:root{
  /* Canonical Build-183 type scale (single source of truth) */
  --h1:1.5rem;   --h1-w:800;   /* page titles */
  --h2:1.05rem;  --h2-w:700;   /* card / section / modal titles */
  --b1:0.875rem; --b1-w:500;   /* primary body & inline values */
  --b2:0.75rem;  --b2-w:500;   /* secondary text, labels, meta */
  --cap:0.65rem; --cap-w:700;  /* uppercase eyebrow captions */
  --num-lg:1.7rem; --num-md:1.1rem; --num-sm:0.85rem; /* mono number scale */
}
/* Re-tune the Build-83 tokens onto the canonical scale so everything that
   already consumes them (cards, rows, kpis, tables, stats) lands on it. */
:root{
  --fs-card-title: var(--h2);
  --fs-section:    var(--cap);
  --fs-label:      var(--b2);
  --fs-value:      var(--b1);
  --fs-value-lg:   var(--num-lg);
  --fs-mono:       var(--num-sm);
  --fs-meta:       var(--b2);
}

/* -- Reusable scale utility classes (for new markup) -- */
.t-h1{font-size:var(--h1);font-weight:var(--h1-w);letter-spacing:-.3px;line-height:1.2;color:var(--txt)}
.t-h2{font-size:var(--h2);font-weight:var(--h2-w);letter-spacing:-.2px;color:var(--txt)}
.t-b1{font-size:var(--b1);font-weight:var(--b1-w);color:var(--txt2);line-height:1.55}
.t-b2{font-size:var(--b2);font-weight:var(--b2-w);color:var(--txt3);line-height:1.5}
.t-cap{font-size:var(--cap);font-weight:var(--cap-w);text-transform:uppercase;letter-spacing:.06em;color:var(--txt3)}
.t-num{font-family:var(--mono);font-size:var(--num-sm);font-weight:600}
.t-num-md{font-family:var(--mono);font-size:var(--num-md);font-weight:700}
.t-num-lg{font-family:var(--mono);font-size:var(--num-lg);font-weight:800;letter-spacing:-.5px}

/* -- Page titles: every tab header uses <div class="fw8"> with an inline
   font-size that historically varied (.9 / .95 / 1rem ...). Force it to H1.
   The inline size is overridden on purpose so all page headers match. -- */
main .fw8{font-size:var(--h1)!important;font-weight:var(--h1-w)!important;
  letter-spacing:-.3px;line-height:1.2;color:var(--txt)}

/* -- Card / section / modal titles -> Header 2 -- */
.card-hd .ttl,.modal-title{font-size:var(--h2);font-weight:var(--h2-w);letter-spacing:-.2px}
.tsym{font-size:var(--h2);font-weight:800}
.guide-title{font-size:var(--b1);font-weight:600}
.bpanel-hdr,.sc-sec-title,.dsec-title,.sec-lbl,.subhd,.bt-stat-lbl,.stat-lbl,
.mbox-lbl,.hmap-box-lbl,.mmini-lbl,.kpi-mini .lbl{font-size:var(--cap);font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--txt3)}

/* -- Tables -> uniform Body 2 (header = Caption) across every table style -- */
.trade-table,.jtable,.sc-table,.batch-table,.hmap-table,.ai-panel table{font-size:var(--b2)}
.trade-table th,.jtable thead th,.sc-table th,.batch-table th,.hmap-table th,
.ai-panel th{font-size:var(--cap);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.trade-table td,.jtable tbody td,.sc-table td,.batch-table td{font-size:var(--b2)}
.jtable tbody td.num,.jtable tbody td.money,.jtable tbody td.date,
.hmap-table td{font-size:var(--b2)}
.jtable .j-ticker{font-size:var(--b1);font-weight:800}

/* -- Numeric / value text -> mono number scale -- */
.stat-val,.bt-stat-val{font-family:var(--mono);font-size:var(--num-md);font-weight:700}
.mbox-val,.hmap-box-val,.mmini-val{font-family:var(--mono);font-size:var(--num-sm);font-weight:700}
.kpi-mini .num{font-family:var(--mono);font-size:var(--num-lg);font-weight:800;letter-spacing:-.5px}
.macd-kpi .mk-val{font-family:var(--mono);font-size:var(--num-lg);font-weight:800;letter-spacing:-.5px}
.macd-kpi .mk-lbl{font-size:var(--cap);font-weight:700}

/* -- Body copy blocks -> Body 1; small print -> Body 2 -- */
.ai-panel{font-size:var(--b1);line-height:1.7}
.ai-panel h1{font-size:var(--h2)}
.ai-panel h2{font-size:var(--b1)}
.sc-box-text,.gpill,.gm-pill{font-size:var(--b2)}
.sc-box-title{font-size:var(--b2);font-weight:700}
.muted{font-size:var(--b2)}

/* -- Controls -> consistent Body sizing -- */
.btn{font-size:var(--b2);font-weight:600}
.btn-sm{font-size:var(--cap)}
.chip,.stab,.univ-stab,.exp-btn,.tbtn,.provider-pill{font-size:var(--b2)}
.scan-bar input,.binput,.form-group input,.form-group select,.form-group textarea,
.bt-controls input,.bt-controls select{font-size:var(--b1)}

/* ====================================================================
   Build 183 - Tile Option 2: clean / modern tiles.
   Refines the existing KPI + Admin tiles: rounded 14px corners, soft lift on
   hover, a colored accent bar, Caption labels + a big value. White/bordered
   surface keeps numbers maximally legible in both themes. A reusable .mtile
   primitive is provided for any feature tile; the existing .tcard KPI strips
   and .admin-tile grid are upgraded in place. -------------------------- */
.mtile{position:relative;background:var(--card);border:1px solid var(--bdr);border-radius:14px;
  padding:16px 16px;box-shadow:var(--sh2);transition:transform .15s,box-shadow .15s,border-color .15s;
  cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:108px;overflow:hidden}
.mtile:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:var(--acc)}
.mtile .mt-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:var(--acc)}
.mtile .mt-ico{font-size:1.35rem;line-height:1}
.mtile .mt-lbl{font-size:var(--cap);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--txt3)}
.mtile .mt-val{font-family:var(--mono);font-size:var(--num-lg);font-weight:800;line-height:1.05;color:var(--txt);letter-spacing:-.5px}
.mtile .mt-sub{font-size:var(--cap);font-weight:600;color:var(--txt3)}
.mtile.mt-blue .mt-bar{background:#2563eb} .mtile.mt-sky .mt-bar{background:#0ea5e9}
.mtile.mt-violet .mt-bar{background:#7c3aed} .mtile.mt-teal .mt-bar{background:#0d9488}
.mtile.mt-indigo .mt-bar{background:#4f46e5} .mtile.mt-cyan .mt-bar{background:#0891b2}
.mtile.mt-amber .mt-bar{background:#d97706} .mtile.mt-rose .mt-bar{background:#e11d48}
.mtile.mt-grn .mt-bar{background:var(--grn)} .mtile.mt-red .mt-bar{background:var(--red)}
.mtile.active,.mtile.af{border-color:var(--acc);box-shadow:var(--sh);background:var(--bg3)}

/* Upgrade the existing KPI strip tiles (.tcard used as a KPI button) and the
   Admin Panel tile grid to the clean-modern look: rounded corners + hover
   lift. .tcard already has the right surface; just modernize radius/lift. */
.tcard{border-radius:14px;transition:transform .15s,box-shadow .15s,border-color .2s}
.tcard:hover{transform:translateY(-2px)}
.admin-tile{border-radius:14px;padding:16px 12px;gap:6px}
.admin-tile .admin-tile-ico{font-size:1.5rem}
.admin-tile .admin-tile-lbl{font-size:var(--b2);font-weight:700}
.admin-tile .admin-tile-count{font-size:var(--cap);font-weight:800;color:var(--acc)}

/* ══════════════════════════════════════════════════════════════════════════════
   BUILD 196 — MOBILE-RESPONSIVE LAYOUT
   Breakpoints:
     ≤860px  already handled (icon rail) — unchanged
     ≤640px  sidebar becomes slide-in drawer; navbar collapses
     ≤480px  single-column cards; tighter padding
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Hamburger button (hidden on desktop) ───────────────────────────────────── */
.hamburger-btn {
  display: none;
  background: none; border: 1px solid var(--bdr);
  border-radius: 7px; padding: 5px 7px; cursor: pointer;
  color: var(--txt2); align-items: center; justify-content: center;
  flex-shrink: 0; transition: all .15s;
}
.hamburger-btn:hover { border-color: var(--acc); color: var(--txt); background: var(--bg3); }
.hamburger-btn svg { display: block; }

/* ── Sidebar overlay backdrop ───────────────────────────────────────────────── */
#sidebarOverlay {
  display: none; position: fixed; inset: 0;
  background: rgba(15,23,42,.55); backdrop-filter: blur(2px);
  z-index: 299;
}
#sidebarOverlay.active { display: block; }

/* ── ≤640px: drawer mode ────────────────────────────────────────────────────── */
@media (max-width: 640px) {

  /* Show hamburger */
  .hamburger-btn { display: flex; }

  /* Hide noisy nav items to save header space */
  .nav-search, .nav-search-icon,
  .status-pill,
  #providerSelectorBtn { display: none !important; }

  /* Ticker strip wastes vertical space on phones */
  .ticker-strip { display: none !important; }

  /* Header sticks to top:0 since ticker is gone */
  header.primary-nav { top: 0 !important; }

  /* Sidebar: slide off-screen by default, slide in when .open */
  aside.sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    width: 240px !important;
    transform: translateX(-100%);
    transition: transform .25s ease;
    z-index: 300;
    padding-top: 56px !important; /* clear the header height */
  }
  aside.sidebar.open {
    transform: translateX(0);
  }

  /* Restore labels in drawer (they were hidden by the 860px icon-rail rule) */
  aside.sidebar .sb-group { justify-content: flex-start !important; padding: 13px 18px 5px !important; pointer-events: auto !important; }
  aside.sidebar .sb-group .sb-glabel { display: inline !important; }
  aside.sidebar .sb-group .sb-gcaret { display: inline !important; }
  aside.sidebar .sb-group::before { display: none !important; }
  .sb-items.collapsed { display: none !important; }
  .sbitem { justify-content: flex-start !important; gap: 11px !important; padding: 8px 18px !important; }
  .sbitem .sb-lbl { display: inline !important; }
  .sbitem .nbadge { position: static !important; transform: none !important; }

  /* Main content takes full width */
  .body-row { position: relative; }
  main { padding: 14px 12px !important; }

  /* Sidebar height offset: ticker gone, header is 46px */
  aside.sidebar { height: 100dvh !important; }
}

/* ── ≤480px: single-column tightening ──────────────────────────────────────── */
@media (max-width: 480px) {

  /* Stats/KPI rows: 2-up max */
  .stats-row { grid-template-columns: repeat(2, 1fr) !important; }
  .kpi-row   { grid-template-columns: repeat(2, 1fr) !important; }

  /* Scrollable tables on narrow screens */
  .jtable-wrap, .trade-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .jtable, .trade-table { min-width: 520px; }

  /* Card full width */
  .card { padding: 14px 12px 10px; }

  /* Dashboard tile grid: 2-up */
  #dashTiles { grid-template-columns: repeat(2, 1fr) !important; }

  /* Admin tiles: 2-up already handled at 900px, stays */

  /* Modal full-screen on phone */
  .modal-ov { padding: 0; align-items: flex-end; }
  .modal-box { border-radius: 16px 16px 0 0; max-height: 92dvh; overflow-y: auto; }

  /* Typography scale down slightly */
  .fs-value-lg, .fs-value { font-size: .85rem; }
}

/* ── Horizontal-scroll for wide tables on all mobile widths ─────────────────── */
@media (max-width: 640px) {
  .jtable-wrap  { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .jtable       { min-width: 480px; }
  .trade-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .trade-table  { min-width: 480px; }
  .hmap-wrap    { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ══════════════════════════════════════════════════════════════════════════════
   BUILD 214 — STRATALYX COMMAND CENTER REVAMP
   Desktop visual/presentation layer only. Existing panels, APIs, saved scan
   data, journal data, admin functions, and feature gating remain in place.
   ══════════════════════════════════════════════════════════════════════════════ */
:root {
  --cmd-canvas:#f3f6fb;
  --cmd-canvas-2:#eaf0f8;
  --cmd-surface:#ffffff;
  --cmd-surface-2:#f7f9fd;
  --cmd-panel:#0c1220;
  --cmd-panel-2:#111a2e;
  --cmd-ink:#111827;
  --cmd-muted:#66758e;
  --cmd-line:#dbe4f0;
  --cmd-blue:#2563eb;
  --cmd-cyan:#0891b2;
  --cmd-teal:#0f766e;
  --cmd-amber:#d97706;
  --cmd-rose:#e11d48;
  --cmd-violet:#6d28d9;
  --cmd-shadow:0 18px 44px rgba(17,24,39,.10);
  --cmd-shadow-soft:0 8px 24px rgba(17,24,39,.08);
}
[data-theme="dark"] {
  --cmd-canvas:#080c14;
  --cmd-canvas-2:#0d1422;
  --cmd-surface:#111827;
  --cmd-surface-2:#162133;
  --cmd-panel:#060a12;
  --cmd-panel-2:#0c1424;
  --cmd-ink:#f8fafc;
  --cmd-muted:#9aa8bd;
  --cmd-line:#253044;
  --cmd-blue:#60a5fa;
  --cmd-cyan:#22d3ee;
  --cmd-teal:#2dd4bf;
  --cmd-amber:#f59e0b;
  --cmd-rose:#fb7185;
  --cmd-violet:#a78bfa;
  --cmd-shadow:0 22px 50px rgba(0,0,0,.42);
  --cmd-shadow-soft:0 10px 28px rgba(0,0,0,.32);
}

.shell {
  background:
    linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px),
    linear-gradient(180deg,rgba(15,23,42,.045) 1px,transparent 1px),
    linear-gradient(180deg,var(--cmd-canvas),var(--cmd-canvas-2));
  background-size:44px 44px,44px 44px,auto;
}
[data-theme="dark"] .shell {
  background:
    linear-gradient(90deg,rgba(96,165,250,.075) 1px,transparent 1px),
    linear-gradient(180deg,rgba(148,163,184,.055) 1px,transparent 1px),
    linear-gradient(180deg,var(--cmd-canvas),var(--cmd-canvas-2));
}
.body-row { background:transparent; }
main { max-width:none; padding:24px 24px 32px; }
.panel.active { animation:cmdFade .18s ease-out; }
@keyframes cmdFade { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }

body #mainShell .ticker-strip {
  background:#050914 !important;
  border-bottom:1px solid rgba(148,163,184,.15);
  padding-left:22px;
  padding-right:22px;
}
body #mainShell header.primary-nav {
  height:58px !important;
  top:28px !important;
  padding:0 22px !important;
  background:color-mix(in srgb,var(--cmd-surface) 88%,transparent) !important;
  border-bottom:1px solid var(--cmd-line) !important;
  box-shadow:0 10px 28px rgba(17,24,39,.08) !important;
  backdrop-filter:blur(16px);
}
[data-theme="dark"] body #mainShell header.primary-nav {
  background:rgba(9,14,24,.86) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.34) !important;
}
.logo-icon {
  background:transparent !important;
  border-radius:9px;
  box-shadow:0 10px 24px rgba(37,99,235,.16);
}
.logo-wordmark { font-size:1.06rem; letter-spacing:-.04em; }
.nav-search {
  height:34px;
  width:260px;
  border-radius:999px;
  background:var(--cmd-surface-2);
  border-color:var(--cmd-line);
}
.nav-search:focus { width:330px; background:var(--cmd-surface); }
.status-pill,
.provider-pill,
.nav-icon-btn {
  border-radius:999px;
  background:var(--cmd-surface-2);
  border-color:var(--cmd-line);
}
.cmd-open-btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:34px;
  padding:0 13px 0 7px;
  border:none;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-weight:800;
  font-size:.76rem;
  letter-spacing:.01em;
  box-shadow:0 10px 26px rgba(17,24,39,.22);
}
.cmd-open-btn:hover { transform:translateY(-1px); box-shadow:0 14px 34px rgba(37,99,235,.24); }
.cmd-open-btn.active { background:linear-gradient(135deg,var(--cmd-blue),var(--cmd-violet)); }
.cmd-open-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(135deg,#7dd3fc,#2563eb);
  font-size:.65rem;
  font-weight:900;
  color:#fff;
}

aside.sidebar {
  width:252px;
  top:86px;
  height:calc(100vh - 86px);
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 170px),
    var(--cmd-panel) !important;
  border-right:1px solid rgba(148,163,184,.18);
  padding:12px 12px 28px;
}
[data-theme="dark"] aside.sidebar { background:var(--cmd-panel) !important; }
.sb-brand-card {
  margin:2px 4px 16px;
  padding:14px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  background:
    linear-gradient(135deg,rgba(37,99,235,.22),rgba(15,118,110,.14)),
    rgba(255,255,255,.05);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
.sb-brand-kicker {
  color:#93c5fd;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.sb-brand-title {
  color:#fff;
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.04em;
  margin-top:4px;
}
.sb-brand-sub {
  color:#b7c3d5;
  font-size:.71rem;
  line-height:1.45;
  margin:6px 0 12px;
}
.sb-brand-action {
  width:100%;
  border:1px solid rgba(147,197,253,.32);
  border-radius:999px;
  background:rgba(37,99,235,.22);
  color:#fff;
  padding:8px 11px;
  font-size:.72rem;
  font-weight:800;
}
.sb-brand-action:hover { background:rgba(37,99,235,.32); }
.sb-group {
  padding:13px 10px 6px;
  color:#d5deea;
}
.sbitem {
  margin:2px 0;
  padding:10px 11px;
  border-left:none;
  border-radius:12px;
  color:#dbe4f0;
}
.sbitem:hover { background:rgba(255,255,255,.075); }
.sbitem.active {
  color:#fff;
  background:
    linear-gradient(135deg,rgba(37,99,235,.92),rgba(8,145,178,.78));
  border-left-color:transparent;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
}
.sbitem .sb-em {
  width:25px;
  height:25px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(255,255,255,.08);
}
.sbitem.active .sb-em { background:rgba(255,255,255,.18); }

.command-hero {
  display:grid;
  grid-template-columns:minmax(320px,1.35fr) minmax(280px,.65fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
  padding:22px;
  border:1px solid var(--cmd-line);
  border-radius:22px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--cmd-surface) 94%,var(--cmd-blue) 6%),var(--cmd-surface));
  box-shadow:var(--cmd-shadow);
  overflow:hidden;
}
[data-theme="dark"] .command-hero {
  background:
    linear-gradient(135deg,rgba(37,99,235,.16),rgba(15,23,42,.20)),
    var(--cmd-surface);
}
.command-eyebrow {
  color:var(--cmd-blue);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.command-hero h1 {
  margin:4px 0 8px;
  color:var(--cmd-ink);
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:.98;
  letter-spacing:-.07em;
}
.command-hero p {
  max-width:720px;
  color:var(--cmd-muted);
  font-size:.9rem;
  line-height:1.65;
}
.command-actions {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}
.command-pulse {
  align-self:stretch;
  border:1px solid var(--cmd-line);
  border-radius:18px;
  background:
    linear-gradient(180deg,var(--cmd-surface-2),var(--cmd-surface));
  padding:16px;
}
.pulse-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:var(--cmd-muted);
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pulse-row strong {
  color:var(--cmd-teal);
  font-family:var(--mono);
  letter-spacing:0;
}
.pulse-meter {
  height:10px;
  margin:15px 0;
  border-radius:999px;
  background:var(--cmd-line);
  overflow:hidden;
}
.pulse-meter span {
  display:block;
  width:72%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cmd-teal),var(--cmd-blue),var(--cmd-amber));
}
.pulse-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.pulse-grid button {
  border:1px solid var(--cmd-line);
  border-radius:12px;
  background:var(--cmd-surface);
  color:var(--cmd-ink);
  padding:11px 10px;
  text-align:left;
  font-size:.74rem;
  font-weight:800;
}
.pulse-grid button:hover { border-color:var(--cmd-blue); box-shadow:var(--cmd-shadow-soft); }

.stats-row { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.mtile,
.card,
.tcard,
.bpanel,
.tj-card,
.sc-form,
.ai-panel,
.modal,
.scan-bar {
  border-color:var(--cmd-line);
  background:var(--cmd-surface);
  box-shadow:var(--cmd-shadow-soft);
}
.mtile {
  border-radius:18px;
  min-height:116px;
  padding:17px 17px;
}
.mtile:hover,
.tcard:hover,
.card:hover {
  transform:translateY(-2px);
  box-shadow:var(--cmd-shadow);
}
.mtile .mt-bar { width:5px; border-radius:18px 0 0 18px; }
.mtile .mt-val { font-size:1.95rem; }
.chip,
.stab,
.univ-stab {
  border-radius:999px;
  background:var(--cmd-surface);
  border-color:var(--cmd-line);
}
.chip.active,
.stab.active,
.univ-stab.active,
body #mainShell .btn-p {
  background:linear-gradient(135deg,var(--cmd-blue),#1d4ed8) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(37,99,235,.20);
}
body #mainShell .btn-g,
.ds-btn,
.macd-view {
  border-radius:999px;
  border-color:var(--cmd-line);
  background:var(--cmd-surface);
}
.jtable,
.trade-table,
.sc-table,
.batch-table,
.hmap-table {
  border-radius:14px;
  overflow:hidden;
}
.jtable thead th,
.trade-table th,
.sc-table th,
.batch-table th,
.hmap-table th,
.ai-panel th {
  background:var(--cmd-surface-2) !important;
}

.command-rail {
  width:320px;
  flex:0 0 320px;
  position:sticky;
  top:100px;
  height:calc(100vh - 116px);
  padding:24px 18px 24px 0;
  overflow-y:auto;
}
.command-rail-card {
  border:1px solid var(--cmd-line);
  border-radius:20px;
  padding:16px;
  background:color-mix(in srgb,var(--cmd-surface) 94%,var(--cmd-blue) 6%);
  box-shadow:var(--cmd-shadow-soft);
  margin-bottom:14px;
}
[data-theme="dark"] .command-rail-card { background:rgba(17,24,39,.92); }
.rail-top {
  display:flex;
  gap:11px;
  align-items:center;
  margin-bottom:10px;
}
.rail-ai-mark {
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#7dd3fc,var(--cmd-blue));
  color:#fff;
  font-weight:900;
}
.rail-kicker {
  color:var(--cmd-muted);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rail-title {
  color:var(--cmd-ink);
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.03em;
}
.command-rail-card p {
  color:var(--cmd-muted);
  font-size:.78rem;
  line-height:1.55;
  margin-bottom:12px;
}
.rail-primary {
  width:100%;
  border:none;
  border-radius:13px;
  background:#111827;
  color:#fff;
  padding:11px 13px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(17,24,39,.22);
}
.rail-primary.active { background:linear-gradient(135deg,var(--cmd-blue),var(--cmd-violet)); }
.rail-prompts,
.command-rail-card.compact {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rail-prompts { margin-top:11px; }
.rail-prompts button,
.command-rail-card.compact button {
  width:100%;
  border:1px solid var(--cmd-line);
  border-radius:12px;
  background:var(--cmd-surface);
  color:var(--cmd-ink);
  padding:10px 11px;
  text-align:left;
  font-size:.76rem;
  font-weight:800;
}
.rail-prompts button:hover,
.command-rail-card.compact button:hover {
  border-color:var(--cmd-blue);
  box-shadow:var(--cmd-shadow-soft);
}

#chatBubble.ai-assistant-entry {
  width:58px !important;
  height:58px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#0ea5e9,#2563eb,#6d28d9) !important;
  box-shadow:0 18px 36px rgba(37,99,235,.32) !important;
}
#chatBubble.ai-assistant-entry.active {
  transform:scale(1.03) !important;
  box-shadow:0 20px 46px rgba(109,40,217,.36) !important;
}
.ai-command-window {
  top:96px !important;
  right:24px !important;
  bottom:24px !important;
  width:500px !important;
  height:auto !important;
  max-width:calc(100vw - 48px) !important;
  max-height:none !important;
  border-radius:22px !important;
  border-color:var(--cmd-line) !important;
  background:var(--cmd-surface) !important;
  box-shadow:0 28px 80px rgba(15,23,42,.34) !important;
}
.ai-command-window > div:first-child {
  background:
    linear-gradient(135deg,rgba(37,99,235,.96),rgba(8,145,178,.88)) !important;
  padding:16px 18px !important;
}
#chatMessages {
  padding:18px !important;
  background:
    linear-gradient(180deg,var(--cmd-surface),var(--cmd-surface-2));
}
.chat-msg-user {
  border-radius:18px 18px 6px 18px;
  background:linear-gradient(135deg,var(--cmd-blue),#1d4ed8);
  box-shadow:0 12px 28px rgba(37,99,235,.22);
  font-size:.86rem;
}
.chat-msg-ai {
  border-radius:6px 18px 18px 18px;
  background:var(--cmd-surface);
  border-color:var(--cmd-line);
  box-shadow:var(--cmd-shadow-soft);
  font-size:.86rem;
}
#chatSuggestions {
  padding:0 18px 12px !important;
  background:var(--cmd-surface-2);
}
.chat-suggest {
  border-radius:999px;
  font-weight:800;
  background:var(--cmd-surface);
  border-color:var(--cmd-line);
}
.ai-command-window textarea#chatInput {
  min-height:44px !important;
  border-radius:16px !important;
  padding:12px 14px !important;
  font-size:.88rem !important;
  background:var(--cmd-surface-2) !important;
}
.ai-command-window #chatSendBtn {
  height:44px !important;
  border-radius:14px !important;
  padding:0 18px !important;
  font-weight:900;
  background:linear-gradient(135deg,var(--cmd-blue),#1d4ed8) !important;
}

@media (max-width: 1180px) {
  .command-rail { display:none; }
}
@media (max-width: 900px) {
  .command-hero { grid-template-columns:1fr; }
  .cmd-open-text { display:none; }
  .cmd-open-btn { padding-right:7px; }
  main { padding:18px 16px 28px; }
}
@media (max-width: 860px) {
  aside.sidebar { width:62px; padding-left:6px; padding-right:6px; }
  .sb-brand-card { display:none; }
}
@media (max-width: 640px) {
  body #mainShell header.primary-nav { top:0 !important; height:52px !important; }
  .cmd-open-btn { display:none !important; }
  .command-hero { display:none; }
  .ai-command-window {
    inset:58px 10px 10px 10px !important;
    width:auto !important;
    max-width:none !important;
    border-radius:18px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════════
   BUILD 215 — AI COMMAND DOCK + TWO-LAYER DESKTOP CHROME
   Desktop presentation only. Mobile PWA assets and data contracts stay intact.
   ══════════════════════════════════════════════════════════════════════════════ */
@media (min-width: 861px) {
  body #mainShell .ticker-strip {
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    min-height:32px !important;
    height:32px !important;
    padding:0 22px !important;
    gap:20px !important;
    background:#050914 !important;
    border-bottom:1px solid rgba(148,163,184,.16) !important;
    box-shadow:none !important;
    z-index:320 !important;
  }
  body #mainShell .ticker-inner {
    gap:28px !important;
    justify-content:flex-start;
    flex:1 1 auto;
    min-width:0;
  }
  body #mainShell .mbar-sep { display:none !important; }
  body #mainShell .mbar-label { color:#d8e4f7 !important; font-weight:900 !important; }
  body #mainShell .mbar-price { color:#f8fafc !important; font-weight:800 !important; }
  body #mainShell .mbar-item { gap:6px !important; }
  body #mainShell .market-status-chip {
    background:rgba(22,163,74,.16) !important;
    color:#5ee6ad !important;
    border:1px solid rgba(94,234,212,.20);
    border-radius:999px !important;
    padding:3px 12px !important;
  }

  body #mainShell header.primary-nav {
    position:fixed !important;
    top:32px !important;
    left:252px !important;
    right:0 !important;
    width:auto !important;
    height:72px !important;
    padding:0 28px !important;
    background:rgba(255,255,255,.96) !important;
    border-bottom:1px solid var(--cmd-line) !important;
    box-shadow:0 8px 26px rgba(15,23,42,.08) !important;
    backdrop-filter:blur(18px);
    z-index:300 !important;
  }
  [data-theme="dark"] body #mainShell header.primary-nav {
    background:rgba(8,12,20,.94) !important;
    box-shadow:0 12px 32px rgba(0,0,0,.32) !important;
  }
  body #mainShell header.primary-nav .logo {
    display:none !important;
  }
  body #mainShell .primary-nav-right {
    width:100%;
    justify-content:flex-end;
    gap:12px;
  }
  body #mainShell .nav-search {
    width:min(520px,38vw) !important;
    height:44px !important;
    border-radius:999px !important;
    padding-left:42px !important;
    font-size:.95rem !important;
    font-weight:700;
    background:#f7faff !important;
    border-color:#d7e2f2 !important;
  }
  body #mainShell .nav-search:focus {
    width:min(590px,42vw) !important;
    background:#fff !important;
  }
  [data-theme="dark"] body #mainShell .nav-search {
    background:#0f172a !important;
    border-color:#263348 !important;
  }
  body #mainShell .nav-search-icon {
    left:17px !important;
    width:15px !important;
  }
  body #mainShell .cmd-open-btn {
    height:44px;
    padding:0 18px 0 8px;
    border-radius:999px;
    font-size:.86rem;
  }
  body #mainShell .cmd-open-icon {
    width:30px;
    height:30px;
    font-size:.72rem;
  }
  body #mainShell .status-pill,
  body #mainShell .provider-pill,
  body #mainShell .nav-icon-btn {
    min-height:36px;
  }

  body #mainShell .body-row {
    position:relative;
    padding-left:252px;
    padding-top:104px;
    min-height:100vh;
    background:transparent;
  }
  body #mainShell main {
    margin:0 !important;
    max-width:none !important;
    width:100% !important;
    padding:24px 28px 36px !important;
  }
  body #mainShell aside.sidebar {
    position:fixed !important;
    top:32px !important;
    left:0 !important;
    width:252px !important;
    height:calc(100vh - 32px) !important;
    z-index:305 !important;
    padding:20px 12px 30px !important;
    background:linear-gradient(180deg,#08111f 0%,#0b1220 52%,#08101d 100%) !important;
  }
  body #mainShell .sb-logo {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:62px;
    padding:0 9px 16px;
    color:#fff;
    text-decoration:none;
    font-size:1.28rem;
    font-weight:950;
    letter-spacing:-.05em;
  }
  body #mainShell .sb-logo .logo-icon {
    width:42px;
    height:42px;
    border-radius:13px;
  }
  body #mainShell .sb-brand-card {
    margin-top:0;
  }
}

.sb-logo { display:none; }

body #mainShell .command-rail {
  display:block !important;
  position:fixed !important;
  top:154px !important;
  right:0 !important;
  width:0 !important;
  height:auto !important;
  padding:0 !important;
  overflow:visible !important;
  flex:0 0 0 !important;
  z-index:260 !important;
}
.command-edge-tab {
  position:absolute;
  top:0;
  right:0;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:128px;
  height:42px;
  padding:0 14px 0 9px;
  border:none;
  border-radius:18px 0 0 18px;
  background:#111827;
  color:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.24);
  cursor:pointer;
  font-family:var(--font);
  font-weight:900;
}
.command-edge-tab:hover {
  transform:translateX(-2px);
}
.command-edge-tab .edge-ai {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(135deg,#7dd3fc,#2563eb);
  font-size:.7rem;
}
.command-edge-tab .edge-text { font-size:.82rem; }
.command-dock-card {
  position:absolute;
  top:54px;
  right:16px;
  display:none;
  width:340px;
  padding:17px;
  border:1px solid var(--cmd-line);
  border-radius:22px;
  background:color-mix(in srgb,var(--cmd-surface) 95%,var(--cmd-blue) 5%);
  box-shadow:0 26px 70px rgba(15,23,42,.22);
}
[data-theme="dark"] .command-dock-card {
  background:rgba(17,24,39,.96);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
.command-rail.open .command-dock-card { display:block; }
.command-rail.open .command-edge-tab {
  background:linear-gradient(135deg,var(--cmd-blue),var(--cmd-violet));
}
.dock-close {
  margin-left:auto;
  width:30px;
  height:30px;
  border:1px solid var(--cmd-line);
  border-radius:10px;
  background:var(--cmd-surface);
  color:var(--cmd-muted);
  font-size:1rem;
  cursor:pointer;
}
.command-dock-card p {
  color:var(--cmd-muted);
  font-size:.8rem;
  line-height:1.55;
  margin:0 0 12px;
}

@media (min-width: 641px) {
  #chatBubble.ai-assistant-entry {
    display:none !important;
  }
  body.chat-open #chatBubble {
    display:none !important;
  }
  .ai-command-window {
    top:124px !important;
    right:28px !important;
    bottom:28px !important;
    width:min(560px,calc(100vw - 336px)) !important;
    max-width:none !important;
    z-index:420 !important;
  }
  .ai-command-window textarea#chatInput {
    min-height:56px !important;
  }
}

.copilot-workspace {
  display:flex;
  flex-direction:column;
  gap:18px;
}
.copilot-hero-card {
  display:grid;
  grid-template-columns:minmax(360px,1fr) minmax(260px,360px);
  gap:18px;
  align-items:stretch;
  padding:24px;
  border:1px solid var(--cmd-line);
  border-radius:24px;
  background:
    radial-gradient(circle at 12% 20%,rgba(37,99,235,.16),transparent 30%),
    linear-gradient(135deg,var(--cmd-surface),var(--cmd-surface-2));
  box-shadow:var(--cmd-shadow);
}
.copilot-kicker {
  color:var(--cmd-blue);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.copilot-hero-card h1 {
  margin:5px 0 8px;
  color:var(--cmd-ink);
  font-size:clamp(2.2rem,3.4vw,3.8rem);
  line-height:.95;
  letter-spacing:-.07em;
}
.copilot-hero-card p {
  max-width:760px;
  color:var(--cmd-muted);
  font-size:.95rem;
  line-height:1.65;
}
.copilot-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.copilot-status-card {
  display:flex;
  align-items:center;
  gap:15px;
  align-self:center;
  width:100%;
  padding:18px;
  border:1px solid var(--cmd-line);
  border-radius:20px;
  background:var(--cmd-surface);
  box-shadow:var(--cmd-shadow-soft);
}
.copilot-orb {
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:18px;
  background:linear-gradient(135deg,#7dd3fc,#2563eb,#6d28d9);
  color:#fff;
  font-weight:950;
  font-size:1.05rem;
}
.copilot-status-title {
  color:var(--cmd-ink);
  font-weight:950;
  font-size:1.05rem;
  letter-spacing:-.03em;
}
.copilot-status-sub {
  margin-top:4px;
  color:var(--cmd-muted);
  font-size:.78rem;
  line-height:1.5;
}
.copilot-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
.copilot-prompt,
.copilot-source {
  border:1px solid var(--cmd-line);
  border-radius:18px;
  background:var(--cmd-surface);
  color:var(--cmd-ink);
  box-shadow:var(--cmd-shadow-soft);
  cursor:pointer;
  font-family:var(--font);
  text-align:left;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.copilot-prompt {
  min-height:116px;
  padding:17px;
}
.copilot-prompt:hover,
.copilot-source:hover {
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--cmd-blue) 50%,var(--cmd-line));
  box-shadow:var(--cmd-shadow);
}
.copilot-prompt span,
.copilot-source strong {
  display:block;
  color:var(--cmd-ink);
  font-size:1rem;
  font-weight:950;
  letter-spacing:-.03em;
}
.copilot-prompt small,
.copilot-source span {
  display:block;
  margin-top:8px;
  color:var(--cmd-muted);
  font-size:.78rem;
  line-height:1.5;
}
.copilot-source-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.copilot-source {
  min-height:102px;
  padding:16px;
}

@media (max-width: 1180px) and (min-width: 861px) {
  body #mainShell header.primary-nav {
    left:72px !important;
  }
  body #mainShell .body-row {
    padding-left:72px;
  }
  body #mainShell aside.sidebar {
    width:72px !important;
  }
  body #mainShell .sb-logo {
    justify-content:center;
    padding-left:0;
    padding-right:0;
  }
  body #mainShell .sb-logo span,
  body #mainShell .sb-logo + .sb-brand-card {
    display:none !important;
  }
}

@media (max-width: 860px) {
  .sb-logo { display:none !important; }
  body #mainShell .command-rail { display:none !important; }
  .copilot-hero-card { grid-template-columns:1fr; }
  .copilot-grid,
  .copilot-source-grid { grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════════════════════════════════════════
   BUILD 217 — LIGHT-MODE CHROME SOFTENING
   Keep the command-center structure, but lighten the light-mode sidebar/ticker
   from near-black to a calmer slate-blue trading console. Dark mode is unchanged.
   ══════════════════════════════════════════════════════════════════════════════ */
@media (min-width: 861px) {
  body #mainShell .ticker-strip {
    background:linear-gradient(90deg,#172033 0%,#14243a 50%,#1a2a43 100%) !important;
    border-bottom:1px solid rgba(96,165,250,.20) !important;
    box-shadow:0 4px 18px rgba(15,23,42,.12) !important;
  }
  body #mainShell .mbar-label {
    color:#e6edf8 !important;
  }
  body #mainShell .mbar-price {
    color:#f8fbff !important;
  }
  body #mainShell .spill {
    color:#b7c5d8 !important;
  }
  body #mainShell aside.sidebar {
    background:
      linear-gradient(180deg,rgba(64,125,190,.13),transparent 210px),
      linear-gradient(180deg,#102137 0%,#102a43 48%,#0d1c30 100%) !important;
    border-right:1px solid rgba(96,165,250,.24) !important;
    box-shadow:12px 0 32px rgba(15,23,42,.08);
  }
  body #mainShell .sb-brand-card {
    background:
      linear-gradient(135deg,rgba(63,126,205,.32),rgba(20,184,166,.16)),
      rgba(255,255,255,.055) !important;
    border-color:rgba(147,197,253,.30) !important;
  }
  body #mainShell .sb-group {
    color:#dbe7f6;
  }
  body #mainShell .sbitem {
    color:#ecf3fb;
  }
  body #mainShell .sbitem:not(.active) .sb-em {
    background:rgba(255,255,255,.10);
  }
  body #mainShell .sbitem:not(.active):hover {
    background:rgba(255,255,255,.105);
  }
  body #mainShell .sbitem.active {
    background:linear-gradient(135deg,#2f6eea,#1496b5) !important;
    box-shadow:0 14px 28px rgba(37,99,235,.24);
  }

  [data-theme="dark"] body #mainShell .ticker-strip {
    background:#050914 !important;
    border-bottom:1px solid rgba(148,163,184,.16) !important;
    box-shadow:none !important;
  }
  [data-theme="dark"] body #mainShell aside.sidebar {
    background:linear-gradient(180deg,#08111f 0%,#0b1220 52%,#08101d 100%) !important;
    border-right:1px solid rgba(148,163,184,.18) !important;
    box-shadow:none;
  }
}

/* Build 253 — landing, event radar, and tier teaser surfaces */
.landing-signal-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-width:620px;
  margin:0 0 18px;
}
.landing-signal-grid > div {
  background:rgba(255,255,255,.82);
  border:1px solid #dbe7f6;
  border-radius:14px;
  padding:12px;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.landing-signal-grid strong {
  display:block;
  color:#0f172a;
  font-size:.86rem;
  font-weight:900;
  margin-bottom:5px;
}
.landing-signal-grid span {
  color:#64748b;
  font-size:.72rem;
  line-height:1.45;
}
.section-kicker {
  color:var(--acc);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:2px;
}
.sbitem.feature-locked {
  opacity:.78;
  position:relative;
}
.sbitem.feature-locked .sb-lbl::after {
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:7px;
  border-radius:50%;
  background:#f59e0b;
  box-shadow:0 0 0 3px rgba(245,158,11,.14);
  vertical-align:middle;
}
.feature-teaser-overlay {
  position:fixed;
  inset:0;
  z-index:1600;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(8px);
}
.feature-teaser-card {
  width:min(760px,94vw);
  background:var(--card);
  border:1px solid var(--bdr);
  border-radius:24px;
  box-shadow:0 30px 80px rgba(15,23,42,.32);
  overflow:hidden;
}
.feature-teaser-card-rich {
  width:min(1120px,96vw);
}
.feature-teaser-hero {
  padding:24px;
  background:linear-gradient(135deg,#0f172a,#17345b 55%,#2563eb);
  color:#fff;
}
.feature-teaser-hero h3 {
  margin:10px 0 8px;
  font-size:1.55rem;
  line-height:1.08;
  letter-spacing:-.04em;
}
.feature-teaser-hero p {
  margin:0;
  max-width:620px;
  color:#cbd5e1;
  line-height:1.55;
}
.feature-teaser-body {
  padding:20px 24px 24px;
}
.feature-teaser-rich-body {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  gap:18px;
  align-items:stretch;
}
.feature-teaser-copy-panel {
  min-width:0;
}
.feature-preview-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.feature-preview-grid div {
  background:var(--bg3);
  border:1px solid var(--bdr);
  border-radius:14px;
  padding:12px;
}
.feature-preview-grid strong {
  display:block;
  color:var(--txt);
  font-size:.78rem;
  margin-bottom:4px;
}
.feature-preview-grid span {
  color:var(--txt2);
  font-size:.7rem;
  line-height:1.45;
}
.feature-detail-list {
  display:grid;
  gap:10px;
}
.feature-detail-list div {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.feature-detail-list div > span {
  width:10px;
  height:10px;
  border-radius:50%;
  margin-top:5px;
  background:linear-gradient(135deg,#2dd4bf,#2563eb);
  box-shadow:0 0 0 4px rgba(37,99,235,.1);
}
.feature-detail-list p {
  margin:0;
  color:var(--txt2);
  font-size:.74rem;
  line-height:1.5;
}
.feature-teaser-visuals {
  display:grid;
  grid-template-rows:minmax(280px,1fr) auto;
  gap:12px;
  min-width:0;
}
.feature-shot {
  border:1px solid var(--bdr);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(255,255,255,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  overflow:hidden;
}
.feature-shot-main {
  padding:14px;
}
.feature-shot-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin:-14px -14px 14px;
  padding:10px 14px;
  background:#0f172a;
  color:#e5edff;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.feature-shot-top span:last-child {
  color:#93c5fd;
}
.feature-shot-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.feature-shot-head strong {
  color:var(--txt);
  font-size:.9rem;
  line-height:1.2;
}
.feature-shot-head span {
  color:var(--txt3);
  font-size:.64rem;
  white-space:nowrap;
}
.feature-shot-kpis {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.feature-shot-kpi {
  min-height:54px;
  border:1px solid var(--bdr);
  border-radius:12px;
  background:var(--card);
  color:#2563eb;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
  font-weight:900;
  font-size:.76rem;
}
.feature-shot-list {
  display:grid;
  gap:8px;
}
.feature-shot-row {
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:44px;
  border:1px solid var(--bdr);
  border-radius:12px;
  background:rgba(255,255,255,.86);
  padding:8px;
  color:var(--txt);
  font-size:.74rem;
  font-weight:800;
}
.feature-shot-rank {
  width:24px;
  height:24px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#dbeafe;
  color:#2563eb;
  font-size:.68rem;
  font-weight:900;
}
.feature-shot-mini {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:10px;
}
.feature-shot-card {
  border:1px solid var(--bdr);
  border-radius:14px;
  background:var(--card);
  padding:10px;
  display:grid;
  gap:6px;
  align-content:start;
}
.feature-shot-card strong {
  color:var(--txt);
  font-size:.7rem;
  line-height:1.35;
}
.feature-shot-tag {
  color:#2563eb;
  background:#dbeafe;
  border:1px solid #bfdbfe;
  border-radius:999px;
  width:max-content;
  padding:2px 8px;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.feature-teaser-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 760px) {
  .landing-signal-grid,
  .feature-preview-grid {
    grid-template-columns:1fr;
  }
  .feature-teaser-rich-body {
    grid-template-columns:1fr;
  }
  .feature-teaser-visuals {
    grid-template-rows:auto;
  }
  .feature-shot-mini,
  .feature-shot-kpis {
    grid-template-columns:1fr;
  }
}

/* Build 302 — prototype-inspired interactive public landing page */
#authScreen.public-landing-root {
  --landing-ink:#0b1224;
  --landing-muted:#64748b;
  --landing-soft:#eef6ff;
  --landing-line:#dbe5f2;
  --landing-blue:#2563eb;
  --landing-cyan:#14b8a6;
  --landing-violet:#7c3aed;
  --landing-navy:#101827;
  --landing-navy2:#17233a;
  --landing-shadow:0 34px 90px rgba(15,23,42,.16);
  background:
    linear-gradient(rgba(37,99,235,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.055) 1px, transparent 1px),
    radial-gradient(circle at 20% 28%, rgba(20,184,166,.12), transparent 32%),
    radial-gradient(circle at 82% 16%, rgba(124,58,237,.12), transparent 28%),
    #f7fbff !important;
  background-size:48px 48px,48px 48px,auto,auto,auto !important;
  color:var(--landing-ink);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#authScreen.public-landing-root > :not(.public-landing) {
  display:none !important;
}

#authScreen.public-landing-root > .public-landing.public-landing {
  display:block !important;
  min-height:100vh !important;
  padding:0 !important;
  grid-template-columns:initial !important;
}

#authScreen.public-landing-root .public-landing,
#authScreen.public-landing-root .public-landing * {
  box-sizing:border-box;
}

#authScreen.public-landing-root .public-landing button,
#authScreen.public-landing-root .public-landing input,
#authScreen.public-landing-root .public-landing textarea {
  font:inherit;
}

.landing-topbar {
  width:min(1400px, calc(100% - 48px));
  min-height:104px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
  border-bottom:1px solid var(--landing-line);
}

.landing-brand {
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:var(--landing-ink);
  font-size:1.55rem;
  font-weight:950;
  letter-spacing:-.04em;
}

.landing-brand img {
  width:44px;
  height:44px;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(15,23,42,.22);
}

.landing-navlinks {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:38px;
}

.landing-navlinks a,
.landing-nav-auth {
  color:#68758a;
  text-decoration:none;
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:.95rem;
  font-weight:850;
}

.landing-navlinks a:hover,
.landing-nav-auth:hover {
  color:var(--landing-blue);
}

.landing-top-actions {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}

.landing-cta,
.landing-hero-primary,
.landing-trial-form button,
.landing-pricing-card button,
.landing-submit,
.landing-contact-form button {
  border:none;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg, var(--landing-blue), var(--landing-cyan) 55%, var(--landing-violet));
  box-shadow:0 16px 36px rgba(37,99,235,.22);
}

.landing-cta {
  min-width:176px;
  min-height:52px;
  border-radius:12px;
  font-size:.98rem;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.landing-hero {
  width:min(1400px, calc(100% - 48px));
  min-height:calc(100vh - 105px);
  margin:0 auto;
  display:flex;
  align-items:center;
  padding:72px 0 84px;
}

.landing-hero-grid {
  width:100%;
  display:grid;
  grid-template-columns:minmax(430px, .88fr) minmax(520px, 1.12fr);
  align-items:center;
  gap:72px;
}

.landing-eyebrow,
.landing-section-kicker {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--landing-blue);
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.22em;
}

.landing-eyebrow {
  padding:9px 14px;
  margin-bottom:34px;
  border:1px solid #d8e3ff;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 26px rgba(37,99,235,.08);
}

.landing-spark {
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  color:var(--landing-violet);
  background:#fff;
  border:1px solid #d8e3ff;
  letter-spacing:0;
}

.landing-title {
  margin:0;
  max-width:790px;
  color:var(--landing-ink);
  font-size:clamp(4rem, 6.25vw, 7.3rem);
  line-height:.92;
  font-weight:1000;
  letter-spacing:-.055em;
}

.landing-grad {
  background:linear-gradient(100deg, var(--landing-blue), var(--landing-cyan) 52%, var(--landing-violet));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.landing-lead {
  max-width:640px;
  margin:34px 0 0;
  color:#5d6b80;
  font-size:1.34rem;
  line-height:1.7;
  letter-spacing:0;
}

.landing-hero-actions {
  margin-top:46px;
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
}

.landing-hero-primary {
  min-width:260px;
  height:66px;
  padding:0 26px;
  border-radius:13px;
  background:#0f172a;
  box-shadow:0 24px 48px rgba(15,23,42,.18);
  font-size:1.05rem;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.landing-hero-secondary {
  border:none;
  background:transparent;
  color:#334155;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:16px;
  font-size:1rem;
  font-weight:900;
}

.landing-play {
  width:46px;
  height:46px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  color:var(--landing-blue);
  background:#fff;
  border:1px solid #dbe5f2;
  box-shadow:0 18px 32px rgba(37,99,235,.1);
  font-size:.8rem;
}

.landing-proof-points {
  margin-top:46px;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  color:#738095;
  font-size:.85rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.landing-proof-points span::first-letter {
  color:var(--landing-cyan);
}

.landing-product-stage {
  position:relative;
  min-height:620px;
}

.landing-app-window {
  position:absolute;
  right:-18px;
  top:22px;
  width:min(720px, 100%);
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  background:#151d31;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:var(--landing-shadow);
  transform:perspective(1100px) rotateY(-5deg) rotateX(2deg);
}

.landing-window-bar {
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 26px;
  background:#151d31;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.landing-mini-brand {
  display:flex;
  align-items:center;
  gap:12px;
  color:#91a0b8;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.24em;
}

.landing-mini-brand img {
  width:20px;
  height:20px;
  border-radius:6px;
}

.landing-dots {
  display:flex;
  align-items:center;
  gap:12px;
}

.landing-dots span,
.landing-dots b {
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid rgba(99,218,220,.25);
}

.landing-dots b {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:none;
  color:#d7faff;
  background:#294a5f;
  font-size:.72rem;
}

.landing-app-body {
  padding:48px 34px 30px;
  background:linear-gradient(155deg, #111a2c, #182338 70%, #10233e);
}

.landing-kicker {
  display:block;
  color:#75869d;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.landing-app-body h2 {
  margin:8px 0 28px;
  color:#eaf2ff;
  font-size:1.35rem;
  letter-spacing:-.03em;
}

.landing-portfolio-value {
  margin:6px 0 8px;
  color:#fff;
  font-size:2.2rem;
  font-weight:950;
  letter-spacing:-.05em;
}

.landing-green,
.landing-mini-tile em {
  color:#1fe2c6;
  font-style:normal;
  font-weight:900;
}

.landing-chart {
  height:210px;
  margin:28px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
}

.landing-chart svg {
  width:100%;
  height:100%;
}

.landing-brief-card {
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  min-height:78px;
  margin-bottom:18px;
  padding:16px;
  border-radius:12px;
  background:#122944;
  border:1px solid rgba(37,99,235,.5);
}

.landing-brief-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#63f5ff;
  background:#16355f;
}

.landing-brief-card span,
.landing-float-signal small,
.landing-float-score small {
  display:block;
  color:#71829a;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.22em;
}

.landing-brief-card p {
  margin:4px 0 0;
  color:#9facbd;
  font-size:.78rem;
}

.landing-brief-card p b {
  color:#1fe2c6;
}

.landing-mini-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.landing-mini-tile {
  min-height:100px;
  padding:14px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.landing-mini-tile b {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:8px;
  border-radius:10px;
  color:#0f172a;
  background:#d8ffb4;
  font-size:1rem;
}

.landing-mini-tile:nth-child(2) b { background:#c9efff; }
.landing-mini-tile:nth-child(3) b { background:#ffd3ad; }

.landing-mini-tile span,
.landing-mini-tile strong {
  display:block;
}

.landing-mini-tile span {
  color:#7e8fa6;
  font-size:.7rem;
  margin-bottom:8px;
}

.landing-mini-tile strong {
  color:#fff;
  font-size:.95rem;
}

.landing-float-signal,
.landing-float-score {
  position:absolute;
  z-index:2;
  border-radius:14px;
  background:#10192d;
  color:#fff;
  border:1px solid rgba(37,99,235,.45);
  box-shadow:0 24px 54px rgba(15,23,42,.24);
}

.landing-float-signal {
  left:-22px;
  bottom:128px;
  min-width:270px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  align-items:center;
}

.landing-float-signal span {
  grid-row:span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#63f5ff;
  background:#16355f;
}

.landing-float-signal b {
  font-size:.8rem;
}

.landing-float-score {
  right:-8px;
  top:104px;
  width:122px;
  min-height:132px;
  padding:22px;
  border-color:rgba(124,58,237,.65);
}

.landing-float-score b {
  display:inline-block;
  margin-top:18px;
  color:#63f5ff;
  font-size:2rem;
  letter-spacing:-.05em;
}

.landing-float-score span {
  color:#94a3b8;
  font-size:.72rem;
}

.landing-section {
  width:min(1400px, calc(100% - 48px));
  margin:0 auto;
  padding:94px 0;
}

.landing-split-head {
  display:grid;
  grid-template-columns:1fr minmax(280px, 560px);
  gap:60px;
  align-items:end;
  margin-bottom:48px;
}

.landing-split-head h2,
.landing-access-band h2 {
  margin:16px 0 0;
  color:var(--landing-ink);
  font-size:clamp(2.8rem, 4.3vw, 5.5rem);
  line-height:.98;
  font-weight:1000;
  letter-spacing:-.055em;
}

.landing-split-head p,
.landing-access-band p {
  margin:0;
  color:#657287;
  font-size:1.25rem;
  line-height:1.65;
}

.landing-story-tabs {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  margin-bottom:42px;
  border-bottom:1px solid var(--landing-line);
}

.landing-story-tabs button {
  position:relative;
  border:none;
  background:transparent;
  cursor:pointer;
  color:#96a1ad;
  padding:22px 18px 28px;
  font-size:1rem;
  font-weight:950;
}

.landing-story-tabs button span {
  margin-right:16px;
  color:#a9b3bf;
  font-size:.78rem;
}

.landing-story-tabs button.active {
  color:var(--landing-ink);
}

.landing-story-tabs button.active span {
  color:var(--landing-violet);
}

.landing-story-tabs button.active::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:3px;
  background:linear-gradient(90deg, var(--landing-blue), var(--landing-violet));
}

.landing-workspace-card {
  min-height:610px;
  display:grid;
  grid-template-columns:1.35fr 1fr;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--landing-line);
  box-shadow:0 18px 60px rgba(15,23,42,.1);
}

.landing-workspace-light,
.landing-workspace-dark {
  min-width:0;
}

.landing-workspace-light {
  padding:58px 42px;
}

.landing-workspace-light h3,
.landing-contact h2 {
  margin:18px 0 8px;
  color:var(--landing-ink);
  font-size:2rem;
  font-weight:950;
  letter-spacing:-.04em;
}

.landing-workspace-light p,
.landing-contact p {
  margin:0;
  color:#7b8794;
  font-size:1rem;
  line-height:1.55;
}

.landing-big-number {
  margin:42px 0 20px;
  color:var(--landing-ink);
  font-size:2.5rem;
  font-weight:1000;
  letter-spacing:-.05em;
}

.landing-light-chart {
  height:230px;
  border-bottom:1px solid #dfe7f0;
  background:
    linear-gradient(180deg, transparent 24%, rgba(37,99,235,.08) 24% 25%, transparent 25% 49%, rgba(37,99,235,.08) 49% 50%, transparent 50%),
    radial-gradient(ellipse at 84% 36%, rgba(37,99,235,.33), transparent 33%),
    linear-gradient(135deg, transparent 8%, rgba(20,184,166,.08) 18%, rgba(37,99,235,.18) 55%, rgba(124,58,237,.22) 82%, transparent 83%);
  border-radius:4px;
}

.landing-allocation {
  margin-top:30px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px 22px;
  color:#7b8794;
  font-size:.9rem;
}

.landing-allocation span {
  display:flex;
  align-items:center;
  gap:12px;
}

.landing-allocation i {
  width:9px;
  height:9px;
  display:inline-block;
  border-radius:50%;
  background:var(--landing-blue);
}

.landing-allocation span:nth-of-type(2) i { background:var(--landing-violet); }
.landing-allocation span:nth-of-type(3) i { background:#f4bf4f; }

.landing-allocation b {
  color:var(--landing-ink);
}

.landing-workspace-dark {
  padding:56px 46px;
  color:#fff;
  background:linear-gradient(145deg, #0f172a, #12294c);
}

.landing-dark-head {
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#63f5ff;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.landing-dark-head small {
  color:#76869b;
  font-size:.65rem;
  font-weight:800;
  text-transform:none;
  letter-spacing:0;
}

.landing-risk-ring {
  display:flex;
  align-items:center;
  gap:24px;
  margin:38px 0 32px;
  padding:24px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);
}

.landing-ring {
  width:98px;
  height:98px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--landing-violet) 0 70%, rgba(255,255,255,.12) 70% 100%);
}

.landing-ring span {
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#16233b;
  font-size:1.7rem;
}

.landing-risk-ring small {
  display:block;
  color:#7e8ba0;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.landing-risk-ring b {
  display:block;
  margin:8px 0;
  font-size:1.2rem;
}

.landing-risk-ring p,
.landing-review-item p {
  margin:0;
  color:#8492a6;
  line-height:1.5;
}

.landing-review-list {
  border-top:1px solid rgba(255,255,255,.1);
}

.landing-review-item {
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:18px 20px;
  padding:24px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.landing-review-item span {
  color:#29d6ee;
  font-weight:950;
  font-size:.78rem;
}

.landing-review-item b {
  display:block;
  margin-bottom:8px;
  grid-column:2;
  min-width:0;
  font-size:1rem;
  line-height:1.25;
}

.landing-review-item p {
  grid-column:2;
  max-width:54ch;
  min-width:0;
  font-size:.96rem;
}

.landing-disclaimer {
  margin:18px 0 0;
  color:#9aa7b5;
  text-align:center;
  font-size:.82rem;
}

.landing-modules {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}

.landing-module-card,
.landing-pricing-card,
.landing-contact-form {
  background:rgba(255,255,255,.78);
  border:1px solid var(--landing-line);
  border-radius:18px;
  box-shadow:0 14px 40px rgba(15,23,42,.08);
}

.landing-module-card {
  padding:26px;
}

.landing-module-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:14px;
  background:#edf5ff;
  font-size:1.35rem;
}

.landing-module-card h3,
.landing-pricing-card h3 {
  margin:0 0 10px;
  color:var(--landing-ink);
  font-size:1.12rem;
  font-weight:950;
}

.landing-module-card p,
.landing-pricing-card p {
  margin:0;
  color:#657287;
  line-height:1.58;
}

.landing-billing {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.landing-billing button,
.landing-auth-billing button {
  border:1px solid var(--landing-line);
  border-radius:999px;
  padding:10px 18px;
  background:#fff;
  color:#64748b;
  cursor:pointer;
  font-weight:900;
}

.landing-billing button.active,
.landing-auth-billing button.active {
  color:#fff;
  border-color:#0f172a;
  background:#0f172a;
}

.landing-pricing-grid {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:16px;
}

.landing-pricing-card {
  position:relative;
  padding:26px 20px;
  display:flex;
  flex-direction:column;
  min-height:270px;
}

.landing-pricing-card.featured {
  border-color:#0f172a;
  transform:translateY(-8px);
}

.landing-pricing-card small {
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  padding:4px 12px;
  color:#fff;
  background:#0f172a;
  border-radius:999px;
  font-size:.62rem;
  font-weight:950;
  text-transform:uppercase;
  white-space:nowrap;
}

.landing-price {
  margin:0 0 16px;
  color:var(--landing-ink);
  font-size:1.75rem;
  font-weight:1000;
  letter-spacing:-.04em;
}

.landing-price span {
  color:#94a3b8;
  font-size:.78rem;
  font-weight:800;
}

.landing-pricing-card button {
  width:100%;
  min-height:44px;
  margin-top:auto;
  border-radius:11px;
  font-weight:950;
}

.landing-access-band {
  position:relative;
  overflow:hidden;
  margin-top:50px;
  padding:110px 24px 118px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 50% 35%, rgba(20,184,166,.18), transparent 30%),
    linear-gradient(145deg, #0f172a, #10223c);
}

.landing-access-band::before,
.landing-access-band::after {
  content:"";
  position:absolute;
  inset:18% 18%;
  border:2px solid rgba(124,58,237,.22);
  border-radius:50%;
  transform:rotate(-12deg);
}

.landing-access-band::after {
  inset:24% 22%;
  transform:rotate(14deg);
  border-color:rgba(37,99,235,.22);
}

.landing-access-band > * {
  position:relative;
  z-index:1;
}

.landing-access-band .landing-section-kicker {
  color:#63f5ff;
}

.landing-access-band h2 {
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
  color:#fff;
}

.landing-access-band p {
  max-width:800px;
  margin:26px auto 34px;
  color:#91a2b7;
}

.landing-trial-form {
  width:min(620px, 100%);
  min-height:70px;
  margin:0 auto;
  padding:8px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
}

.landing-trial-form input {
  width:100%;
  min-width:0;
  border:none;
  color:#fff;
  background:transparent;
  padding:0 18px;
  outline:none;
}

.landing-trial-form input::placeholder {
  color:#74859b;
}

.landing-trial-form button {
  border-radius:12px;
  padding:0 28px;
  font-weight:950;
}

.landing-access-band small {
  display:block;
  margin-top:18px;
  color:#73849a;
}

.landing-contact-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:48px;
  align-items:start;
}

.landing-contact-note {
  margin-top:28px;
  padding:18px;
  border-radius:14px;
  color:#64748b;
  background:#eef6ff;
  border:1px solid var(--landing-line);
  line-height:1.55;
}

.landing-contact-form {
  padding:26px;
  display:grid;
  gap:14px;
}

.landing-contact-form label,
.landing-form label {
  display:grid;
  gap:7px;
  color:#52627a;
  font-size:.78rem;
  font-weight:900;
}

.landing-contact-form input,
.landing-contact-form textarea,
.landing-form input {
  width:100%;
  border:1px solid var(--landing-line);
  border-radius:11px;
  background:#f8fbff;
  color:#0f172a;
  padding:12px 13px;
  outline:none;
}

.landing-contact-form textarea {
  resize:vertical;
}

#pcWebsite {
  position:absolute;
  left:-9999px;
  top:-9999px;
  width:1px;
  height:1px;
  opacity:0;
}

.landing-contact-form button {
  min-height:48px;
  border-radius:12px;
  font-weight:950;
}

.landing-contact-status {
  padding:11px 13px;
  border-radius:10px;
  background:#ecfeff;
  color:#0f766e;
  border:1px solid #99f6e4;
}

.landing-footer {
  width:min(1400px, calc(100% - 48px));
  min-height:110px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:20px;
  align-items:center;
  color:#95a1ae;
  border-top:1px solid var(--landing-line);
}

.landing-footer > span:last-child {
  text-align:right;
}

.landing-auth-modal {
  position:fixed;
  inset:0;
  z-index:4000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,13,25,.62);
  backdrop-filter:blur(14px);
}

.landing-auth-modal.active {
  display:flex;
}

.landing-auth-card {
  position:relative;
  width:min(980px, 100%);
  max-height:min(92vh, 900px);
  overflow:auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(219,229,242,.9);
  box-shadow:0 40px 100px rgba(0,0,0,.25);
}

.landing-auth-close {
  position:absolute;
  right:18px;
  top:18px;
  z-index:3;
  width:42px;
  height:42px;
  border:1px solid var(--landing-line);
  border-radius:12px;
  color:#475569;
  background:#f8fbff;
  cursor:pointer;
  font-size:1.3rem;
}

.landing-auth-preview {
  padding:44px;
  color:#fff;
  background:linear-gradient(155deg,#0f172a,#13294b);
}

.landing-auth-preview img {
  width:46px;
  height:46px;
  border-radius:12px;
  margin-bottom:18px;
}

.landing-auth-preview > span {
  display:block;
  color:#63f5ff;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.2em;
}

.landing-auth-preview h2 {
  margin:18px 0 12px;
  color:#fff;
  font-size:2.45rem;
  line-height:1;
  letter-spacing:-.05em;
}

.landing-auth-preview p {
  color:#9fb0c7;
  line-height:1.65;
}

.landing-auth-metric {
  margin-top:38px;
  padding:20px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}

.landing-auth-metric b,
.landing-auth-metric span {
  display:block;
}

.landing-auth-metric span {
  margin-top:8px;
  color:#9fb0c7;
}

.landing-auth-panel {
  padding:44px;
}

.landing-auth-tabs,
.landing-auth-billing {
  display:flex;
  gap:8px;
  padding:5px;
  margin-bottom:18px;
  border-radius:14px;
  background:#edf4ff;
}

.landing-auth-tabs button {
  flex:1;
  border:none;
  border-radius:11px;
  padding:11px 12px;
  color:#64748b;
  background:transparent;
  cursor:pointer;
  font-weight:950;
}

.landing-auth-tabs button.active {
  color:#fff;
  background:#0f172a;
}

.landing-form {
  display:grid;
  gap:13px;
}

.landing-form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.landing-password-wrap {
  position:relative;
  display:block;
}

.landing-password-wrap input {
  padding-right:46px;
}

.landing-password-wrap button {
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:none;
  border-radius:9px;
  background:transparent;
  cursor:pointer;
}

.landing-submit {
  min-height:50px;
  border-radius:12px;
  font-weight:950;
}

.landing-link-btn {
  border:none;
  background:transparent;
  color:var(--landing-blue);
  cursor:pointer;
  font-weight:900;
}

.landing-form-message {
  padding:11px 13px;
  border-radius:10px;
  background:#f0fdf4;
  color:#15803d;
}

.landing-form-message.landing-error,
#loginError {
  background:#fef2f2 !important;
  border:1px solid #fecaca !important;
  color:#dc2626 !important;
}

.landing-auth-billing {
  margin:0;
}

.landing-auth-billing button {
  flex:1;
  border-radius:11px;
}

.landing-auth-billing span {
  color:#14b8a6;
}

.landing-mini-plans {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:8px;
}

.landing-mini-plan {
  min-height:116px;
  border:2px solid var(--landing-line);
  border-radius:14px;
  background:#f8fbff;
  color:#0f172a;
  cursor:pointer;
  padding:10px 8px;
  text-align:left;
}

.landing-mini-plan.active {
  border-color:#0f172a;
  background:#eef6ff;
}

.landing-mini-plan b,
.landing-mini-plan span,
.landing-mini-plan small {
  display:block;
}

.landing-mini-plan b {
  font-size:.82rem;
}

.landing-mini-plan span {
  margin:5px 0;
  color:#2563eb;
  font-size:.75rem;
  font-weight:950;
}

.landing-mini-plan small {
  color:#64748b;
  line-height:1.35;
}

.landing-auth-fineprint {
  margin:18px 0 0;
  color:#94a3b8;
  text-align:center;
  font-size:.74rem;
  line-height:1.5;
}

#authScreen.public-landing-root input:focus,
#authScreen.public-landing-root textarea:focus {
  border-color:var(--landing-blue) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
}

@media (max-width: 1180px) {
  .landing-topbar {
    grid-template-columns:1fr auto;
  }
  .landing-navlinks {
    display:none;
  }
  .landing-hero-grid,
  .landing-split-head,
  .landing-contact-grid {
    grid-template-columns:1fr;
  }
  .landing-product-stage {
    min-height:560px;
  }
  .landing-app-window {
    position:relative;
    right:auto;
    top:auto;
    width:100%;
    transform:none;
  }
  .landing-float-signal {
    left:18px;
    bottom:40px;
  }
  .landing-float-score {
    right:18px;
    top:88px;
  }
  .landing-modules,
  .landing-pricing-grid {
    grid-template-columns:repeat(2, 1fr);
  }
  .landing-workspace-card,
  .landing-auth-card {
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px) {
  .landing-topbar,
  .landing-hero,
  .landing-section,
  .landing-footer {
    width:min(100% - 28px, 1400px);
  }
  .landing-topbar {
    min-height:auto;
    grid-template-columns:1fr;
    gap:14px;
    padding:18px 0 14px;
    align-items:start;
  }
  .landing-brand {
    font-size:1.25rem;
  }
  .landing-brand img {
    width:38px;
    height:38px;
  }
  .landing-top-actions {
    width:100%;
    display:grid;
    grid-template-columns:minmax(92px, .72fr) minmax(156px, 1.28fr);
    gap:10px;
  }
  .landing-nav-auth {
    min-height:44px;
    padding:0 12px;
    border:1px solid rgba(100,116,139,.22);
    border-radius:14px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 28px rgba(15,23,42,.08);
    color:#334155;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
  }
  .landing-cta {
    min-width:auto;
    min-height:44px;
    padding:0 14px;
    font-size:.84rem;
    width:100%;
    white-space:nowrap;
  }
  .landing-hero {
    min-height:auto;
    padding:46px 0 58px;
  }
  .landing-hero-grid {
    gap:42px;
  }
  .landing-title {
    font-size:3.35rem;
  }
  .landing-lead {
    font-size:1.05rem;
  }
  .landing-hero-primary {
    width:100%;
  }
  .landing-product-stage {
    min-height:auto;
  }
  .landing-float-signal,
  .landing-float-score {
    position:static;
    margin-top:14px;
    width:100%;
  }
  .landing-mini-grid,
  .landing-modules,
  .landing-pricing-grid,
  .landing-story-tabs,
  .landing-workspace-card,
  .landing-form-grid,
  .landing-mini-plans {
    grid-template-columns:1fr;
  }
  .landing-story-tabs button {
    text-align:left;
    padding:16px 8px;
  }
  .landing-workspace-light,
  .landing-workspace-dark,
  .landing-auth-panel,
  .landing-auth-preview {
    padding:28px 22px;
  }
  .landing-access-band {
    padding:76px 18px 86px;
  }
  .landing-trial-form {
    grid-template-columns:1fr;
  }
  .landing-trial-form input,
  .landing-trial-form button {
    min-height:52px;
  }
  .landing-footer {
    grid-template-columns:1fr;
    text-align:left;
    padding:28px 0;
  }
  .landing-footer > span:last-child {
    text-align:left;
  }
  .landing-auth-modal {
    padding:12px;
  }
}
