@import "tailwindcss"; @import "tw-animate-css"; @import "shadcn/tailwind.css"; @custom-variant dark (&:is(.dark *)); @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-geist-sans); --font-mono: var(--font-geist-mono); --font-heading: var(--font-geist-sans); --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar: var(--sidebar); --color-chart-5: var(--chart-5); --color-chart-4: var(--chart-4); --color-chart-3: var(--chart-3); --color-chart-2: var(--chart-2); --color-chart-1: var(--chart-1); --color-ring: var(--ring); --color-input: var(--input); --color-border: var(--border); --color-destructive: var(--destructive); --color-accent-foreground: var(--accent-foreground); --color-accent: var(--accent); --color-muted-foreground: var(--muted-foreground); --color-muted: var(--muted); --color-secondary-foreground: var(--secondary-foreground); --color-secondary: var(--secondary); --color-primary-foreground: var(--primary-foreground); --color-primary: var(--primary); --color-popover-foreground: var(--popover-foreground); --color-popover: var(--popover); --color-card-foreground: var(--card-foreground); --color-card: var(--card); --radius-sm: calc(var(--radius) * 0.6); --radius-md: calc(var(--radius) * 0.8); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) * 1.4); --radius-2xl: calc(var(--radius) * 1.8); --radius-3xl: calc(var(--radius) * 2.2); --radius-4xl: calc(var(--radius) * 2.6); } :root { --background: oklch(0.967 0.017 96); --foreground: oklch(0.175 0.033 178); --card: oklch(0.991 0.009 104); --card-foreground: oklch(0.175 0.033 178); --popover: oklch(0.991 0.009 104); --popover-foreground: oklch(0.175 0.033 178); --primary: oklch(0.31 0.083 177); --primary-foreground: oklch(0.986 0.014 104); --secondary: oklch(0.91 0.056 82); --secondary-foreground: oklch(0.255 0.052 71); --muted: oklch(0.917 0.023 102); --muted-foreground: oklch(0.42 0.04 168); --accent: oklch(0.61 0.111 242); --accent-foreground: oklch(0.982 0.012 104); --destructive: oklch(0.577 0.245 27.325); --border: oklch(0.82 0.029 104); --input: oklch(0.86 0.026 104); --ring: oklch(0.54 0.095 177); --chart-1: oklch(0.31 0.083 177); --chart-2: oklch(0.61 0.111 242); --chart-3: oklch(0.68 0.137 82); --chart-4: oklch(0.57 0.12 30); --chart-5: oklch(0.48 0.08 296); --radius: 0.45rem; --sidebar: oklch(0.214 0.034 181); --sidebar-foreground: oklch(0.94 0.02 103); --sidebar-primary: oklch(0.76 0.112 157); --sidebar-primary-foreground: oklch(0.145 0.024 185); --sidebar-accent: oklch(0.285 0.041 181); --sidebar-accent-foreground: oklch(0.96 0.018 103); --sidebar-border: oklch(0.94 0.018 103 / 15%); --sidebar-ring: oklch(0.76 0.112 157); --surface-rail: oklch(0.93 0.027 98); --surface-panel: oklch(0.984 0.012 100); --surface-pressed: oklch(0.885 0.035 103); --surface-evidence: oklch(0.93 0.034 235); --surface-review: oklch(0.932 0.06 82); --surface-safe: oklch(0.91 0.06 151); --warning-soft: oklch(0.932 0.06 82); --success-soft: oklch(0.91 0.06 151); --danger-soft: oklch(0.93 0.05 28); } .dark { --background: oklch(0.17 0.02 185); --foreground: oklch(0.948 0.016 142); --card: oklch(0.215 0.024 187); --card-foreground: oklch(0.948 0.016 142); --popover: oklch(0.215 0.024 187); --popover-foreground: oklch(0.948 0.016 142); --primary: oklch(0.76 0.112 157); --primary-foreground: oklch(0.145 0.024 185); --secondary: oklch(0.314 0.044 80); --secondary-foreground: oklch(0.94 0.04 93); --muted: oklch(0.27 0.023 185); --muted-foreground: oklch(0.735 0.028 165); --accent: oklch(0.77 0.121 82); --accent-foreground: oklch(0.17 0.02 185); --destructive: oklch(0.704 0.191 22.216); --border: oklch(0.94 0.018 160 / 13%); --input: oklch(0.94 0.018 160 / 17%); --ring: oklch(0.76 0.112 157); --chart-1: oklch(0.76 0.112 157); --chart-2: oklch(0.77 0.121 82); --chart-3: oklch(0.68 0.095 245); --chart-4: oklch(0.7 0.12 32); --chart-5: oklch(0.72 0.095 296); --sidebar: oklch(0.13 0.018 187); --sidebar-foreground: oklch(0.92 0.016 142); --sidebar-primary: oklch(0.76 0.112 157); --sidebar-primary-foreground: oklch(0.145 0.024 185); --sidebar-accent: oklch(0.24 0.028 186); --sidebar-accent-foreground: oklch(0.94 0.016 142); --sidebar-border: oklch(0.94 0.018 160 / 12%); --sidebar-ring: oklch(0.76 0.112 157); --surface-rail: oklch(0.145 0.02 187); --surface-panel: oklch(0.21 0.024 187); --surface-pressed: oklch(0.27 0.027 184); --surface-evidence: oklch(0.24 0.036 236); --surface-review: oklch(0.314 0.044 80); --surface-safe: oklch(0.25 0.046 151); --warning-soft: oklch(0.314 0.044 80); --success-soft: oklch(0.25 0.046 151); --danger-soft: oklch(0.28 0.062 28); } @layer base { * { @apply border-border outline-ring/50; } body { @apply bg-background text-foreground; font-feature-settings: "cv02", "cv03", "cv04", "ss03"; } html { @apply font-sans; } } @layer components { .dashboard-canvas { background-color: var(--background); background-image: linear-gradient(to right, color-mix(in oklch, var(--foreground), transparent 93%) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklch, var(--foreground), transparent 95%) 1px, transparent 1px); background-size: 48px 48px; } .agency-panel { border: 1px solid color-mix(in oklch, var(--border), transparent 8%); border-radius: var(--radius); background: linear-gradient(180deg, color-mix(in oklch, var(--card), white 22%), var(--card)); box-shadow: 0 1px 0 color-mix(in oklch, var(--foreground), transparent 94%), 0 20px 48px color-mix(in oklch, var(--foreground), transparent 94%); } .agency-rail { border: 1px solid color-mix(in oklch, var(--border), transparent 12%); border-radius: var(--radius); background: linear-gradient(135deg, var(--surface-panel), color-mix(in oklch, var(--surface-panel), var(--surface-evidence) 22%)); } .agency-kicker { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-foreground); } .agency-tab { display: inline-flex; min-height: 2.25rem; align-items: center; gap: 0.5rem; border-radius: var(--radius); border: 1px solid color-mix(in oklch, var(--border), transparent 10%); background: color-mix(in oklch, var(--background), var(--card) 45%); padding: 0.35rem 0.75rem; font-size: 0.875rem; font-weight: 700; color: var(--muted-foreground); transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; } .agency-tab:hover { background: var(--muted); color: var(--foreground); } .agency-tab[aria-pressed="true"] { border-color: color-mix(in oklch, var(--primary), transparent 25%); background: color-mix(in oklch, var(--primary), var(--background) 84%); color: var(--foreground); } .evidence-surface { background: var(--surface-evidence); color: color-mix(in oklch, var(--accent), var(--foreground) 55%); } .review-surface { background: var(--surface-review); color: var(--secondary-foreground); } .safe-surface { background: var(--surface-safe); color: color-mix(in oklch, var(--primary), var(--foreground) 42%); } }