jeton Design System
Combined design tokens and visual reference for Tender's marketing website and e-wallet application. FCA-regulated platform supporting 50+ currencies and 70+ payment methods.
Marketing Website
Awwwards Site of the Day. Nuxt.js + GSAP + Rive + Matter.js. Bold display typography with 3D fintech illustrations.
Website Colors
Orange-dominant brushwork with navy (#1A1A2E) replacing black. Pastel accents for 3D elements.
Brand
Backgrounds & Text
3D Accent Brushwork
Semantic
Website Typography
Inter with tight letter-spacing on display text. Large hero sizes for impact.
Website Spacing
4px base unit. Container 1200px max, 24px padding. Sections 96px vertical.
Gradients
Warm pastel hero, dark navy for contrast, primary gradient for CTAs.
Motion
GSAP scroll triggers, Rive 3D illustrations, Matter.js physics, Lenis smooth scroll.
Website Inputs
48px height, 10px radius, warm orange focus ring.
Website Cards
16px radius, 32px padding, navy shadow with orange glow on hover.
Spend anywhere Mastercard is accepted with instant top-up.
Website Badges
Pill-shaped with tinted backgrounds.
Hero Section
Warm gradient with 3D coin art. Bold headline, subtitle, dual CTA.
Your money,
everywhere.
Send, receive, and exchange across 50+ currencies with one powerful e-wallet.
Feature Grid
3-column layout. Icon + title + description. Lift on hover.
Instant Transfers
Send money anywhere. Arrives in seconds with real-time notifications.
Bank-Level Security
FCA-regulated. Biometric auth, 2FA, encrypted transactions.
Multi-Currency
Hold and exchange 50+ currencies with competitive rates.
Dark Section
Navy gradient for trust indicators and social proof.
Trusted by millions worldwide
70+ payment methods across 19 languages. FCA-regulated.
App / Portal
E-wallet dashboard, transaction management, card controls, and currency exchange interfaces.
App Colors
Light grey background, white cards, dark sidebar. Status badges with tinted backgrounds.
Primary Scale
Surfaces
Status (with backgrounds)
App Typography
Smaller, denser scale. 14px body for dashboard layouts. Monospace for amounts.
App Layout
Sidebar 260px + content area. 64px header, 24px content padding.
| Sidebar | 260px |
| Collapsed | 72px |
| Header | 64px |
| Content pad | 24px |
| Max-width | 1080px |
| Input | 8px |
| Button | 10px |
| Card | 12px |
| Wallet card | 16px |
| Badge | 6px |
App Shadows
Minimal on cards, escalating for dropdowns and modals.
App Inputs
40px height, 8px radius. Tighter than website inputs.
App Badges
Rectangular 6px radius with colored borders for transaction status.
Toggle & Progress
Orange active toggle. Spring animation on thumb. 6px progress bars.
Data Tables
Uppercase headers, subtle row borders, hover highlight.
| Transaction | Recipient | Amount | Status | Date |
|---|---|---|---|---|
| #TX-78234 | Maria S. | -$250.00 | Completed | Mar 23 |
| #TX-78235 | Ahmed K. | -$1,200.00 | Pending | Mar 23 |
| #TX-78236 | Bank Deposit | +$5,000.00 | Completed | Mar 22 |
Dropdowns
12px radius, strong shadow, 6px inner item radius.
Wallet Card
340x200px gradient card with circular decorative elements.
Transaction List
64px rows, 40px icons, color-coded amounts.
Send Money Flow
Amount input, recipient, fee breakdown, confirm CTA.
Send Money
Modal / Dialog
16px radius, heavy shadow, spring entrance animation.
Confirm Transfer
Send $500.00 USD to Maria Santos? This cannot be undone.
Toast Notifications
Dark background, spring entrance from bottom.
CSS Variables
Combined custom properties block covering both website and app tokens.
/* ======================================== Tender Design System — CSS Custom Properties Combined: Website + App ======================================== */ :root { /* Brand (shared) */ --Tender-primary: #F73B20; --Tender-primary-light: #FF6B4A; --Tender-primary-dark: #D42D15; --Tender-primary-pale: #FFF0EB; --Tender-dark: #1A1A2E; /* Text */ --Tender-text: #1A1A2E; --Tender-text-secondary: #6B7280; --Tender-text-tertiary: #9CA3AF; /* Borders */ --Tender-border: #E5E7EB; --Tender-border-card: #EEEEF2; --Tender-divider: #F0F0F4; /* Accents */ --Tender-pastel-blue: #B8D4E3; --Tender-pastel-green: #C8E6C9; --Tender-gold: #FFD700; /* Status */ --Tender-success: #22C55E; --Tender-warning: #F59E0B; --Tender-error: #EF4444; --Tender-info: #3B82F6; /* Website-specific */ --Tender-w-bg: #FFFFFF; --Tender-w-surface: #F8F8FA; --Tender-w-radius-btn: 12px; --Tender-w-radius-card: 16px; --Tender-w-container: 1200px; /* App-specific */ --Tender-a-bg: #F8F8FA; --Tender-a-card: #FFFFFF; --Tender-a-sidebar: #1A1A2E; --Tender-a-sidebar-text: #A0A0B8; --Tender-a-radius-btn: 10px; --Tender-a-radius-card: 12px; --Tender-a-radius-input: 8px; --Tender-a-sidebar-width: 260px; --Tender-a-header-height: 64px; /* Font */ --Tender-font: 'Inter', -apple-system, sans-serif; }
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 | — | 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif | 12px | — | — |
| App / Portal | — | 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif | 10px | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Website | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-button bg-brand-primary text-text-inverse shadow-sm px-4 py-2 text-body font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Website | surfaceCard | rounded-card 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-button border border-border-subtle bg-surface-base text-text-primary px-3 py-2 text-body 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-button bg-brand-primary text-text-inverse shadow-sm px-4 py-2 text-body font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| App / Portal | surfaceCard | rounded-card 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-button border border-border-subtle bg-surface-base text-text-primary px-3 py-2 text-body focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |