Design System
Blue / Azure / Red palette Β· 25 tokens Β· verified against Pulse Foundations
Background
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 1 | bg.canvas | Full page canvas beneath all surfaces | gray/900 Β· #0a1530 | gray/100 Β· #f5f7f9 | β confirmed |
| 2 | bg.card | Cards, table panels, modular containers | gray/800 50% Β· rgba | #ffffff | β confirmed |
| 3 | bg.nav | Left navigation background | gray/800 50% Β· rgba | #ffffff | β confirmed |
| 4 | bg.header | Page header background | gray/800 50% Β· rgba | #ffffff | β confirmed |
| 5 | bg.input | Input field, select, dropdown trigger background | gray/800 50% Β· rgba | #ffffff | + new token |
| 6 | bg.dropdown | Dropdown panel / date picker background (solid, no opacity) | gray/800 Β· #203053 | #ffffff | + new token |
| 7 | bg.overlay | Modal, popover, context menu β elevated layer | gray/800 Β· #203053 | #ffffff | + new token |
| 8 | bg.accent | Selected / highlighted element background β list items, icon badges | #1C377F | β light TBD | β confirmed |
Border
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 8 | border.subtle | Dividers, section separators β low emphasis | blue-700 Β· #1d3b69 | blue-200 Β· #becfea | + new token |
| 9 | border.default | Table, button, and section borders | gray/700 Β· #415377 | gray/200 Β· #d9dde7 | β confirmed |
| 10 | border.focus | Hovered / focused interactive element borders | azure/300 Β· #5373ea | azure/500 Β· #1b44da | β confirmed |
| 11 | border.error | Error and destructive state component borders | red/400 40% Β· rgba(#d45368) | red/200 Β· #edb8c1 | β in DS |
Text
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 12 | text.tertiary | Placeholder, unavailable, non-interactive text | gray/400 Β· #a2adc4 | gray/600 Β· #67789d | β confirmed |
| 13 | text.secondary | Nav items, sub-headings, supporting labels | gray/300 Β· #bfc6d6 | gray/700 Β· #415377 | β confirmed |
| 14 | text.primary | Page titles, card headings, primary body copy | gray/200 Β· #d9dde7 | gray/800 Β· #203053 | β confirmed |
| 15 | text.onAccent | Text placed on colored / accent-filled surfaces | #8DB4FF (nav azul) | #ffffff | β confirmed |
| 16 | text.error | Error message and destructive state text | red/300 Β· #e18896 | red/500 Β· #c8223d | β in DS |
Icon
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 17 | Icons.inactive | Inactive / resting icon state | gray/400 Β· #a2adc4 | gray/700 Β· #415377 | β confirmed |
| 18 | Icons.active | Active / selected icon β nav azul | #8DB4FF (nav azul) | azure/500 Β· #1b44da | β³ update |
Error β Component Set
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 19 | error.bg | Error component / banner background | red/500 40% Β· rgba(#c8223d) | red/100 Β· #fbedef | β in DS |
| 20 | error.border | Error component border | red/400 40% Β· rgba(#d45368) | red/200 Β· #edb8c1 | β in DS |
| 21 | error.text | Error message text inside error component | red/300 Β· #e18896 | red/500 Β· #c8223d | β in DS |
Button β Azure Primary
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 22 | btn.primary.bg | Primary button background β same in both modes | azure/500 Β· #1b44da | azure/500 Β· #1b44da | β in DS |
| 23 | btn.primary.bg.hover | Primary button hover state | azure/400 Β· #3c61e7 | azure/600 Β· #14329f | β in DS |
| 24 | btn.primary.text | Text on primary button surface | #8DB4FF (nav azul) | #ffffff | β confirmed |
| 25 | btn.tint.bg | Tint / secondary button background | azure/700 Β· #102984 | azure/100 Β· #e4e9fc | β in DS |
| 26 | btn.tint.text | Text color on tint button | azure/200 Β· #97aaf2 | azure/600 Β· #14329f | β in DS |
Button β Neutral Default / Ghost
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 27 | btn.default.border | Default / ghost button border β one step brighter than border.default | gray/600 Β· #67789d | gray/200 Β· #d9dde7 | β confirmed |
| 28 | btn.default.text | Default button label color | gray/300 Β· #bfc6d6 | gray/700 Β· #415377 | β confirmed |
| 29 | btn.ghost.text | Ghost / icon-only button β no border | gray/300 Β· #bfc6d6 | gray/600 Β· #67789d | β confirmed |
Button β Danger
| # | Token | Description | Dark | Light | Status |
|---|---|---|---|---|---|
| 30 | btn.danger.bg | Danger button background | red/600 Β· #9c1b30 | #ffffff | β in DS |
| 31 | btn.danger.bg.hover | Danger button hover state | red/500 Β· #c8223d | β existing component β no change | β in DS |
| 32 | btn.danger.border | Danger button border | red/500 Β· #c8223d | red/500 Β· #c8223d | β in DS |
| 33 | btn.danger.text | Danger button label | red/200 Β· #edb8c1 | red/500 Β· #c8223d | β in DS |
Graph Colors
Light β Dark mode mapping Β· WCAG Non-text 3:1 standard
| # | Original (Light) | Dark mode | WCAG |
|---|
Live Preview