.page-main > * + * { margin-top: var(--space-6); }
.summary-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.diagnostic-card, .trade-plan-side { padding: var(--space-6); }
.notice { display: flex; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-1); }
.notice-purple { border-color: rgba(167,139,250,.35); background: var(--purple-soft); }
.page-section { margin-top: var(--space-8); }
.reason-card { padding: var(--space-5, 20px); }
.reason-card p { margin-top: var(--space-3); color: var(--text-secondary); }
.source-note { color: var(--text-muted); font-size: .75rem; }
.hidden-paper-note { margin-top: var(--space-4); color: var(--text-secondary); font-size: .8rem; }
.signal-card-compact { padding: var(--space-4); }
.signal-card-compact .metric-grid { margin-top: var(--space-4); }
.action-note { margin-top: var(--space-3); color: var(--text-secondary); }
.asset-list { display: grid; }
.asset-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.asset-row small { display: block; margin-top: 2px; }
.issue-list { display: grid; }
.issue-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.severity-warning { border-left: 3px solid var(--yellow); padding-left: var(--space-3); }
.severity-error { border-left: 3px solid var(--red); padding-left: var(--space-3); }
@media (max-width: 680px) { .summary-strip { grid-template-columns: 1fr; } }

.clean-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, .7fr);
  gap: var(--space-5);
}

/* Premium command home */
.premium-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .7fr);
  gap: var(--space-4);
  align-items: stretch;
  margin-bottom: var(--space-4);
}

.premium-hero-main {
  position: relative;
  overflow: hidden;
  min-height: 330px;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid rgba(56, 189, 248, .2);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .18), transparent 32%),
    linear-gradient(115deg, rgba(34, 197, 94, .12), transparent 52%),
    linear-gradient(180deg, #111827 0%, #0b1220 100%);
  box-shadow: var(--shadow-tv);
}

.premium-hero-main::after {
  content: "";
  position: absolute;
  inset: auto -10% -36% 22%;
  height: 230px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(56, 189, 248, .2), transparent 70%);
  pointer-events: none;
}

.premium-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
}

.premium-hero h1 {
  max-width: 820px;
  font-size: clamp(2.3rem, 5vw, 4.4rem);
  line-height: .98;
}

.premium-search {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin-top: var(--space-8);
}

.premium-status-board {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-6);
  align-content: stretch;
}

.premium-status-line {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: var(--radius-md);
  background: rgba(15, 23, 42, .72);
}

.premium-status-line span,
.premium-metric-grid dt {
  color: var(--text-secondary);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.premium-status-line strong {
  color: var(--text-primary);
  font-size: 1.08rem;
}

.status-ok { color: var(--green) !important; }
.status-warn { color: var(--yellow) !important; }

.premium-safety-strip {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-6);
}

.premium-market-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(178px, 1fr);
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  overflow-x: auto;
  padding-bottom: var(--space-2);
  scrollbar-width: thin;
}

.premium-rail-item {
  display: grid;
  gap: 2px;
  min-height: 76px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(17, 24, 39, .96), rgba(11, 18, 32, .96));
  box-shadow: 0 8px 18px rgba(2, 6, 23, .18);
}

.premium-rail-item span {
  color: var(--text-secondary);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.premium-rail-item strong {
  color: var(--text-primary);
  font-size: 1.25rem;
}

.premium-rail-item small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-rail-item:hover,
.premium-rail-item:focus-visible {
  border-color: rgba(56, 189, 248, .32);
  background: var(--surface-hover);
}

.premium-lens-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.premium-lens-card {
  display: grid;
  align-content: start;
  gap: var(--space-2);
  min-height: 154px;
  padding: var(--space-5, 20px);
  border-top: 3px solid var(--blue);
}

.premium-lens-card:nth-child(1) { border-top-color: var(--yellow); }
.premium-lens-card:nth-child(2) { border-top-color: var(--green); }
.premium-lens-card:nth-child(3) { border-top-color: var(--red); }
.premium-lens-card:nth-child(4) { border-top-color: var(--purple); }

.premium-lens-card h3 {
  color: var(--text-secondary);
  font-size: .9rem;
}

.premium-lens-card strong {
  display: block;
  color: var(--text-primary);
  font-size: clamp(1.25rem, 3vw, 1.8rem);
}

.premium-lens-card span {
  color: var(--text-secondary);
  font-size: .82rem;
}

.premium-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.premium-signal-card,
.premium-opportunity-card,
.premium-plan-card,
.premium-report-card,
.premium-alert-card,
.premium-profile-card,
.premium-ranking-card,
.premium-engine-card {
  padding: var(--space-6);
}

.premium-signal-card.has-signal {
  border-color: rgba(34, 197, 94, .34);
  box-shadow: var(--shadow-card), var(--glow-green);
}

.premium-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.premium-card-head h2,
.premium-card-head h3 {
  margin-top: 2px;
}

.premium-asset-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.premium-asset-title strong {
  font-size: clamp(1.65rem, 4vw, 2.6rem);
  letter-spacing: 0;
}

.premium-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.premium-metric-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.premium-metric-grid div {
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: var(--radius-sm);
  background: rgba(2, 6, 23, .26);
}

.premium-metric-grid dd {
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-size: .98rem;
  font-weight: 850;
}

.premium-note {
  margin: var(--space-4) 0;
  color: var(--text-secondary);
}

.premium-chart-row {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .7fr);
  gap: var(--space-4);
}

.premium-chart-wrap .chart-frame,
.premium-chart-wrap .tradingview-widget-container {
  min-height: 520px;
}

.premium-plan-card {
  align-self: stretch;
}

.premium-section {
  margin-top: var(--space-8);
}

.premium-engine-grid,
.premium-profile-grid,
.premium-ranking-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.premium-profile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-ranking-grid {
  grid-template-columns: repeat(4, minmax(280px, 1fr));
  overflow-x: auto;
  padding-bottom: var(--space-2);
}

