init: rapid_dashboards app from fn_registry

This commit is contained in:
dataforge
2026-04-06 00:57:13 +02:00
commit b7f354e081
46 changed files with 6139 additions and 0 deletions
+176
View File
@@ -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);
}