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

Go to generator

10000+Themes for shadcn/ui

Steel for shadcn/ui

Steel is a shadcn/ui theme built around a vivid green primary color (#3fc819) with vivid red accents (#c8193f). The light mode uses a neutral background (#ffffff). Dark mode keeps the vivid green primary (#3fc819) on a green-tinted background (#071004).

Color palette

TokenLightDark
Background
#ffffffwhite
#071004black
Foreground
#081505black
#fcfdfcwhite
Card
#ffffffwhite
#071004black
Card foreground
#081505black
#fcfdfcwhite
Popover
#ffffffwhite
#071004black
Popover foreground
#081505black
#fcfdfcwhite
Primary
#3fc819limegreen
#3fc819limegreen
Primary foreground
#061202black
#061202black
Secondary
#193fc8royalblue
#193fc8royalblue
Secondary foreground
#ffffffwhite
#ffffffwhite
Muted
#eaedf5lavender
#0a0c15black
Muted foreground
#4f5054darkslategray
#abacb0darkgray
Accent
#c8193fcrimson
#c8193fcrimson
Accent foreground
#ffffffwhite
#ffffffwhite
Destructive
#81290esaddlebrown
#e74c1dchocolate
Destructive foreground
#f9d3c8peachpuff
#ffffffwhite
Border
#e5e7eblavender
#1f2937darkslategray
Input
#e5e7eblavender
#1f2937darkslategray
Ring
#3fc819limegreen
#3fc819limegreen

Contrast

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

Light mode
Text on background18.75:1AAA
Text on card18.75:1AAA
Primary button8.63:1AAA
Secondary button8.15:1AAA
Muted text6.87:1AA
Accent5.74:1AA
Destructive6.73:1AA
Dark mode
Text on background18.97:1AAA
Text on card18.97:1AAA
Primary button8.63:1AAA
Secondary button8.15:1AAA
Muted text8.59:1AAA
Accent5.74:1AA
Destructive3.84:1AA Large

CSS variables

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

:root {
  --radius: 0.5rem;
  --background: oklch(1 0 180);
  --foreground: oklch(0.177 0.037 138.124);
  --muted: oklch(0.946 0.011 273.729);
  --muted-foreground: oklch(0.432 0.006 273.694);
  --popover: oklch(1 0 180);
  --popover-foreground: oklch(0.177 0.037 138.124);
  --card: oklch(1 0 180);
  --card-foreground: oklch(0.177 0.037 138.124);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --primary: oklch(0.729 0.23 140.52);
  --primary-foreground: oklch(0.165 0.041 137.243);
  --secondary: oklch(0.444 0.215 265.346);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.536 0.203 17.711);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.411 0.127 36.369);
  --destructive-foreground: oklch(0.897 0.046 37.597);
  --ring: oklch(0.729 0.23 140.52);
  --chart-1: oklch(0.729 0.23 140.52);
  --chart-2: oklch(0.444 0.215 265.346);
  --chart-3: oklch(0.536 0.203 17.711);
  --chart-4: oklch(0.466 0.227 265.298);
  --chart-5: oklch(0.738 0.235 140.633);
}

.dark {
  --radius: 0.5rem;
  --background: oklch(0.16 0.03 137.66);
  --foreground: oklch(0.993 0.003 138.892);
  --muted: oklch(0.158 0.018 272.296);
  --muted-foreground: oklch(0.745 0.006 273.78);
  --popover: oklch(0.16 0.03 137.66);
  --popover-foreground: oklch(0.993 0.003 138.892);
  --card: oklch(0.16 0.03 137.66);
  --card-foreground: oklch(0.993 0.003 138.892);
  --border: oklch(0.278 0.03 256.848);
  --input: oklch(0.278 0.03 256.848);
  --primary: oklch(0.729 0.23 140.52);
  --primary-foreground: oklch(0.165 0.041 137.243);
  --secondary: oklch(0.444 0.215 265.346);
  --secondary-foreground: oklch(1 0 180);
  --accent: oklch(0.536 0.203 17.711);
  --accent-foreground: oklch(1 0 180);
  --destructive: oklch(0.629 0.199 36.119);
  --destructive-foreground: oklch(1 0 180);
  --ring: oklch(0.729 0.23 140.52);
  --chart-1: oklch(0.729 0.23 140.52);
  --chart-2: oklch(0.444 0.215 265.346);
  --chart-3: oklch(0.536 0.203 17.711);
  --chart-4: oklch(0.466 0.227 265.298);
  --chart-5: oklch(0.738 0.235 140.633);
}