.premium-engine-card {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  justify-content: space-between;
  border-top: 3px solid var(--blue);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.premium-engine-card.theme-green { border-top-color: var(--green); }
.premium-engine-card.theme-yellow { border-top-color: var(--yellow); }
.premium-engine-card.theme-red { border-top-color: var(--red); }
.premium-engine-card.theme-purple { border-top-color: var(--purple); }

.premium-engine-card:hover,
.premium-engine-card:focus-visible {
  transform: translateY(-3px);
  background: var(--surface-hover);
}

.premium-engine-card p,
.premium-profile-card p,
.premium-report-card p,
.premium-alert-card p {
  color: var(--text-secondary);
}

.premium-inline-focus {
  display: inline-flex;
  width: fit-content;
  margin-top: var(--space-4);
  padding: 7px 10px;
  border: 1px solid rgba(56, 189, 248, .22);
  border-radius: 999px;
  color: var(--blue);
  background: var(--blue-soft);
}

.premium-card-actions,
.premium-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.premium-ranking-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-ranking-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}

.premium-ranking-list li:last-child {
  border-bottom: 0;
}

.premium-ranking-list a,
.premium-ranking-list strong {
  font-weight: 850;
}

.premium-ranking-list small {
  display: block;
  margin-top: 2px;
}

.premium-split-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-4);
}

.premium-watch-list {
  display: grid;
  gap: var(--space-2);
}

.premium-watch-row {
  display: grid;
  grid-template-columns: 1.05fr .85fr .7fr 1fr 1fr .7fr .5fr;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) var(--space-4);
}

.premium-watch-row span,
.premium-watch-row em {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-style: normal;
}

.premium-watch-row em {
  color: var(--text-primary);
  font-weight: 850;
}

.rankings-premium-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
  gap: var(--space-6);
  align-items: center;
  padding: clamp(20px, 4vw, 34px);
  border-color: rgba(167, 139, 250, .28);
  background:
    linear-gradient(135deg, rgba(167, 139, 250, .14), transparent 36%),
    linear-gradient(180deg, rgba(17, 24, 39, .98), rgba(11, 18, 32, .98));
}

.rankings-premium-hero h2 {
  margin-top: 4px;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.rankings-premium-hero p {
  max-width: 760px;
  margin-top: var(--space-3);
  color: var(--text-secondary);
}

.rankings-premium-tabs {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-6);
  overflow-x: auto;
  padding-bottom: var(--space-2);
}

.rankings-premium-tabs a {
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 999px;
  color: var(--text-secondary);
  background: rgba(15, 23, 42, .78);
  font-weight: 850;
}

.rankings-premium-tabs a:hover,
.rankings-premium-tabs a:focus-visible {
  color: var(--text-primary);
  border-color: rgba(56, 189, 248, .32);
  background: var(--blue-soft);
}

.rankings-premium-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.rankings-premium-card {
  padding: var(--space-6);
  scroll-margin-top: 92px;
}

.rankings-premium-card .premium-card-head p {
  margin-top: 3px;
  color: var(--text-secondary);
}

.today-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: var(--space-6);
  align-items: center;
  padding: clamp(22px, 4vw, 42px);
  border-color: rgba(56, 189, 248, .28);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .16), transparent 38%),
    linear-gradient(180deg, rgba(17, 24, 39, .98), rgba(11, 18, 32, .98));
}

.today-hero h1 {
  margin-top: 4px;
  font-size: clamp(2.1rem, 5vw, 4.4rem);
  line-height: .95;
}

.today-hero p {
  max-width: 780px;
  margin-top: var(--space-3);
  color: var(--text-secondary);
}

.today-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.today-status-grid div {
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: var(--radius-md);
  background: rgba(15, 23, 42, .68);
}

.today-status-grid dt {
  color: var(--text-muted);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.today-status-grid dd {
  margin-top: 5px;
  color: var(--text-primary);
  font-size: 1.15rem;
  font-weight: 950;
}

.today-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.today-main-card,
.today-chart-card,
.today-rank-card,
.today-engine-card {
  padding: var(--space-6);
}

.today-chart-card .chart-frame,
.today-chart-card .tradingview-widget-container {
  min-height: 480px;
}

.today-section {
  margin-top: var(--space-8);
}

.today-rank-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.today-engine-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.today-engine-card {
  display: grid;
  gap: var(--space-3);
}

.today-engine-card p {
  color: var(--text-secondary);
}

.button-link.ghost {
  background: transparent;
}

@media (max-width: 1180px) {
  .premium-engine-grid,
  .premium-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .premium-chart-row,
  .premium-command-grid,
  .premium-hero,
  .rankings-premium-hero,
  .rankings-premium-grid,
  .today-hero,
  .today-grid,
  .today-rank-grid,
  .today-engine-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .premium-hero-main {
    min-height: auto;
    padding: var(--space-6);
    border-radius: 22px;
  }
  .premium-hero h1 {
    font-size: 2.25rem;
  }
  .premium-status-board,
  .premium-signal-card,
  .premium-opportunity-card,
  .premium-plan-card,
  .premium-report-card,
  .premium-alert-card,
  .premium-profile-card,
  .premium-ranking-card,
  .premium-engine-card {
    padding: var(--space-4);
  }
  .premium-metric-grid,
  .premium-metric-grid.compact,
  .premium-engine-grid,
  .premium-profile-grid,
  .premium-split-section {
    grid-template-columns: 1fr;
  }
  .premium-ranking-grid {
    grid-template-columns: minmax(280px, 1fr);
    overflow: visible;
  }
  .premium-lens-grid {
    grid-template-columns: 1fr 1fr;
  }
  .premium-watch-row {
    grid-template-columns: 1fr 1fr;
  }
  .premium-watch-row strong {
    grid-column: 1 / -1;
  }
  .premium-chart-wrap .chart-frame,
  .premium-chart-wrap .tradingview-widget-container,
  .today-chart-card .chart-frame,
  .today-chart-card .tradingview-widget-container {
    min-height: 380px;
  }
  .today-status-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .premium-lens-grid {
    grid-template-columns: 1fr;
  }
  .premium-market-rail {
    grid-auto-columns: minmax(150px, 72vw);
  }
}

.clean-decision {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 4vw, 44px);
  border-radius: 26px;
}

