Appica UIUI 1.0.0

Colors

Semantic color roles, and when to use each.


Appica UI's palette is organized by role, not by hue. Instead of blue-500, you use primary or info-emphasis. This keeps components meaningful and lets a single token override retheme the whole system. Every color is defined in oklch and is overridable — see Theming.

Each color is exposed as a Tailwind utility (bg-*, text-*, border-*) and as a raw CSS variable named after the role — var(--primary), var(--foreground), and so on. See Theming.

Base colors

The grayscale foundation of every layout: backgrounds, text, and borders. Each family is a scale from subtle to intense.

Foreground (text & icons)

Background (surfaces)

Border

Accent palettes

Six semantic accents share an identical scale, so they're interchangeable by intent. primary and secondary carry your brand; error, success, warning, and info carry status.

For example, an info alert pairs bg-info-subtle (surface), bg-info-soft (border), with text-info-foreground; a solid primary button pairs bg-primary with text-primary-foreground.

Focus rings

Focus styling has its own token set so the ring can differ from borders. Each maps to a matching role, and components apply them automatically on :focus-visible — see Accessibility.

Overriding the palette

Any token can be redefined after the stylesheet import, separately per theme:

Head to Theming for the raw-vs-theme token model and the non-color tokens (radius, shadows, typography).

© 2026 Appica UI. A free component library, crafted by the Appica team.