ef9a960e5d
Addresses remaining medium and low severity audit findings: - H2: Dark mode @media selector narrowed to :root:not([data-theme]) so OS-preference and manual-override blocks are now mutually exclusive - L2: Remove ~410 lines of dead Slides Builder CSS (no component exists) - M2: VAT toggle uses flex spacer instead of margin-inline-start:auto, preventing layout break when filter bar wraps at medium-small widths - M3: Page content max-width aligned to 1400px (matches nav bar) - M5: Period picker toggle now has aria-controls="period-picker-panel" pointing to the InlinePicker root in both Dashboard and Comparison - M6: Offline badge cache timestamp exposed via sr-only span for screen reader accessibility (was title-only before) - M7: chartOpts/barHorizOpts/barNoLegend wrapped in useMemo([baseOpts]) to prevent unnecessary Chart.js re-renders - L4: Filter bar scrolls horizontally on mobile instead of wrapping - L5: Metrics grid uses auto-fit/minmax to eliminate orphaned cards Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>