/* Tailwind v4 CSS-first entry. Imports the framework and the * tailwindcss-primeui plugin (semantic-token utilities that map * PrimeVue Aura tokens like {primary.500} to Tailwind classes * like bg-primary-500). * * Per Tailwind v4 with @tailwindcss/vite, the @source directive * tells the plugin where to scan template content — we point it at * apps/app/src/. Existing Vuetify/Vuexy SCSS stays untouched and is * imported separately from main.ts. */ @import "tailwindcss"; @plugin "tailwindcss-primeui"; @source "../../**/*.{vue,ts,js,tsx,jsx}"; /* AD-2.5-D1 (RFC-WS-PRIMEVUE-PLAN-2-5 §4): align Tailwind v4's `dark:` * variant to the same `.dark` class on that PrimeVue's * darkModeSelector and useShellUiStore.applyDomAttributes use. Without * this, Tailwind v4 defaults to `prefers-color-scheme` (OS-controlled), * and the explicit toggle in the topbar would update PrimeVue * components but leave Tailwind utility classes (e.g. `dark:bg-*`, * `dark:text-*`) responding only to the OS — half-broken dark mode. */ @custom-variant dark (&:where(.dark, .dark *)); /* AD-2.5-T1 — typography (RFC-WS-PRIMEVUE-PLAN-2-5). * * Inter is loaded via @fontsource/inter in main.ts (weights 400/500/600/700, * local package, no Google Fonts CDN). The stack falls back to the * platform UI sans-family if Inter fails to load. * * Two declarations are required: * 1. The Tailwind v4 `@theme` token `--font-sans` so utility classes * (e.g. `font-sans`) resolve to Inter. * 2. The cascade-level `html, body { font-family }` so PrimeVue and * Vuetify components — which inherit from `body` — render in Inter * too. `--crewli-font-family` is the named CSS variable carrying * the stack so other consumers can read it without re-declaring. */ @theme { --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } :root { --crewli-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } html, body { font-family: var(--crewli-font-family); }