@import "tailwindcss"; @custom-variant dark (&:where(.dark, .dark *)); /* Clinical surface tokens — swap under .dark */ :root { --surface: #f1f5f9; --surface-raised: #ffffff; --surface-muted: #e2e8f0; --border-default: #cbd5e1; --text-primary: #0f172a; --text-secondary: #475569; --text-muted: #64748b; --brand-muted-fill: #ccfbf1; --brand-muted-text: #0f766e; } .dark { --surface: #0f172a; --surface-raised: #1e293b; --surface-muted: #334155; --border-default: #334155; --text-primary: #f1f5f9; --text-secondary: #cbd5e1; --text-muted: #94a3b8; --brand-muted-fill: rgba(15, 118, 110, 0.25); --brand-muted-text: #5eead4; } @theme { --font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; /* Brand accent (teal) */ --color-brand: #0f766e; --color-brand-hover: #0d9488; --color-brand-muted: #ccfbf1; --color-brand-foreground: #ffffff; --color-brand-soft: var(--brand-muted-fill); --color-brand-soft-text: var(--brand-muted-text); /* Surfaces */ --color-surface: var(--surface); --color-surface-raised: var(--surface-raised); --color-surface-muted: var(--surface-muted); --color-border: var(--border-default); /* Semantic text helpers */ --color-ink: var(--text-primary); --color-ink-secondary: var(--text-secondary); --color-ink-muted: var(--text-muted); /* Severity (clinical meaning preserved) */ --color-severity-critical: #dc2626; --color-severity-critical-light: #fef2f2; --color-severity-critical-dark: #991b1b; --color-severity-warning: #d97706; --color-severity-warning-light: #fffbeb; --color-severity-warning-dark: #92400e; --color-severity-info: #0369a1; --color-severity-info-light: #e0f2fe; --color-severity-info-dark: #075985; /* Status */ --color-status-open: #ef4444; --color-status-acknowledged: #d97706; --color-status-resolved: #16a34a; --color-status-escalated: #b45309; /* Risk */ --color-risk-low: #16a34a; --color-risk-medium: #d97706; --color-risk-high: #ef4444; } /* 8px spacing rhythm — use Tailwind scale steps 2, 4, 6, 8, 12, 16 */ @layer base { html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { margin: 0; min-height: 100svh; font-family: var(--font-sans); background-color: var(--surface); color: var(--text-primary); } #app { min-height: 100svh; } }