shadcnthemes
All themes

SeaGreen Minimal

SeaGreen Minimal is a teal shadcn/ui theme with rounded corners and sans-serif typography, in light and dark modes.

Sans
Tomorrow
Serif
BioRhyme
Mono
JetBrains Mono
Radius
0.15rem
Create project
Deploy your new project in one click.
Visitors
January – June
+12.5%
Buttons
Typography
The theme's three font families.
Sans · Tomorrow
The quick brown fox
Serif · BioRhyme
jumps over the lazy dog.
Mono · JetBrains Mono
npx shadcn add button
Account
Notifications
Choose what you want to hear about.
Product updates
New features and releases
Security alerts
Sign-ins from new devices
Marketing
Tips, offers and news
Payment method
Team
Invite your teammates to collaborate.
SDJLINWK
OwnerEditorViewerSuspended
Storage7.2 of 10 GB
Volume64%
Invoices
InvoiceStatusAmount
INV001Paid$250.00
INV002Pending$150.00
INV003Unpaid$350.00
INV004Paid$450.00
FAQ

Yes. It adheres to the WAI-ARIA design pattern.

Colors

Click any swatch to copy its OKLCH value.

Base
Brand
Lines
Charts
Sidebar
StatusOptional, generated to match

Use this theme

Install it with the shadcn CLI, paste the CSS, or export tokens for your design tool.

Paste into app/globals.css, replacing the existing :root and .dark blocks.

:root {
  --background: oklch(0.9842 0.0034 247.86);
  --foreground: oklch(0.3013 0.024 238.81);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.3193 0.0228 209.6);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.3249 0.0245 200.14);
  --primary: oklch(0.5107 0.0764 192.66);
  --primary-foreground: oklch(0.9612 0 0);
  --secondary: oklch(0.9276 0.0058 264.53);
  --secondary-foreground: oklch(0.408 0.025 203.85);
  --muted: oklch(0.967 0.0029 264.54);
  --muted-foreground: oklch(0.3025 0.0164 156.11);
  --accent: oklch(0.9142 0.0495 145.16);
  --accent-foreground: oklch(0.4091 0.0226 200.52);
  --destructive: oklch(0.5664 0.2031 32.7);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.8717 0.0093 258.34);
  --input: oklch(0.9163 0.025 143.49);
  --ring: oklch(0.7099 0.0954 147.5);
  --chart-1: oklch(0.8726 0.0394 172.01);
  --chart-2: oklch(0.7384 0.0617 162.71);
  --chart-3: oklch(0.626 0.051 162.78);
  --chart-4: oklch(0.5002 0.059 162.06);
  --chart-5: oklch(0.4401 0.0634 145.83);
  --sidebar: oklch(0.967 0.0029 264.54);
  --sidebar-foreground: oklch(0.3277 0.0256 195.97);
  --sidebar-primary: oklch(0.52 0.049 147.8);
  --sidebar-primary-foreground: oklch(1 0 0);
  --sidebar-accent: oklch(0.8971 0.047 146.14);
  --sidebar-accent-foreground: oklch(0.4109 0.0239 188.32);
  --sidebar-border: oklch(0.8657 0.0288 199.36);
  --sidebar-ring: oklch(0.8758 0.0571 147.42);
  --font-sans: Tomorrow, ui-sans-serif, sans-serif, system-ui;
  --font-serif: BioRhyme, ui-serif, serif;
  --font-mono: JetBrains Mono, monospace;
  --radius: 0.15rem;
  --spacing: 0.2rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0.234 0.0342 142.84);
  --shadow-opacity: 0.1;
  --shadow-blur: 14px;
  --shadow-spread: -2px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 0px;
  --shadow-2xs: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.05);
  --shadow-xs: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.05);
  --shadow-sm: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.10), 0px 1px 2px -3px hsl(116 28.3% 10.4% / 0.10);
  --shadow: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.10), 0px 1px 2px -3px hsl(116 28.3% 10.4% / 0.10);
  --shadow-md: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.10), 0px 2px 4px -3px hsl(116 28.3% 10.4% / 0.10);
  --shadow-lg: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.10), 0px 4px 6px -3px hsl(116 28.3% 10.4% / 0.10);
  --shadow-xl: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.10), 0px 8px 10px -3px hsl(116 28.3% 10.4% / 0.10);
  --shadow-2xl: 0px 0px 14px -2px hsl(116 28.3% 10.4% / 0.25);
}

