:root {
  --bg: #070b17;
  --bg2: #091426;
  --panel: rgba(17,26,48,0.88);
  --panel-solid: #111a30;
  --panel-2: #17223f;
  --text: #eef3ff;
  --muted: #9ba8c7;
  --line: rgba(255,255,255,0.11);
  --buy: #20c997;
  --sell: #ff6b6b;
  --hold: #ffd166;
  --info: #6ea8fe;
  --purple: #b197fc;
  --sidebar: 292px;
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: radial-gradient(circle at 10% 0%, #23417e 0, rgba(35,65,126,0.38) 25%, transparent 48%), linear-gradient(135deg, #070b17 0%, #0a1022 54%, #050812 100%); min-height: 100vh; }
a { color: inherit; text-decoration: none; }
.nav-toggle { display: none; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar); background: rgba(5, 9, 20, 0.86); border-right: 1px solid var(--line); backdrop-filter: blur(18px); z-index: 30; padding: 18px 16px; overflow-y: auto; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 950; letter-spacing: -0.04em; }
.brand-mark { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 15px; background: linear-gradient(135deg, var(--info), var(--buy)); color: #061020; box-shadow: 0 16px 44px rgba(110,168,254,.22); }
.brand > .brand-mark { flex: 0 0 44px; width: 44px !important; height: 44px !important; overflow: hidden; }
.brand > .brand-mark > img { width: 40px !important; height: 40px !important; max-width: 40px !important; max-height: 40px !important; object-fit: contain; display: block; }
.brand small { display: block; color: #8fc7ff; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; margin-top: 2px; }
.symbol-jump { display: grid; grid-template-columns: 1fr 44px; gap: 8px; margin: 12px 0 18px; }
.symbol-jump input { height: 44px; }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); width: 42px; height: 42px; border-radius: 14px; color: var(--text); background: rgba(255,255,255,.06); cursor: pointer; }
.mobile-only, .mobile-menu { display: none; }
.side-nav { display: grid; gap: 8px; color: var(--muted); font-size: 14px; }
.side-nav a, .side-nav summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; border-radius: 12px; cursor: pointer; }
.side-nav a:hover, .side-nav summary:hover, .side-nav .active { background: rgba(255,255,255,.08); color: var(--text); }
.side-nav details { border: 1px solid transparent; border-radius: 16px; }
.side-nav details[open] { border-color: rgba(255,255,255,.06); background: rgba(255,255,255,.025); padding-bottom: 6px; }
.side-nav details a { margin-left: 8px; padding: 8px 10px; font-size: 13px; }
.side-nav summary { font-weight: 900; color: #dce7ff; list-style: none; }
.side-nav summary::-webkit-details-marker { display: none; }
.side-nav summary:after { content: "⌄"; color: var(--muted); }
.nav-home { font-weight: 900; color: #dce7ff !important; }
.shell-main { margin-left: var(--sidebar); min-height: 100vh; display: flex; flex-direction: column; }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 28px; border-bottom: 1px solid var(--line); background: rgba(7, 11, 23, 0.64); backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 20; }
.topbar strong { letter-spacing: -.02em; }.top-eyebrow { margin: 0 0 3px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8fc7ff; font-weight: 900; }.top-actions { display: flex; gap: 10px; }
.container { width: min(1320px, calc(100vw - var(--sidebar) - 42px)); margin: 0 auto; padding: 30px 22px 60px; flex: 1; }
.hero, .stock-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 30px; border: 1px solid var(--line); border-radius: 30px; background: linear-gradient(135deg, rgba(255,255,255,0.105), rgba(255,255,255,0.035)); box-shadow: 0 24px 80px rgba(0,0,0,0.28); margin-bottom: 24px; overflow: hidden; position: relative; }
.hero:before { content: ""; position: absolute; right: -90px; top: -90px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(110,168,254,.24), transparent 65%); pointer-events: none; }
.hero > * { position: relative; z-index: 1; }.compact-hero h1 { font-size: clamp(30px, 4.5vw, 54px); }
h1 { font-size: clamp(34px, 5.6vw, 72px); line-height: .95; margin: 8px 0 14px; letter-spacing: -0.065em; max-width: 910px; }
h2 { margin: 0 0 12px; letter-spacing: -0.035em; }.panel h2, .metric h2 { font-size: 24px; }
.eyebrow { color: #8fc7ff; text-transform: uppercase; letter-spacing: 0.16em; font-size: 12px; font-weight: 950; margin: 0; }
.muted { color: var(--muted); }.small { font-size: 13px; }.lead { font-size: 18px; line-height: 1.58; color: #dbe5fb; max-width: 780px; }
.add-form { min-width: 330px; background: rgba(0,0,0,0.2); border: 1px solid var(--line); border-radius: 20px; padding: 16px; }
.add-form label, .inline-form label { display: block; font-weight: 900; margin-bottom: 8px; }.add-form div { display: flex; gap: 8px; }
.compare-form { min-width: 420px; }.alert-form, .calc-form { min-width: 280px; }.stacked-form { display: grid !important; grid-template-columns: 1fr; gap: 8px; }
.inline-form { display: grid; grid-template-columns: 90px 80px 90px 80px auto; gap: 8px; align-items: end; min-width: 430px; background: rgba(0,0,0,.18); border: 1px solid var(--line); border-radius: 18px; padding: 14px; }
input, select { width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,0.08); color: var(--text); border-radius: 13px; padding: 12px 13px; outline: none; }
input:focus, select:focus { border-color: rgba(110,168,254,.65); box-shadow: 0 0 0 4px rgba(110,168,254,.12); } select option { color: #101522; }
button { border: none; border-radius: 13px; padding: 12px 15px; cursor: pointer; font-weight: 950; background: var(--info); color: #071022; } button:hover, .button-link:hover { transform: translateY(-1px); } button.ghost { background: transparent; color: var(--muted); border: 1px solid var(--line); padding: 9px 11px; } button.danger { color: var(--sell); }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }.grid.two, .two { grid-template-columns: repeat(2, minmax(0, 1fr)); }.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card, .panel, .metric, .kpi { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 50px rgba(0,0,0,0.18); }.card, .panel { padding: 20px; }.metric, .kpi { padding: 18px; }
.card { transition: transform .18s ease, border-color .18s ease; }.card:hover { transform: translateY(-2px); border-color: rgba(110,168,254,.34); }
.clickable-card { cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.clickable-card:hover { transform: translateY(-3px); border-color: rgba(37,99,235,.38) !important; box-shadow: 0 22px 52px rgba(37,99,235,.16) !important; }
.clickable-card:focus-visible { outline: 3px solid rgba(37,99,235,.48); outline-offset: 3px; }
.card-head, .price-row, .section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }.section-head { align-items: center; margin: 28px 0 14px; }
.card h2 { font-size: 30px; margin: 0; letter-spacing: -0.04em; }.pill { display: inline-flex; padding: 8px 11px; border-radius: 999px; font-size: 12px; font-weight: 950; background: var(--panel-2); white-space: nowrap; }
.signal-buy .pill, .signal-strong-buy .pill, .signal-buy .big-signal span, .signal-strong-buy .big-signal span, .mini-pill.signal-buy, .mini-pill.signal-strong-buy { background: rgba(32,201,151,0.18); color: var(--buy); }
.signal-sell .pill, .signal-strong-sell .pill, .signal-sell .big-signal span, .signal-strong-sell .big-signal span, .mini-pill.signal-sell, .mini-pill.signal-strong-sell { background: rgba(255,107,107,0.18); color: var(--sell); }
.signal-hold .pill, .signal-hold .big-signal span, .mini-pill.signal-hold { background: rgba(255,209,102,0.18); color: var(--hold); }
.price { font-size: 34px; font-weight: 950; letter-spacing: -0.05em; }.score { color: var(--muted); padding-top: 12px; text-align: right; }
.mini-metrics, .tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }.mini-metrics span, .tag { font-size: 12px; color: var(--muted); background: rgba(255,255,255,0.06); padding: 7px 9px; border-radius: 999px; }
.reason { color: #d8e1f8; min-height: 48px; }.alert { border: 1px solid rgba(255,107,107,0.45); background: rgba(255,107,107,0.1); padding: 16px 20px; border-radius: 18px; margin-bottom: 20px; }
.big-signal { text-align: right; min-width: 190px; }.big-signal span { display: inline-flex; padding: 10px 16px; border-radius: 999px; font-weight: 950; background: rgba(110,168,254,.14); color: #9fc8ff; }.big-signal strong { display: block; margin-top: 10px; font-size: 42px; letter-spacing: -.055em; }.big-signal small { color: var(--muted); display: block; }
.split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 18px; }.reasons { margin: 0; padding-left: 20px; color: #dbe5fb; }.reasons li { margin: 10px 0; }
.kv { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 0; }.kv dt { color: var(--muted); }.kv dd { margin: 0; font-weight: 850; text-align: right; }
.footer { color: var(--muted); text-align: center; padding: 28px; border-top: 1px solid var(--line); }
.actions-row, .card-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }.no-margin { margin-top: 0; }.quick-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.button-link, .ghost-link { display: inline-flex; align-items: center; justify-content: center; border-radius: 13px; padding: 11px 14px; font-weight: 900; background: var(--info); color: #071022; text-decoration: none; transition: transform .16s ease, border-color .16s ease; }
.button-link.secondary, .ghost-link { background: rgba(255,255,255,.045); color: #dce7ff; border: 1px solid var(--line); }.button-link.compact { margin-top: 12px; padding: 9px 12px; font-size: 13px; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }.metric span, .kpi span { display: block; color: var(--muted); font-size: 13px; }.metric strong, .kpi strong { display: block; font-size: 31px; letter-spacing: -0.055em; margin: 8px 0; }.metric small, .kpi small { color: var(--muted); }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; font-size: 14px; } th, td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; } th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
.positive { color: var(--buy); font-weight: 850; }.negative { color: var(--sell); font-weight: 850; }.positive-bg { background: rgba(32,201,151,0.12) !important; color: var(--buy) !important; }.negative-bg { background: rgba(255,107,107,0.12); color: var(--sell); }
.mini-pill { display: inline-flex; border-radius: 999px; padding: 5px 8px; font-size: 11px; font-weight: 950; background: rgba(255,255,255,.08); color: var(--muted); }.muted-pill { opacity: .65; }
.table-actions { display: flex; gap: 8px; }.trigger-row { background: rgba(32,201,151,.08); }.risk-high { border-color: rgba(255,107,107,.35); }.risk-medium { border-color: rgba(255,209,102,.26); }.risk-low { border-color: rgba(32,201,151,.25); } canvas { max-width: 100%; }
.hero-panel { min-width: 260px; padding: 22px; border-radius: 24px; border: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.20); }.hero-panel strong { display: block; font-size: 56px; letter-spacing: -.07em; margin: 14px 0 2px; }.hero-panel small { color: var(--muted); line-height: 1.45; }.feature-card h2 { margin-top: 14px; }.timeline { display: grid; gap: 12px; }.timeline-row { display: grid; grid-template-columns: 80px 1fr; gap: 14px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.035); }.timeline-row p { margin: 4px 0 0; }
.flow-list { display: grid; gap: 12px; padding-left: 22px; }.flow-list li { padding: 10px 0; }.flow-list a { color: #9fc8ff; font-weight: 950; display: block; margin-bottom: 3px; }.flow-list span { color: var(--muted); }.primary-flow { background: linear-gradient(135deg, rgba(110,168,254,.14), rgba(17,26,48,.88)); }
.link-list { display: grid; gap: 8px; }.link-list a { padding: 10px 12px; border: 1px solid var(--line); border-radius: 13px; color: #dce7ff; background: rgba(255,255,255,.035); }.link-list a:hover { border-color: rgba(110,168,254,.45); background: rgba(110,168,254,.08); }.nav-map .panel h2 { color: #9fc8ff; }
.link-list a { color: #183962; background: rgba(255,255,255,.82); border-color: rgba(25,64,120,.18); font-weight: 800; }
.link-list a:hover { color: #0b2f68; background: #eaf3ff; }
tr.clickable-card:hover td { background: #eaf3ff; }
@media (max-width: 1180px) { .grid, .grid.two, .split, .metrics-grid { grid-template-columns: 1fr 1fr; } .container { width: calc(100vw - var(--sidebar) - 28px); } }
@media (max-width: 900px) { .mobile-only, .mobile-menu { display: inline-flex; } .sidebar { transform: translateX(-105%); transition: transform .2s ease; box-shadow: 30px 0 80px rgba(0,0,0,.5); } .nav-toggle:checked ~ .sidebar { transform: translateX(0); } .scrim { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 25; } .nav-toggle:checked ~ .scrim { display: block; } .shell-main { margin-left: 0; } .container { width: min(100%, 100vw); padding: 22px 14px 50px; } .topbar { padding: 12px 14px; } .top-actions { display: none; } .hero, .stock-header, .quick-actions { flex-direction: column; align-items: stretch; padding: 22px; border-radius: 24px; } .add-form, .compare-form, .inline-form { min-width: 0; width: 100%; } .inline-form { grid-template-columns: 1fr; } .grid, .grid.two, .split, .metrics-grid { grid-template-columns: 1fr; } h1 { font-size: clamp(36px, 12vw, 54px); } .card-head, .section-head { flex-direction: column; align-items: stretch; } .timeline-row { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .actions-row { align-items: stretch; } .actions-row a, .actions-row button { width: 100%; } .add-form div { flex-direction: column; } table { font-size: 13px; } th, td { padding: 9px 8px; } .price { font-size: 28px; } }
/* V27 Stock Universe OS */
.warning-bg { background: rgba(255,209,102,0.14) !important; color: var(--hold) !important; }
.symbol-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.symbol-cloud .mini-pill { border: 1px solid rgba(255,255,255,.08); }
.tight { margin: 0 0 12px !important; }
.wrap-actions { margin-top: 0; }
.compact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stock-command-hero h1 { max-width: 1000px; }
.big-card h2 { line-height: 1.2; font-size: clamp(22px, 3vw, 34px); }
@media (max-width: 900px) { .compact-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .compact-grid { grid-template-columns: 1fr; } }

/* V28 Fast Platform OS */
.fast-hero .hero-panel strong { font-size: clamp(2rem, 5vw, 4rem); }
.wrap-actions { flex-wrap: wrap; }
.compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px) { .compact-grid { grid-template-columns: 1fr; } }

/* V29 Homepage Signal Board */
.home-buy-board { margin: 22px 0; background: linear-gradient(135deg, rgba(32,201,151,.10), rgba(17,26,48,.88)); }
.buy-signals-hero:before { background: radial-gradient(circle, rgba(32,201,151,.24), transparent 65%); }
.buy-board-table td, .buy-board-table th { vertical-align: top; }
.buy-board-table tr:hover { background: rgba(32,201,151,.045); }
.buy-board-panel .kv { grid-template-columns: 150px 1fr; }
@media (max-width: 720px) {
  .home-buy-board .section-head { gap: 10px; }
  .buy-board-table { min-width: 920px; }
}

/* V38 desktop platform navigation: full-width command bar */
@media (min-width: 901px) {
  body:not(.admin-shell) {
    --sidebar: 0px;
  }

  body:not(.admin-shell) .sidebar {
    position: sticky;
    inset: 0 0 auto 0;
    width: 100%;
    min-height: 0;
    padding: 12px clamp(18px, 2vw, 34px) 10px;
    display: grid;
    grid-template-columns: auto minmax(280px, 430px);
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    overflow: visible;
    z-index: 70;
    border: 0;
    border-bottom: 1px solid rgba(31,74,125,.13);
    box-shadow: 0 12px 34px rgba(31,74,125,.10);
    background: rgba(247,251,255,.94) !important;
    backdrop-filter: blur(20px);
  }

  body:not(.admin-shell) .sidebar-head {
    margin: 0;
  }

  body:not(.admin-shell) .brand {
    min-width: max-content;
  }

  body:not(.admin-shell) .brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  body:not(.admin-shell) .symbol-jump {
    margin: 0;
    min-width: 0;
  }

  body:not(.admin-shell) .side-nav {
    position: relative;
    display: flex;
    align-items: center;
    grid-column: 1 / -1;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    overflow: visible;
  }

  body:not(.admin-shell) .side-nav > .nav-home,
  body:not(.admin-shell) .side-nav > details > summary {
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 9px 11px;
    border-radius: 10px;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 850;
  }

  body:not(.admin-shell) .side-nav > .nav-home:nth-of-type(n+5) {
    display: none;
  }

  body:not(.admin-shell) .side-nav > details {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
  }

  body:not(.admin-shell) .side-nav > details[open] {
    background: transparent !important;
  }

  body:not(.admin-shell) .side-nav > details > summary {
    list-style: none;
    cursor: pointer;
  }

  body:not(.admin-shell) .side-nav > details > summary::-webkit-details-marker {
    display: none;
  }

  body:not(.admin-shell) .side-nav > details > summary::after {
    content: "\2304";
    margin-left: 7px;
    color: #6480a3;
    font-size: 11px;
  }

  body:not(.admin-shell) .side-nav > details > a {
    display: none;
  }

  body:not(.admin-shell) .side-nav > details[open] > a {
    display: flex;
    position: absolute;
    right: 0;
    width: 250px;
    padding: 10px 14px;
    background: rgba(255,255,255,.98);
    border-left: 1px solid rgba(31,74,125,.12);
    border-right: 1px solid rgba(31,74,125,.12);
    z-index: 90;
    box-shadow: 0 18px 35px rgba(31,74,125,.13);
  }

  body:not(.admin-shell) .side-nav > details[open] > a:first-of-type {
    top: 44px;
    border-top: 1px solid rgba(31,74,125,.12);
    border-radius: 14px 14px 0 0;
  }

  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(2) { top: 84px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(3) { top: 124px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(4) { top: 164px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(5) { top: 204px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(6) { top: 244px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(7) { top: 284px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(8) { top: 324px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(9) { top: 364px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(10) { top: 404px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(11) { top: 444px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(12) { top: 484px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(13) { top: 524px; }
  body:not(.admin-shell) .side-nav > details[open] > a:nth-of-type(14) { top: 564px; }
  body:not(.admin-shell) .side-nav > details[open] > a:last-of-type {
    border-bottom: 1px solid rgba(31,74,125,.12);
    border-radius: 0 0 14px 14px;
  }

  body:not(.admin-shell) .shell-main {
    margin-left: 0;
  }

  body:not(.admin-shell) .topbar {
    padding: 10px clamp(22px, 3vw, 48px);
    position: relative;
    border-radius: 0;
  }

  body:not(.admin-shell) .container {
    width: min(1640px, calc(100vw - 36px));
    padding: 24px 0 56px;
  }

  body:not(.admin-shell) .concept-hero {
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  }

  body:not(.admin-shell) .concept-hero-copy h1 {
    max-width: 900px;
  }
}

@media (min-width: 901px) and (max-width: 1280px) {
  body:not(.admin-shell) .sidebar {
    grid-template-columns: auto minmax(250px, 360px);
  }
}

.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px;
  border: 1px solid rgba(31,74,125,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
}

.language-switch a {
  padding: 6px 8px;
  border-radius: 8px;
  color: #56708f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
}

.language-switch a.active {
  color: #fff;
  background: linear-gradient(135deg, #2e6ce8, #174ebf);
}

.signal-time {
  display: block;
  margin-top: 8px;
  color: #617792 !important;
  font-size: 11px !important;
  font-weight: 750;
  line-height: 1.35;
}

.concept-table td:last-child .signal-time {
  margin: 0 0 7px;
  white-space: nowrap;
}

/* V30 All Signal Board */
.home-all-board, .signal-board-hero { background: linear-gradient(135deg, rgba(90,169,255,.10), rgba(17,26,48,.88)); }
.category-summary-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.category-summary-card h2 { font-size: 38px; margin: 10px 0 4px; }
.signal-category-block { margin-top: 20px; }
.signal-board-table td:nth-child(6), .signal-board-table td:nth-child(7) { white-space: normal; min-width: 180px; }
.compact-signal-table td:nth-child(7) { white-space: normal; min-width: 220px; }
.signal-accuracy-note { border-color: rgba(255,209,102,.24); background: linear-gradient(135deg, rgba(255,209,102,.08), rgba(17,26,48,.92)); }
.compact-list { margin: 10px 0 0; padding-left: 20px; color: var(--muted); }
.compact-list li { margin: 6px 0; }
.right-note { text-align: right; color: var(--muted); }
.right-note strong { display: block; color: var(--text); font-size: 26px; }
@media (max-width: 820px) { .right-note { text-align: left; } .compact-signal-table td:nth-child(7) { min-width: 260px; } }

/* V31 Platform Polish / Light SaaS layer */
:root {
  --bg: #edf4ff;
  --bg2: #f6f9ff;
  --panel: rgba(255,255,255,0.88);
  --panel-solid: #ffffff;
  --panel-2: #eef4ff;
  --text: #14213d;
  --muted: #5e6d86;
  --line: rgba(26,45,78,0.12);
  --buy: #098b65;
  --sell: #c7374a;
  --hold: #a66a00;
  --info: #2f6df6;
  --purple: #6b4fd8;
}
html, body { max-width: 100%; overflow-x: hidden; }
body {
  color: var(--text);
  background:
    radial-gradient(circle at 0% 0%, rgba(78,145,255,.24) 0, transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(32,201,151,.16) 0, transparent 32%),
    linear-gradient(135deg, #eef5ff 0%, #f7fbff 48%, #eaf1fb 100%);
}
body, .panel, .card, .metric, .kpi, .hero, .stock-header, .hero-panel, .table-wrap, td, th, p, h1, h2, h3, a, span, small, strong, dd, dt, li {
  overflow-wrap: anywhere;
  word-break: normal;
}
.sidebar {
  background: rgba(255,255,255,0.88);
  box-shadow: 18px 0 44px rgba(47,109,246,.08);
}
.brand small, .eyebrow, .top-eyebrow { color: #2f6df6; }
.brand-mark { color: #ffffff; background: linear-gradient(135deg, #2f6df6, #0ca678); }
.side-nav { color: #5e6d86; }
.side-nav summary, .nav-home { color: #17233f !important; }
.side-nav a:hover, .side-nav summary:hover, .side-nav .active { background: #eef4ff; color: #0c1c3b; }
.side-nav details[open] { border-color: rgba(47,109,246,.12); background: rgba(238,244,255,.64); }
.shell-main { background: transparent; }
.topbar { background: rgba(255,255,255,0.82); border-bottom-color: rgba(26,45,78,.10); box-shadow: 0 10px 30px rgba(32,48,80,.06); }
.hero, .stock-header, .light-hero {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(235,244,255,.88));
  box-shadow: 0 22px 60px rgba(47,109,246,.10);
}
.hero:before { background: radial-gradient(circle, rgba(47,109,246,.18), transparent 68%); }
.hero-panel { background: rgba(255,255,255,.78); }
.hero-panel strong, .price, .metric strong, .kpi strong, .right-note strong { color: #102044; }
.card, .panel, .metric, .kpi { box-shadow: 0 14px 36px rgba(30,55,100,.08); }
input, select { background: #ffffff; color: var(--text); border-color: rgba(26,45,78,.16); }
button, .button-link { color: #ffffff; background: linear-gradient(135deg, #2f6df6, #1554d1); }
.button-link.secondary, .ghost-link, button.ghost { background: #ffffff; color: #1f3767; border: 1px solid rgba(26,45,78,.16); }
.mini-metrics span, .tag, .mini-pill { background: #eef4ff; color: #38506e; }
.signal-buy .pill, .signal-strong-buy .pill, .signal-buy .big-signal span, .signal-strong-buy .big-signal span, .mini-pill.signal-buy, .mini-pill.signal-strong-buy, .positive-bg { background: rgba(9,139,101,.12) !important; color: #087456 !important; }
.signal-sell .pill, .signal-strong-sell .pill, .signal-sell .big-signal span, .signal-strong-sell .big-signal span, .mini-pill.signal-sell, .mini-pill.signal-strong-sell, .negative-bg { background: rgba(199,55,74,.12) !important; color: #a5283d !important; }
.signal-hold .pill, .signal-hold .big-signal span, .mini-pill.signal-hold, .warning-bg { background: rgba(166,106,0,.12) !important; color: #875800 !important; }
.alert { background: rgba(199,55,74,.09); color: #7e2030; }
.home-all-board, .signal-board-hero, .home-buy-board, .signal-accuracy-note { background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,245,255,.84)); }
.footer { background: rgba(255,255,255,.55); }
.footer-links { margin-top: 10px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 16px; }
.footer-links a { color: #2f6df6; font-weight: 800; }

/* keep text and numbers inside cards/windows */
.panel, .card, .metric, .kpi, .hero-panel, .pricing-card, .auth-card, .legal-card, .platform-tile { min-width: 0; overflow: hidden; }
.metric strong, .kpi strong, .hero-panel strong, .big-signal strong { font-size: clamp(24px, 5vw, 46px); line-height: 1; max-width: 100%; }
.card-head, .price-row, .section-head, .kv, .metrics-grid, .grid, .split { min-width: 0; }
.kv { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.kv dd, .score, .right-note { min-width: 0; overflow-wrap: anywhere; }
.table-wrap { width: 100%; max-width: 100%; border-radius: 18px; border: 1px solid rgba(26,45,78,.08); background: rgba(255,255,255,.55); }
table { table-layout: auto; }
th, td { color: var(--text); max-width: 340px; vertical-align: top; white-space: normal; }
td small, th small { line-height: 1.35; }
.table-actions { flex-wrap: wrap; min-width: 0; }
.table-actions .button-link { white-space: nowrap; }
.compact-signal-table, .signal-board-table, .buy-board-table { min-width: 980px; }

/* V31 Auth / pricing / legal */
.auth-wrap { min-height: 66vh; display: grid; place-items: center; padding: 20px 0; }
.auth-card { width: min(620px, 100%); }
.clean-form label { margin-top: 8px; color: #1f3767; }
.pricing-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pricing-card.featured { border-color: rgba(47,109,246,.36); box-shadow: 0 24px 80px rgba(47,109,246,.16); transform: translateY(-4px); }
.price-box { text-align: right; min-width: 100px; }
.price-box strong { display: block; font-size: clamp(26px, 3.4vw, 44px); letter-spacing: -.05em; color: #102044; }
.check-list li::marker { color: #098b65; }
.legal-grid { align-items: stretch; }
.platform-quick-grid { margin: 18px 0; }
.mini-inline-form { display: grid; grid-template-columns: minmax(110px, 1fr) auto; gap: 8px; align-items: center; min-width: 220px; }

@media (max-width: 1180px) {
  .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.four, .platform-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  :root { --sidebar: min(86vw, 330px); }
  .sidebar { width: var(--sidebar); }
  .topbar { gap: 10px; }
  .topbar > div:nth-child(2) { min-width: 0; }
  .hero-panel { width: 100%; min-width: 0; }
  .pricing-grid, .grid.four, .platform-quick-grid { grid-template-columns: 1fr; }
  .table-wrap { margin-left: -2px; margin-right: -2px; }
  th, td { max-width: 260px; }
  .compact-signal-table, .signal-board-table, .buy-board-table { min-width: 900px; }
}
@media (max-width: 620px) {
  .container { padding: 16px 10px 42px; }
  .hero, .stock-header { padding: 18px; border-radius: 20px; }
  h1 { font-size: clamp(30px, 10vw, 42px); letter-spacing: -.05em; line-height: 1.02; }
  h2 { font-size: 22px !important; }
  .lead { font-size: 16px; }
  .panel, .card { padding: 16px; border-radius: 20px; }
  .metric, .kpi { padding: 15px; }
  .metrics-grid { gap: 10px; }
  .button-link, .ghost-link, button { width: 100%; min-height: 42px; }
  .topbar .button-link, .topbar .ghost-link { width: auto; }
  .hero-panel strong { font-size: 38px; }
  .price-box { text-align: left; }
  .mini-inline-form { grid-template-columns: 1fr; }
  .compact-signal-table, .signal-board-table, .buy-board-table { min-width: 820px; }
  th, td { padding: 8px; font-size: 12px; }
}

/* V32 Blue Business Theme + Admin Control Center */
:root {
  --bg: #12223a;
  --bg2: #dcecff;
  --panel: rgba(244,248,255,0.93);
  --panel-solid: #f8fbff;
  --panel-2: #d9e9ff;
  --text: #10223f;
  --muted: #52667f;
  --line: rgba(25,64,120,0.16);
  --buy: #087f5b;
  --sell: #b4233d;
  --hold: #8a5a00;
  --info: #2563eb;
  --purple: #5842c3;
}
body {
  color: var(--text);
  background:
    radial-gradient(circle at 10% -8%, rgba(90, 169, 255, .46) 0, transparent 31%),
    radial-gradient(circle at 100% 0%, rgba(30, 90, 180, .24) 0, transparent 34%),
    linear-gradient(145deg, #12223a 0%, #17375f 31%, #dbeaff 31.2%, #eef6ff 100%);
}
.sidebar {
  background: linear-gradient(180deg, rgba(15,35,67,.96), rgba(22,54,92,.94));
  color: #e7f1ff;
  box-shadow: 18px 0 50px rgba(5,15,35,.18);
  border-right-color: rgba(178,210,255,.18);
}
.brand strong, .sidebar .brand, .side-nav summary, .nav-home { color: #eef6ff !important; }
.brand small, .sidebar .eyebrow { color: #94c6ff; }
.side-nav { color: #bfd4ef; }
.side-nav a { color: #d9e9ff; }
.side-nav a:hover, .side-nav summary:hover, .side-nav .active { background: rgba(148,198,255,.16); color: #fff; }
.side-nav details[open] { background: rgba(255,255,255,.055); border-color: rgba(178,210,255,.12); }
.symbol-jump input { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.18); }
.symbol-jump input::placeholder { color: #bfd4ef; }
.topbar {
  background: rgba(238,246,255,.88);
  border-bottom-color: rgba(25,64,120,.14);
  box-shadow: 0 12px 30px rgba(12,32,70,.08);
}
.container { color: var(--text); }
.hero, .stock-header, .light-hero {
  background: linear-gradient(135deg, rgba(246,250,255,.98), rgba(212,232,255,.90));
  border-color: rgba(25,64,120,.12);
  box-shadow: 0 28px 70px rgba(14,49,105,.14);
}
.hero:before { background: radial-gradient(circle, rgba(37,99,235,.20), transparent 68%); }
.card, .panel, .metric, .kpi, .hero-panel {
  background: var(--panel);
  border-color: rgba(25,64,120,.14);
  box-shadow: 0 18px 40px rgba(13,44,88,.10);
}
.card:hover { border-color: rgba(37,99,235,.34); }
.metric span, .kpi span, .muted, .score, .kv dt, .compact-list { color: var(--muted); }
.lead, .reason, .reasons { color: #324b68; }
.eyebrow, .top-eyebrow { color: #2563eb; }
input, select, textarea { background: #f8fbff; color: #10223f; border-color: rgba(25,64,120,.18); }
input::placeholder, textarea::placeholder { color: #6b7f99; }
button, .button-link { color: #fff; background: linear-gradient(135deg, #2563eb, #174ea6); box-shadow: 0 10px 24px rgba(37,99,235,.16); }
button:hover, .button-link:hover { box-shadow: 0 14px 32px rgba(37,99,235,.22); }
.button-link.secondary, .ghost-link, button.ghost { background: rgba(255,255,255,.82); color: #183962; border: 1px solid rgba(25,64,120,.18); box-shadow: none; }
.mini-metrics span, .tag, .mini-pill, .pill { background: #dbeafe; color: #1f4e82; }
.table-wrap { background: rgba(255,255,255,.55); border-color: rgba(25,64,120,.14); }
th { color: #1b3c66; background: rgba(219,234,254,.62); }
td { color: #1b2f4b; }
.footer { background: rgba(15,35,67,.86); color: #c8dcf5; }
.footer-links a { color: #a8d1ff; }
.brand-mark { background: linear-gradient(135deg, #60a5fa, #2563eb); color: #ffffff; }

/* Tekst i brojevi ostaju u prozorčićima */
*, *::before, *::after { min-width: 0; }
.panel, .card, .metric, .kpi, .hero-panel, .pricing-card, .auth-card, .legal-card, .platform-tile, .admin-demo-card {
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
}
.metric strong, .kpi strong, .hero-panel strong, .price, .big-signal strong, .admin-finance-box strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(24px, 4.4vw, 44px);
  line-height: 1.03;
}
.card-head, .price-row, .section-head, .actions-row, .top-actions, .admin-action-stack, .admin-tabs { min-width: 0; flex-wrap: wrap; }
.kv { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.kv dd, .kv dt, p, li, small, span, strong, td, th { overflow-wrap: anywhere; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; }
.admin-table { min-width: 1080px; }
.admin-table td small { display: block; margin-top: 4px; color: var(--muted); }

/* Admin UI */
.admin-hero { align-items: stretch; }
.admin-demo-card { display: grid; gap: 8px; min-width: min(360px, 100%); align-content: center; }
.admin-demo-card strong { font-size: clamp(18px, 2.1vw, 28px); color: #0f2d55; }
.admin-tabs { display: flex; gap: 8px; margin-bottom: 18px; padding: 12px; position: sticky; top: 72px; z-index: 10; }
.admin-tabs a { padding: 10px 13px; border-radius: 999px; font-weight: 900; color: #23466f; background: rgba(219,234,254,.56); }
.admin-tabs a.active, .admin-tabs a:hover { background: linear-gradient(135deg, #2563eb, #174ea6); color: #fff; }
.admin-kpis .metric { background: linear-gradient(135deg, rgba(248,251,255,.96), rgba(219,234,254,.76)); }
.admin-overview-grid { align-items: stretch; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.admin-stat-grid div, .admin-finance-box { border: 1px solid rgba(25,64,120,.12); border-radius: 18px; padding: 14px; background: rgba(255,255,255,.62); }
.admin-stat-grid span, .admin-finance-box span { display: block; color: var(--muted); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.admin-stat-grid strong, .admin-finance-box strong { color: #0f2d55; font-size: clamp(24px, 3vw, 38px); margin-top: 5px; }
.admin-check-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 10px; }
.admin-check-list li { display: grid; grid-template-columns: auto auto 1fr; gap: 9px; align-items: start; padding: 11px 12px; border: 1px solid rgba(25,64,120,.11); border-radius: 16px; background: rgba(255,255,255,.58); }
.admin-check-list li small { grid-column: 2 / -1; color: var(--muted); line-height: 1.35; }
.admin-check-list.simple li { grid-template-columns: auto 1fr; }
.status-dot { width: 11px; height: 11px; border-radius: 50%; margin-top: 5px; background: #94a3b8; box-shadow: 0 0 0 4px rgba(148,163,184,.14); }
.status-dot.ok, .status-dot.pass { background: #087f5b; box-shadow: 0 0 0 4px rgba(8,127,91,.14); }
.status-dot.mvp, .status-dot.learning, .status-dot.warning, .status-dot.partial { background: #d97706; box-shadow: 0 0 0 4px rgba(217,119,6,.14); }
.status-dot.error, .status-dot.todo { background: #b4233d; box-shadow: 0 0 0 4px rgba(180,35,61,.14); }
.admin-action-stack { display: grid; gap: 8px; min-width: 250px; }
.admin-events { max-height: 420px; overflow: auto; padding-right: 6px; }

/* Mobile polish */
@media (max-width: 1180px) {
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metrics-grid.admin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body { background: linear-gradient(180deg, #16355d 0, #e8f3ff 260px, #f2f7ff 100%); }
  .topbar { padding: 12px 14px; }
  .top-actions { gap: 6px; }
  .top-actions .ghost-link, .top-actions .button-link { padding: 8px 9px; font-size: 12px; }
  .admin-tabs { position: static; overflow-x: auto; flex-wrap: nowrap; }
  .admin-tabs a { white-space: nowrap; }
  .hero, .stock-header { flex-direction: column; align-items: stretch; }
}
@media (max-width: 640px) {
  .container { width: 100%; padding: 14px 10px 42px; }
  .metrics-grid.admin-kpis, .admin-stat-grid { grid-template-columns: 1fr; }
  .admin-check-list li { grid-template-columns: auto 1fr; }
  .admin-check-list li small { grid-column: 1 / -1; }
  .mini-inline-form { grid-template-columns: 1fr; }
  .admin-action-stack { min-width: 190px; }
  .admin-table { min-width: 980px; }
  .topbar strong { font-size: 14px; }
  .top-eyebrow { display: none; }
  .hero-panel strong, .metric strong, .kpi strong { font-size: clamp(24px, 9vw, 36px); }
}

/* V33 Professional SaaS Blue Theme + subscription polish */
:root {
  --bg: #0b1730;
  --bg2: #10294f;
  --panel: rgba(239,246,255,0.94);
  --panel-solid: #f7fbff;
  --panel-2: #dbeafe;
  --text: #0d1f3d;
  --muted: #516882;
  --line: rgba(32,75,130,0.16);
  --buy: #087f5b;
  --sell: #b4233d;
  --hold: #8a5a00;
  --info: #1d5fd6;
  --purple: #5940bf;
}
body {
  color: var(--text);
  background:
    radial-gradient(circle at 4% 0%, rgba(93, 166, 255, .42) 0, transparent 30%),
    radial-gradient(circle at 92% 7%, rgba(15, 57, 112, .34) 0, transparent 31%),
    linear-gradient(160deg, #0b1730 0%, #10294f 28%, #d6e9ff 28.3%, #eef6ff 58%, #e8f1fc 100%);
}
.sidebar {
  background: linear-gradient(180deg, rgba(9,22,46,.98), rgba(18,52,91,.96));
  box-shadow: 20px 0 60px rgba(6,18,42,.28);
  border-right-color: rgba(179,214,255,.16);
}
.brand strong, .sidebar .brand, .side-nav summary, .nav-home { color: #f3f8ff !important; }
.brand small, .sidebar .eyebrow { color: #8fc5ff; }
.side-nav { color: #bdd5f0; }
.side-nav a { color: #dbeaff; }
.side-nav a:hover, .side-nav summary:hover, .side-nav .active { background: rgba(125,185,255,.17); color: #fff; }
.side-nav details[open] { background: rgba(255,255,255,.055); border-color: rgba(178,210,255,.12); }
.brand-mark { background: linear-gradient(135deg, #7cc0ff, #2563eb 60%, #0f3f91); color: #fff; box-shadow: 0 18px 46px rgba(30, 110, 240, .32); }
.symbol-jump input { background: rgba(255,255,255,.11); color: #ffffff; border-color: rgba(255,255,255,.18); }
.symbol-jump input::placeholder { color: #b9d4ef; }
.topbar { background: rgba(242,248,255,.9); border-bottom-color: rgba(20,60,110,.14); box-shadow: 0 12px 34px rgba(7,31,71,.10); }
.hero, .stock-header, .light-hero {
  background: linear-gradient(135deg, rgba(249,252,255,.98), rgba(217,235,255,.92));
  border-color: rgba(28,73,135,.14);
  box-shadow: 0 28px 72px rgba(8,42,90,.16);
}
.hero:before { background: radial-gradient(circle, rgba(37,99,235,.18), transparent 68%); }
.card, .panel, .metric, .kpi, .hero-panel, .pricing-card, .auth-card {
  background: rgba(247,251,255,.94);
  border-color: rgba(28,73,135,.14);
  box-shadow: 0 18px 48px rgba(12,48,96,.11);
}
.card:hover, .pricing-card.featured { border-color: rgba(37,99,235,.38); box-shadow: 0 28px 82px rgba(37,99,235,.15); }
.lead, .reason, .reasons { color: #304d70; }
.eyebrow, .top-eyebrow { color: #1d5fd6; }
.price-box strong, .metric strong, .kpi strong, .hero-panel strong, .admin-finance-box strong, .right-note strong { color: #081d3c; }
button, .button-link { color: #ffffff; background: linear-gradient(135deg, #2563eb, #144aa7); box-shadow: 0 12px 26px rgba(37,99,235,.18); }
.button-link.secondary, .ghost-link, button.ghost { background: rgba(255,255,255,.86); color: #153964; border: 1px solid rgba(28,73,135,.17); box-shadow: none; }
input, select, textarea { background: #fbfdff; color: #0d1f3d; border-color: rgba(28,73,135,.18); }
.mini-metrics span, .tag, .mini-pill, .pill { background: #dcecff; color: #194a7a; }
.table-wrap { background: rgba(255,255,255,.62); border-color: rgba(28,73,135,.13); }
th { color: #173e6d; background: rgba(219,234,254,.76); }
td { color: #18314f; }
.footer { background: rgba(9,22,46,.92); color: #cde1f7; }
.footer-links a { color: #99ceff; }

/* subscription/access polish */
.pricing-hero-v33 { margin-bottom: 22px; }
.pricing-grid-v33 { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.pricing-card { position: relative; display: flex; flex-direction: column; gap: 12px; }
.pricing-card .button-link { margin-top: auto; }
.trial-strip { border: 1px solid rgba(8,127,91,.18); background: rgba(8,127,91,.08); color: #086147; padding: 10px 12px; border-radius: 14px; font-weight: 900; font-size: 13px; }
.upgrade-alert { margin: 14px 0 0; }
.access-matrix-table { min-width: 920px; }
.access-matrix-table .mini-pill { margin: 2px 3px 2px 0; }

/* hard containment for all cards/tables/mobile */
*, *::before, *::after { min-width: 0; }
.panel, .card, .metric, .kpi, .hero-panel, .pricing-card, .auth-card, .legal-card, .platform-tile, .admin-demo-card { overflow: hidden; overflow-wrap: anywhere; }
.metric strong, .kpi strong, .hero-panel strong, .big-signal strong, .price, .price-box strong { max-width: 100%; overflow-wrap: anywhere; line-height: 1.02; }
.card-head, .price-row, .section-head, .actions-row, .top-actions, .admin-action-stack, .admin-tabs { min-width: 0; flex-wrap: wrap; }
.table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
td, th, p, li, small, span, strong, dd, dt { overflow-wrap: anywhere; }
.admin-table { min-width: 1080px; }
.signal-board-table, .compact-signal-table, .buy-board-table { min-width: 980px; }

@media (max-width: 1180px) {
  .pricing-grid-v33 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  body { background: linear-gradient(180deg, #0b1730 0, #123a6a 180px, #e8f3ff 300px, #f2f7ff 100%); }
  .topbar { padding: 12px 14px; }
  .top-actions { gap: 6px; }
  .top-actions .ghost-link, .top-actions .button-link { padding: 8px 9px; font-size: 12px; }
  .pricing-grid-v33 { grid-template-columns: 1fr; }
  .admin-tabs { position: static; overflow-x: auto; flex-wrap: nowrap; }
  .admin-tabs a { white-space: nowrap; }
  .hero, .stock-header { flex-direction: column; align-items: stretch; }
  .access-matrix-table { min-width: 760px; }
}
@media (max-width: 640px) {
  .container { width: 100%; padding: 14px 10px 42px; }
  .hero, .stock-header { padding: 18px; border-radius: 22px; }
  h1 { font-size: clamp(30px, 10vw, 42px); line-height: 1.03; letter-spacing: -.055em; }
  .lead { font-size: 15.5px; }
  .panel, .card { padding: 15px; border-radius: 20px; }
  .metric, .kpi { padding: 14px; }
  .button-link, .ghost-link, button { width: 100%; min-height: 42px; }
  .topbar .button-link, .topbar .ghost-link { width: auto; }
  .price-box { text-align: left; }
  .hero-panel strong, .metric strong, .kpi strong { font-size: clamp(24px, 9vw, 36px); }
  th, td { padding: 8px; font-size: 12px; }
  .admin-table { min-width: 960px; }
  .signal-board-table, .compact-signal-table, .buy-board-table { min-width: 820px; }
}

/* V34 Admin + signal diagram polish */
.signal-diagram-panel { position: relative; }
.signal-diagram-layout { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr); gap: 18px; align-items: stretch; }
.signal-chart-box { min-height: 360px; border: 1px solid rgba(28,73,135,.14); border-radius: 22px; padding: 16px; background: linear-gradient(135deg, rgba(255,255,255,.74), rgba(219,234,254,.42)); }
.signal-factor-list { display: grid; gap: 9px; align-content: start; }
.signal-factor-row { display: grid; grid-template-columns: minmax(110px,.8fr) minmax(120px,1.1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid rgba(28,73,135,.12); border-radius: 16px; background: rgba(255,255,255,.68); overflow: hidden; }
.signal-factor-row span { font-weight: 900; color: #153964; }
.signal-factor-row strong { font-size: 18px; color: #081d3c; }
.signal-factor-row small { grid-column: 1 / -1; color: var(--muted); }
.factor-meter, .mini-bar-row div { height: 9px; border-radius: 999px; background: rgba(28,73,135,.12); overflow: hidden; }
.factor-meter i, .mini-bar-row i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #2563eb, #14b8a6); }
.upgrade-box { padding: 18px; border: 1px dashed rgba(37,99,235,.32); border-radius: 20px; background: rgba(219,234,254,.52); }
.upgrade-box strong { display: block; margin-bottom: 7px; color: #0f2d55; }
.package-columns { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.package-column { border: 1px solid rgba(28,73,135,.13); border-radius: 18px; padding: 14px; background: rgba(255,255,255,.66); min-height: 170px; overflow: hidden; }
.package-column h3 { margin: 0 0 6px; color: #0f2d55; }
.package-column li { padding: 8px 0; border-bottom: 1px solid rgba(28,73,135,.08); }
.package-column li:last-child { border-bottom: 0; }
.package-column small { display: block; color: var(--muted); }
.mini-chart-bars { display: grid; gap: 8px; margin-top: 16px; }
.mini-bar-row { display: grid; grid-template-columns: 92px 1fr 44px; gap: 9px; align-items: center; font-size: 13px; }
.mini-bar-row span, .mini-bar-row strong { color: #173e6d; font-weight: 900; }
.preview-note { margin-top: 16px; border: 1px solid rgba(217,119,6,.22); background: rgba(255,247,237,.84); color: #7c3d00; border-radius: 16px; padding: 12px 14px; display: grid; gap: 4px; }
.preview-note strong { color: #7c2d12; }
@media (max-width: 1180px) { .package-columns { grid-template-columns: repeat(2, minmax(0,1fr)); } .signal-diagram-layout { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .package-columns { grid-template-columns: 1fr; } .signal-chart-box { min-height: 300px; padding: 10px; } .signal-factor-row { grid-template-columns: 1fr; gap: 7px; } .signal-factor-row small { grid-column: auto; } .mini-bar-row { grid-template-columns: 80px 1fr 34px; } }


/* V34.1 Stability/Admin UX fix */
body.admin-shell .shell-main { margin-left: 0 !important; }
body.admin-shell .container { width: min(1480px, calc(100vw - 44px)) !important; padding-left: 22px; padding-right: 22px; }
body.admin-shell .mobile-menu { display: none !important; }
body.admin-shell .topbar { padding-left: 28px; }
body.admin-shell .admin-hero { margin-top: 0; }
body.admin-shell .admin-tabs { position: sticky; top: 74px; z-index: 15; }
.error-hero { border-color: rgba(166,106,0,.22); background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,229,.86)); }
.signal-chart-box { position: relative; min-height: 260px; max-height: 340px; }
.signal-chart-box canvas { max-width: 100%; }
.signal-factor-row, .timeline-row, .metric, .panel, .card, td, th, .mini-pill, .button-link { overflow-wrap: anywhere; word-break: normal; }
.admin-tabs a, .actions-row a, .actions-row button { white-space: normal; text-align: center; }
@media (max-width: 760px) {
  body.admin-shell .container { width: 100% !important; padding-left: 12px; padding-right: 12px; }
  body.admin-shell .topbar { padding-left: 14px; }
  body.admin-shell .admin-tabs { top: 62px; overflow-x: auto; display: flex; flex-wrap: nowrap; }
  body.admin-shell .admin-tabs a { white-space: nowrap; }
}

/* V35 Deluxe UI density + stock readability polish */
:root {
  --radius: 22px;
}
.stock-command-hero h1,
.fast-hero h1 {
  font-size: clamp(30px, 4.2vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.055em;
}
.stock-command-hero .lead,
.fast-hero .lead {
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.5;
}
.fast-hero .hero-panel {
  max-width: 310px;
  padding: 18px;
}
.fast-hero .hero-panel strong {
  font-size: clamp(34px, 4vw, 52px) !important;
}
.metrics-grid {
  gap: 14px;
}
.metric, .kpi {
  padding: 15px 16px;
  border-radius: 20px;
}
.metric span, .kpi span {
  font-size: 12px;
  letter-spacing: .01em;
}
.metric small, .kpi small {
  font-size: 12px;
  line-height: 1.35;
  display: block;
  margin-top: 5px;
}
.metric strong,
.kpi strong,
.hero-panel strong,
.big-signal strong,
.price,
.price-box strong,
.admin-finance-box strong {
  font-size: clamp(24px, 3.1vw, 38px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.panel.big-card {
  padding: 18px 20px;
}
.big-card h2 {
  font-size: clamp(24px, 2.45vw, 36px) !important;
  line-height: 1.15;
  letter-spacing: -0.045em;
  max-width: 100%;
}
.panel h2,
.card h2 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.16;
}
.eyebrow {
  font-size: 11px;
  letter-spacing: .18em;
}
.compact-grid {
  gap: 12px;
}
.compact-grid .metric {
  min-height: 108px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.grid.two {
  gap: 16px;
}
.signal-chart-box {
  min-height: 240px;
  max-height: 300px;
}
.signal-factor-row {
  padding: 8px 10px;
  gap: 8px;
  border-radius: 14px;
}
.signal-factor-row span {
  font-size: 13px;
}
.signal-factor-row strong {
  font-size: 15px;
}
.signal-factor-row small {
  font-size: 12px;
  line-height: 1.3;
}
.factor-meter, .mini-bar-row div {
  height: 7px;
}
.timeline-row {
  padding: 10px 12px;
  border-radius: 15px;
}
.timeline-row strong {
  font-size: 14px;
}
.timeline-row p {
  margin: 3px 0 0;
  font-size: 13px;
}
.button-link, .ghost-link, button {
  padding: 10px 13px;
  border-radius: 12px;
  font-size: 14px;
}
.table-wrap table th,
.table-wrap table td {
  font-size: 13px;
  line-height: 1.35;
}
body.admin-shell .container {
  width: min(1500px, calc(100vw - 34px)) !important;
}
body.admin-shell .admin-tabs {
  top: 68px;
  padding: 10px;
  gap: 7px;
}
body.admin-shell .admin-tabs a {
  padding: 9px 12px;
  font-size: 13px;
}
.admin-kpis .metric strong,
.admin-finance-box strong {
  font-size: clamp(24px, 2.8vw, 36px) !important;
}
@media (max-width: 1180px) {
  .grid.two { grid-template-columns: 1fr; }
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .stock-command-hero h1,
  .fast-hero h1 { font-size: clamp(28px, 9vw, 40px); }
  .metrics-grid,
  .compact-grid { grid-template-columns: 1fr; }
  .metric, .kpi { min-height: auto; padding: 13px 14px; }
  .metric strong,
  .kpi strong,
  .hero-panel strong,
  .price { font-size: clamp(24px, 9vw, 34px) !important; }
  .big-card h2 { font-size: clamp(22px, 7vw, 30px) !important; }
  .panel.big-card { padding: 16px; }
  .signal-diagram-layout { gap: 12px; }
  .signal-chart-box { min-height: 220px; }
}

/* V36 Concept 3 Premium Light Blue + Live Ready Platform Polish */
:root {
  --bg: #eef6ff;
  --bg2: #f8fbff;
  --panel: rgba(255,255,255,0.92);
  --panel-solid: #ffffff;
  --panel-2: #eaf3ff;
  --text: #102044;
  --muted: #5d6f88;
  --line: rgba(26,55,96,0.12);
  --buy: #0a8f6b;
  --sell: #c13a4f;
  --hold: #a76b00;
  --info: #2e6ce8;
  --purple: #6655d9;
  --sidebar: 286px;
  --radius: 22px;
}
body {
  color: var(--text);
  background:
    radial-gradient(circle at 0% 0%, rgba(88,156,255,.25) 0, rgba(88,156,255,.14) 25%, transparent 46%),
    radial-gradient(circle at 100% 10%, rgba(20,184,166,.13) 0, transparent 40%),
    linear-gradient(135deg, #eef6ff 0%, #f8fbff 48%, #e6f1ff 100%) !important;
}
.sidebar {
  background: rgba(251,253,255,0.92) !important;
  color: #102044;
  border-right: 1px solid rgba(31,74,125,.11);
  box-shadow: 16px 0 42px rgba(31,74,125,.08);
}
.brand strong { color: #0d1d3b; }
.brand small { color: #2e6ce8 !important; }
.side-nav { color: #60718b; }
.side-nav summary, .side-nav a, .nav-home { color: #12254b !important; }
.side-nav .active, .side-nav a:hover, .side-nav summary:hover {
  background: linear-gradient(135deg, #e7f0ff, #f6fbff) !important;
  color: #0e3d8f !important;
  box-shadow: inset 0 0 0 1px rgba(46,108,232,.10);
}
.side-nav details[open] { background: rgba(230,241,255,.58) !important; border-color: rgba(46,108,232,.12) !important; }
.topbar {
  background: rgba(255,255,255,.82) !important;
  color: #102044;
  border-bottom: 1px solid rgba(31,74,125,.10);
  box-shadow: 0 12px 36px rgba(31,74,125,.07);
}
.top-eyebrow, .eyebrow { color: #2e6ce8 !important; }
.hero, .stock-header, .light-hero, .panel, .card, .metric, .kpi, .hero-panel {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,246,255,.88)) !important;
  border: 1px solid rgba(31,74,125,.12) !important;
  box-shadow: 0 16px 42px rgba(31,74,125,.08) !important;
}
.hero:before { background: radial-gradient(circle, rgba(46,108,232,.13), transparent 68%) !important; }
.panel:hover, .metric:hover, .kpi:hover { box-shadow: 0 20px 54px rgba(31,74,125,.11) !important; }
button, .button-link {
  background: linear-gradient(135deg, #2e6ce8, #164ebf) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 25px rgba(46,108,232,.20);
}
.button-link.secondary, button.ghost, .ghost-link {
  background: rgba(255,255,255,.86) !important;
  color: #16416f !important;
  border: 1px solid rgba(31,74,125,.14) !important;
  box-shadow: 0 8px 20px rgba(31,74,125,.05);
}
.button-link:hover, button:hover { transform: translateY(-1px); }
input, select, textarea { background: rgba(255,255,255,.96) !important; color: #102044 !important; border-color: rgba(31,74,125,.18) !important; }
.table-wrap { background: rgba(255,255,255,.70) !important; border-color: rgba(31,74,125,.10) !important; }
table thead th { color: #2d4971; background: rgba(230,241,255,.82); }
table tbody tr:hover { background: rgba(46,108,232,.045); }
.metric strong, .kpi strong, .hero-panel strong, .big-signal strong, .price, .price-box strong {
  color: #0b1c3a !important;
  font-size: clamp(24px, 2.65vw, 35px) !important;
  letter-spacing: -.05em;
}
.big-card h2 { font-size: clamp(24px, 2.35vw, 34px) !important; line-height: 1.12; }
.stock-command-hero h1, .fast-hero h1, .landing-hero h1 { font-size: clamp(34px, 4.3vw, 58px) !important; }
.mini-pill, .tag { background: #eaf3ff; color: #254668; }
.positive-bg, .signal-strong-buy, .signal-buy { background: rgba(10,143,107,.12) !important; color: #05704f !important; }
.warning-bg, .signal-watch, .signal-hold { background: rgba(167,107,0,.12) !important; color: #805300 !important; }
.negative-bg, .signal-sell, .signal-strong-sell { background: rgba(193,58,79,.12) !important; color: #9c283c !important; }
.status-word.ok, .status-word.pass { color: #05704f; }
.status-word.mvp, .status-word.warning, .status-word.review, .status-word.todo { color: #875800; }
.status-word.error { color: #9c283c; }
.footer { background: rgba(255,255,255,.64) !important; color: #5d6f88; }
.footer-links a { color: #2e6ce8 !important; }
/* focus ordinary users on first-screen decisions */
.fast-hero + .metrics-grid { margin-top: 18px; }
.fast-hero .actions-row .button-link.secondary:nth-child(n+3) { opacity: .92; }
.signal-diagram-panel { margin-top: 16px; }
/* Locked/upgrade boxes */
.locked-hero .hero-panel, .checkout-hero .hero-panel { background: linear-gradient(135deg, #f9fcff, #eaf3ff) !important; }
.v36-auth-result h1 { margin-top: 12px; }
/* Admin stays a separate workspace */
body.admin-shell {
  background: linear-gradient(135deg, #e9f3ff 0%, #f9fcff 48%, #ddecff 100%) !important;
}
body.admin-shell .topbar { border-radius: 0 0 24px 24px; }
body.admin-shell .admin-hero { background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(221,236,255,.90)) !important; }
body.admin-shell .admin-tabs {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(16px);
  border-color: rgba(31,74,125,.12) !important;
}
body.admin-shell .admin-tabs a.active { background: linear-gradient(135deg, #2e6ce8, #174ebf) !important; color: #fff !important; }
.admin-stat-grid div { background: rgba(255,255,255,.68); border: 1px solid rgba(31,74,125,.10); border-radius: 18px; }
/* bottom mobile navigation for users */
.bottom-mobile-nav { display: none; }
@media (max-width: 900px) {
  body:not(.admin-shell) .shell-main { padding-bottom: 76px; }
  .bottom-mobile-nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 80;
    padding: 8px;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(31,74,125,.14);
    box-shadow: 0 16px 50px rgba(31,74,125,.18);
    backdrop-filter: blur(16px);
  }
  .bottom-mobile-nav a {
    display: grid;
    place-items: center;
    gap: 2px;
    font-size: 16px;
    color: #5c6e86;
    padding: 7px 4px;
    border-radius: 16px;
    font-weight: 900;
  }
  .bottom-mobile-nav a span { font-size: 10px; letter-spacing: -.01em; }
  .bottom-mobile-nav a.active { background: #eaf3ff; color: #1d5bd7; }
  .sidebar { box-shadow: 30px 0 80px rgba(16,32,68,.18); }
  .container { padding-bottom: 96px !important; }
  .landing-hero .actions-row a:nth-child(n+5) { display: none; }
  .stock-command-hero .actions-row a:nth-child(n+4) { display: none; }
  .metric strong, .kpi strong, .hero-panel strong { font-size: clamp(23px, 8vw, 32px) !important; }
}
@media (max-width: 640px) {
  .panel, .card, .metric, .kpi { border-radius: 18px !important; }
  .hero, .stock-header { border-radius: 20px !important; }
  .table-wrap { border-radius: 16px; }
  h1 { font-size: clamp(30px, 9.2vw, 42px) !important; }
  .lead { font-size: 15px; }
  .section-head { gap: 12px; }
  .metrics-grid { gap: 10px; }
}

/* V37 readability polish for user-facing pages */
body:not(.admin-shell) .hero,
body:not(.admin-shell) .stock-header,
body:not(.admin-shell) .light-hero {
  backdrop-filter: blur(14px);
}

body:not(.admin-shell) .panel,
body:not(.admin-shell) .card,
body:not(.admin-shell) .metric,
body:not(.admin-shell) .kpi,
body:not(.admin-shell) .hero-panel,
body:not(.admin-shell) .pricing-card,
body:not(.admin-shell) .auth-card,
body:not(.admin-shell) .legal-card {
  overflow: visible;
}

body:not(.admin-shell) .panel p,
body:not(.admin-shell) .card p,
body:not(.admin-shell) .metric small,
body:not(.admin-shell) .kpi small,
body:not(.admin-shell) .hero-panel small,
body:not(.admin-shell) .pricing-card p,
body:not(.admin-shell) .pricing-card li,
body:not(.admin-shell) .legal-card p,
body:not(.admin-shell) .lead,
body:not(.admin-shell) .muted,
body:not(.admin-shell) .alert,
body:not(.admin-shell) .table-wrap td,
body:not(.admin-shell) .table-wrap th {
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}

body:not(.admin-shell) .auth-wrap {
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
  padding: 24px 0 48px;
}

body:not(.admin-shell) .auth-card {
  width: min(640px, 100%);
  padding: 30px;
}

body:not(.admin-shell) .auth-card h1 {
  font-size: clamp(42px, 5vw, 62px);
  line-height: 0.95;
  margin: 8px 0 12px;
}

body:not(.admin-shell) .stacked-form {
  display: grid;
  gap: 12px;
}

body:not(.admin-shell) .stacked-form label {
  font-weight: 800;
  color: #173055;
}

body:not(.admin-shell) .stacked-form input,
body:not(.admin-shell) .stacked-form select,
body:not(.admin-shell) .stacked-form textarea {
  width: 100%;
}

body:not(.admin-shell) .preview-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(46,108,232,.08);
  border: 1px solid rgba(46,108,232,.14);
  display: grid;
  gap: 4px;
}

body:not(.admin-shell) .preview-note strong {
  color: #133a74;
}

body:not(.admin-shell) .home-buy-board .table-wrap,
body:not(.admin-shell) .pricing-grid .pricing-card,
body:not(.admin-shell) .auth-card,
body:not(.admin-shell) .account-card,
body:not(.admin-shell) .panel {
  border-radius: 24px;
}

body:not(.admin-shell) .light-hero,
body:not(.admin-shell) .dashboard-hero,
body:not(.admin-shell) .pricing-hero-v34 {
  gap: 18px;
}

body:not(.admin-shell) .check-list li,
body:not(.admin-shell) .compact-list li {
  line-height: 1.45;
}

/* Concept 4 user-facing polish */
body:not(.admin-shell) .concept-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: stretch;
  gap: 18px;
  padding: 24px;
}

body:not(.admin-shell) .concept-hero-copy h1 {
  font-size: clamp(42px, 4.8vw, 64px) !important;
  line-height: 0.95;
  letter-spacing: -0.06em;
  margin-bottom: 10px;
}

body:not(.admin-shell) .concept-hero-panel {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 100%;
}

body:not(.admin-shell) .hero-panel-lines {
  display: grid;
  gap: 10px;
  padding-top: 6px;
}

body:not(.admin-shell) .hero-panel-lines div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(46,108,232,.06);
  border: 1px solid rgba(31,74,125,.10);
}

body:not(.admin-shell) .hero-panel-lines span {
  color: #5d6f88;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}

body:not(.admin-shell) .hero-panel-lines strong {
  color: #0b1c3a;
}

body:not(.admin-shell) .concept-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body:not(.admin-shell) .concept-feature-grid {
  margin-top: 2px;
}

body:not(.admin-shell) .concept-feature-card,
body:not(.admin-shell) .concept-ops-card {
  display: grid;
  gap: 16px;
  align-self: start;
}

body:not(.admin-shell) .feature-table {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(31,74,125,.10);
}

body:not(.admin-shell) .feature-table div {
  padding: 14px 14px 12px;
  background: rgba(255,255,255,.76);
  border-right: 1px solid rgba(31,74,125,.10);
  border-bottom: 1px solid rgba(31,74,125,.10);
  display: grid;
  gap: 6px;
}

body:not(.admin-shell) .feature-table div:nth-child(4n) {
  border-right: 0;
}

body:not(.admin-shell) .feature-table span,
body:not(.admin-shell) .dashboard-flow span {
  color: #5d6f88;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-weight: 800;
}

body:not(.admin-shell) .feature-table strong {
  font-size: 18px;
}

body:not(.admin-shell) .dashboard-flow {
  display: grid;
  gap: 10px;
}

body:not(.admin-shell) .flow-step {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(31,74,125,.10);
}

body:not(.admin-shell) .flow-step strong {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #2e6ce8, #174ebf);
  color: #fff;
  font-size: 18px;
}

body:not(.admin-shell) .flow-step div {
  display: grid;
  gap: 4px;
}

body:not(.admin-shell) .concept-table th {
  white-space: nowrap;
}

body:not(.admin-shell) .signals-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body:not(.admin-shell) .concept-health-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  align-items: start;
  grid-auto-rows: minmax(0, max-content);
  gap: 12px;
}

body:not(.admin-shell) .concept-health-card {
  min-height: 86px;
}

body:not(.admin-shell) .concept-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
}

@media (max-width: 1100px) {
  body:not(.admin-shell) .concept-hero,
  body:not(.admin-shell) .concept-feature-grid {
    grid-template-columns: 1fr;
  }

  body:not(.admin-shell) .concept-metrics,
  body:not(.admin-shell) .feature-table,
  body:not(.admin-shell) .concept-health-grid,
  body:not(.admin-shell) .signals-grid,
  body:not(.admin-shell) .concept-kv {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  body:not(.admin-shell) .concept-metrics,
  body:not(.admin-shell) .feature-table,
  body:not(.admin-shell) .concept-health-grid,
  body:not(.admin-shell) .signals-grid,
  body:not(.admin-shell) .concept-kv {
    grid-template-columns: 1fr;
  }

  body:not(.admin-shell) .feature-table div:nth-child(4n) {
    border-right: 1px solid rgba(31,74,125,.10);
  }
}