.clean-decision h2 {
  max-width: 860px;
  margin-top: var(--space-2);
  font-size: clamp(2rem, 4.2vw, 4.8rem);
  line-height: .95;
}

.clean-lead {
  max-width: 780px;
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
}

.clean-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.clean-status {
  display: grid;
  align-content: center;
  gap: var(--space-2);
  padding: var(--space-5);
  border-radius: 24px;
}

.clean-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border);
}

.clean-status-row span {
  color: var(--text-secondary);
  font-size: .78rem;
  font-weight: 750;
  text-transform: uppercase;
}

.clean-status-row strong {
  text-align: right;
  font-size: 1.08rem;
}

.home-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
  gap: var(--space-5);
  align-items: stretch;
}

.analysis-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.analysis-stack {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.analysis-stack > div {
  padding: var(--space-3);
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(15, 23, 42, .72);
}

.analysis-stack span {
  display: block;
  color: var(--blue);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.analysis-stack p {
  margin-top: 5px;
  color: var(--text-secondary);
  font-size: .88rem;
  line-height: 1.45;
}

.analysis-stack.compact {
  margin-top: var(--space-4);
}

.market-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.market-grid-small {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.market-tile {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  padding: var(--space-5);
  border-radius: 22px;
  color: inherit;
  text-decoration: none;
}

.market-tile:hover,
.market-tile:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(56, 189, 248, .42);
}

.market-kicker {
  color: var(--text-muted);
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.market-tile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.market-tile h3 {
  font-size: clamp(1.35rem, 2vw, 2.2rem);
}

.market-tile p {
  min-height: 46px;
  margin-top: var(--space-3);
  color: var(--text-secondary);
  font-size: .9rem;
}

.market-tile dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-5);
}

.market-tile dt,
.clean-mini-grid dt {
  color: var(--text-secondary);
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.market-tile dd,
.clean-mini-grid dd {
  margin-top: 3px;
  font-weight: 900;
}

.tile-link {
  margin-top: var(--space-5);
  color: var(--blue);
  font-weight: 850;
}

.clean-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: var(--space-5);
}

.clean-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-5) 0;
}

@media (max-width: 1180px) {
  .market-grid,
  .market-grid-small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .clean-hero,
  .home-chart-grid,
  .clean-bottom {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .market-grid,
  .market-grid-small,
  .clean-mini-grid {
    grid-template-columns: 1fr;
  }
  .clean-decision {
    min-height: 240px;
    border-radius: 20px;
  }
  .market-tile {
    min-height: 210px;
  }
}

/* Home clean cockpit */
.main-nav-compact {
  max-width: min(760px, 58vw);
}

.home-hero-clean {
  margin-bottom: var(--space-4);
}

.home-hero-clean .premium-hero-main {
  min-height: 260px;
  padding: clamp(22px, 3.2vw, 34px);
}

.home-hero-clean h1 {
  max-width: 740px;
  font-size: clamp(2.1rem, 4vw, 3.8rem);
}

.home-hero-clean .hero-subtitle {
  max-width: 760px;
}

.home-hero-clean .premium-search {
  margin-top: var(--space-5);
}

.home-hero-clean .premium-status-board {
  padding: var(--space-5);
}

.home-hero-clean .premium-status-line {
  min-height: 58px;
  padding: 13px 15px;
}

.home-decision-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.home-market-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: -6px 0 var(--space-5);
}

.home-market-tabs a {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 12px 16px;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 18px;
  color: var(--text-primary);
  text-decoration: none;
  background: linear-gradient(180deg, rgba(17, 24, 39, .88), rgba(15, 23, 42, .72));
}

.home-market-tabs a:hover,
.home-market-tabs a:focus-visible {
  border-color: rgba(56, 189, 248, .42);
  background: rgba(56, 189, 248, .12);
}

.home-market-tabs span {
  min-width: 0;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: .84rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-market-tabs strong {
  color: var(--text-primary);
  font-size: 1.04rem;
  font-variant-numeric: tabular-nums;
}

.markets-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: var(--space-5);
  align-items: center;
  padding: clamp(24px, 4vw, 42px);
  border-color: rgba(56, 189, 248, .22);
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .14), transparent 34%),
    linear-gradient(115deg, rgba(167, 139, 250, .12), transparent 56%),
    rgba(17, 24, 39, .94);
}

.markets-hero h1 {
  max-width: 760px;
  font-size: clamp(2rem, 4.5vw, 4rem);
  line-height: .98;
}

.markets-hero p {
  max-width: 760px;
  margin-top: var(--space-3);
  color: var(--text-secondary);
  font-size: 1.02rem;
}

.markets-hero-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.markets-hero-kpis div {
  min-height: 112px;
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 18px;
  background: rgba(2, 6, 23, .28);
}

.markets-hero-kpis span {
  color: var(--text-secondary);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.markets-hero-kpis strong {
  display: block;
  margin-top: var(--space-3);
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-variant-numeric: tabular-nums;
}

.markets-hero-premium {
  overflow: hidden;
  position: relative;
}

.markets-hero-premium::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -140px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(56, 189, 248, .18), transparent 68%);
  pointer-events: none;
}

.market-decision-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-5) 0 var(--space-6);
}