.dark {
  --background: oklch(0.2063 0.012 277.83);
  --foreground: oklch(0.9363 0.0433 183.91);
  --card: oklch(0.281 0.0177 227.38);
  --card-foreground: oklch(0.9363 0.0433 183.91);
  --popover: oklch(0.2149 0.0085 240.3);
  --popover-foreground: oklch(0.8556 0.1555 179.79);
  --primary: oklch(0.8556 0.1555 179.79);
  --primary-foreground: oklch(0.2523 0.0373 174.7);
  --secondary: oklch(0.3675 0.0243 204.24);
  --secondary-foreground: oklch(0.8717 0.0093 258.34);
  --muted: oklch(0.2801 0.0188 225.35);
  --muted-foreground: oklch(0.7137 0.0192 261.32);
  --accent: oklch(0.3729 0.0306 259.73);
  --accent-foreground: oklch(0.8717 0.0093 258.34);
  --destructive: oklch(0.7036 0.1665 59.09);
  --destructive-foreground: oklch(0.2624 0.0145 181.59);
  --border: oklch(0.4911 0.034 196.1);
  --input: oklch(0.4291 0.0366 195.87);
  --ring: oklch(0.8556 0.1555 179.79);
  --chart-1: oklch(0.8605 0.1497 187.84);
  --chart-2: oklch(0.7883 0.1096 181.08);
  --chart-3: oklch(0.6223 0.0709 184.57);
  --chart-4: oklch(0.4771 0.0398 212.36);
  --chart-5: oklch(0.3253 0.0359 195.53);
  --sidebar: oklch(0.2769 0.0178 227.4);
  --sidebar-foreground: oklch(0.9267 0.0356 172.12);
  --sidebar-primary: oklch(0.9018 0.0637 185.03);
  --sidebar-primary-foreground: oklch(0.267 0.0141 188.84);
  --sidebar-accent: oklch(0.3488 0.0171 202.17);
  --sidebar-accent-foreground: oklch(0.863 0.0329 198.95);
  --sidebar-border: oklch(0.4705 0.0233 204.28);
  --sidebar-ring: oklch(0.9067 0.071 189.38);
  --font-sans: Tomorrow, ui-sans-serif, sans-serif, system-ui;
  --font-serif: BioRhyme, ui-serif, serif;
  --font-mono: JetBrains Mono, monospace;
  --radius: 0.15rem;
  --spacing: 0.2rem;
  --tracking-normal: 0em;
  --shadow-color: oklch(0.9516 0.0706 189.48);
  --shadow-opacity: 0.1;
  --shadow-blur: 14px;
  --shadow-spread: -2px;
  --shadow-offset-x: 0px;
  --shadow-offset-y: 0px;
  --shadow-2xs: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.05);
  --shadow-xs: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.05);
  --shadow-sm: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.10), 0px 1px 2px -3px hsl(175 100% 86.1% / 0.10);
  --shadow: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.10), 0px 1px 2px -3px hsl(175 100% 86.1% / 0.10);
  --shadow-md: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.10), 0px 2px 4px -3px hsl(175 100% 86.1% / 0.10);
  --shadow-lg: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.10), 0px 4px 6px -3px hsl(175 100% 86.1% / 0.10);
  --shadow-xl: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.10), 0px 8px 10px -3px hsl(175 100% 86.1% / 0.10);
  --shadow-2xl: 0px 0px 14px -2px hsl(175 100% 86.1% / 0.25);
}

@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);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);

  --font-sans: var(--font-sans);
  --font-mono: var(--font-mono);
  --font-serif: var(--font-serif);

  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --shadow-2xs: var(--shadow-2xs);
  --shadow-xs: var(--shadow-xs);
  --shadow-sm: var(--shadow-sm);
  --shadow: var(--shadow);
  --shadow-md: var(--shadow-md);
  --shadow-lg: var(--shadow-lg);
  --shadow-xl: var(--shadow-xl);
  --shadow-2xl: var(--shadow-2xl);

  --tracking-tighter: calc(var(--tracking-normal) - 0.05em);
  --tracking-tight: calc(var(--tracking-normal) - 0.025em);
  --tracking-normal: var(--tracking-normal);
  --tracking-wide: calc(var(--tracking-normal) + 0.025em);
  --tracking-wider: calc(var(--tracking-normal) + 0.05em);
  --tracking-widest: calc(var(--tracking-normal) + 0.1em);
}

@layer base {
  body {
    letter-spacing: var(--tracking-normal);
  }
}

Similar themes