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

Go to generator

10000+Themes for shadcn/ui

Accurate for shadcn/ui

Accurate is a shadcn/ui theme built around a teal primary color (#3ba099) with blue accents (#3b74a0). The light mode uses a neutral background (#fbfefe). Dark mode keeps the teal primary (#3ba099) on a teal-tinted background (#060f0e).

Color palette

TokenLightDark
Background
#fbfefewhite
#060f0eblack
Foreground
#030c0cblack
#ffffffwhite
Card
#fbfefewhite
#060f0eblack
Card foreground
#030c0cblack
#ffffffwhite
Popover
#fbfefewhite
#060f0eblack
Popover foreground
#030c0cblack
#ffffffwhite
Primary
#3ba099lightseagreen
#3ba099lightseagreen
Primary foreground
#040b0bblack
#040b0bblack
Secondary
#3ba067mediumseagreen
#3ba067mediumseagreen
Secondary foreground
#ffffffwhite
#ffffffwhite
Muted
#d4ded8gainsboro
#212b26darkslategray
Muted foreground
#586a60dimgray
#95a79ddarkgray
Accent
#3b74a0steelblue
#3b74a0steelblue
Accent foreground
#ffffffwhite
#ffffffwhite
Destructive
#bc3615firebrick
#eb6847tomato
Destructive foreground
#ffffffwhite
#000000black
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#3ba099lightseagreen
#3ba099lightseagreen

Contrast

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

Light mode
Text on background19.51:1AAA
Text on card19.51:1AAA
Primary button6.31:1AA
Secondary button3.27:1AA Large
Muted text4.17:1AA Large
Accent4.98:1AA
Destructive5.69:1AA
Dark mode
Text on background19.43:1AAA
Text on card19.43:1AAA
Primary button6.31:1AA
Secondary button3.27:1AA Large
Muted text5.75:1AA
Accent4.98:1AA
Destructive6.59:1AA

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.995 0.004 192.35);
  --foreground: oklch(0.144 0.017 190.954);
  --muted: oklch(0.891 0.013 161.449);
  --muted-foreground: oklch(0.505 0.026 160.494);
  --popover: oklch(0.995 0.004 192.35);
  --popover-foreground: oklch(0.144 0.017 190.954);
  --card: oklch(0.995 0.004 192.35);
  --card-foreground: oklch(0.144 0.017 190.954);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.646 0.093 188.924);
  --primary-foreground: oklch(0.142 0.013 191.348);
  --secondary: oklch(0.632 0.128 155.079);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.541 0.091 243.754);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.532 0.176 34.399);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.646 0.093 188.924);
  --chart-1: oklch(0.646 0.093 188.924);
  --chart-2: oklch(0.632 0.128 155.079);
  --chart-3: oklch(0.541 0.091 243.754);
  --chart-4: oklch(0.664 0.135 155.032);
  --chart-5: oklch(0.654 0.097 188.755);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.157 0.015 190.801);
  --foreground: oklch(1 0 180);
  --muted: oklch(0.278 0.017 160.217);
  --muted-foreground: oklch(0.711 0.024 160.962);
  --popover: oklch(0.157 0.015 190.801);
  --popover-foreground: oklch(1 0 180);
  --card: oklch(0.157 0.015 190.801);
  --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.646 0.093 188.924);
  --primary-foreground: oklch(0.142 0.013 191.348);
  --secondary: oklch(0.632 0.128 155.079);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.541 0.091 243.754);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.672 0.169 35.211);
  --destructive-foreground: oklch(0 0 0);
  --ring: oklch(0.646 0.093 188.924);
  --chart-1: oklch(0.646 0.093 188.924);
  --chart-2: oklch(0.632 0.128 155.079);
  --chart-3: oklch(0.541 0.091 243.754);
  --chart-4: oklch(0.664 0.135 155.032);
  --chart-5: oklch(0.654 0.097 188.755);
}