.market-decision-strip a {
  display: grid;
  gap: 4px;
  min-height: 96px;
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 20px;
  color: var(--text-primary);
  text-decoration: none;
  background: linear-gradient(180deg, rgba(17, 24, 39, .9), rgba(15, 23, 42, .72));
}

.market-decision-strip a:hover,
.market-decision-strip a:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(56, 189, 248, .42);
  background: rgba(56, 189, 248, .1);
}

.market-decision-strip span {
  color: var(--blue);
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.market-decision-strip strong {
  font-size: 1.15rem;
}

.market-decision-strip small {
  color: var(--text-secondary);
  line-height: 1.35;
}

.market-command-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  margin-bottom: var(--space-6);
  padding: var(--space-6);
}

.market-command-panel article {
  min-height: 180px;
  padding: var(--space-5);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 20px;
  background: rgba(2, 6, 23, .2);
}

.market-command-panel h2 {
  margin-top: 4px;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
}

.market-command-panel p {
  margin-top: var(--space-3);
  color: var(--text-secondary);
  line-height: 1.5;
}

.market-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.market-action-grid.is-long-term {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.market-action-card {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  min-height: 246px;
  padding: var(--space-5);
  color: var(--text-primary);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.market-action-card:hover,
.market-action-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, .42);
  background: var(--surface-hover);
}

.market-action-card h3 {
  margin-top: 4px;
  font-size: 1.28rem;
}

.market-action-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: .9rem;
  line-height: 1.45;
}

.market-action-card em {
  color: var(--blue);
  font-size: .78rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.market-action-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.market-action-kpis span {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 13px;
  background: rgba(2, 6, 23, .28);
}

.market-action-kpis strong {
  overflow: hidden;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.market-action-kpis small {
  overflow: hidden;
  color: var(--text-muted);
  font-size: .62rem;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-section-clean {
  margin-top: var(--space-6);
}

.home-market-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.home-market-card {
  display: grid;
  gap: var(--space-3);
  min-height: 178px;
  padding: 18px;
  color: var(--text-primary);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.home-market-card:hover,
.home-market-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, .42);
  background: var(--surface-hover);
}

.home-market-card h3 {
  margin-top: 4px;
  font-size: 1.28rem;
}

.home-market-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.home-market-status {
  max-width: 45%;
  padding: 6px 9px;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 999px;
  color: var(--blue);
  font-size: .72rem;
  font-weight: 950;
  text-align: right;
  background: rgba(56, 189, 248, .08);
}

.home-market-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.home-market-kpis span {
  display: grid;
  gap: 2px;
  padding: 10px 11px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 13px;
  background: rgba(2, 6, 23, .28);
}

.home-market-kpis strong {
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
}

.home-market-kpis small {
  overflow: hidden;
  color: var(--text-muted);
  font-size: .66rem;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-market-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: .86rem;
  line-height: 1.38;
}

.home-market-card em {
  color: var(--blue);
  font-size: .78rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.home-focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: var(--space-5);
}

.home-watch-compact {
  display: grid;
  gap: 10px;
  margin-top: var(--space-4);
}

.home-watch-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(90px, .65fr) minmax(120px, .9fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 14px;
  color: var(--text-primary);
  text-decoration: none;
  background: rgba(15, 23, 42, .56);
}

.home-watch-row:hover,
.home-watch-row:focus-visible {
  border-color: rgba(250, 204, 21, .4);
  background: rgba(250, 204, 21, .08);
}

.home-watch-row span {
  color: var(--text-secondary);
  font-size: .86rem;
}

.home-diagnosis-card {
  padding: var(--space-5);
}

.home-shortcut-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: var(--space-6) 0 var(--space-2);
}

.home-shortcut-strip a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 999px;
  color: var(--text-primary);
  text-decoration: none;
  background: rgba(15, 23, 42, .72);
}

.home-shortcut-strip a:hover,
.home-shortcut-strip a:focus-visible {
  border-color: rgba(56, 189, 248, .45);
  background: rgba(56, 189, 248, .12);
}

@media (max-width: 1120px) {
  .main-nav-compact {
    max-width: 100%;
  }
  .home-decision-grid,
  .home-focus-grid {
    grid-template-columns: 1fr;
  }
  .home-market-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-market-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .markets-hero {
    grid-template-columns: 1fr;
  }
  .market-decision-strip,
  .market-action-grid,
  .market-action-grid.is-long-term {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .market-command-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .home-market-tabs {
    grid-auto-flow: column;
    grid-auto-columns: minmax(142px, 44vw);
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: thin;
  }
  .home-market-grid {
    grid-template-columns: 1fr;
  }
  .markets-hero-kpis {
    grid-template-columns: 1fr;
  }
  .markets-hero-kpis div {
    min-height: 0;
  }
  .market-decision-strip,
  .market-action-grid,
  .market-action-grid.is-long-term {
    grid-template-columns: 1fr;
  }
  .market-command-panel {
    padding: var(--space-4);
  }
  .market-action-card {
    min-height: 0;
  }
  .home-market-card {
    min-height: 0;
  }
  .home-market-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .home-watch-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .home-watch-row span:nth-child(2),
  .home-watch-row span:nth-child(3) {
    grid-column: 1 / -1;
  }
}

/* Android TV / leanback visual layer */
body {
  background:
    radial-gradient(circle at 10% -10%, rgba(56, 189, 248, .18), transparent 32%),
    radial-gradient(circle at 85% 0%, rgba(167, 139, 250, .14), transparent 28%),
    linear-gradient(180deg, #070b14 0%, #090f1c 48%, #050814 100%);
}

/* Ultra clean home */
.home-lite-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: var(--space-5);
  align-items: stretch;
}

.home-lite-copy {
  min-height: 360px;
  padding: clamp(26px, 5vw, 58px);
  border: 1px solid rgba(56, 189, 248, .22);
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .18), transparent 38%),
    linear-gradient(115deg, rgba(167, 139, 250, .14), transparent 58%),
    rgba(17, 24, 39, .94);
  box-shadow: 0 32px 90px rgba(2, 6, 23, .52);
}

