shadcn/ui theme · dark original
Midnight SaaS
A deep navy product palette with an electric blue primary — the default look of modern dashboards and developer tools.
Install
npx shadcn@latest add https://csscreme.com/r/midnight-saas.json Requires a project with shadcn/ui set up. Prefer to paste? The CSS variables are below.
Revenue
Last 30 days across all workspaces.
Total
$48,210+12.4%Active
1,204+3.1%Churn
0.8%-0.2%:root {
--background: oklch(98.8% 0.001 286.4);
--foreground: oklch(25.5% 0.021 260.6);
--card: oklch(97.3% 0.002 247.8);
--card-foreground: oklch(25.5% 0.021 260.6);
--popover: oklch(97.3% 0.002 247.8);
--popover-foreground: oklch(25.5% 0.021 260.6);
--primary: oklch(61.9% 0.184 265.4);
--primary-foreground: oklch(15.2% 0.009 285.3);
--secondary: oklch(97.9% 0.002 247.8);
--secondary-foreground: oklch(25.5% 0.021 260.6);
--muted: oklch(97.9% 0.002 247.8);
--muted-foreground: oklch(53.4% 0.010 264.5);
--accent: oklch(64.9% 0.211 294.8);
--accent-foreground: oklch(15.2% 0.009 285.3);
--destructive: oklch(62.6% 0.193 23.0);
--destructive-foreground: oklch(15.2% 0.009 285.3);
--border: oklch(83.6% 0.004 271.4);
--input: oklch(83.6% 0.004 271.4);
--ring: oklch(61.9% 0.184 265.4);
--radius: 12px;
}
.dark {
--background: oklch(17.7% 0.034 269.6);
--foreground: oklch(94.8% 0.016 262.8);
--card: oklch(25.6% 0.043 268.1);
--card-foreground: oklch(94.8% 0.016 262.8);
--popover: oklch(25.6% 0.043 268.1);
--popover-foreground: oklch(94.8% 0.016 262.8);
--primary: oklch(61.9% 0.184 265.4);
--primary-foreground: oklch(15.2% 0.009 285.3);
--secondary: oklch(23.0% 0.040 268.5);
--secondary-foreground: oklch(94.8% 0.016 262.8);
--muted: oklch(23.0% 0.040 268.5);
--muted-foreground: oklch(66.2% 0.030 265.3);
--accent: oklch(64.9% 0.211 294.8);
--accent-foreground: oklch(15.2% 0.009 285.3);
--destructive: oklch(62.6% 0.193 23.0);
--destructive-foreground: oklch(15.2% 0.009 285.3);
--border: oklch(33.1% 0.031 269.5);
--input: oklch(33.1% 0.031 269.5);
--ring: oklch(61.9% 0.184 265.4);
} @theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--radius: var(--radius);
} Colors are OKLCH. Contrast is checked in both modes: foreground on background, on cards, and button labels on the primary fill.
Where this came from
Themes here aren't randomised swatches — they start life as a palette in our design layer, studied against real interfaces. See the Midnight SaaS palette for the full role breakdown, font pairing and spacing scale, or browse the showcase and breakdowns the palettes are drawn from.
Font pairing Inter headings · Inter body · Radius 12px