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

Go to generator

10000+Themes for shadcn/ui

Price for shadcn/ui

Price is a shadcn/ui theme built around a near-black primary color (#030204) with near-white accents (#e8e7e9). The light mode uses a neutral background (#fdfbfe). Dark mode keeps the near-black primary (#030204) on a neutral background (#030203).

Color palette

TokenLightDark
Background
#fdfbfewhite
#030203black
Foreground
#000000black
#f8f6f9whitesmoke
Card
#fdfbfewhite
#030203black
Card foreground
#000000black
#f8f6f9whitesmoke
Popover
#fdfbfewhite
#030203black
Popover foreground
#000000black
#f8f6f9whitesmoke
Primary
#030204black
#030204black
Primary foreground
#d2bbe2thistle
#d2bbe2thistle
Secondary
#e8e7e9lavender
#1c1a1fblack
Secondary foreground
#504c52darkslategray
#b6aebcsilver
Muted
#e4dbebgainsboro
#1d1424black
Muted foreground
#504658darkslategray
#b1a7b9darkgray
Accent
#e8e7e9lavender
#1c1a1fblack
Accent foreground
#504c52darkslategray
#b6aebcsilver
Destructive
#cb2e0bfirebrick
#f34720orangered
Destructive foreground
#ffffffwhite
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#030204black
#030204black

Contrast

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

Light mode
Text on background20.37:1AAA
Text on card20.37:1AAA
Primary button11.80:1AAA
Secondary button6.83:1AA
Muted text6.63:1AA
Accent6.83:1AA
Destructive5.31:1AA
Dark mode
Text on background19.30:1AAA
Text on card19.30:1AAA
Primary button11.80:1AAA
Secondary button8.04:1AAA
Muted text7.70:1AAA
Accent8.04:1AAA
Destructive3.65:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(0.99 0.005 311.686);
  --foreground: oklch(0 0 0);
  --muted: oklch(0.904 0.023 311.517);
  --muted-foreground: oklch(0.412 0.031 311.114);
  --popover: oklch(0.99 0.005 311.686);
  --popover-foreground: oklch(0 0 0);
  --card: oklch(0.99 0.005 311.686);
  --card-foreground: oklch(0 0 0);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.085 0.013 312.96);
  --primary-foreground: oklch(0.824 0.059 311.152);
  --secondary: oklch(0.93 0.003 311.701);
  --secondary-foreground: oklch(0.422 0.011 311.508);
  --accent: oklch(0.93 0.003 311.701);
  --accent-foreground: oklch(0.422 0.011 311.508);
  --destructive: oklch(0.551 0.198 32.956);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.085 0.013 312.96);
  --chart-1: oklch(0.085 0.013 312.96);
  --chart-2: oklch(0.93 0.003 311.701);
  --chart-3: oklch(0.93 0.003 311.701);
  --chart-4: oklch(0.953 0.002 311.709);
  --chart-5: oklch(0.084 0.014 313.065);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.086 0.012 312.857);
  --foreground: oklch(0.975 0.004 311.691);
  --muted: oklch(0.211 0.033 310.439);
  --muted-foreground: oklch(0.743 0.027 311.431);
  --popover: oklch(0.086 0.012 312.857);
  --popover-foreground: oklch(0.975 0.004 311.691);
  --card: oklch(0.086 0.012 312.857);
  --card-foreground: oklch(0.975 0.004 311.691);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.085 0.013 312.96);
  --primary-foreground: oklch(0.824 0.059 311.152);
  --secondary: oklch(0.221 0.011 311.338);
  --secondary-foreground: oklch(0.763 0.021 311.507);
  --accent: oklch(0.221 0.011 311.338);
  --accent-foreground: oklch(0.763 0.021 311.507);
  --destructive: oklch(0.643 0.215 33.688);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.085 0.013 312.96);
  --chart-1: oklch(0.085 0.013 312.96);
  --chart-2: oklch(0.221 0.011 311.338);
  --chart-3: oklch(0.221 0.011 311.338);
  --chart-4: oklch(0.252 0.013 311.308);
  --chart-5: oklch(0.084 0.014 313.065);
}