.home-lite-copy h1 {
  max-width: 820px;
  margin-top: var(--space-2);
  font-size: clamp(2.7rem, 7vw, 6.8rem);
  line-height: .88;
  letter-spacing: 0;
}

.home-lite-copy p {
  max-width: 760px;
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.4vw, 1.24rem);
  line-height: 1.55;
}

.home-lite-search {
  max-width: 760px;
  margin-top: var(--space-7);
}

.home-lite-status {
  display: grid;
  gap: var(--space-4);
  align-content: center;
  padding: var(--space-6);
  border-radius: 28px;
}

.home-lite-status-label,
.home-lite-status-grid span,
.home-lite-menu-card span,
.home-lite-tape span {
  color: var(--text-muted);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.home-lite-status > strong {
  color: var(--text-primary);
  font-size: clamp(1.7rem, 4vw, 3.2rem);
  line-height: 1;
}

.home-lite-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.home-lite-status-grid div {
  padding: var(--space-3);
  border: 1px solid rgba(148, 163, 184, .13);
  border-radius: 16px;
  background: rgba(15, 23, 42, .62);
}

.home-lite-status-grid b {
  display: block;
  margin-top: 4px;
  color: var(--text-primary);
  font-size: 1.15rem;
}

.home-lite-security {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-5);
}

.home-lite-security span {
  padding: 8px 12px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 999px;
  color: var(--text-secondary);
  background: rgba(15, 23, 42, .72);
  font-size: .72rem;
  font-weight: 850;
}

.home-lite-now {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.home-lite-priority {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-6);
  border-radius: 26px;
}

.home-lite-priority.is-accent {
  border-color: rgba(167, 139, 250, .28);
  background:
    linear-gradient(135deg, rgba(167, 139, 250, .10), transparent 46%),
    rgba(17, 24, 39, .94);
}

.home-lite-priority h2 {
  margin-top: 4px;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: .98;
}

.home-lite-priority strong {
  display: block;
  margin-top: var(--space-4);
  color: var(--text-primary);
  font-size: clamp(1.6rem, 4vw, 2.8rem);
}

.home-lite-priority p,
.home-lite-priority small {
  display: block;
  max-width: 700px;
  margin-top: var(--space-3);
  color: var(--text-secondary);
  line-height: 1.5;
}

.home-lite-menu {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.home-lite-menu-card {
  min-height: 160px;
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 22px;
  color: inherit;
  text-decoration: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), transparent),
    rgba(17, 24, 39, .88);
}

.home-lite-menu-card:hover,
.home-lite-menu-card:focus-visible,
.home-lite-tape a:hover,
.home-lite-tape a:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(56, 189, 248, .38);
  background: var(--surface-hover);
}

.home-lite-menu-card strong {
  display: block;
  margin-top: var(--space-3);
  color: var(--text-primary);
  font-size: 1.25rem;
}

.home-lite-menu-card small {
  display: block;
  margin-top: var(--space-3);
  color: var(--text-secondary);
  line-height: 1.4;
}

.home-lite-tape {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.home-lite-tape a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px var(--space-3);
  align-items: center;
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 18px;
  color: inherit;
  text-decoration: none;
  background: rgba(15, 23, 42, .72);
}

.home-lite-tape strong {
  color: var(--text-primary);
  font-size: 1.55rem;
}

.home-lite-tape small {
  grid-column: 1 / -1;
  color: var(--text-secondary);
}

@media (max-width: 1180px) {
  .home-lite-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .home-lite-hero,
  .home-lite-now {
    grid-template-columns: 1fr;
  }
  .home-lite-copy {
    min-height: auto;
  }
}

@media (max-width: 680px) {
  .home-lite-copy,
  .home-lite-status,
  .home-lite-priority {
    border-radius: 22px;
    padding: var(--space-5);
  }
  .home-lite-copy h1 {
    font-size: 3rem;
  }
  .home-lite-search {
    margin-top: var(--space-5);
  }
  .home-lite-menu,
  .home-lite-tape,
  .home-lite-status-grid {
    grid-template-columns: 1fr;
  }
  .home-lite-menu-card {
    min-height: 124px;
  }
  .home-lite-security {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.app-header {
  background: rgba(5, 8, 20, .88);
  border-bottom-color: rgba(56, 189, 248, .18);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
}

.brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(56, 189, 248, .18), rgba(34, 197, 94, .14));
  box-shadow: 0 0 26px rgba(56, 189, 248, .16);
}

.brand strong { font-size: 1.05rem; letter-spacing: .01em; }
.main-nav a,
.button-link,
.button-control,
.refresh-button {
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.main-nav a {
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 999px;
}

.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a[aria-current="page"] {
  border-color: rgba(56, 189, 248, .34);
  background: rgba(56, 189, 248, .11);
  color: var(--text-primary);
  box-shadow: 0 0 24px rgba(56, 189, 248, .12);
  transform: translateY(-1px);
}

.security-bar {
  border-bottom-color: rgba(56, 189, 248, .18);
  background:
    linear-gradient(90deg, rgba(56, 189, 248, .09), rgba(34, 197, 94, .06), rgba(167, 139, 250, .08)),
    rgba(11, 18, 32, .96);
}

.security-items { min-height: 50px; }
.security-chip { font-size: .76rem; }

.panel,
.metric-card,
.manual-signal-card,
.opportunity-card,
.engine-card,
.health-card,
.mobile-row {
  border-color: rgba(148, 163, 184, .17);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, 0)),
    rgba(17, 24, 39, .94);
  box-shadow: 0 24px 70px rgba(2, 6, 23, .46), 0 0 0 1px rgba(148, 163, 184, .04) inset;
}

