Harbor: Enterprise B2B Design System
Web · Light · Minimal · SaaSHarbor
Navy, white space and steady structure for serious B2B products.
Harbor looks dependable without looking dull: a cool blue-grey page, navy for the main action, a bright blue for focus and data, and Plus Jakarta Sans for a modern but sober voice. Long feature pages, comparison tables and security sections fit with ease.
Preview
Rendered live from the tokens below, in the system's own fonts.
A calm workspace for small teams. Every number you need, nothing you don't.
Start freeBook a demoActive users12,480
Revenue$48.2k
Retention86%
Invite your teamWork emailyou@company.comRoleEditor ▾Send invite
Recent ordersCustomerStatusAmountAda ParkPaid$1,240Lukas WeberPending$380Mei ChenRefunded$96
Use it in your project
Paste this into Codex or Claude Code. The agent saves the spec as DESIGN.md and follows it from then on.
This project uses the Harbor design system. Its spec is at https://codexdesign.io/design-systems/harbor.md. Save it as DESIGN.md in the project root and follow it for every screen from now on.
Tokens
Colors
Light theme
- background#F6F8FBoklch(0.978 0.005 258.324)
- foreground#0F1B2Doklch(0.221 0.039 258.275)
- card#FFFFFFoklch(1 0 0)
- card-foreground#0F1B2Doklch(0.221 0.039 258.275)
- popover#FFFFFFoklch(1 0 0)
- popover-foreground#0F1B2Doklch(0.221 0.039 258.275)
- primary#13294Boklch(0.283 0.069 258.854)
- primary-foreground#FFFFFFoklch(1 0 0)
- secondary#E6ECF5oklch(0.941 0.014 258.346)
- secondary-foreground#13294Boklch(0.283 0.069 258.854)
- muted#EDF1F7oklch(0.957 0.009 258.336)
- muted-foreground#526077oklch(0.486 0.041 260.276)
- accent#E3EAF4oklch(0.935 0.015 257.198)
- accent-foreground#0F1B2Doklch(0.221 0.039 258.275)
- destructive#B42318oklch(0.5 0.182 29.513)
- border#D9E1ECoklch(0.907 0.017 256.285)
- input#C8D2E0oklch(0.86 0.022 256.739)
- ring#2F6FD6oklch(0.557 0.172 259.651)
- chart-1#13294Boklch(0.283 0.069 258.854)
- chart-2#2F6FD6oklch(0.557 0.172 259.651)
- chart-3#18A0A0oklch(0.641 0.105 194.845)
- chart-4#E0A43Aoklch(0.758 0.137 77.684)
- chart-5#8A63D2oklch(0.591 0.165 297.305)
Dark theme
- background#0B1320oklch(0.186 0.029 259.81)
- foreground#E6ECF5oklch(0.941 0.014 258.346)
- card#111B2Coklch(0.222 0.037 260.614)
- card-foreground#E6ECF5oklch(0.941 0.014 258.346)
- popover#111B2Coklch(0.222 0.037 260.614)
- popover-foreground#E6ECF5oklch(0.941 0.014 258.346)
- primary#7FA8F0oklch(0.731 0.114 261.239)
- primary-foreground#0B1320oklch(0.186 0.029 259.81)
- secondary#1A2639oklch(0.267 0.04 259.345)
- secondary-foreground#E6ECF5oklch(0.941 0.014 258.346)
- muted#152034oklch(0.244 0.042 261.771)
- muted-foreground#8F9DB3oklch(0.692 0.036 259.404)
- accent#1D2A40oklch(0.284 0.045 260.568)
- accent-foreground#E6ECF5oklch(0.941 0.014 258.346)
- destructive#F97066oklch(0.709 0.17 26.471)
- border#24324Aoklch(0.316 0.047 260.838)
- input#2C3B55oklch(0.351 0.05 261.08)
- ring#7FA8F0oklch(0.731 0.114 261.239)
- chart-1#7FA8F0oklch(0.731 0.114 261.239)
- chart-2#4FC3C3oklch(0.752 0.103 195.179)
- chart-3#F0C26Eoklch(0.838 0.115 81.184)
- chart-4#B79BF0oklch(0.746 0.123 298.536)
- chart-5#E6ECF5oklch(0.941 0.014 258.346)
Fonts
- Headings
- Plus Jakarta Sans · 700
- Body
- Plus Jakarta Sans · 400
- Monospace
- JetBrains Mono
Type scale
- display · 60/1.05 · -0.025emThe quick brown fox
- h1 · 40/1.1 · -0.02emThe quick brown fox
- h2 · 28/1.2 · -0.01emThe quick brown fox
- h3 · 20/1.3The quick brown fox
- body · 16/1.55The quick brown fox
- small · 13/1.45The quick brown fox
Radius, spacing and shadow
Corner radiussm 4pxmd 6pxlg 8pxxl 12px
Spacingxs 4pxsm 8pxmd 16pxlg 24pxxl 48px
ShadowSoft, low and wide, on cards and sheets only.
Layout
- Max width
- 1280px
- Text width
- 70ch
- Columns
- 12
- Gutter
- 24px
Best for
- B2B SaaS and enterprise software
- Consulting and professional services
- Logistics, insurance and banking sites
- Investor and partner pages
Do's and don'ts
- Do show the product with real screenshots, not abstract illustrations.
- Do back claims with customer logos, numbers and case studies.
- Don't let bright blue compete with the navy primary button.
- Don't hide pricing or the sales contact behind several clicks.