Skip to main content
Docs · with ControlsOpen in Storybook ↗

Colors

Base palette​

The base palette is our source of truth. Every color in the product is built from these primitive tokens, organized into three groups, each on a 00 → 100 scale (00 is neutral, 10 is the lightest tint, 100 is the darkest shade):

  • Brand — primary, secondary, tertiary, and neutral. These are the core brand colors and grayscale used across the interface.
  • Action — success, error, warning, info. Used to give users feedback about whether something is correct, risky, or informational.
  • Support — support/01 through support/04. Extra colors used for secondary elements like tags or labels, not for primary actions or brand moments.

If a color needs to change tone or gets corrected, it should be updated directly in the Primitive Tokens (found under Variants in Figma), not overridden locally.

Semantic variables​

Variables are reusable, named references to base colors. Instead of picking a raw hex value, use the variable that matches the intent, so if the underlying token changes, everything using it updates automatically.

Text colors

VariableMaps toUsage
text-primarybrand/neutral/100General text, tables, and content.
text-secondarybrand/primary/100Titles and menus.
text-tertiarybrand/neutral/60Input placeholders or lower-contrast text.
text-invertedbrand/neutral/00On darker backgrounds, typically buttons and hovers.
text-accentbrand/primary/70To give priority to a piece of text, or for links.
text-erroraction/error/50To tell the user about a mistake.
text-warningaction/warning/60To tell the user about a warning.
text-successaction/success/50To confirm a successful action.
text-infoaction/info/50For a message with important information.

Border colors

VariableMaps toUsage
border-primarybrand/neutral/30Default color for inputs and cards.
border-secondarybrand/neutral/40Typically used on hover.
border-brandbrand/primary/50Accent color, typically for active states.
border-erroraction/error/50For errors on inputs.
border-successaction/success/50For success on inputs.