.panel:hover,
.manual-signal-card:hover,
.opportunity-card:hover,
.engine-card:hover,
.engine-card:focus-within {
  border-color: rgba(56, 189, 248, .36);
  background:
    linear-gradient(180deg, rgba(56, 189, 248, .06), rgba(255, 255, 255, 0)),
    rgba(24, 34, 54, .96);
}

.manual-signal-card,
.opportunity-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-radius: 22px;
}

.manual-signal-card::before,
.opportunity-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--blue), var(--green), var(--purple));
}

.manual-signal-card h2,
.opportunity-card h2 {
  font-size: clamp(1.55rem, 2vw, 2.15rem);
}

.metric-card {
  padding: 18px;
  border-radius: 18px;
  background: rgba(15, 23, 42, .78);
}

.metric-value {
  font-size: 1.6rem;
  font-weight: 900;
}

.status-pill,
.status-badge {
  min-height: 31px;
  padding: 6px 12px;
  font-size: .72rem;
}

.button-link:hover,
.button-control:hover,
.refresh-button:hover,
.button-link:focus-visible,
.button-control:focus-visible,
.refresh-button:focus-visible {
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(56, 189, 248, .55);
  box-shadow: 0 0 28px rgba(56, 189, 248, .2), var(--shadow-focus);
}

.engine-card {
  padding: 24px;
  border-radius: 22px;
}

.engine-card:hover,
.engine-card:focus-within {
  transform: translateY(-4px) scale(1.015);
}

.chart-card {
  border-radius: 24px;
  overflow: hidden;
}

.chart-toolbar {
  min-height: 74px;
  background: rgba(15, 23, 42, .82);
}

.chart-stage {
  height: 600px !important;
  min-height: 560px;
}

.tradingview-widget-container__widget,
.tradingview-widget-container__widget iframe,
.chart-stage > iframe {
  min-height: 560px !important;
}

.fallback-chart,
.chart-fallback,
.chart-unavailable {
  min-height: 560px;
}

.compact-table-wrap table,
.table-wrap table {
  border-spacing: 0 8px;
}

tbody tr {
  transition: background .15s ease, transform .15s ease;
}

tbody tr:hover {
  background: rgba(56, 189, 248, .07);
}

.trade-ruler::before {
  height: 5px;
  box-shadow: 0 0 20px rgba(34, 197, 94, .18);
}

@media (min-width: 1280px) {
  body { font-size: 16px; }
  .shell { width: min(1680px, calc(100% - 72px)); }
  .page-main { padding-block: 42px 72px; }
  .hero-grid,
  .decision-grid,
  .home-bottom-grid {
    gap: 24px;
  }
  .engine-grid {
    gap: 22px;
  }
}

@media (max-width: 680px) {
  .manual-signal-card,
  .opportunity-card,
  .engine-card {
    border-radius: 18px;
    padding: 20px;
  }
  .chart-stage,
  .tradingview-widget-container__widget,
  .tradingview-widget-container__widget iframe,
  .chart-stage > iframe,
  .fallback-chart,
  .chart-fallback,
  .chart-unavailable {
    min-height: 380px !important;
    height: 380px !important;
  }
}

/* Investment portal V3 */
.investor-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .72fr);
  gap: var(--space-5);
  align-items: stretch;
}

.investor-hero-copy,
.investor-hero-panel {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 32px;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .16), rgba(167, 139, 250, .10) 42%, rgba(34, 197, 94, .08)),
    rgba(17, 24, 39, .92);
  box-shadow: 0 32px 90px rgba(2, 6, 23, .56);
}

.investor-hero-copy {
  padding: clamp(28px, 5vw, 60px);
}

.investor-hero-copy::after {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -180px;
  width: 470px;
  height: 470px;
  border: 1px solid rgba(56, 189, 248, .18);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, .14), transparent 62%);
  pointer-events: none;
}

.investor-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 920px;
  margin-top: var(--space-3);
  font-size: clamp(3rem, 7vw, 7.2rem);
  line-height: .86;
  letter-spacing: -0.04em;
}

.hero-subtitle {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.5vw, 1.32rem);
  line-height: 1.55;
}

.asset-search-hero {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  max-width: 840px;
  margin-top: var(--space-7);
  padding: 8px;
  border: 1px solid rgba(56, 189, 248, .28);
  border-radius: 22px;
  background: rgba(2, 6, 23, .55);
}

.asset-search-hero input {
  min-height: 58px;
  width: 100%;
  border: 0;
  outline: 0;
  border-radius: 16px;
  background: rgba(15, 23, 42, .74);
  color: var(--text-primary);
  padding: 0 18px;
  font-size: 1rem;
}

.asset-search-hero input::placeholder {
  color: var(--text-muted);
}

.asset-search-hero button {
  min-height: 58px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--blue), var(--green));
  color: #031018;
  padding: 0 22px;
  font-weight: 950;
  cursor: pointer;
}

.hero-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.investor-hero-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 3vw, 36px);
}

.hero-panel-top,
.portal-market-title,
.ranking-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.portal-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-chip.is-green { color: var(--green); background: var(--green-soft); }
.portal-chip.is-blue { color: var(--blue); background: var(--blue-soft); }

.investor-hero-panel h2 {
  margin-top: var(--space-6);
  font-size: clamp(2rem, 3vw, 3.3rem);
  line-height: .98;
}

.investor-hero-panel p {
  margin-top: var(--space-4);
  color: var(--text-secondary);
}

.portal-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.portal-kpis div,
.market-tape article {
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 16px;
  background: rgba(15, 23, 42, .62);
  padding: var(--space-3);
}

