init: rapid_dashboards app from fn_registry
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
/* ========== DARK (default) — deep blue-grey ========== */
|
||||
:root,
|
||||
[data-theme="dark"] {
|
||||
--background: oklch(8% 0.015 260);
|
||||
--foreground: oklch(95% 0.01 260);
|
||||
--muted: oklch(18% 0.02 260);
|
||||
--muted-foreground: oklch(60% 0.02 260);
|
||||
--border: oklch(15% 0.01 260);
|
||||
--primary: oklch(65% 0.22 260);
|
||||
--primary-foreground: oklch(98% 0.01 260);
|
||||
--secondary: oklch(20% 0.02 260);
|
||||
--secondary-foreground: oklch(95% 0.01 260);
|
||||
--accent: oklch(18% 0.03 260);
|
||||
--accent-foreground: oklch(95% 0.01 260);
|
||||
--destructive: oklch(55% 0.22 25);
|
||||
--destructive-foreground: oklch(98% 0.01 260);
|
||||
--card: oklch(11% 0.015 260);
|
||||
--card-foreground: oklch(95% 0.01 260);
|
||||
--popover: oklch(12% 0.015 260);
|
||||
--popover-foreground: oklch(95% 0.01 260);
|
||||
--ring: oklch(65% 0.22 260);
|
||||
--input: oklch(22% 0.02 260);
|
||||
--radius: 0.5rem;
|
||||
--success: oklch(65% 0.2 145);
|
||||
--success-foreground: oklch(98% 0.01 145);
|
||||
--chart-1: #3b82f6;
|
||||
--chart-2: #10b981;
|
||||
--chart-3: #f59e0b;
|
||||
--chart-4: #ef4444;
|
||||
--chart-5: #8b5cf6;
|
||||
}
|
||||
|
||||
/* ========== EMERALD — rich green, gold accents ========== */
|
||||
[data-theme="emerald"] {
|
||||
--background: oklch(6% 0.03 155);
|
||||
--foreground: oklch(92% 0.03 155);
|
||||
--muted: oklch(15% 0.04 155);
|
||||
--muted-foreground: oklch(58% 0.04 155);
|
||||
--border: oklch(13% 0.03 155);
|
||||
--primary: oklch(70% 0.22 155);
|
||||
--primary-foreground: oklch(10% 0.03 155);
|
||||
--secondary: oklch(18% 0.04 155);
|
||||
--secondary-foreground: oklch(90% 0.03 155);
|
||||
--accent: oklch(16% 0.05 155);
|
||||
--accent-foreground: oklch(90% 0.03 155);
|
||||
--destructive: oklch(55% 0.22 25);
|
||||
--destructive-foreground: oklch(98% 0.01 260);
|
||||
--card: oklch(9% 0.03 155);
|
||||
--card-foreground: oklch(92% 0.03 155);
|
||||
--popover: oklch(10% 0.04 155);
|
||||
--popover-foreground: oklch(92% 0.03 155);
|
||||
--ring: oklch(70% 0.22 155);
|
||||
--input: oklch(20% 0.04 155);
|
||||
--success: oklch(70% 0.22 155);
|
||||
--success-foreground: oklch(10% 0.03 155);
|
||||
--chart-1: #10b981;
|
||||
--chart-2: #f59e0b;
|
||||
--chart-3: #06b6d4;
|
||||
--chart-4: #8b5cf6;
|
||||
--chart-5: #ec4899;
|
||||
}
|
||||
|
||||
/* ========== AMBER — warm dark, orange/amber accent ========== */
|
||||
[data-theme="amber"] {
|
||||
--background: oklch(7% 0.02 55);
|
||||
--foreground: oklch(93% 0.02 55);
|
||||
--muted: oklch(16% 0.03 55);
|
||||
--muted-foreground: oklch(58% 0.03 55);
|
||||
--border: oklch(14% 0.025 55);
|
||||
--primary: oklch(72% 0.2 65);
|
||||
--primary-foreground: oklch(10% 0.02 55);
|
||||
--secondary: oklch(18% 0.03 55);
|
||||
--secondary-foreground: oklch(90% 0.02 55);
|
||||
--accent: oklch(16% 0.04 55);
|
||||
--accent-foreground: oklch(90% 0.02 55);
|
||||
--destructive: oklch(55% 0.22 25);
|
||||
--destructive-foreground: oklch(98% 0.01 260);
|
||||
--card: oklch(10% 0.025 55);
|
||||
--card-foreground: oklch(93% 0.02 55);
|
||||
--popover: oklch(11% 0.03 55);
|
||||
--popover-foreground: oklch(93% 0.02 55);
|
||||
--ring: oklch(72% 0.2 65);
|
||||
--input: oklch(20% 0.03 55);
|
||||
--success: oklch(65% 0.2 145);
|
||||
--success-foreground: oklch(98% 0.01 145);
|
||||
--chart-1: #f59e0b;
|
||||
--chart-2: #ef4444;
|
||||
--chart-3: #3b82f6;
|
||||
--chart-4: #10b981;
|
||||
--chart-5: #ec4899;
|
||||
}
|
||||
|
||||
/* ========== ROSE — dark with pink/rose accent ========== */
|
||||
[data-theme="rose"] {
|
||||
--background: oklch(7% 0.02 350);
|
||||
--foreground: oklch(93% 0.015 350);
|
||||
--muted: oklch(16% 0.03 350);
|
||||
--muted-foreground: oklch(58% 0.025 350);
|
||||
--border: oklch(14% 0.025 350);
|
||||
--primary: oklch(65% 0.22 350);
|
||||
--primary-foreground: oklch(98% 0.01 350);
|
||||
--secondary: oklch(18% 0.03 350);
|
||||
--secondary-foreground: oklch(90% 0.015 350);
|
||||
--accent: oklch(16% 0.04 350);
|
||||
--accent-foreground: oklch(90% 0.015 350);
|
||||
--destructive: oklch(55% 0.22 25);
|
||||
--destructive-foreground: oklch(98% 0.01 260);
|
||||
--card: oklch(10% 0.025 350);
|
||||
--card-foreground: oklch(93% 0.015 350);
|
||||
--popover: oklch(11% 0.03 350);
|
||||
--popover-foreground: oklch(93% 0.015 350);
|
||||
--ring: oklch(65% 0.22 350);
|
||||
--input: oklch(20% 0.03 350);
|
||||
--success: oklch(65% 0.2 145);
|
||||
--success-foreground: oklch(98% 0.01 145);
|
||||
--chart-1: #ec4899;
|
||||
--chart-2: #8b5cf6;
|
||||
--chart-3: #3b82f6;
|
||||
--chart-4: #f59e0b;
|
||||
--chart-5: #10b981;
|
||||
}
|
||||
|
||||
/* ========== LIGHT — clean light theme ========== */
|
||||
[data-theme="light"] {
|
||||
--background: oklch(98% 0.005 260);
|
||||
--foreground: oklch(15% 0.01 260);
|
||||
--muted: oklch(93% 0.01 260);
|
||||
--muted-foreground: oklch(45% 0.01 260);
|
||||
--border: oklch(88% 0.01 260);
|
||||
--primary: oklch(50% 0.22 260);
|
||||
--primary-foreground: oklch(98% 0.01 260);
|
||||
--secondary: oklch(94% 0.01 260);
|
||||
--secondary-foreground: oklch(20% 0.01 260);
|
||||
--accent: oklch(95% 0.01 260);
|
||||
--accent-foreground: oklch(20% 0.01 260);
|
||||
--destructive: oklch(50% 0.22 25);
|
||||
--destructive-foreground: oklch(98% 0.01 260);
|
||||
--card: oklch(100% 0 0);
|
||||
--card-foreground: oklch(15% 0.01 260);
|
||||
--popover: oklch(100% 0 0);
|
||||
--popover-foreground: oklch(15% 0.01 260);
|
||||
--ring: oklch(50% 0.22 260);
|
||||
--input: oklch(88% 0.01 260);
|
||||
--success: oklch(50% 0.2 145);
|
||||
--success-foreground: oklch(98% 0.01 145);
|
||||
--chart-1: #2563eb;
|
||||
--chart-2: #059669;
|
||||
--chart-3: #d97706;
|
||||
--chart-4: #dc2626;
|
||||
--chart-5: #7c3aed;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: 'Geist Variable', system-ui, -apple-system, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
/* Remove card borders for seamless look on dark themes */
|
||||
[data-theme="dark"] [data-slot="card"],
|
||||
[data-theme="emerald"] [data-slot="card"],
|
||||
[data-theme="amber"] [data-slot="card"],
|
||||
[data-theme="rose"] [data-slot="card"] {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Light theme keeps subtle card shadows */
|
||||
[data-theme="light"] [data-slot="card"] {
|
||||
border: 1px solid var(--border);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user