:root {
  --ss-surface: #171d26;
  --ss-surface-raised: #1d2530;
  --ss-border: rgba(230, 247, 255, 0.10);
  --ss-muted: rgba(230, 247, 255, 0.58);
  --ss-positive: #22c55e;
  --ss-neutral: #fbbf24;
  --ss-negative: #ef4444;
}

.investment-dashboard,
.valuation-range,
.decision-profile {
  width: min(1180px, 96%);
  margin: .9rem auto 1.25rem;
  text-align: left;
}

.analysis-result-page { padding-top: .35rem !important; }
.analysis-result-page .analysis-nav {
  position: sticky; top: 78px; z-index: 80; justify-content: flex-start; flex-wrap: nowrap;
  width: min(1180px, 96%); max-width: none; margin: .55rem auto .8rem; padding: .3rem;
  overflow-x: auto; scrollbar-width: none; border-radius: 10px;
  background: rgba(20,27,36,.94); box-shadow: 0 12px 32px rgba(0,0,0,.22); backdrop-filter: blur(16px);
}
.analysis-result-page .analysis-nav::-webkit-scrollbar,
.valuation-decision-strip__models::-webkit-scrollbar { display: none; }
.analysis-result-page .analysis-nav button {
  flex: 0 0 auto; min-height: 40px; padding: .5rem .75rem; border: 0; border-radius: 7px;
  background: transparent; font-size: .74rem; transform: none;
}
.analysis-result-page .analysis-nav button:hover { transform: none; }
.analysis-result-page .analysis-nav button.active { background: #2962ff; color: #fff; transform: none; }

.stock-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem;
  border: 1px solid var(--ss-border);
  border-radius: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(0, 217, 255, 0.10), transparent 38%),
    var(--ss-surface);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.16);
}

