/* Incremental UI overrides kept outside the legacy single-file stylesheet. */
.chart-crosshair { stroke: var(--amber); stroke-width: 1; stroke-dasharray: 3 3; pointer-events: none; }
.detail-holdings-summary { min-height:20px; margin-bottom:10px; }
.detail-section-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-left:auto; }
.detail-holdings-sort { float:none !important; flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; white-space:nowrap; }
.detail-holdings-sort select { min-width:112px; height:34px; }
.detail-holdings-wrap { clear:both; width:100%; }
.market-pulse-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
.market-pulse-kpi { min-height:76px; padding:12px 14px; background:var(--bg); display:flex; flex-direction:column; justify-content:center; gap:3px; }
.market-pulse-kpi span,.market-pulse-kpi small,.market-pulse-section-title span,.market-breadth-labels,.market-group-row small,.market-pulse-quality { color:var(--muted); font-size:12px; }
.market-pulse-kpi strong { font-size:18px; line-height:1.2; }
.market-pulse-kpi b { font-weight:700; }
.market-breadth-block { margin-top:12px; padding:12px 14px; border:1px solid var(--line-soft); background:var(--bg); }
.market-pulse-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.market-breadth-track { display:flex; height:10px; background:var(--line-soft); overflow:hidden; }
.market-breadth-track i { display:block; height:100%; }
.market-breadth-track i.negative { background:var(--green); }
.market-breadth-track i.neutral { background:var(--line); }
.market-breadth-track i.positive { background:var(--red); }
.market-breadth-labels { display:flex; margin-top:6px; }
.market-breadth-labels span { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.market-breadth-labels span.down { text-align:left; }
.market-breadth-labels span.flat { text-align:center; }
.market-breadth-labels span.up { text-align:right; }
.market-pulse-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.market-pulse-columns > div { padding:12px 14px; border:1px solid var(--line-soft); background:var(--bg); min-width:0; }
.market-group-list,.market-leader-list { display:grid; gap:8px; }
.market-group-row { display:grid; grid-template-columns:46px minmax(60px,1fr) 54px 40px; align-items:center; gap:7px; font-size:12px; }
.market-group-row strong { text-align:right; }
.market-group-bar { height:6px; background:var(--line-soft); overflow:hidden; }
.market-group-bar i { display:block; height:100%; background:var(--amber); }
.market-group-bar i.positive { background:var(--red); }
.market-group-bar i.negative { background:var(--green); }
.market-leader-list { grid-template-columns:1fr 1fr; gap:14px; }
.market-leader-list > div { display:grid; gap:6px; }
.market-leader-list small { color:var(--muted); font-size:12px; }
.market-leader-list span { display:flex; justify-content:space-between; gap:6px; font-size:12px; }
.market-leader-list b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-leader-list em { font-style:normal; white-space:nowrap; }
.market-pulse-quality { margin-top:10px; line-height:1.6; }
@media (max-width:760px) { .market-pulse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .market-pulse-columns { grid-template-columns:1fr; } .detail-holdings-panel .section-head { align-items:flex-start; } .detail-section-actions { align-items:flex-end; flex-direction:column-reverse; gap:5px; } .detail-holdings-sort select { min-width:108px; } }

/* Future-return research stays visually and semantically separate from NAV estimation. */
.opportunity-intro { min-height:48px; margin-bottom:14px; padding:10px 14px; border-left:3px solid var(--amber); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--panel-3); }
.opportunity-intro strong { flex:0 0 auto; font-size:14px; }
.opportunity-intro span { color:var(--muted); font-size:12px; line-height:1.6; text-align:right; }
.research-notice { min-height:96px; margin-bottom:20px; padding:18px 20px; border-left:3px solid var(--amber); border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr); align-items:center; gap:28px; background:var(--panel-3); }
.research-notice span { color:var(--amber); font-size:12px; font-weight:750; letter-spacing:0; }
.research-notice h2 { margin:4px 0 0; font-size:21px; }
.research-notice p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.opportunity-toolbar { margin-bottom:14px; }
.research-method-disclosure { margin:16px 0; border:1px solid var(--line-soft); background:var(--panel); }
.research-method-disclosure > summary { padding:10px 14px; cursor:pointer; color:var(--muted); font-size:12px; font-weight:650; }
.research-method-disclosure[open] > summary { border-bottom:1px solid var(--line-soft); color:var(--text); }
.research-method-disclosure .research-method { margin:0; border-top:0; }
.research-method-disclosure .research-pipeline { margin:0; border-width:1px 0 0; }
.research-method { margin:0 0 18px; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--line-soft); gap:1px; }
.research-method > div { min-height:62px; padding:11px 13px; background:var(--bg); }
.research-method strong,.research-method span { display:block; }
.research-method strong { font-size:12px; }
.research-method span { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.5; }
.opportunity-summary { margin-bottom:10px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line-soft); background:var(--line-soft); gap:1px; }
.opportunity-summary > div { min-height:66px; padding:10px 13px; background:var(--panel-3); }
.opportunity-summary span,.opportunity-summary small,.opportunity-summary strong { display:block; }
.opportunity-summary span { color:var(--muted); font-size:12px; }
.opportunity-summary strong { margin-top:4px; font-size:18px; }
.opportunity-summary small { margin-top:3px; color:var(--muted); font-size:12px; }
.opportunity-summary[hidden],.opportunity-validation[hidden],.opportunity-decision-tools[hidden],.opportunity-comparison[hidden] { display:none; }
.catalog-progress { margin:0 0 14px; padding:12px 14px; border:1px solid var(--line-soft); background:var(--panel); }
.catalog-progress[hidden] { display:none; }
.catalog-progress-head,.catalog-progress-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.catalog-progress-head span,.catalog-progress-head strong { display:block; }
.catalog-progress-head span,.catalog-progress-head small,.catalog-progress-meta { color:var(--muted); font-size:12px; }
.catalog-progress-head strong { margin-top:2px; font-size:18px; color:var(--text); }
.catalog-progress-track { height:4px; margin:10px 0; overflow:hidden; background:var(--line-soft); }
.catalog-progress-track i { display:block; height:100%; background:var(--blue); transition:width .2s ease; }
.catalog-progress-meta span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:right; }
.opportunity-validation { margin:0 0 12px; border:1px solid var(--line-soft); background:var(--panel); }
.opportunity-validation > summary { min-height:42px; padding:8px 12px; cursor:pointer; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; }
.opportunity-validation > summary::marker { color:var(--muted); }
.opportunity-validation > summary span { color:var(--amber); font-size:12px; font-weight:700; }
.opportunity-validation > summary strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.opportunity-validation > summary small { color:var(--muted); font-size:12px; }
.opportunity-validation[open] > summary { border-bottom:1px solid var(--line-soft); }
.opportunity-validation-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-soft); }
.opportunity-validation-grid section { min-width:0; padding:12px 14px; background:var(--bg); }
.opportunity-validation-grid h4 { margin:0 0 8px; font-size:12px; }
.opportunity-validation-grid section > div { padding:6px 0; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:12px; }
.opportunity-validation-grid section > div b { font-size:12px; }
.opportunity-validation-grid section > div span { color:var(--muted); font-size:12px; text-align:right; }
.opportunity-validation-grid p,.opportunity-validation-grid small { color:var(--muted); font-size:12px; line-height:1.6; }
.opportunity-validation-grid p { margin:8px 0 2px; }
.opportunity-decision-tools { min-height:46px; margin:0 0 12px; padding:7px 9px; border:1px solid var(--line-soft); display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--panel); }
.opportunity-filter { display:flex; align-items:center; gap:3px; flex-wrap:wrap; }
.opportunity-filter button { min-height:30px; padding:5px 11px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); cursor:pointer; font-size:12px; }
.opportunity-filter button:hover,.opportunity-filter button.active { color:var(--text); background:var(--panel-3); }
.opportunity-filter button.active { border-bottom-color:var(--red); font-weight:700; }
.opportunity-decision-tools > label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; white-space:nowrap; }
.opportunity-decision-tools select { min-width:128px; height:32px; }
.opportunity-comparison { margin-bottom:16px; border:1px solid var(--line); background:var(--panel); }
.opportunity-comparison .section-head { padding:11px 14px; margin:0; border-bottom:1px solid var(--line-soft); }
.opportunity-comparison table { min-width:920px; }
.opportunity-comparison th { white-space:nowrap; }
.opportunity-comparison td { vertical-align:middle; font-size:12px; }
.opportunity-jump { max-width:180px; padding:0; border:0; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.opportunity-jump strong,.opportunity-jump small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opportunity-jump strong { font-size:12px; }
.opportunity-jump small { margin-top:2px; color:var(--blue); font:9px Consolas,monospace; }
.opportunity-jump:hover strong { color:var(--blue); }
.comparison-signal { display:inline-block; padding:3px 6px; border:1px solid var(--line); white-space:nowrap; }
.comparison-signal.candidate { color:var(--red); border-color:rgba(212,63,75,.35); }
.comparison-signal.avoid { color:var(--green); border-color:rgba(35,157,118,.35); }
.comparison-signal.watch { color:var(--amber); border-color:rgba(201,139,42,.35); }
.comparison-signal.low-confidence { color:var(--amber); border-color:rgba(201,139,42,.35); }
.comparison-signal.abstain { color:var(--muted); border-color:var(--line); }
.opportunity-reason-cell { min-width:190px; max-width:320px; color:var(--muted); line-height:1.5; }
.opportunity-results { display:grid; gap:12px; }
.opportunity-row { scroll-margin-top:18px; border:1px solid var(--line); border-left:3px solid var(--line-strong); background:var(--panel); overflow:hidden; outline:0; }
.opportunity-row:focus { box-shadow:0 0 0 2px rgba(40,113,166,.22); }
.opportunity-row.candidate { border-left-color:var(--red); }
.opportunity-row.avoid { border-left-color:var(--green); }
.opportunity-row.watch { border-left-color:var(--amber); }
.opportunity-row.low-confidence { border-left-color:var(--amber); }
.opportunity-row.abstain { border-left-color:var(--muted); }
.opportunity-head { min-height:72px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line-soft); }
.opportunity-identity { min-width:0; display:flex; align-items:center; gap:12px; }
.research-code { flex:0 0 auto; padding:5px 7px; border:1px solid var(--line); color:var(--blue); font:12px Consolas,monospace; }
.opportunity-identity div { min-width:0; }
.opportunity-identity strong,.opportunity-identity small { display:block; }
.opportunity-identity strong { white-space:normal; overflow-wrap:anywhere; font-size:14px; }
.opportunity-identity small { margin-top:4px; color:var(--muted); font-size:12px; }
.opportunity-verdict { flex:0 0 auto; display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; align-items:center; gap:1px 10px; text-align:right; }
.opportunity-verdict .signal-tag { grid-row:1 / 3; padding:4px 7px; border:1px solid var(--line); color:var(--amber); font-size:12px; }
.opportunity-row.candidate .signal-tag { color:var(--red); border-color:rgba(212,63,75,.45); }
.opportunity-row.avoid .signal-tag { color:var(--green); border-color:rgba(35,157,118,.45); }
.opportunity-row.low-confidence .signal-tag { color:var(--amber); border-color:rgba(201,139,42,.45); }
.opportunity-verdict strong { max-width:130px; font-size:12px; line-height:1.2; }
.opportunity-verdict small { color:var(--muted); font-size:12px; }
.decision-brief { padding:14px 16px 13px; border-bottom:1px solid var(--line-soft); background:var(--panel-3); }
.decision-brief strong { display:block; font-size:14px; }
.decision-brief p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.forecast-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line-soft); }
.forecast-grid > div { min-height:78px; padding:12px 14px; background:var(--bg); }
.forecast-grid span,.forecast-grid strong,.forecast-grid small { display:block; }
.forecast-grid span { color:var(--muted); font-size:12px; }
.forecast-grid strong { margin-top:6px; font-size:17px; font-variant-numeric:tabular-nums; }
.forecast-grid small { margin-top:3px; color:var(--muted); font-size:12px; }
.decision-evidence { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-soft); border-top:1px solid var(--line-soft); }
.decision-evidence section { min-width:0; padding:13px 16px; background:var(--panel); }
.decision-evidence h4 { margin:0 0 8px; font-size:12px; }
.decision-evidence h4::before { content:""; display:inline-block; width:3px; height:10px; margin-right:7px; background:var(--red); vertical-align:-1px; }
.decision-evidence .decision-risk h4::before { background:var(--amber); }
.decision-evidence ul,.decision-cautions ul { margin:0; padding:0; list-style:none; display:grid; gap:5px; }
.decision-evidence li,.decision-evidence p,.decision-cautions li { position:relative; margin:0; padding-left:12px; color:var(--muted); font-size:12px; line-height:1.55; }
.decision-evidence li::before,.decision-evidence p::before,.decision-cautions li::before { content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; background:var(--line); }
.decision-evidence section:first-child li::before { background:var(--red); }
.decision-risk li::before { background:var(--amber); }
.research-pipeline { margin:10px 0 16px; min-height:38px; display:flex; align-items:center; gap:8px; padding:7px 10px; overflow-x:auto; border:1px solid var(--line); background:var(--panel); }
.research-pipeline span { flex:0 0 auto; padding:4px 7px; color:var(--text); font-size:12px; background:var(--panel-3); border-left:2px solid var(--red); }
.research-pipeline i { color:var(--muted); font-style:normal; }
.research-context { display:flex; flex-wrap:wrap; gap:8px 18px; padding:10px 16px; border-top:1px solid var(--line-soft); color:var(--muted); font-size:12px; }
.research-context b { margin-left:4px; color:var(--text); font-weight:600; }
.research-layers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line-soft); border-top:1px solid var(--line-soft); }
.research-layer { min-height:68px; padding:10px 12px; background:var(--panel); border-top:2px solid var(--muted); }
.research-layer.good { border-top-color:var(--green); }
.research-layer.watch { border-top-color:var(--amber); }
.research-layer.bad { border-top-color:var(--red); }
.research-layer span,.research-layer strong,.research-layer small { display:block; }
.research-layer span { color:var(--muted); font-size:12px; }
.research-layer strong { margin-top:3px; font-size:12px; }
.research-layer small { margin-top:3px; color:var(--muted); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.closure-health { margin:12px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
.closure-health > div { min-height:72px; padding:11px 13px; background:var(--panel); }
.closure-health span,.closure-health strong,.closure-health small { display:block; }
.closure-health span,.closure-health small { color:var(--muted); font-size:12px; }
.closure-health strong { margin:4px 0; font-size:13px; }
.validation-strip { padding:9px 14px; border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); display:flex; align-items:center; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:12px; }
.validation-strip b { color:var(--text); font-size:12px; }
.validation-strip b:not(:first-child) { margin-left:12px; }
.research-unavailable { color:var(--amber); }
.research-evidence { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-soft); }
.research-evidence > div { min-width:0; padding:12px 14px; background:var(--panel); display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.research-evidence strong { width:100%; font-size:12px; }
.research-evidence span,.research-evidence a { color:var(--muted); font-size:12px; line-height:1.5; }
.research-evidence a { color:var(--blue); text-decoration:none; }
.research-evidence i { width:6px; height:6px; margin-right:4px; display:inline-block; background:var(--muted); }
.research-evidence i.positive { background:var(--red); }
.research-evidence i.negative { background:var(--green); }
.research-detail { padding:8px 14px 10px; border-top:1px solid var(--line-soft); }
.research-detail summary { cursor:pointer; color:var(--muted); font-size:12px; }
.research-detail p { margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.research-audit-kpis { margin:10px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
.research-audit-kpis > span { min-width:0; padding:9px 11px; background:var(--bg); color:var(--muted); font-size:12px; }
.research-audit-kpis b,.research-audit-kpis small { display:block; }
.research-audit-kpis b { margin:4px 0 2px; color:var(--text); font-size:13px; }
.research-audit-kpis small { overflow-wrap:anywhere; color:var(--muted); font-size:12px; }
.decision-cautions { margin:10px 0; padding:10px 12px; border-left:2px solid var(--amber); background:var(--panel-3); }
.decision-cautions > b { display:block; margin-bottom:6px; font-size:12px; }
.research-event-link { display:block; margin-top:7px; color:var(--blue); font-size:12px; line-height:1.5; text-decoration:none; }
.research-detail-grid { margin:10px 0 4px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
.research-detail-grid > div { min-width:0; padding:10px 12px; background:var(--bg); }
.research-detail-grid b { display:block; font-size:12px; }
.research-detail-grid p { overflow-wrap:anywhere; }
.prediction-strata { margin:16px 0; }
.prediction-strata .section-head { margin-bottom:8px; }
.ledger-metrics { margin-bottom:12px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; background:var(--line-soft); }
.ledger-metrics > div { min-height:58px; padding:10px 12px; background:var(--bg); }
.ledger-metrics span,.ledger-metrics strong { display:block; }
.ledger-metrics span { color:var(--muted); font-size:12px; }
.ledger-metrics strong { margin-top:4px; font-size:13px; }
@media (max-width:980px) { .forecast-grid,.research-method,.opportunity-summary,.research-layers,.research-audit-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .ledger-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { .research-notice,.research-evidence,.research-detail-grid,.decision-evidence,.opportunity-validation-grid { grid-template-columns:1fr; } .opportunity-intro { align-items:flex-start; flex-direction:column; gap:4px; } .opportunity-intro span { width:100%; overflow-wrap:anywhere; text-align:left; } .opportunity-summary > div:last-child,.forecast-grid > div:last-child { grid-column:1 / -1; } .opportunity-validation > summary { grid-template-columns:auto minmax(0,1fr); } .opportunity-validation > summary small { grid-column:1 / -1; } .research-notice p { overflow-wrap:anywhere; } #opportunity-toolbar { grid-template-columns:minmax(0,1fr); } #opportunity-toolbar > .field,#opportunity-toolbar > .field.grow,#opportunity-toolbar > .btn { grid-column:1; width:100%; min-width:0; } .opportunity-decision-tools { align-items:stretch; flex-direction:column; } .opportunity-decision-tools > label { justify-content:space-between; } .opportunity-decision-tools select { flex:1; } .opportunity-head { align-items:flex-start; } .opportunity-identity { align-items:flex-start; } .opportunity-verdict { grid-template-columns:1fr; } .opportunity-verdict .signal-tag { grid-row:auto; } .forecast-grid { grid-template-columns:1fr 1fr; } .validation-strip { align-items:flex-start; } }
@media (max-width:680px) { .closure-health { grid-template-columns:1fr; } }
@media (max-width:430px) { #opportunity-toolbar { grid-template-columns:minmax(0,1fr); } #opportunity-toolbar > .field,#opportunity-toolbar > .field.grow,#opportunity-toolbar > .btn { grid-column:1; width:100%; min-width:0; } .research-notice,.research-method,.opportunity-summary,.opportunity-results,.opportunity-row { width:100%; max-width:100%; min-width:0; } .research-method,.opportunity-summary,.forecast-grid,.ledger-metrics,.research-layers,.research-audit-kpis { grid-template-columns:minmax(0,1fr); } .opportunity-head { flex-direction:column; } .opportunity-head-actions { align-items:stretch; flex-direction:column; } .decision-log-button { width:100%; } .opportunity-verdict { width:100%; display:flex; justify-content:space-between; text-align:left; } .opportunity-identity strong { white-space:normal; overflow-wrap:anywhere; } }

/* Opportunity page hierarchy: conclusion first, audit evidence on demand. */
.opportunity-intro { min-height:72px; margin:0 0 18px; padding:15px 18px; border:1px solid var(--line); border-left:3px solid var(--red); background:var(--blue-soft); }
.opportunity-intro > div { min-width:190px; }
.opportunity-intro strong { display:block; margin-top:4px; font-size:20px; letter-spacing:0; }
.opportunity-intro .opportunity-eyebrow { display:block; color:var(--red); font-size:12px; font-weight:750; letter-spacing:.08em; }
.opportunity-intro > span:last-child { max-width:430px; line-height:1.65; }
.opportunity-toolbar { padding:10px 12px; border-color:var(--line); background:var(--panel); }
.opportunity-toolbar .btn.primary { min-width:92px; }
.opportunity-summary { margin-bottom:14px; border-color:var(--line); background:var(--line); }
.opportunity-summary > div { min-height:74px; padding:12px 15px; background:var(--panel-2); }
.opportunity-summary > div:first-child { border-left:2px solid var(--blue); }
.opportunity-summary > div:nth-child(2) { border-left:2px solid var(--red); }
.opportunity-summary > div:nth-child(3) { border-left:2px solid var(--amber); }
.opportunity-summary strong { font-size:20px; font-variant-numeric:tabular-nums; }
.opportunity-decision-tools { margin-bottom:14px; border-color:var(--line); background:var(--panel); }
.opportunity-filter button.active { color:var(--text); border-bottom-color:var(--red); background:var(--blue-soft); }
.opportunity-row { border-color:var(--line); background:var(--panel); box-shadow:0 5px 18px rgba(0,0,0,.12); }
.opportunity-row + .opportunity-row { margin-top:2px; }
.opportunity-head { min-height:82px; padding:15px 17px; border-bottom-color:var(--line); background:var(--panel-2); }
.research-code { border-color:var(--line-strong); background:var(--panel); }
.opportunity-identity strong { font-size:15px; }
.opportunity-verdict { min-width:148px; }
.opportunity-verdict .signal-tag { padding:5px 8px; font-size:12px; font-weight:700; background:var(--panel); }
.opportunity-verdict strong { font-size:17px; font-variant-numeric:tabular-nums; }
.opportunity-verdict small { font-size:12px; }
.decision-brief { padding:12px 17px; background:var(--panel); border-bottom-color:var(--line); }
.decision-brief strong { font-size:13px; }
.decision-brief p { margin-top:4px; }
.forecast-grid { background:var(--line); }
.forecast-grid > div { min-height:86px; padding:14px 16px; background:var(--blue-soft); }
.forecast-grid > div:first-child { border-top:2px solid var(--blue); }
.forecast-grid > div:nth-child(2) { border-top:2px solid var(--red); }
.forecast-grid > div:nth-child(3) { border-top:2px solid var(--amber); }
.forecast-grid strong { font-size:20px; }
.decision-evidence { background:var(--line); }
.decision-evidence section { padding:13px 17px; background:var(--panel); }
.research-detail { border-top:1px solid var(--line); background:var(--panel); }
.research-detail > summary { padding:11px 17px; color:var(--muted); font-size:12px; font-weight:650; cursor:pointer; }
.research-detail[open] > summary { color:var(--text); background:var(--panel-2); }
@media (max-width:680px) { .opportunity-intro { align-items:flex-start; gap:10px; } .opportunity-intro > span:last-child { max-width:none; text-align:left; } .opportunity-verdict { min-width:0; } }
