Generate feedback colors (success, warning, error, and info) for shadcn/ui

Go to generator

10000+Themes for shadcn/ui

Client for shadcn/ui

Client is a shadcn/ui theme built around a vivid light teal primary color (#e2fdf2) with muted light teal accents (#c6d7d0). The light mode uses a neutral background (#f7fdfa). Dark mode keeps the vivid light teal primary (#e2fdf2) on a teal-tinted background (#050b08).

Color palette

TokenLightDark
Background
#f7fdfamintcream
#050b08black
Foreground
#050f0bblack
#ffffffwhite
Card
#f7fdfamintcream
#050b08black
Card foreground
#050f0bblack
#ffffffwhite
Popover
#f7fdfamintcream
#050b08black
Popover foreground
#050f0bblack
#ffffffwhite
Primary
#e2fdf2lightcyan
#e2fdf2lightcyan
Primary foreground
#04432adarkgreen
#04432adarkgreen
Secondary
#c6d7d0lightgrey
#313533darkslategray
Secondary foreground
#2c3f37darkslategray
#cacecclightgrey
Muted
#e5ebe9lavender
#141a18black
Muted foreground
#5f6361dimgray
#9ca09edarkgray
Accent
#c6d7d0lightgrey
#313533darkslategray
Accent foreground
#2c3f37darkslategray
#cacecclightgrey
Destructive
#d7340ffirebrick
#f0512dtomato
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#e2fdf2lightcyan
#e2fdf2lightcyan

Contrast

WCAG 2 contrast ratios between each background and its foreground color.

Light mode
Text on background18.86:1AAA
Text on card18.86:1AAA
Primary button10.65:1AAA
Secondary button7.50:1AAA
Muted text5.05:1AA
Accent7.50:1AAA
Destructive4.80:1AA
Dark mode
Text on background19.88:1AAA
Text on card19.88:1AAA
Primary button10.65:1AAA
Secondary button7.85:1AAA
Muted text6.67:1AA
Accent7.85:1AAA
Destructive3.53:1AA Large

CSS variables

Paste this into your globals.css to use Client in your shadcn/ui project.

:root {
  --radius: 0.5rem;
  --background: oklch(0.988 0.007 170.428);
  --foreground: oklch(0.158 0.019 168.455);
  --muted: oklch(0.935 0.007 170.405);
  --muted-foreground: oklch(0.495 0.005 170.308);
  --popover: oklch(0.988 0.007 170.428);
  --popover-foreground: oklch(0.158 0.019 168.455);
  --card: oklch(0.988 0.007 170.428);
  --card-foreground: oklch(0.158 0.019 168.455);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.972 0.032 169.658);
  --primary-foreground: oklch(0.34 0.075 159.787);
  --secondary: oklch(0.865 0.021 169.911);
  --secondary-foreground: oklch(0.349 0.028 168.065);
  --accent: oklch(0.865 0.021 169.911);
  --accent-foreground: oklch(0.349 0.028 168.065);
  --destructive: oklch(0.576 0.204 33.13);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.972 0.032 169.658);
  --chart-1: oklch(0.972 0.032 169.658);
  --chart-2: oklch(0.865 0.021 169.911);
  --chart-3: oklch(0.865 0.021 169.911);
  --chart-4: oklch(0.886 0.018 170.044);
  --chart-5: oklch(0.973 0.033 169.625);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.139 0.013 170.756);
  --foreground: oklch(1 0 180);
  --muted: oklch(0.21 0.01 169.173);
  --muted-foreground: oklch(0.702 0.005 170.42);
  --popover: oklch(0.139 0.013 170.756);
  --popover-foreground: oklch(1 0 180);
  --card: oklch(0.139 0.013 170.756);
  --card-foreground: oklch(1 0 180);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.972 0.032 169.658);
  --primary-foreground: oklch(0.34 0.075 159.787);
  --secondary: oklch(0.324 0.005 170.199);
  --secondary-foreground: oklch(0.847 0.004 170.497);
  --accent: oklch(0.324 0.005 170.199);
  --accent-foreground: oklch(0.847 0.004 170.497);
  --destructive: oklch(0.65 0.202 34.016);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.972 0.032 169.658);
  --chart-1: oklch(0.972 0.032 169.658);
  --chart-2: oklch(0.324 0.005 170.199);
  --chart-3: oklch(0.324 0.005 170.199);
  --chart-4: oklch(0.354 0.005 170.187);
  --chart-5: oklch(0.973 0.033 169.625);
}