.stock-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.stock-logo-shell {
  width: 64px; height: 64px; flex: 0 0 64px; display: grid; place-items: center;
  padding: .55rem; border-radius: 12px; background: #fff;
}
.stock-logo-shell img { max-width: 100%; max-height: 100%; object-fit: contain; }
.stock-identity h1 { margin: .25rem 0 .15rem; color: #fff; font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.1; }
.stock-kicker { display: flex; gap: .45rem; flex-wrap: wrap; }
.stock-kicker span, .model-kind {
  border: 1px solid var(--ss-border); border-radius: 999px; padding: .18rem .55rem;
  color: var(--ss-muted); font-size: .72rem; font-weight: 700; letter-spacing: .035em;
}
.stock-industry { margin: 0; color: var(--ss-muted); font-size: .82rem; }

.stock-price-block { display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; white-space: nowrap; }
.stock-price-block > span { color: var(--ss-muted); font-size: .76rem; }
.stock-price-block strong { color: #fff; font-size: 1.65rem; font-variant-numeric: tabular-nums; }
.stock-price-block strong small { color: var(--ss-muted); font-size: .75rem; }
.watchlist-button {
  min-height: 40px; margin-top: .45rem; border: 1px solid var(--ss-border); border-radius: 8px; padding: .42rem .65rem;
  background: transparent; color: var(--ss-muted); font: inherit; font-size: .7rem; cursor: pointer;
}
.watchlist-button:hover, .watchlist-button.active { border-color: rgba(251,191,36,.45); color: var(--ss-neutral); background: rgba(251,191,36,.06); }
.watchlist-panel {
  width: min(860px, 96%); margin: 0 auto 1.5rem; padding: 1rem; text-align: left;
  border: 1px solid var(--ss-border); border-radius: 16px; background: var(--ss-surface);
}
.watchlist-panel[hidden] { display: none; }
.watchlist-panel h2 { margin: .2rem 0 .8rem; color: #fff; font-size: 1rem; }
.watchlist-items { display: flex; gap: .55rem; flex-wrap: wrap; }
.watchlist-item { display: flex; align-items: stretch; border: 1px solid var(--ss-border); border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.025); }
.watchlist-item a { display: flex; flex-direction: column; padding: .5rem .7rem; color: #fff; text-decoration: none; }
.watchlist-item a:hover strong { color: var(--accent); }
.watchlist-item a strong { font-size: .78rem; }
.watchlist-item a span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ss-muted); font-size: .65rem; }
.watchlist-item button { border: 0; border-left: 1px solid var(--ss-border); background: transparent; color: var(--ss-muted); cursor: pointer; }
.watchlist-item button:hover { color: var(--ss-negative); background: rgba(251,113,133,.05); }

.stock-overall {
  min-width: 112px; padding: .75rem 1rem; text-align: center; border: 1px solid currentColor;
  border-radius: 10px; display: flex; flex-direction: column; background: rgba(255,255,255,.025);
}
.stock-overall span { font-size: .72rem; color: var(--ss-muted); }
.stock-overall strong { font-size: 1.65rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.stock-overall strong small { font-size: .72rem; color: var(--ss-muted); }

.stock-tone--positive { color: var(--ss-positive) !important; }
.stock-tone--neutral { color: var(--ss-neutral) !important; }
.stock-tone--negative { color: var(--ss-negative) !important; }

.valuation-decision-strip {
  display: grid; grid-template-columns: minmax(230px, 1.05fr) minmax(330px, 1.2fr); gap: .8rem 1.2rem;
  margin: .65rem 0; padding: 1rem 1.1rem; border: 1px solid currentColor; border-radius: 12px;
  background: rgba(20,27,36,.98);
  background: linear-gradient(120deg, color-mix(in srgb, currentColor 9%, transparent), rgba(255,255,255,.018));
}
.valuation-decision-strip__verdict { display: flex; flex-direction: column; justify-content: center; }
.valuation-decision-strip__verdict > strong { margin: .15rem 0; color: currentColor; font-size: clamp(1.25rem, 2.5vw, 1.7rem); letter-spacing: -.025em; }
.valuation-decision-strip__verdict > small { color: var(--ss-muted); font-size: .72rem; }
.valuation-decision-strip__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; margin: 0; }
.valuation-decision-strip__metrics div { padding: .65rem .7rem; border-left: 1px solid var(--ss-border); }
.valuation-decision-strip__metrics dt { color: var(--ss-muted); font-size: .68rem; }
.valuation-decision-strip__metrics dd { margin: .15rem 0 0; color: #fff; font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.valuation-decision-strip__metrics dd small { color: var(--ss-muted); font-size: .65rem; }
.valuation-decision-strip__models { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px,1fr)); gap: .35rem; }
.valuation-decision-strip__models span { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .45rem .6rem; border-radius: 7px; background: rgba(255,255,255,.035); }
.valuation-decision-strip__models small { overflow: hidden; color: var(--ss-muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.valuation-decision-strip__models b { color: #fff; font-size: .72rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.valuation-decision-strip > p { grid-column: 1 / -1; margin: 0; color: var(--ss-muted); font-size: .65rem; }

.investment-verdict {
  display: grid; grid-template-columns: auto 1fr auto; gap: .85rem; align-items: center;
  margin: .85rem 0 1rem; padding: .85rem 1rem; border: 1px solid rgba(0,217,255,.18);
  border-radius: 9px; background: rgba(0,217,255,.035);
}
.investment-verdict > i { color: var(--accent); font-size: 1.25rem; }
.investment-verdict p { margin: .08rem 0 0; color: #fff; line-height: 1.45; }
.eyebrow { display: block; color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.decision-disclaimer { color: var(--ss-muted); font-size: .7rem; text-align: right; }
.thesis-change {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: -.25rem 0 1rem;
  padding: .7rem .9rem; border: 1px solid var(--ss-border); border-radius: 12px; color: var(--ss-muted); font-size: .72rem;
}
.thesis-change[hidden] { display: none; }
.thesis-change > div { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.thesis-change span { padding: .22rem .5rem; border-radius: 999px; background: rgba(255,255,255,.04); }
.thesis-change--up { color: var(--ss-positive); }
.thesis-change--down { color: var(--ss-negative); }

.decision-profile { padding: 1.1rem; border-top: 1px solid var(--ss-border); }
.decision-profile .section-heading-row { margin-bottom: .85rem; }
.decision-profile .section-heading-row h2 { margin: .18rem 0 0; color: #fff; font-size: 1.25rem; }
.decision-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; }
.decision-card {
  min-width: 0; padding: .9rem; border: 1px solid var(--ss-border); border-radius: 10px;
  background: var(--ss-surface); color: var(--ss-muted) !important;
}
.decision-card--valuation { grid-column: span 2; }
.decision-card:not(.decision-card--valuation) { grid-column: span 1; }
.decision-card__heading { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: center; }
.decision-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(0,217,255,.08); color: var(--accent); }
.decision-card h2 { margin: 0; color: #fff; font-size: .88rem; line-height: 1.25; }
.decision-card__heading div span { color: inherit; font-size: .7rem; }
.decision-card__heading > strong { color: inherit; font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.decision-meter { height: 6px; margin: .85rem 0; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.decision-meter span { display: block; height: 100%; border-radius: inherit; background: currentColor; }
.decision-card > p { min-height: 4.6em; margin: 0 0 .8rem; color: var(--ss-muted); font-size: .8rem; line-height: 1.5; }
.decision-metrics { display: grid; gap: .4rem; margin: 0; }
.decision-metrics div { display: flex; justify-content: space-between; gap: .5rem; padding-top: .4rem; border-top: 1px solid rgba(255,255,255,.055); }
.decision-metrics dt { color: var(--ss-muted); font-size: .76rem; }
.decision-metrics dd { margin: 0; color: #fff; font-size: .82rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.decision-metrics small { color: var(--ss-muted); font-size: .64rem; }

.thesis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 1rem; }
.thesis-card { padding: 1rem 1.1rem; border: 1px solid var(--ss-border); border-radius: 10px; background: var(--ss-surface); }
.thesis-card h2 { margin: 0 0 .65rem; font-size: .86rem; }
.thesis-card ul { margin: 0; padding-left: 1.1rem; color: var(--ss-muted); font-size: .76rem; line-height: 1.55; }
.thesis-card li + li { margin-top: .35rem; }
.thesis-card--positive h2 { color: var(--ss-positive); }
.thesis-card--negative h2 { color: var(--ss-negative); }
.thesis-card--watch h2 { color: var(--ss-neutral); }

.company-description { width: min(1060px, 95%); margin: 0 auto 1rem; text-align: left; border-bottom: 1px solid var(--ss-border); }
.company-description summary { padding: .85rem 0; color: var(--ss-muted); cursor: pointer; font-size: .82rem; font-weight: 700; }
.company-description p { padding: 0 0 1rem; color: var(--ss-muted); line-height: 1.65; }

.interactive-chart-card {
  width: min(1180px, 96%); margin: 0 auto 1.25rem; padding: 1.1rem; box-sizing: border-box;
  border: 1px solid var(--ss-border); border-radius: 12px; background: var(--ss-surface); text-align: left;
}
.interactive-chart-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding: .25rem .2rem .85rem; }
.interactive-chart-header h2 { margin: .2rem 0 0; color: #fff; font-size: 1.08rem; }
.interactive-chart-readout { display: grid; grid-template-columns: auto auto; gap: .12rem .65rem; align-items: center; text-align: right; font-variant-numeric: tabular-nums; }
.interactive-chart-readout > span { grid-column: 1 / 3; color: var(--ss-muted); font-size: .62rem; }
.interactive-chart-readout > strong { color: #fff; font-size: .82rem; }
#price-change-badge { min-width: 60px; padding: .18rem .42rem; border-radius: 6px; font-size: .66rem; text-align: center; }
#price-change-badge.is-positive { color: var(--ss-positive); background: rgba(34,197,94,.11); }
#price-change-badge.is-negative { color: var(--ss-negative); background: rgba(239,68,68,.11); }
.interactive-chart-toolbar { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; padding: .7rem 0; border-top: 1px solid var(--ss-border); }
.chart-control-group { display: inline-flex; padding: .18rem; border: 1px solid var(--ss-border); border-radius: 9px; background: rgba(255,255,255,.018); }
.chart-control { min-height: 40px; padding: .35rem .62rem; border: 0; border-radius: 6px; background: transparent; color: var(--ss-muted); font: inherit; font-size: .68rem; font-weight: 700; cursor: pointer; }
.chart-control:hover:not(:disabled) { color: #fff; background: rgba(255,255,255,.045); }
.chart-control.active { color: #fff; background: #2962ff; }
.chart-control:disabled { opacity: .38; cursor: not-allowed; }
.chart-overlay-toggle { margin-left: auto; border: 1px solid var(--ss-border); }
.chart-overlay-toggle.active { border-color: rgba(41,98,255,.45); background: rgba(41,98,255,.16); color: #9db7ff; }
.interactive-chart-stage { height: 340px; overflow: hidden; border: 1px solid rgba(255,255,255,.065); border-radius: 9px; background: #111820; }
#interactive-price-chart { width: 100%; height: 100%; }
.interactive-chart-legend { display: flex; gap: 1rem; flex-wrap: wrap; padding: .8rem .15rem .2rem; color: var(--ss-muted); font-size: .62rem; }
.interactive-chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.interactive-chart-legend i { width: 16px; height: 2px; background: var(--legend-color); }
.interactive-chart-legend strong { color: #fff; }
.interactive-chart-footer { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem .15rem 0; border-top: 1px solid var(--ss-border); color: var(--ss-muted); font-size: .58rem; }
.interactive-chart-footer a { color: var(--ss-muted); }
.analysis-chart-view-switch { display: inline-flex; gap: .2rem; margin: 0 0 .55rem; padding: .2rem; border: 1px solid var(--ss-border); border-radius: 8px; background: rgba(255,255,255,.02); }
.analysis-chart-view-switch button { min-height: 40px; padding: .45rem .75rem; border: 0; border-radius: 6px; background: transparent; color: var(--ss-muted); font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.analysis-chart-view-switch button.active { background: #2962ff; color: #fff; }
[data-analysis-chart-panel][hidden] { display: none; }
.analysis-chart-panel--projection { padding-top: .45rem; }
.analysis-chart-panel--projection .projection-card__header h3 { margin: .25rem 0 .35rem; color: #fff; font-size: 1.15rem; }
.projection-note { margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--ss-border); color: var(--ss-muted); font-size: .68rem; }

.valuation-range { padding: 1.5rem; border: 1px solid var(--ss-border); border-radius: 20px; background: var(--ss-surface); }
.section-heading-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.section-heading-row h3 { margin: .2rem 0; color: #fff; font-size: 1.5rem; }
.valuation-consensus { display: flex; flex-direction: column; align-items: flex-end; }
.valuation-consensus span, .valuation-consensus small { color: var(--ss-muted); font-size: .72rem; }
.valuation-consensus strong { font-size: 1.25rem; font-variant-numeric: tabular-nums; }

.valuation-scale {
  position: relative; height: 160px; margin: 1.4rem 1rem .4rem;
  border-top: 10px solid rgba(255,255,255,.08); border-radius: 99px;
  background: linear-gradient(90deg, rgba(74,222,128,.12), rgba(251,191,36,.06) 52%, rgba(251,113,133,.12));
}
.valuation-axis { position: absolute; top: -32px; left: 0; right: 0; display: flex; justify-content: space-between; color: var(--ss-muted); font-size: .68rem; }
.valuation-marker { position: absolute; top: -15px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; }
.valuation-marker > span { display: block; width: 2px; height: 72px; background: rgba(230,247,255,.42); }
.valuation-marker small { margin-top: .35rem; color: var(--ss-muted); font-size: .65rem; white-space: nowrap; writing-mode: vertical-rl; max-height: 62px; }
.valuation-marker--median > span { width: 3px; height: 92px; background: var(--ss-neutral); }
.valuation-marker--median small { color: var(--ss-neutral); font-weight: 800; }
.valuation-marker--price > span { width: 4px; height: 110px; background: var(--accent); box-shadow: 0 0 10px rgba(0,217,255,.45); }
.valuation-marker--price small { color: var(--accent); font-weight: 800; }

.valuation-summary-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 0; border-top: 1px solid var(--ss-border); }
.valuation-summary-row p { margin: 0; color: var(--ss-muted); font-size: .82rem; }
.valuation-summary-row strong { white-space: nowrap; font-size: .86rem; }
.valuation-model-table-wrap { overflow-x: auto; }
.valuation-model-table { width: 100%; border-collapse: collapse; min-width: 720px; text-align: left; }
.valuation-model-table th { color: var(--ss-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.valuation-model-table th, .valuation-model-table td { padding: .7rem .65rem; border-bottom: 1px solid rgba(255,255,255,.06); }
.valuation-model-table td { color: var(--ss-muted); font-size: .76rem; }
.valuation-model-table td:nth-child(3), .valuation-model-table td:nth-child(4) { color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
.valuation-method-note { margin-top: 1rem; color: var(--ss-muted); font-size: .75rem; }
.valuation-method-note summary { cursor: pointer; color: var(--accent); font-weight: 700; }
.empty-analysis-state { padding: 2rem; text-align: center; color: var(--ss-muted); }

.trend-workspace {
  width: min(1180px, 96%); margin: 1.25rem auto 2rem; padding: 1.5rem;
  border: 1px solid var(--ss-border); border-radius: 20px; background: var(--ss-surface); text-align: left;
}
.trend-workspace .section-heading-row h3 { margin: .25rem 0 1rem; color: #fff; }
.trend-help { color: var(--ss-muted); font-size: .72rem; }
.trend-focus-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); gap: 1rem; }
.trend-focus-column { min-width: 0; }
.trend-metric-controls { display: flex; gap: .45rem; overflow-x: auto; padding: 0 0 .75rem; scrollbar-width: thin; }
.trend-metric-controls button {
  flex: 0 0 auto; border: 1px solid var(--ss-border); border-radius: 999px; padding: .42rem .72rem;
  background: transparent; color: var(--ss-muted); font: inherit; font-size: .7rem; cursor: pointer;
}
.trend-metric-controls button:hover, .trend-metric-controls button.active {
  border-color: rgba(0,217,255,.45); background: rgba(0,217,255,.08); color: var(--accent);
}
.trend-focus-panel { padding: 1rem; border: 1px solid var(--ss-border); border-radius: 15px; background: rgba(255,255,255,.018); }
.trend-focus-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.trend-focus-header h4 { margin: .2rem 0 .5rem; color: #fff; font-size: 1rem; }
.trend-focus-header > strong { font-size: .8rem; white-space: nowrap; }
.trend-focus-canvas { height: 330px; }
.trend-table-wrap { overflow-x: auto; }
.trend-summary-table { width: 100%; border-collapse: collapse; min-width: 420px; }
.trend-summary-table th, .trend-summary-table td { padding: .72rem .65rem; border-bottom: 1px solid rgba(255,255,255,.06); text-align: right; }
.trend-summary-table th:first-child, .trend-summary-table td:first-child { text-align: left; }
.trend-summary-table th { color: var(--ss-muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; }
.trend-summary-table td { color: var(--ss-muted); font-size: .7rem; cursor: pointer; font-variant-numeric: tabular-nums; }
.trend-summary-table tr:hover, .trend-summary-table tr.active { background: rgba(0,217,255,.045); }
.trend-summary-table tr.active td:first-child { color: var(--accent); font-weight: 700; }
.trend-positive { color: var(--ss-positive) !important; }
.trend-negative { color: var(--ss-negative) !important; }

@media (max-width: 1120px) {
  .decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .decision-card, .decision-card--valuation, .decision-card:not(.decision-card--valuation) { grid-column: auto; }
  .decision-card > p { min-height: auto; }
  .trend-focus-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .investment-dashboard, .valuation-range, .decision-profile { width: 100%; }
  .analysis-result-page .analysis-nav { top: 72px; width: 100%; margin-top: .25rem; border-radius: 8px; }
  .analysis-result-page .analysis-nav button { min-height: 44px; font-size: .75rem; }
  .trend-workspace { width: 100%; padding: 1rem; }
  .stock-hero-card { grid-template-columns: 1fr auto; padding: 1rem; }
  .stock-price-block { align-items: flex-start; grid-column: 1 / 2; }
  .stock-overall { grid-column: 2; grid-row: 1 / 3; align-self: stretch; justify-content: center; }
  .investment-verdict { grid-template-columns: auto 1fr; }
  .decision-disclaimer { grid-column: 2; text-align: left; }
  .thesis-change { align-items: flex-start; flex-direction: column; }
  .thesis-change > div { justify-content: flex-start; }
  .valuation-decision-strip { grid-template-columns: 1fr; }
  .valuation-decision-strip__metrics { grid-template-columns: repeat(3, 1fr); }
  .valuation-decision-strip__metrics div:first-child { border-left: 0; }
  .valuation-decision-strip__models { display: flex; overflow-x: auto; scrollbar-width: none; }
  .valuation-decision-strip__models span { flex: 0 0 auto; min-width: 150px; }
  .decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .thesis-grid { grid-template-columns: 1fr; }
  .valuation-summary-row { align-items: flex-start; flex-direction: column; }
  .interactive-chart-card { width: 100%; padding: .7rem; }
  .interactive-chart-header { align-items: flex-start; flex-direction: column; }
  .interactive-chart-readout { text-align: left; }
  .interactive-chart-toolbar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .interactive-chart-toolbar::-webkit-scrollbar, .interactive-chart-legend::-webkit-scrollbar { display: none; }
  .interactive-chart-toolbar > * { flex: 0 0 auto; }
  .interactive-chart-stage { height: 260px; }
  .chart-overlay-toggle { margin-left: 0; }
  .interactive-chart-legend { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .interactive-chart-legend span { flex: 0 0 auto; }
}

@media (max-width: 480px) {
  .stock-hero-card { grid-template-columns: 1fr; }
  .stock-overall { grid-column: auto; grid-row: auto; flex-direction: row; justify-content: space-between; align-items: center; }
  .stock-price-block { grid-column: auto; }
  .stock-logo-shell { width: 48px; height: 48px; flex-basis: 48px; }
  .valuation-decision-strip { padding: .9rem; }
  .valuation-decision-strip__metrics { gap: 0; }
  .valuation-decision-strip__metrics div { padding: .55rem .4rem; }
  .valuation-decision-strip__metrics dd { font-size: .9rem; }
  .decision-grid { grid-template-columns: 1fr; }
  .valuation-range { padding: 1rem; }
  .section-heading-row { flex-direction: column; }
  .valuation-consensus { align-items: flex-start; }
  .valuation-marker small { font-size: .58rem; }
  .interactive-chart-header { align-items: flex-end; flex-direction: row; }
  .interactive-chart-header h2 { font-size: 1rem; }
  .interactive-chart-readout { margin-left: auto; text-align: right; }
  .interactive-chart-readout > span { display: none; }
  .interactive-chart-stage { height: 240px; }
  .interactive-chart-footer { justify-content: flex-end; padding-top: .45rem; }
  .interactive-chart-footer > span { display: none; }
  .analysis-chart-view-switch { display: flex; width: 100%; box-sizing: border-box; }
  .analysis-chart-view-switch button { flex: 1; min-height: 44px; padding-inline: .45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .decision-meter span { transition: none; }
}

/* Scénářová projekce */
.projection-card { width: min(1180px, 100%); box-sizing: border-box; margin: 1rem auto; padding: 1rem; border: 1px solid rgba(41,98,255,.22); border-radius: 12px; background: linear-gradient(145deg, rgba(17,24,32,.98), rgba(20,27,36,.96)); text-align: left; }
.projection-card__header { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-start; }.projection-card__header h2 { margin: .3rem 0 .45rem; color: #fff; font-size: clamp(1.25rem,3vw,1.8rem); }.projection-card__header p { max-width: 720px; margin: 0; color: var(--ss-muted); font-size: .68rem; line-height: 1.55; }
.projection-source { flex: 0 0 auto; padding: .4rem .6rem; border: 1px solid var(--ss-border); border-radius: 8px; color: var(--ss-muted); font-size: .58rem; }.projection-source i { margin-right: .3rem; color: #2962ff; }
.projection-toolbar { display: flex; gap: .35rem; flex-wrap: wrap; margin: 1rem 0 .5rem; }.projection-toolbar button { min-height: 40px; padding: .4rem .65rem; border: 1px solid var(--ss-border); border-radius: 7px; background: transparent; color: var(--ss-muted); font: inherit; font-size: .68rem; cursor: pointer; }.projection-toolbar button.active { border-color: #2962ff; background: rgba(41,98,255,.14); color: #fff; }
.projection-chart-wrap { height: 320px; }.projection-assumptions { display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem; margin-top: .7rem; }.projection-assumptions span { padding: .55rem .65rem; border-radius: 9px; background: rgba(255,255,255,.025); color: var(--ss-muted); font-size: .56rem; }.projection-assumptions b { display: block; margin-top: .15rem; color: #fff; font-size: .72rem; }.projection-card footer { margin-top: .7rem; padding-top: .65rem; border-top: 1px solid var(--ss-border); color: rgba(145,165,178,.75); font-size: .55rem; line-height: 1.5; }.projection-card footer i { margin-right: .3rem; color: var(--ss-accent); }
@media (max-width: 700px) { .projection-card__header { flex-direction: column; gap: .7rem; }.projection-source { flex-basis: auto; }.projection-chart-wrap { height: 260px; }.projection-assumptions { grid-template-columns: 1fr 1fr; } }

/* Vyhledávání společnosti v analyzátoru */
.stock-search { position: relative; width: 100%; text-align: left; }
.stock-search > label { display: block; margin-bottom: .45rem; color: #dce8ee; font-size: .7rem; font-weight: 700; }
.stock-search__input-shell { position: relative; display: flex; align-items: center; }
.stock-search__input-shell > i { position: absolute; left: .9rem; z-index: 1; color: var(--ss-muted); font-size: .75rem; pointer-events: none; }
.stock-search__input-shell input { width: 100%; min-height: 48px; padding: .75rem 2.7rem .75rem 2.45rem !important; border: 1px solid rgba(0,217,255,.45) !important; border-radius: 11px; background: rgba(7,13,19,.82); color: #fff; font: inherit; font-size: .86rem; }
.stock-search__input-shell input:focus { outline: none; border-color: var(--ss-accent) !important; box-shadow: 0 0 0 3px rgba(0,217,255,.1); }
.stock-search__loader { position: absolute; right: .95rem; width: 15px; height: 15px; border: 2px solid rgba(145,165,178,.25); border-top-color: var(--ss-accent); border-radius: 50%; opacity: 0; pointer-events: none; }
.stock-search__loader.is-visible { opacity: 1; animation: stock-search-spin .7s linear infinite; }
.stock-search__results { position: absolute; z-index: 40; top: calc(100% - 1.3rem); left: 0; right: 0; max-height: 310px; overflow-y: auto; padding: .35rem; border: 1px solid rgba(0,217,255,.24); border-radius: 12px; background: #101820; box-shadow: 0 18px 45px rgba(0,0,0,.45); }
.stock-search-result { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .8rem; width: 100%; padding: .7rem .75rem; border: 0; border-radius: 8px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.stock-search-result:hover, .stock-search-result.is-active { background: rgba(41,98,255,.14); }
.stock-search-result__identity { display: grid; min-width: 0; gap: .12rem; }
.stock-search-result__identity strong { color: #fff; font-size: .78rem; letter-spacing: .025em; }
.stock-search-result__identity span { overflow: hidden; color: var(--ss-muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.stock-search-result small { max-width: 130px; overflow: hidden; color: rgba(145,165,178,.72); font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.stock-search__selection { display: flex; align-items: center; gap: .35rem; min-height: 1.2rem; margin: .38rem 0 0 !important; color: var(--ss-muted) !important; font-size: .58rem !important; }
.stock-search__selection.is-selected { color: var(--ss-positive) !important; }
.stock-search__empty { margin: 0; padding: .8rem; color: var(--ss-muted); font-size: .66rem; text-align: center; }
@keyframes stock-search-spin { to { transform: rotate(360deg); } }
@media (max-width: 520px) { .stock-search-result small { max-width: 85px; }.stock-search__results { max-height: 260px; } }
@media (prefers-reduced-motion: reduce) { .stock-search__loader.is-visible { animation: none; } }
