SmartCalcLab Design System
A comprehensive design system for building trustworthy financial calculators. Built with Tailwind CSS, shadcn/ui, and Radix UI primitives.
Design Tokens
Core design tokens that define the visual language of SmartCalcLab.
Color Palette
Professional fintech palette with blue/teal accent. Optimized for trust and readability.
Primary & Accent
Primary
--primaryMain brand color for CTAs
#0c4a6e#38bdf8Primary Foreground
--primary-foregroundText on primary background
#ffffff#0f172aAccent
--accentHighlight & interactive elements
#0891b2#06b6d4Neutrals
Background
--backgroundPage background
#ffffff#0f172aForeground
--foregroundPrimary text
#0f172a#f8fafcMuted
--mutedSubtle backgrounds
#f8fafc#1e293bMuted Foreground
--muted-foregroundSecondary text
#64748b#94a3b8Semantic Colors
Success
--successSuccess states
#059669#10b981Destructive
--destructiveError states & warnings
#dc2626#ef4444Border
--borderBorders & dividers
#e2e8f0#334155Chart Colors
Chart 1
--chart-1Primary data
#0891b2#06b6d4Chart 2
--chart-2Secondary data
#0c4a6e#38bdf8Chart 3
--chart-3Tertiary data
#06b6d4#22d3eeChart 4
--chart-4Neutral data
#64748b#94a3b8Chart 5
--chart-5Positive data
#10b981#34d399Typography
Clear hierarchy with Inter-style system fonts. Optimized for financial data readability.
Heading 1 - 36px / 2.25rem
font-size: 2.25rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em;Heading 2 - 30px / 1.875rem
font-size: 1.875rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.02em;Heading 3 - 24px / 1.5rem
font-size: 1.5rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em;Heading 4 - 20px / 1.25rem
font-size: 1.25rem; font-weight: 600; line-height: 1.4;Body text - 16px / 1rem
font-size: 1rem; line-height: 1.625; color: muted-foreground;Small text - 14px / 0.875rem
font-size: 0.875rem; line-height: 1.5;Font Weights
Line Heights
Letter Spacing
Spacing & Sizing
8px base grid for consistent spacing throughout the application.
Spacing Scale (8px grid)
1 = 4px = 0.25rem2 = 8px = 0.5rem3 = 12px = 0.75rem4 = 16px = 1rem6 = 24px = 1.5rem8 = 32px = 2rem12 = 48px = 3rem16 = 64px = 4remBorder Radius
sm - 0.125rem (2px)Small elements
md - 0.375rem (6px)Medium elements
lg - 0.5rem (8px)Cards, panels
xl - 0.75rem (12px)Featured elements
full - 9999pxPills, avatars
Shadows & Elevation
Shadow SM
shadow-smShadow Default
shadowShadow MD
shadow-mdShadow LG
shadow-lgComponents
Buttons
Buttons with clear visual hierarchy and accessible focus states.
Variants
Sizes
States
Full Width
Form Inputs
Form elements with clear labels, helper text, and validation states.
Helper text goes here
Enter amount in dollars
Email is valid
Please enter a valid email
Selection Controls
Email notifications
Receive updates via email
Marketing emails
Promotional content
Value: 50%
Cards
Card variants for different content types and importance levels.
Standard Card
Basic card with header and content
Used for general content organization and grouping related information.
Featured Card
Highlighted with accent color
Used to draw attention to important content or call-to-actions.
Result Summary
Calculator output
Monthly Payment
$2,212
Total Interest
$446,682
Badges & Tags
Labels for categorization and status indication.
Variants
Use Cases
Tabs & Accordion
Tabs
Content for "How It Works" tab. Tabs provide a way to organize related content into separate views.
Accordion (for FAQs)
Alerts & Toasts
Feedback components for important messages and notifications.
Alerts
Toast Notifications
Tables
Data tables with sticky headers and alternating row colors for readability.
| Month | Payment | Principal | Interest | Balance |
|---|---|---|---|---|
| 1 | $2,212.45 | $733.45 | $1,479.00 | $279,266.55 |
| 2 | $2,212.45 | $733.45 | $1,479.00 | $278,533.1 |
| 3 | $2,212.45 | $733.45 | $1,479.00 | $277,799.65 |
| 4 | $2,212.45 | $733.45 | $1,479.00 | $277,066.2 |
| 5 | $2,212.45 | $733.45 | $1,479.00 | $276,332.75 |
No data available
Enter your loan details to generate an amortization schedule
Modal & Dialog
Breadcrumbs & Navigation
Breadcrumbs
Pagination
Loading States
Skeleton loaders for async content and better perceived performance.
Icons
Simple line icons from Lucide React with consistent 2px stroke width. Icons should be clear and recognizable at all sizes.
Home
TrendingUp
Download
CheckCircle2
AlertCircle
Info
Search
X
Icon Sizes
size-4 (16px)
size-5 (20px)
size-6 (24px)
size-8 (32px)
size-12 (48px)
Accessibility
Built with accessibility in mind: WCAG 2.1 AA compliant colors, clear focus states, and semantic HTML.
Focus States
Visible keyboard navigation
All interactive elements have visible focus rings with 2px offset for clarity.
Color Contrast
WCAG AA compliant
All text meets minimum contrast ratio requirements.
Semantic HTML
Proper markup structure
- Proper heading hierarchy (h1-h6)
- ARIA labels where needed
- Descriptive button text
- Form labels properly associated
Screen Reader Support
Accessible to assistive tech
- Alt text for images
- Live regions for dynamic content
- Skip links for navigation
- Proper role attributes