.portal-kpis dt,
.market-tape span {
  display: block;
  color: var(--text-muted);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-kpis dd,
.market-tape strong {
  display: block;
  margin-top: 4px;
  color: var(--text-primary);
  font-weight: 950;
}

.market-tape {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.portal-index-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(170px, 1fr);
  gap: 1px;
  margin-top: var(--space-5);
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 20px;
  background: rgba(2, 6, 23, .7);
  box-shadow: 0 22px 70px rgba(2, 6, 23, .34);
  scrollbar-width: thin;
}

.portal-index-item {
  display: grid;
  gap: 4px;
  min-height: 88px;
  padding: 16px 18px;
  color: inherit;
  text-decoration: none;
  background: rgba(15, 23, 42, .78);
  border-right: 1px solid rgba(148, 163, 184, .12);
}

.portal-index-item:hover,
.portal-index-item:focus-visible {
  background: rgba(24, 34, 54, .98);
  outline: 2px solid rgba(56, 189, 248, .35);
  outline-offset: -2px;
}

.portal-index-item span {
  color: var(--text-secondary);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-index-item strong {
  color: var(--text-primary);
  font-size: 1.28rem;
  font-weight: 950;
}

.portal-index-item small {
  color: var(--text-muted);
  white-space: nowrap;
}

.market-tape article {
  min-height: 104px;
}

.market-tape strong {
  font-size: clamp(1.4rem, 2.2vw, 2.3rem);
}

.market-tape small {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
}

.portal-section {
  margin-top: var(--space-8);
}

.portal-market-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.portal-market-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: var(--space-5);
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 26px;
  color: inherit;
  text-decoration: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    rgba(17, 24, 39, .92);
}

.portal-market-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--blue);
}

.portal-market-card.theme-green::before { background: var(--green); }
.portal-market-card.theme-yellow::before { background: var(--yellow); }
.portal-market-card.theme-red::before { background: var(--red); }
.portal-market-card.theme-purple::before { background: var(--purple); }

.portal-market-card:hover,
.portal-market-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(56, 189, 248, .42);
}

.portal-market-card h3 {
  margin-top: var(--space-3);
  font-size: clamp(1.45rem, 2vw, 2.35rem);
}

.portal-market-card p {
  min-height: 66px;
  margin-top: var(--space-4);
  color: var(--text-secondary);
  line-height: 1.45;
}

.portal-market-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.portal-market-card dt {
  color: var(--text-muted);
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-market-card dd {
  margin-top: 3px;
  font-weight: 950;
}

.market-card-footer {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border);
}

.market-card-footer span {
  color: var(--text-muted);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ranking-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.market-exposure-section {
  padding: 26px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 30px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, 0)),
    rgba(7, 11, 20, .68);
}

.exposure-tabs {
  display: flex;
  gap: 12px;
  margin-top: var(--space-4);
  overflow-x: auto;
  padding-bottom: 4px;
}

.exposure-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 999px;
  color: var(--text-secondary);
  text-decoration: none;
  font-weight: 850;
  white-space: nowrap;
  background: rgba(15, 23, 42, .68);
}

.exposure-tab.is-active,
.exposure-tab:hover,
.exposure-tab:focus-visible {
  color: #06101d;
  border-color: transparent;
  background: linear-gradient(135deg, var(--blue), var(--green));
}

.exposure-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(360px, 440px);
  max-width: 100%;
  gap: var(--space-4);
  margin-top: var(--space-5);
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
}

.exposure-card {
  min-height: 460px;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  scroll-snap-align: start;
}

.exposure-card-head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 132px;
  padding: var(--space-5);
  border-bottom: 1px solid rgba(148, 163, 184, .14);
  background: rgba(248, 250, 252, .045);
}

.exposure-card-head h3 {
  margin-top: 6px;
  font-size: 1.65rem;
  line-height: 1.05;
}

.exposure-card-head span {
  display: block;
  margin-top: 8px;
  color: var(--text-secondary);
  font-size: .88rem;
  line-height: 1.35;
}

.exposure-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.exposure-list li {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  min-height: 66px;
  padding: 13px var(--space-5);
  border-bottom: 1px solid rgba(148, 163, 184, .10);
}

.exposure-list li:hover {
  background: rgba(56, 189, 248, .06);
}

.exposure-rank {
  color: var(--yellow);
  font-weight: 950;
}

.exposure-asset {
  min-width: 0;
}

.exposure-asset a,
.exposure-asset strong {
  display: block;
  color: var(--text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 950;
}

.exposure-asset small {
  display: block;
  margin-top: 3px;
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exposure-metric {
  text-align: right;
}

.exposure-metric span {
  display: block;
  color: var(--text-muted);
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.exposure-metric strong {
  display: block;
  margin-top: 3px;
  color: var(--green);
  font-size: 1.05rem;
  font-weight: 950;
}

.exposure-empty {
  grid-template-columns: 1fr !important;
  color: var(--text-secondary);
  text-align: center;
}

.ranking-card {
  padding: var(--space-5);
  border-radius: 24px;
}

.ranking-card h3 {
  font-size: 1.35rem;
}

.ranking-card p {
  margin-top: 4px;
  color: var(--text-secondary);
  font-size: .86rem;
}

.ranking-list {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding: 0;
  list-style: none;
}

.ranking-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px var(--space-3);
  align-items: center;
  padding: var(--space-3);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 14px;
  background: rgba(15, 23, 42, .58);
}

.ranking-list a,
.ranking-list span {
  color: var(--text-primary);
  font-weight: 950;
  text-decoration: none;
}

.ranking-list small {
  grid-column: 1 / -1;
  color: var(--text-secondary);
}

.ranking-list strong {
  grid-row: 1;
  grid-column: 2;
  color: var(--blue);
}

.empty-ranking {
  color: var(--text-secondary);
}

.ranking-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr);
  gap: var(--space-5);
  align-items: center;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(167, 139, 250, .13), rgba(56, 189, 248, .08)),
    rgba(17, 24, 39, .94);
}

.ranking-hero h2 {
  margin-top: var(--space-2);
  font-size: clamp(2.1rem, 4vw, 4.4rem);
  line-height: .92;
}

