Design System
NextDeals visual language, tokens, and components
Color Palette
Semantic TokensBackground
--background
Foreground
--foreground
Surface
--surface
Surface 2
--surface-2
Card
--card
Muted
--muted
Border
--border
Primary
--primary
Accent (AI)
--accent
AI Soft
--ai-soft
Success
--success
Warning
--warning
Destructive
--destructive
Typography
Inter + JetBrains MonoSpacing & Radius
4px base unitsm
4px
md
6px
lg
8px
xl
12px
2xl
16px
3xl
24px
Shadows
2 elevation levelsshadow-card
0 1px 2px 0 color-mix(in oklab, fg 4%, transparent)
shadow-ai (AI Glow)
0 0 24px -4px color-mix(in oklab, ai 20%, transparent)
Components
Reusable primitivesKpiCard
Total Clients
128
+4 this month
AI Insights
12
3 new today
Pending Tasks
5
Overdue
Tag
Button
StandardSearchInput — canonical search field for all list pages (clients, policies, tasks…)
import { StandardSearchInput } from "@/components/standard-search-input"
ClientAvatar
Gradient v1 · Violet Mist · #7C3AED → #A78BFA → #EDE9FE
Gradient v2 · Orchid Bloom · #6D28D9 → #F5D0FE → #C4B5FD
DatePicker · react-datepicker
2026-06-13
—
read-only
Animation
CSS keyframesanimate-reveal
slideUp + fade 0.5s cubic-bezier(0.16,1,0.3,1)
animate-pulse
opacity 1 → 0.5 → 1
animate-pulse-soft
subtle 50% opacity cycle
Usage Guidelines
Mobile-first: All layouts start at 320px and scale up. Touch targets are min 44px.
Color: Never use raw hex in components. Always reference semantic tokens via Tailwind classes.
AI elements: Use accent color (#7c3aed) and ai-glow shadow for AI-powered features.
Spacing: Prefer 4px multiples. Page padding: 24px desktop, 16px mobile.
Bilingual: Components support EN + 繁中 via the I18nProvider context.