Color System

This document describes our framework's color token system. All colors are drawn from a single shared palette and applied via bg-* className values. Each color scale spans 9 weights from 100 to 900, and semantic tokens (primary, danger, success, etc.) represent the product's behavior-driven colors on top of that palette.

Usage

There are two naming conventions in play:

  • Weight 500 — referenced directly by color name: bg-red, bg-blue, bg-purple
  • Every other weight — color name + weight: bg-blue-100, bg-teal-700
  • Semantic tokens — named by function: bg-primary, bg-danger, bg-success

Core Palette

Each color family forms a full 9-step scale. 100 is the lightest, 900 is the darkest. Weight 500 represents the base (brand) tone and gets the shorthand className.

Blue

bg-blue-100
bg-blue-200
bg-blue-300
bg-blue-400
bg-blue
bg-blue-600
bg-blue-700
bg-blue-800
bg-blue-900

Purple

bg-purple-100
bg-purple-200
bg-purple-300
bg-purple-400
bg-purple
bg-purple-600
bg-purple-700
bg-purple-800
bg-purple-900

Indigo — Brand & Action Accents

bg-indigo-50
bg-indigo-100
bg-indigo-200
bg-indigo-300
bg-indigo-400
bg-indigo
bg-indigo-600
bg-indigo-700
bg-indigo-800
bg-indigo-900

The Indigo scale starts at weight 50 — an extra step for the lightest background tones. This family represents the brand's primary action accents.

Teal

bg-teal-100
bg-teal-200
bg-teal-300
bg-teal-400
bg-teal
bg-teal-600
bg-teal-700
bg-teal-800
bg-teal-900

Green

bg-green-100
bg-green-200
bg-green-300
bg-green-400
bg-green
bg-green-600
bg-green-700
bg-green-800
bg-green-900

Yellow

bg-yellow-100
bg-yellow-200
bg-yellow-300
bg-yellow-400
bg-yellow
bg-yellow-600
bg-yellow-700
bg-yellow-800
bg-yellow-900

Orange

bg-orange-100
bg-orange-200
bg-orange-300
bg-orange-400
bg-orange
bg-orange-600
bg-orange-700
bg-orange-800
bg-orange-900

Red

bg-red-100
bg-red-200
bg-red-300
bg-red-400
bg-red
bg-red-600
bg-red-700
bg-red-800
bg-red-900

Pink

bg-pink-100
bg-pink-200
bg-pink-300
bg-pink-400
bg-pink
bg-pink-600
bg-pink-700
bg-pink-800
bg-pink-900

Slate / Gray

bg-slate-100
bg-slate-200
bg-slate-300
bg-slate-400
bg-slate
bg-slate-600
bg-slate-700
bg-slate-800
bg-slate-900

Semantic Tokens

Semantic tokens reference function, not a specific hex value. Instead of writing bg-blue-600 directly in component code, use bg-primary — this allows theme changes across the whole palette without rewriting components.

primaryblue-600
dangerred-500
successgreen-500
warningyellow-500
infoteal-600

Neutral & Base Tokens

These tokens sit outside the hue scales but form the foundation of the system's background and text values.

bg-white
bg-light
bg-muted
bg-dark

FrontAlign