.ranking-hero p {
  max-width: 820px;
  margin-top: var(--space-4);
  color: var(--text-secondary);
  font-size: 1.05rem;
}

.ranking-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.ranking-metrics div {
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 18px;
  background: rgba(15, 23, 42, .64);
}

.ranking-metrics dt {
  color: var(--text-muted);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ranking-metrics dd {
  margin-top: 5px;
  font-size: 1.8rem;
  font-weight: 950;
}

.intelligence-grid {
  display: grid;
  gap: var(--space-4);
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(220px, 1fr));
}

.intelligence-main,
.intelligence-list {
  padding: var(--space-5);
}

.intelligence-main h3 {
  margin: var(--space-2) 0 var(--space-4);
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: .95;
}

.ranking-list.compact {
  margin-top: var(--space-3);
}

.ranking-list.compact li {
  grid-template-columns: minmax(0, 1fr) auto;
}

.ranking-list.compact small {
  grid-column: 1 / -1;
}

.allocation-stack {
  display: grid;
  gap: 10px;
  margin: var(--space-4) 0;
}

.allocation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(56, 189, 248, .12), rgba(167, 139, 250, .08)),
    rgba(15, 23, 42, .55);
}

.allocation-row span {
  color: var(--text-secondary);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.allocation-row strong {
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
}

.market-card .metric-grid.compact {
  margin-top: var(--space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: var(--space-4);
}

.button-link.is-secondary {
  color: var(--text-primary);
  border-color: rgba(148, 163, 184, .28);
  background: rgba(15, 23, 42, .72);
}

@media (max-width: 1240px) {
  .portal-market-grid,
  .intelligence-grid,
  .ranking-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .investor-hero {
    grid-template-columns: 1fr;
  }
  .ranking-hero {
    grid-template-columns: 1fr;
  }
  .market-tape {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .investor-hero-copy,
  .investor-hero-panel {
    min-height: auto;
    border-radius: 22px;
  }
  .asset-search-hero {
    grid-template-columns: 1fr;
  }
  .asset-search-hero button {
    width: 100%;
  }
  .market-tape,
  .portal-market-grid,
  .ranking-grid,
  .intelligence-grid,
  .portal-kpis,
  .ranking-metrics {
    grid-template-columns: 1fr;
  }
  .portal-index-strip {
    grid-auto-columns: minmax(150px, 70%);
  }
  .market-exposure-section {
    padding: 18px 12px;
    border-radius: 22px;
  }
  .exposure-carousel {
    grid-auto-columns: minmax(300px, 88vw);
  }
  .exposure-card {
    min-height: 430px;
  }
  .exposure-card-head {
    min-height: 126px;
    padding: 18px;
  }
  .exposure-list li {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 12px 16px;
  }
}
/* Position preview page: private portfolio discussion surface */
.position-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: var(--space-5);
  align-items: stretch;
  margin-bottom: var(--space-6);
}

.position-title-block,
.position-score-card,
.position-action-box,
.position-warning {
  border: 1px solid var(--border);
  background: linear-gradient(145deg, rgba(17, 24, 39, .96), rgba(11, 18, 32, .96));
  border-radius: var(--radius-lg);
  padding: var(--space-6);
}

.position-title-block h1 {
  margin: 0;
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  letter-spacing: 0;
}

.position-score-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
}

.position-score-card span,
.position-action-box span {
  color: var(--text-secondary);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.position-score-card strong {
  margin-top: var(--space-2);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
}

.position-score-card small {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: 1rem;
}

.position-score-card.is-positive strong,
.tone-positive {
  color: var(--green);
}

.position-score-card.is-negative strong,
.tone-negative {
  color: var(--red);
}

.tone-neutral {
  color: var(--text-primary);
}

.position-layout,
.position-chart-section {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: var(--space-5);
  align-items: start;
  margin-bottom: var(--space-6);
}

.position-chart-section {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
}

.position-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-5) 0;
}

.position-metrics div {
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: var(--radius-md);
  background: rgba(15, 23, 42, .72);
}

.position-metrics dt,
.detail-list dt {
  color: var(--text-secondary);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.position-metrics dd {
  margin: var(--space-2) 0 0;
  color: var(--text-primary);
  font-size: 1.08rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.position-action-box {
  margin-top: var(--space-4);
  border-left: 4px solid var(--blue);
}

.position-action-box strong {
  display: block;
  margin-top: var(--space-2);
  font-size: 1.25rem;
}

.position-action-box p,
.position-warning p,
.position-notes-panel li {
  color: var(--text-secondary);
}

.position-warning {
  margin-top: var(--space-4);
  border-color: rgba(250, 204, 21, .32);
  background: var(--yellow-soft);
}

.position-analysis-stack {
  margin: var(--space-5) 0;
}

.clean-list {
  margin: var(--space-4) 0 0;
  padding-left: 1.1rem;
}

.clean-list li + li {
  margin-top: var(--space-3);
}

.private-position-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.private-position-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--text-secondary);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.private-position-form input,
.private-position-form select,
.private-position-form textarea {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: var(--radius-md);
  background: rgba(7, 11, 20, .72);
  color: var(--text-primary);
  font: inherit;
  padding: .82rem .9rem;
  text-transform: none;
}

.private-position-form input:focus,
.private-position-form select:focus,
.private-position-form textarea:focus {
  outline: 2px solid rgba(56, 189, 248, .45);
  outline-offset: 2px;
}

.form-wide {
  grid-column: 1 / -1;
}

.compact-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}

.compact-table a {
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 900px) {
  .position-hero,
  .position-layout,
  .position-chart-section {
    grid-template-columns: 1fr;
  }

  .position-metrics {
    grid-template-columns: 1fr;
  }

  .private-position-form {
    grid-template-columns: 1fr;
  }
}
