Design System
Semantic · State

State roles

Success, warning, danger, info. These pull from Tailwind (green, amber, red, blue) so brand accents stay meaning-free. Coral ≠ danger. Teal ≠ success. Users need learned signals that survive any brand retune.

Success
success
green-600 · #16A34A
✓ Saved Confirm
Warning
warning
amber-500 · #F59E0B
! Review Pending
Danger
danger
red-600 · #DC2626
× Failed Delete
Info
info
blue-600 · #2563EB
i Update Learn more

Why state tokens stay Tailwind-owned

Brand accents exist to carry identity; state tokens exist to carry meaning. If coral doubled as "warning," a warm marketing pill and a validation error would collide. Tailwind's red / amber / green / blue are already tuned for AA legibility at small sizes — we inherit that work.

Aliases

Every component binds to these — not raw hex or raw Tailwind classes.

--color-success: #16A34A; --color-success-surface: #F0FDF4; --color-on-success: #fff;
--color-warning: #F59E0B; --color-warning-surface: #FFFBEB; --color-on-warning: #451A03;
--color-danger:  #DC2626; --color-danger-surface:  #FEF2F2; --color-on-danger:  #fff;
--color-info:    #2563EB; --color-info-surface:    #EFF6FF; --color-on-info:    #fff;