diff --git a/services/web-ui/src/css/components/tokens.css b/services/web-ui/src/css/components/tokens.css new file mode 100644 index 0000000..a3c500e --- /dev/null +++ b/services/web-ui/src/css/components/tokens.css @@ -0,0 +1,58 @@ +/* tokens.css ─ oklch design tokens + * Mirrors tailwind.config.js so legacy callers that read + * var(--accent), var(--bg-panel), etc. keep working during the + * page-by-page migration. After all pages migrate to Tailwind + * utility classes (wave 4 complete), this file shrinks to + * just the few tokens that are referenced from inline styles. */ +:root { + /* Surfaces */ + --bg-deep: oklch(8% 0.011 266); + --bg-base: oklch(11% 0.010 266); + --bg-panel: oklch(15% 0.013 266); + --bg-surface: oklch(19% 0.014 266); + --bg-raised: oklch(24% 0.015 266); + --bg-hover: oklch(28% 0.015 266); + + /* Accent */ + --accent: oklch(45% 0.20 266); + --accent-subtle: oklch(55% 0.20 266 / 0.12); + --accent-border: oklch(55% 0.20 266 / 0.36); + + /* Text — tertiary bumped to 56% for AA contrast on bg-panel */ + --text-primary: oklch(94% 0.008 266); + --text-secondary: oklch(72% 0.014 266); + --text-tertiary: oklch(56% 0.012 266); + --text-disabled: oklch(38% 0.010 266); + + /* Borders */ + --border-faint: oklch(22% 0.013 266); + --border: oklch(28% 0.015 266); + --border-strong: oklch(38% 0.018 266); + + /* Semantic signal */ + --signal-good: oklch(70% 0.18 148); + --signal-bad: oklch(64% 0.22 25); + --signal-warn: oklch(80% 0.16 90); + --signal-idle: oklch(58% 0.012 266); + --signal-good-bg: oklch(70% 0.18 148 / 0.12); + --signal-bad-bg: oklch(64% 0.22 25 / 0.12); + --signal-warn-bg: oklch(80% 0.16 90 / 0.12); + + /* Spacing (mirrors Tailwind 4pt scale) */ + --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; + --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-12: 48px; + + /* Type */ + --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; + --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Consolas, monospace; + + /* Layout */ + --sidebar-w: 200px; + --topbar-h: 48px; + + /* Z */ + --z-dropdown: 40; + --z-overlay: 80; + --z-panel: 90; + --z-toast: 200; +}