#chart-bottom-context { display:flex; gap:16px; min-height:23px; padding:3px 8px; font-size:11px; color:var(--muted-foreground,#52525b); }
#chart-quarterly-strip { position:relative; height:117px; overflow:hidden; border-top:1px solid var(--border,#e4e4e7); background:var(--card,#fff); }
#chart-quarterly-track { position:relative; height:96px; overflow:hidden; }
.chart-quarter-cell { position:absolute; top:0; height:96px; display:grid; grid-template-rows:repeat(4,24px); border-right:1px solid var(--border,#e4e4e7); text-align:center; overflow:hidden; }
.chart-quarter-cell > span { display:block; padding:3px 4px; font-size:12px; line-height:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.chart-quarter-cell > span:first-child { background:var(--muted,#f4f4f5); font-weight:600; }
.chart-quarter-cell.is-selected > span:first-child { background:var(--border,#e4e4e7); }
.chart-quarter-cell .is-positive { color:var(--sp-up,#dc2626); }
.chart-quarter-cell .is-negative { color:var(--sp-down,#2563eb); }
.chart-quarterly-labels { position:absolute; top:0; right:0; width:112px; height:96px; display:grid; grid-template-rows:repeat(4,24px); background:var(--card,#fff); border-left:1px solid var(--border,#e4e4e7); }
.chart-quarterly-labels span { padding:3px 6px; font-size:11px; line-height:18px; white-space:nowrap; }
#chart-quarterly-note { position:absolute; bottom:0; left:0; right:0; height:20px; padding:2px 8px; font-size:10px; color:var(--muted-foreground,#52525b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#chart-quarterly-strip { --card:#fff; --muted:#f4f4f5; --border:#e4e4e7; --muted-foreground:#52525b; color:#18181b; }
