APT Platform

Design System

Single source of truth for all UI components, tokens, and patterns. Every page must use these components exclusively.

Color Tokens

Background

#0a0a0a

Surface

#111111

Surface High

#1a1a1a

Primary (Teal)

#5ECECE

Text

#ffffff

Text Muted

rgba(255,255,255,0.45)

Success

#4ade80

Warning

#facc15

Danger

#f87171

Info

#60a5fa

Border

rgba(255,255,255,0.08)

Typography Scale

H1The quick brown fox
H2The quick brown fox
H3The quick brown fox
H4The quick brown fox
BodyThe quick brown fox
SmallThe quick brown fox
LabelThe quick brown fox

Button System

Variants

variant="primary"
variant="secondary"
variant="tertiary"
variant="destructive"
variant="ghost"

Sizes

size="sm"
size="md" (default)
size="lg"

States

loading
disabled
icon={Zap}

Badge System

Badge variants (component not exported)

Import badge components from @/components/ds when implemented.

Form Fields

Form components not yet exported from @/components/ds.

Cards

Card Example

Card body content.

Clickable Card

Pass an onClick prop to make cards interactive.

Tabs

Tabs component not yet exported from @/components/ds.

Data Table

Table component not yet exported from @/components/ds.

Modal

Spacing Scale (4px base)

4px
8px
12px
16px
20px
24px
32px
40px
48px
64px
80px

Usage Rules

✅

Import from @/components/ds — never create one-off styled elements

✅

Use OpsShell as the wrapper for every admin/ops page

✅

Use StatusBadge for all Registration / Tournament statuses

✅

Use StatTile for all KPI numbers in dashboards

✅

Use the DS Table for all admin list views

✅

Use Modal (not browser alert/confirm) for all actions

❌

Never hardcode hex colors — use tokens from tokens.js

❌

Never create page-specific font sizes or button styles

❌

Never use browser alert() or prompt() in final UI

❌

Never use Tailwind colors directly — use the DS color names