Color Themes

Payd Labs theme behavior is driven by CSS variables on :root and .dark. Applications should toggle the .dark class on document.documentElement and save the user preference in local storage.

Light Theme

Light mode is the default for most operational surfaces.

:root {
  --color-primary: #10263E;
  --color-accent: #18D26E;
  --color-surface: #ffffff;
  --color-surface-secondary: #f8fafc;
  --color-surface-tertiary: #f1f5f9;
  --color-border: #e2e8f0;
  --color-border-medium: #cbd5e1;
  --color-text: #10263E;
  --color-text-secondary: #475569;
  --color-text-tertiary: #94a3b8;
}

Dark Theme

Dark mode uses a neutral stack instead of pure black:

.dark {
  --color-surface: #0f1419;
  --color-surface-secondary: #161b22;
  --color-surface-tertiary: #1c2128;
  --color-border: #30363d;
  --color-border-medium: #484f58;
  --color-text: #e6edf3;
  --color-text-secondary: #8b949e;
  --color-text-tertiary: #6e7681;
  --color-accent: #4ae08e;
  --color-accent-dark: #4ae08e;
  color-scheme: dark;
}

Semantic State

StateUse
SuccessCompleted, available, approved, active, selected positive result
In progressPending, confirming, processing, onboarding, received
WarningAwaiting action, underpaid, expired, partial, risky but recoverable
ErrorFailed, rejected, suspended, invalid, destructive
NeutralCooldown, inactive, unavailable, unknown

Status Pills

Use pale backgrounds with colored text. Keep status pills compact:

<span class="px-2 py-0.5 rounded-full text-[10px] font-semibold bg-accent-100 text-accent-dark">
  completed
</span>

Recommended mappings:

BucketLight classes or tokens
Successbg-accent-100 text-accent-dark
In progressbg-blue-50 text-blue-600 or bg-primary-100 text-text
Warningbg-amber-50 text-amber-600
Errorbg-red-50 text-red-600
Neutralbg-surface-tertiary text-text-tertiary

Selection

Selected nav items and selected cards use green-tinted backgrounds:

background: var(--color-accent-100);
color: var(--color-accent-dark);

Focus

Inputs and controls use accent focus:

border-color: var(--color-accent);
box-shadow: 0 0 0 3px var(--color-accent-100);

Avoid

  • Do not create single-product palettes unless a product has a real brand need.
  • Do not dominate the page with gradients.
  • Do not use pure black for dark surfaces.
  • Do not use accent green for every visual element; it should mark action, selection, success, or important positive state.