/* app.css — Tailwind directives + primitive imports. * * IMPORTANT: All @import must come first per CSS spec / postcss-import * requirements. Tailwind directives below; cascade order in the emitted * bundle is: tokens → primitives → tailwind base → tailwind components * → tailwind utilities. Utilities win on specificity, primitives win * over base where they share specificity. */ @import "./components/tokens.css"; @import "./components/sidebar.css"; @import "./components/topbar.css"; @import "./components/button.css"; @import "./components/form-controls.css"; @import "./components/field-group.css"; @import "./components/slide-panel.css"; @import "./components/card-asset.css"; @import "./components/card-operational.css"; @import "./components/list-row.css"; @import "./components/empty-state.css"; @import "./components/badge.css"; @import "./components/toast.css"; @import "./components/motion.css"; @tailwind base; @tailwind components; @tailwind utilities; /* Self-hosted fonts */ @font-face { font-family: 'Inter'; src: url('/fonts/inter-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'Inter'; src: url('/fonts/inter-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; } @font-face { font-family: 'Inter'; src: url('/fonts/inter-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } @font-face { font-family: 'JetBrains Mono'; src: url('/fonts/jetbrains-mono-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: 'JetBrains Mono'; src: url('/fonts/jetbrains-mono-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } html { font-family: var(--font); background: var(--bg-base); color: var(--text-primary); -webkit-font-smoothing: antialiased; }