@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap'); :root { --primary: #25d366; --primary-hover: #1da851; --primary-soft: rgba(37, 211, 102, 0.12); --bg-light: #f8fafc; --bg-white: #ffffff; --bg-card: #ffffff; --text-primary: #0f172a; /* Slate 900 */ --text-secondary: #475569; /* Slate 600 */ --text-muted: #94a3b8; /* Slate 400 */ --border: #e2e8f0; /* Slate 200 */ --error: #ef4444; --success: #22c55e; --warning: #f59e0b; --info: #2563eb; /* Blue 600 — info/permission/log badges + qr-ready pill */ --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --radius: 10px; } /* Dark Mode */ [data-theme='dark'] { /* Make native controls (select option popups, scrollbars, date pickers) follow the EXPLICIT app theme, not just the OS preference — otherwise toggling dark while the OS is light left native dropdowns rendered in the light scheme (#249). */ color-scheme: dark; --bg-light: #0f172a; /* Slate 900 */ --bg-white: #1e293b; /* Slate 800 */ --bg-card: #1e293b; --text-primary: #f1f5f9; /* Slate 100 */ --text-secondary: #cbd5e1; /* Slate 300 */ --text-muted: #64748b; /* Slate 500 */ --border: #334155; /* Slate 700 */ --info: #60a5fa; /* Blue 400 — lighter so it reads over the dark translucent-blue tints */ --primary-soft: color-mix(in srgb, var(--primary) 18%, transparent); --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4); } /* Explicit light toggle: keep native controls light even if the OS prefers dark. */ [data-theme='light'] { color-scheme: light; } /* System preference dark mode */ @media (prefers-color-scheme: dark) { :root:not([data-theme='light']) { /* Match native controls (e.g. the Login page