/* Dashboard extensions use the existing dark financial design tokens. */
:root{--muted:#afbdcf}
body{overflow-wrap:anywhere}
.shell,.hero>div,.panel,.holding,.metric,.two-column>*{min-width:0}
.hero{align-items:flex-start;flex-wrap:wrap}
.hero>div:first-child{flex:1 1 620px}
.market-badge{flex:0 1 320px;max-width:100%;border-radius:16px;font-size:14px}
.spaced{margin-top:24px}
h2{margin-top:0}
a{color:var(--cyan);text-underline-offset:4px}
a:hover{color:var(--text)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.section-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.section-nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;text-decoration:none;font-size:14px}
label{display:block;font-weight:650;margin:16px 0 8px}
select,input,button{font:inherit;max-width:100%;color:var(--text)}
select,input,#retry{min-height:48px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 14px}
select{width:min(100%,360px)}
input{width:min(100%,260px);font-variant-numeric:tabular-nums}
button,summary,select{cursor:pointer}
button:disabled,select:disabled{cursor:not-allowed;opacity:.65}
button:hover{border-color:var(--cyan)}
summary{min-height:48px;padding:12px 0;color:var(--cyan)}
details{border-top:1px solid var(--border);margin-top:16px}
.notice{color:var(--amber);font-size:14px;line-height:1.65}
.notice:empty{display:none}
.holding-facts,.paper-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:16px;margin:20px 0}
.holding-facts div,.paper-metrics div{padding:12px;background:var(--surface2);border-radius:12px;min-width:0}
dt{color:var(--muted);font-size:13px}
dd{margin:4px 0 0;font-weight:650;font-variant-numeric:tabular-nums}
.paper-metrics dd{font-size:23px}
.price-chart{display:block;width:100%;height:auto;margin:16px 0;overflow:visible}
.price-chart text{fill:var(--muted);font-size:13px}
.grid-line{stroke:var(--border);stroke-width:1}
.chart-line{stroke:var(--cyan);stroke-width:3;vector-effect:non-scaling-stroke}
.data-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.data-table caption{text-align:left;color:var(--muted);padding:12px 0}
.data-table th,.data-table td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}
.plan-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.plan-split p{margin:0;padding:20px;background:var(--surface2);border-radius:14px}
.plan-split strong{color:var(--cyan);font-size:30px;font-variant-numeric:tabular-nums}
.research-card{border-bottom:1px solid var(--border);padding:16px 0}
.detail-body{max-width:80ch}
.detail-body p{line-height:1.8}
[hidden]{display:none!important}
section[id]{scroll-margin-top:100px}
@media(max-width:650px){.topbar{position:relative;gap:16px;flex-wrap:wrap;padding:16px}.shell{padding-top:32px}.hero{gap:20px}.hero h1{font-size:44px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:minmax(0,1fr)}.metric.accent strong{font-size:20px}.panel{padding:20px}.plan-split{grid-template-columns:minmax(0,1fr)}.market-badge{flex-basis:100%}.section-head{flex-wrap:wrap}.detail-toggle{gap:12px;text-align:left}.detail-toggle>span{min-width:0}.detail-toggle svg{flex-shrink:0}.paper-metrics dd{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
