Why
PR #3283 replaced hardcoded slate-* colors with CSS vars on 3 pages, but Layout.tsx still has ~30 hardcoded slate-* colors. Too risky for a single PR — needs a dedicated focused refactor.
What
- Audit all hardcoded
slate-* Tailwind classes in Layout.tsx
- Map each to an existing CSS custom property (or create new ones if needed)
- Replace with CSS var references
- Verify visual parity (no color shifts)
- Run a11y audit to ensure contrast ratios maintained
Done when
- Zero hardcoded
slate-* classes in Layout.tsx
- Visual regression check passes (screenshots before/after)
- All existing tests still pass
Priority: P3 — tech debt, not blocking
Refs: #3283
Why
PR #3283 replaced hardcoded
slate-*colors with CSS vars on 3 pages, but Layout.tsx still has ~30 hardcodedslate-*colors. Too risky for a single PR — needs a dedicated focused refactor.What
slate-*Tailwind classes in Layout.tsxDone when
slate-*classes in Layout.tsxPriority: P3 — tech debt, not blocking
Refs: #3283