Paystream Design System
Extracted from — Website + App/Portal tokens and components
Website Colors
Brand
Primary
Secondary (Action Blue)
Featured / Promotion
Backgrounds
Status
Links
Typography
Paystream uses custom proprietary fonts: PaystreamDisplay-Black for display/headings and PaystreamText-Regular/Medium/Bold for body text. Letter spacing is tight throughout (negative tracking).
Display Large
| Family | PaystreamDisplay-Black |
| Size | 4.25rem / 68px |
| Line height | 5.125rem / 82px |
| Tracking | -0.04em |
Display
| Family | PaystreamDisplay-Black |
| Size | 4rem / 64px |
| Line height | 4.375rem / 70px |
| Tracking | -0.04em |
Display Small
| Family | PaystreamDisplay-Black |
| Size | 2.5rem / 40px |
| Line height | 2.75rem / 44px |
| Tracking | -0.04em |
Heading Large
| Family | PaystreamDisplay-Black |
| Size | 2rem / 32px |
| Line height | 2.25rem / 36px |
| Tracking | -0.02em |
Heading Small
| Family | PaystreamDisplay-Black |
| Size | 1.5rem / 24px |
| Line height | 2rem / 32px |
| Tracking | -0.02em |
Title Large
| Family | PaystreamText-Medium |
| Size | 1.25rem / 20px |
| Line height | 1.5rem / 24px |
| Tracking | -0.01em |
Title
| Family | PaystreamText-Medium |
| Size | 1rem / 16px |
| Line height | 1.25rem / 20px |
| Tracking | -0.01em |
Body Large
| Family | PaystreamText-Regular |
| Size | 1rem / 16px |
| Line height | 1.25rem / 20px |
| Tracking | 0em |
Body
| Family | PaystreamText-Regular |
| Size | 0.875rem / 14px |
| Line height | 1.125rem / 18px |
| Tracking | -0.02em |
Caption
| Family | PaystreamText-Regular |
| Size | 0.75rem / 12px |
| Line height | 1rem / 16px |
| Tracking | -0.01em |
Spacing Scale
Paystream uses a comprehensive spacing scale from 0 to 1200 (0rem to 6rem), plus semantic aliases.
--sys-space-25--sys-space-50 / xs--sys-space-75--sys-space-100 / sm--sys-space-150 / md--sys-space-200 / lg--sys-space-250--sys-space-300 / xl--sys-space-400 / jumbo--sys-space-500--sys-space-600--sys-space-800--sys-space-1000--sys-space-1200Border Radius
tiny
xs
sm
md
lg
xl
jumbo
xjumbo
full
Buttons use jumbo (32px) radius for pill shape. Cards typically use xl (24px). Inputs use md (8px).
Elevation / Shadows
Input Fields
Text Inputs
Height: 48px | Radius: 8px | Border: 1px solid #696969 | Focus: 2px solid #0065f2 with 3px ring
Checkboxes
Radio Buttons
Toggle Switches
Cards
Cards use border-radius: 16-24px, white surface, subtle border, and elevation on hover.
Send Money
Transfer funds to friends and family instantly with no fees when using your Paystream balance.
Request Money
Split bills, collect group payments, or request what you're owed with a simple link.
Pay Later
Shop now and pay over time with Pay in 4. No late fees, no impact to credit score.
Motion & Animation
Hover over each card to see the timing in action.
Duration Tokens
| hover | 0.1s | Button hover, link hover |
| action | 0.2s | Click feedback, toggle |
| arrive | 0.5s | Panel enter, modal open |
| depart | 0.3s | Panel exit, modal close |
| enter-small | 0.2s | Tooltip, dropdown |
| enter-large | 0.5s | Full-screen overlay |
| move-large | 0.8s | Page transition |
App / Portal Colors
The Paystream dashboard uses a lighter, more neutral brushwork with blue as the primary action color.
Interactive / Action
Backgrounds
Text Hierarchy
App Layout
Paystream dashboard uses a sidebar + main content layout with a fixed header.
Dashboard
Sidebar: 240px wide, #ffffff bg, 1px solid #edf0f2 right border. Active item: #e3f7ff bg, #0065f2 text.
Data Tables
| Date | Description | Amount | Status |
|---|---|---|---|
| Mar 7, 2026 | Payment to John Smith | -$125.00 | Completed |
| Mar 6, 2026 | Refund from Amazon | +$49.99 | Processing |
| Mar 5, 2026 | Subscription - Netflix | -$15.99 | Completed |
| Mar 4, 2026 | Payment from Client | +$2,500.00 | Pending |
| Mar 3, 2026 | Failed Transfer | -$300.00 | Failed |
Header: #f5f7fa bg | Row border: 1px solid #edf0f2 | Row hover: #f0f2f9 | Cell padding: 12px 16px
Form Controls
Search Input
Select / Dropdown
Toggle with Label
Badges & Status Indicators
Pill shape (border-radius: 62px), 4px 12px padding, 12px font. Each status uses its medium color as background and its medium-contrast as text color.
Alerts & Toasts
Inline Alerts
Toast Notifications
Modals / Dialogs
Confirm Payment
You are about to send $250.00 to Jane Doe. This action cannot be undone.
Overlay: rgba(0,0,0,0.55) | Border radius: 24px | Padding: 32px | Shadow: 0 2px 18px rgba(0,0,0,0.1)
Tabs & Progress
Tab Bar
Progress Bar
Account verification: 75% complete
Upload progress: 40%
Tooltips
Background: #000000 | Color: #ffffff | Radius: 8px | Padding: 8px 12px | Font: 12px
Tailwind Mapping
The paired JSON export now includes a tailwind section with theme extensions and component recipes. Use these mappings instead of default Tailwind tokens when recreating this system.
// tailwind.config.js
import designSystem from './design-system.json';
export default {
theme: {
extend: designSystem.tailwind.website.theme.extend,
},
};
// Swap to designSystem.tailwind.app.theme.extend for app/portal surfaces.
| Scope | Primary | Body Font | Radius | Shadow | Breakpoint |
|---|---|---|---|---|---|
| Website | — | — | 0.5rem | — | — |
| App / Portal | — | — | — | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Website | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Website | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| Website | inputField | rounded-sm border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |
| App / Portal | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-md bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| App / Portal | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| App / Portal | inputField | rounded-md border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |