/* Shared stock detail CSS — used by stock_info + prospectus_info pages */
.section-title { font-size:18px; font-weight:700; color:#9489ca; margin:32px 0 12px; padding-bottom:8px; border-bottom:2px solid rgba(148,137,202,0.15); }
body.light .section-title { color:#111110; border-bottom-color:rgba(83,74,128,0.12); }
.info-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14px; }
.info-table th { text-align:left; padding:8px 12px; background:rgba(148,137,202,0.08); color:#9489ca; font-weight:600; white-space:nowrap; width:170px; vertical-align:top; }
body.light .info-table th { background:rgba(83,74,128,0.04); color:#534A80; }
.info-table td { padding:8px 12px; vertical-align:top; line-height:1.7; }
.info-table tr { border-bottom:1px solid rgba(148,137,202,0.08); }
.info-table a { color:inherit; word-break:break-all; text-decoration:none; }
.info-table .num { font-variant-numeric:tabular-nums; }
.info-table .na { color:#999; font-style:italic; }
body.light .info-table .na { color:rgba(17,17,16,0.35); }

.role-group { margin:16px 0; }
.role-label { font-size:13px; font-weight:600; color:#9489ca; margin:12px 0 4px; }
body.light .role-label { color:#534A80; }
.firm-list { display:flex; flex-wrap:wrap; gap:4px 16px; padding-left:16px; }
.firm-item { font-size:14px; }
.firm-item .sole-badge { font-size:10px; background:rgba(148,137,202,0.15); color:#9489ca; padding:1px 6px; border-radius:3px; margin-left:4px; }
body.light .firm-item .sole-badge { background:rgba(83,74,128,0.08); color:#534A80; }
.firm-item .ce-no { font-size:10px; background:rgba(51,177,255,0.12); color:#33B1FF; padding:1px 6px; border-radius:3px; margin-left:4px; white-space:nowrap; }
body.light .firm-item .ce-no { background:rgba(51,177,255,0.08); }

.svc-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14px; }
.svc-table th { text-align:left; padding:8px 12px; background:rgba(148,137,202,0.08); color:#9489ca; font-weight:600; width:200px; }
body.light .svc-table th { background:rgba(83,74,128,0.04); color:#534A80; }
.svc-table td { padding:8px 12px; border-bottom:1px solid rgba(148,137,202,0.06); line-height:1.7; }

.cs-table, .dir-table { width:100%; border-collapse:collapse; margin:12px 0; font-size:13px; }
.cs-table th, .dir-table th { text-align:left; padding:6px 10px; background:rgba(148,137,202,0.08); color:#9489ca; font-weight:600; }
body.light .cs-table th, body.light .dir-table th { background:rgba(83,74,128,0.04); color:#534A80; }
.cs-table td, .dir-table td { padding:6px 10px; border-bottom:1px solid rgba(148,137,202,0.06); }
.cs-table .num, .dir-table .num { text-align:right; font-variant-numeric:tabular-nums; }

.dir-type-tag { font-size:11px; padding:2px 8px; border-radius:3px; }
.dir-type-ed { background:rgba(55,160,255,0.1); color:#37a0ff; }
.dir-type-ned { background:rgba(255,160,55,0.1); color:#ffa037; }
.dir-type-ind { background:rgba(55,200,130,0.1); color:#37c882; }
.dir-type-sup { background:rgba(200,130,55,0.1); color:#c88237; }

/* ── Subscription Tiers — styles in analysis.css; stock_info/prospectus wrap in .content so reset margin ── */
.content .tiers-toggle { margin:16px 0; }

.mechanism-badge { display:inline-block; font-size:12px; padding:3px 10px; border-radius:4px; font-weight:600; }
.mech-a { background:rgba(55,160,255,0.1); color:#37a0ff; }
.mech-b { background:rgba(255,160,55,0.1); color:#ffa037; }
.mech-c18 { background:rgba(55,200,130,0.1); color:#37c882; }
.mech-exempt { background:rgba(200,130,55,0.1); color:#c88237; }

.no-data { color:rgba(148,137,202,0.3); font-style:italic; padding:16px 0; }
body.light .no-data { color:rgba(83,74,128,0.35); }
.back-link { display:inline-block; margin-top:8px; color:inherit; font-size:13px; text-decoration:none; }
.url-list { list-style:none; padding:0; margin:0; }
.url-list li { margin:4px 0; }
.url-list a { word-break:break-all; }
.dir-subhead { font-size:14px; font-weight:600; color:#9489ca; margin:16px 0 4px; padding:4px 8px; background:rgba(148,137,202,0.04); }
body.light .dir-subhead { color:#534A80; background:rgba(83,74,128,0.03); }
.bool-yes { color:#37c882; }
.bool-no { color:#999; }
body.light .bool-no { color:rgba(17,17,16,0.35); }

.listing-status { color:#dc4172; font-weight:600; }
body.light .listing-status { color:#c0392b; }
.change-pct.up { color:#37c882; }
.change-pct.down { color:#FF8389; }
.lockup-exception { font-size:11px; color:#9489ca; }
body.light .lockup-exception { color:#534A80; }
.tier-description { font-size:14px; color:#7a71a5; margin:0 0 12px; }
body.light .tier-description { color:#534A80; }
.content { padding: 0 40px; max-width: 1400px; margin: 0 auto; }
@media(max-width:768px) { .content { padding: 0 16px; } }

/* ── Glossary marks ── */
.glossary-mark { border-bottom:1px dashed rgba(148,137,202,0.35); cursor:help; }
body.light .glossary-mark { border-bottom-color:rgba(83,74,128,0.3); }

/* ── Stock Logo ── */
.stock-logo-wrap { float:right; margin-left:16px; margin-right:40px; }
.stock-logo { width:72px; height:72px; border-radius:8px; object-fit:contain; background:rgba(148,137,202,0.05); padding:4px; }
/* ── Charts ─────────────────────────────────────────────────── */
.stock-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 32px 0; }
.chart-card { background: rgba(148,137,202,0.03); border: 1px solid rgba(148,137,202,0.1); border-radius: 8px; padding: 16px; }
body.light .chart-card { background: rgba(83,74,128,0.02); border-color: rgba(83,74,128,0.1); }
.chart-card-full { grid-column: 1 / -1; }
.chart-title { font-size: 14px; font-weight: 600; color: #9489ca; margin-bottom: 12px; }
body.light .chart-title { color: #534A80; }
.chart-wrap { height: 380px; }
.chart-wrap-timeline { height: 300px; }
.price-chart-wrap { margin: 20px 0 32px 0; }

@media(max-width:768px) {
  .stock-logo { width:44px; height:44px; }
  .stock-logo-wrap { margin-right:8px; margin-top:28px; }
  .stock-charts { grid-template-columns: 1fr; }
  .chart-card-full { grid-column: 1; }
  .chart-wrap { height: 300px; }
  .chart-wrap-timeline { height: 250px; }
}

.tv-loading, .tv-error { display:flex; align-items:center; justify-content:center; height:200px; color:var(--text-secondary); font-size:14px; }
.tv-error { color:#e74c3c; }

