Colors
brand
#1d82ff
primary, ring & sidebar accents
canvas
#f9f8f6
surface ladder, tint & text hue
--hue
85
--c-bg
0.0029
--bg-l
0.9793
--contrast
0.83
--brand-h
257
--brand-c
0.195
--brand-l
0.62
Active tenant Opus — two input colors derive the seven OKLCH drivers, which derive every token below. Switch tenants in the panel above and watch everything recolor.
--brand
oklch(0.62 0.195 257)
--brand-hover
oklch(0.570 0.195 257)
--color-gray-0
White
Cards, popovers, elevated surfaces
--color-gray-0
--color-gray-25
Near-white
Subtle canvas-adjacent tint
--color-gray-25
--color-gray-50
Canvas
Page background, sidebar background
--color-gray-50
--color-gray-100
Secondary surface
Inset cards, muted panels
--color-gray-100
--color-gray-200
Tertiary surface
Secondary controls, deeper wells
--color-gray-200
--color-gray-300
Soft neutral
Available primitive step
--color-gray-300
--color-gray-400
Disabled
Disabled text and icons
--color-gray-400
--color-gray-500
Tertiary text
Hints, metadata, low-emphasis labels
--color-gray-500
--color-gray-600
Secondary text
Sidebar text, supporting copy
--color-gray-600
--color-gray-700
Strong neutral
Available primitive step
--color-gray-700
--color-gray-800
Primary icon
Default icon color
--color-gray-800
--color-gray-900
Inverse surface
Dark surfaces
--color-gray-900
--color-gray-950
Primary text
Headings and body text
--color-gray-950
Backgrounds
Text
Primary — section titles and key content
Secondary — supporting copy and descriptions
Tertiary — metadata, timestamps, helper text
Disabled — inactive or unavailable text
Inverse — on dark, brand, or strong status fills
Icons
Borders and states
Accent
Status triplets
| Token | Variable | Value |
|---|---|---|
| Backgrounds | ||
Canvas | --color-bg-canvas | — |
Primary | --color-bg-primary | — |
Subtle | --color-bg-subtle | — |
Secondary | --color-bg-secondary | — |
Tertiary | --color-bg-tertiary | — |
Elevated | --color-bg-elevated | — |
| Text | ||
Primary | --color-text-primary | — |
Secondary | --color-text-secondary | — |
Tertiary | --color-text-tertiary | — |
Disabled | --color-text-disabled | — |
Inverse | --color-text-inverse | — |
| Icons | ||
Primary | --color-icon-primary | — |
Secondary | --color-icon-secondary | — |
Tertiary | --color-icon-tertiary | — |
Disabled | --color-icon-disabled | — |
Inverse | --color-icon-inverse | — |
| Borders | ||
Primary | --color-border-primary | — |
Secondary | --color-border-secondary | — |
Tertiary | --color-border-tertiary | — |
| States | ||
Hover | --color-state-hover | — |
Pressed | --color-state-pressed | — |
Selected | --color-state-selected | — |
Focus | --color-state-focus | — |
Overlay scrim | --color-overlay-scrim | — |
| Accent | ||
Primary | --color-accent-primary | — |
Primary hover | --color-accent-primary-hover | — |
Primary active | --color-accent-primary-active | — |
Primary foreground | --color-accent-primary-foreground | — |
Secondary | --color-action-secondary | — |
Secondary hover | --color-action-secondary-hover | — |
Secondary active | --color-action-secondary-active | — |
Secondary foreground | --color-action-secondary-foreground | — |
Destructive | --color-action-destructive | — |
Destructive hover | --color-action-destructive-hover | — |
Destructive active | --color-action-destructive-active | — |
Destructive foreground | --color-action-destructive-foreground | — |
| Status backgrounds | ||
Success bg | --color-status-success-bg | — |
Warning bg | --color-status-warning-bg | — |
Error bg | --color-status-error-bg | — |
Info bg | --color-status-info-bg | — |
AI bg | --color-status-ai-bg | — |
| Status text | ||
Success text | --color-status-success-text | — |
Warning text | --color-status-warning-text | — |
Error text | --color-status-error-text | — |
Info text | --color-status-info-text | — |
AI text | --color-status-ai-text | — |
| Status borders | ||
Success border | --color-status-success-border | — |
Warning border | --color-status-warning-border | — |
Error border | --color-status-error-border | — |
Info border | --color-status-info-border | — |
AI border | --color-status-ai-border | — |
shadcn tokens remain available as the adapter layer for primitives; product UI should prefer this API.
--hue. The semantic layer above is the product-facing API.| Token | Variable | Value |
|---|---|---|
| Surfaces | ||
Background | --background | — |
Card | --card | — |
Popover | --popover | — |
Secondary | --secondary | — |
Muted | --muted | — |
Accent | --accent | — |
| Text | ||
Foreground | --foreground | — |
Muted foreground | --muted-foreground | — |
Card foreground | --card-foreground | — |
Popover foreground | --popover-foreground | — |
Secondary foreground | --secondary-foreground | — |
Accent foreground | --accent-foreground | — |
| Borders | ||
Border | --border | — |
Input | --input | — |
Elevation — surfaces nested in z-order
--color-bg-canvaslowest dashboard layer--color-bg-primarynormal white container--color-bg-subtlealmost-white background--color-bg-tertiaryrecessed well--color-bg-secondary--color-bg-elevatedThe warm canvas sits lowest. White base and raised surfaces sit above it; subtle surfaces create almost-white background areas, while inset surfaces create recessed areas inside containers.
--ring and hover states follow the brand.| Token | Variable | Value |
|---|---|---|
Primary | --primary | — |
Primary foreground | --primary-foreground | — |
Ring | --ring | — |
| Token | Variable | Value |
|---|---|---|
Destructive | --destructive | — |
Destructive foreground | --destructive-foreground | — |
Success | --success | — |
| Token | Variable | Value |
|---|---|---|
AI | --ai | — |
AI foreground | --ai-foreground | — |
Dock door safety · 6 screens
Proposal card surface
| Token | Variable | Value |
|---|---|---|
Sidebar | --sidebar | — |
Sidebar foreground | --sidebar-foreground | — |
Sidebar primary | --sidebar-primary | — |
Sidebar primary fg | --sidebar-primary-foreground | — |
Sidebar accent | --sidebar-accent | — |
Sidebar accent fg | --sidebar-accent-foreground | — |
Sidebar border | --sidebar-border | — |
Sidebar ring | --sidebar-ring | — |
| Token | Variable | Value |
|---|---|---|
Chart 1 | --chart-1 | — |
Chart 2 | --chart-2 | — |
Chart 3 | --chart-3 | — |
Chart 4 | --chart-4 | — |
Chart 5 | --chart-5 | — |