ThiloDesign System
DV

Colors

Foundation

All colors are semantic tokens. Never use Tailwind primitive colors (e.g. bg-zinc-900) directly in components.

src/app/globals.css

The rule

Always

bg-background

text-foreground

bg-card

bg-status-open-bg

text-priority-critical

Never

bg-zinc-950

text-emerald-400

border-amber-800

#09090B

bg-muted/40 (static)

Semantic tokens

Aa

background

Page / root background

Aa

card

Card, panel, drawer

Aa

muted

Subtle areas, tags, toolbar

Aa

primary

Primary buttons, CTA

Aa

secondary

Secondary buttons

Aa

accent

Hover states

Aa

destructive

Errors, delete actions

Aa

border

Borders, dividers

Aa

sidebar

Sidebar background

Aa

popover

Dropdown, tooltip, popover

Backgrounds

UI elementTokenClassSwatch
Page / rootbackgroundbg-background
Aa
Card, panel, drawercardbg-card
Aa
Sidebarsidebarbg-sidebar
Aa
Popover, dropdown, tooltippopoverbg-popover
Aa
Subtle section, code block, tagmutedbg-muted
Aa
Hover state on any elementaccentbg-accent
Aa
Primary buttonprimarybg-primary
Aa
Secondary buttonsecondarybg-secondary
Aa

Text

ContextTokenClassSample
All default textforegroundtext-foreground
Aa
Secondary / helper textmuted-foregroundtext-muted-foreground
Aa
Text on a cardcard-foregroundtext-card-foreground
Aa
Text in the sidebarsidebar-foregroundtext-sidebar-foreground
Aa
Text on primary buttonprimary-foregroundtext-primary-foreground
Aa
Text on secondary buttonsecondary-foregroundtext-secondary-foreground
Aa
Text on hover stateaccent-foregroundtext-accent-foreground
Aa
Destructive / errordestructivetext-destructive
Aa

Borders

ContextTokenClassSwatch
Default border (everything)borderborder-border
Input borderinputborder-input
Sidebar bordersidebar-borderborder-sidebar-border

Interactive states

StateToken combinationClassesSample
Hover (nav, row)accent + accent-foregroundhover:bg-accent hover:text-accent-foreground
Aa
Subtle hoveraccent + opacityhover:bg-accent/60 hover:text-foreground
Aa
Active / selectedprimary + primary-foregroundbg-primary text-primary-foreground
Aa
Hover on primaryprimary + opacityhover:bg-primary/90
Aa
Disabledmuted + muted-foregroundbg-muted text-muted-foreground opacity-50
Aa
Focus ringringfocus-visible:ring-2 ring-ring
Aa
Destructive / errordestructivebg-destructive text-destructive-foreground
Aa

Status tokens

Open
bg-status-open-bgtext-status-open-fgbg-status-open
In Progress
bg-status-in-progress-bgtext-status-in-progress-fgbg-status-in-progress
In Review
bg-status-in-review-bgtext-status-in-review-fgbg-status-in-review
Testing
bg-status-in-progress-bgtext-status-in-progress-fgbg-status-in-progress
Closed
bg-status-closed-bgtext-status-closed-fgbg-status-closed
Blocked
bg-status-blocked-bgtext-status-blocked-fgbg-status-blocked
Done
bg-status-done-bgtext-status-done-fgbg-status-done

Priority tokens

Criticalbg-priority-criticaltext-priority-critical
Highbg-priority-hightext-priority-high
Normalbg-priority-normaltext-priority-normal
Lowbg-priority-lowtext-priority-low

On this page