Docs / Design Tokens

Design Tokens

All design tokens defined in src/scss/_variables.scss, grouped by category. These are the SCSS variables that control every aspect of the enterprise theme.

COLOR PALETTE - Enterprise Blues, Grays, Blacks, Reds, and Greens

VariableValueDescription
$blue-900#0a2540Primary Blues (Professional, trustworthy)
$blue-800#0d3b66
$blue-700#1864ab
$blue-600#1c7ed6
$blue-500#2196f3
$blue-400#4dabf7
$blue-300#74c0fc
$blue-200#a5d8ff
$blue-100#d0ebff
$gray-900#0f172aAlmost black
$gray-800#1e293b
$gray-700#334155
$gray-600#475569
$gray-500#64748b
$gray-400#94a3b8
$gray-300#cbd5e1
$gray-200#e2e8f0
$gray-100#f1f5f9
$gray-50#f8fafc
$green-900#1b4332Greens (Success, positive actions)
$green-800#2d6a4f
$green-700#40916c
$green-600#52b788
$green-500#2e7d32
$green-400#74c69d
$green-300#95d5b2
$green-200#b7e4c7
$green-100#d8f3dc
$red-900#7f1d1dReds (Errors, warnings, critical actions)
$red-800#991b1b
$red-700#b91c1c
$red-600#dc2626
$red-500#ef4444
$red-400#f87171
$red-300#fca5a5
$red-200#fecaca
$red-100#fee2e2
$yellow-500#f59e0bAdditional accent colors
$yellow-100#fef3c7
$orange-500#f97316
$orange-100#ffedd5

THEME COLORS

VariableValueDescription
$primary$blue-600 (#1c7ed6)
$secondary$gray-600 (#475569)
$success$green-600 (#52b788)
$info$blue-500 (#2196f3)
$warning$yellow-500 (#f59e0b)
$danger$red-600 (#dc2626)
$light$gray-100 (#f1f5f9)
$dark$gray-900 (#0f172a)
$body-bg$gray-50 (#f8fafc)Body
$body-color$gray-900 (#0f172a)
$link-color$blue-700 (#1864ab)Links - Higher contrast for accessibility
$link-decorationunderline
$link-hover-color$blue-800 (#0d3b66)
$link-hover-decorationunderline

TYPOGRAPHY - Compact and professional

VariableValueDescription
$font-family-sans-serif"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serifInter — screen-optimised variable sans-serif with excellent legibility at small sizes
$font-family-monospace"JetBrains Mono", "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospaceJetBrains Mono - clear distinction between similar characters (0/O, 1/l/I)
$font-size-base0.875rem14px (was 12px)
$font-size-sm0.8rem12.8px (was 11px)
$font-size-lg1rem16px (was 14px)
$h1-font-size1.75rem28px — page titles
$h2-font-size1.5rem24px — section headings
$h3-font-size1.25rem20px — sub-section headings
$h4-font-size1.125rem18px — card/dialog titles
$h5-font-size1rem16px — group labels
$h6-font-size0.875rem14px — matches body size
$font-weight-light300
$font-weight-normal400
$font-weight-medium500
$font-weight-semibold600
$font-weight-bold700
$line-height-base1.4Compact UI elements
$line-height-sm1.3Tight: labels, badges, status text
$line-height-lg1.5Comfortable: dialog body, descriptions
$line-height-relaxed1.6Reading: articles, documentation, markdown

SPACING - Adjusted for larger text

VariableValueDescription
$spacer0.75rem12px (was 10px) - increased for larger text

BORDERS & BORDER RADIUS - Sharp, professional edges

VariableValueDescription
$border-width1px
$border-color$gray-300 (#cbd5e1)
$border-radius0No rounding
$border-radius-sm0No rounding
$border-radius-lg0No rounding
$border-radius-xl0No rounding
$border-radius-pill0No rounding (pills become rectangles)

COMPONENTS - Compact sizing

VariableValueDescription
$padding-y-sm0.25rem4px (was 3px)
$padding-x-sm0.5rem8px (was 6px)
$padding-y0.375rem6px (was 5px)
$padding-x0.75rem12px (was 10px)
$padding-y-lg0.5rem8px (was 7px)
$padding-x-lg1rem16px (was 14px)
$btn-padding-y0.375rem6px (was 5px)
$btn-padding-x0.75rem12px (was 10px)
$btn-font-size$font-size-base (0.875rem)
$btn-line-height$line-height-base (1.4)
$btn-padding-y-sm0.25rem4px (was 3px)
$btn-padding-x-sm0.5rem8px (was 6px)
$btn-font-size-sm$font-size-sm (0.8rem)
$btn-padding-y-lg0.5rem8px (was 7px)
$btn-padding-x-lg1rem16px (was 14px)
$btn-font-size-lg$font-size-lg (1rem)
$btn-border-radius$border-radius (0)
$btn-border-radius-sm$border-radius-sm (0)
$btn-border-radius-lg$border-radius-lg (0)
$input-btn-padding-y0.375rem6px (was 5px)
$input-btn-padding-x0.75rem12px (was 10px)
$input-btn-font-size$font-size-base (0.875rem)
$input-btn-line-height$line-height-base (1.4)
$input-btn-padding-y-sm0.25rem4px (was 3px)
$input-btn-padding-x-sm0.5rem8px (was 6px)
$input-btn-font-size-sm$font-size-sm (0.8rem)
$input-btn-padding-y-lg0.5rem8px (was 7px)
$input-btn-padding-x-lg1rem16px (was 14px)
$input-btn-font-size-lg$font-size-lg (1rem)
$input-bg$gray-50 (#f8fafc)
$input-disabled-bg$gray-200 (#e2e8f0)
$input-disabled-border-color$gray-300 (#cbd5e1)
$input-color$body-color ($gray-900)
$input-border-color$gray-300 (#cbd5e1)
$input-border-width$border-width (1px)
$input-border-radius$border-radius (0)
$input-focus-border-color$primary ($blue-600)
$input-focus-box-shadow0 0 0 0.15rem rgba($primary, 0.25)
$input-placeholder-color$gray-500 (#64748b)
$form-label-margin-bottom0.375rem6px (was 5px)
$form-label-font-size$font-size-sm (0.8rem)
$form-label-font-weight$font-weight-semibold (600)
$form-label-color$gray-700 (#334155)
$table-cell-padding-y0.375rem6px (was 5px)
$table-cell-padding-x0.75rem12px (was 10px)
$table-cell-padding-y-sm0.25rem4px (was 3px)
$table-cell-padding-x-sm0.5rem8px (was 6px)
$table-striped-bg$gray-50 (#f8fafc)
$table-hover-bgrgba($primary, 0.05)
$table-border-color$gray-300 (#cbd5e1)
$card-spacer-y0.75rem12px (was 10px)
$card-spacer-x1rem16px (was 14px)
$card-border-width$border-width (1px)
$card-border-radius$border-radius (0)
$card-border-color$gray-300 (#cbd5e1)
$card-bgwhite
$card-cap-bg$gray-100 (#f1f5f9)
$dropdown-padding-y0.375rem6px (was 5px)
$dropdown-spacer0.125rem
$dropdown-font-size$font-size-base (0.875rem)
$dropdown-bgwhite
$dropdown-border-color$gray-300 (#cbd5e1)
$dropdown-border-radius$border-radius (0)
$dropdown-divider-bg$gray-200 (#e2e8f0)
$dropdown-link-color$gray-900 (#0f172a)
$dropdown-link-hover-color$gray-900 (#0f172a)
$dropdown-link-hover-bg$gray-100 (#f1f5f9)
$dropdown-link-active-colorwhite
$dropdown-link-active-bg$primary ($blue-600)
$dropdown-item-padding-y0.375rem6px (was 5px)
$dropdown-item-padding-x0.75rem12px (was 10px)
$modal-inner-padding1rem16px (was 14px)
$modal-header-padding-y0.75rem12px (was 10px)
$modal-header-padding-x1rem16px (was 14px)
$modal-header-border-color$gray-300 (#cbd5e1)
$modal-content-border-radius$border-radius-lg (0)
$nav-link-padding-y0.375rem6px (was 5px)
$nav-link-padding-x0.75rem12px (was 10px)
$nav-link-font-size$font-size-base (0.875rem)
$nav-link-color$gray-700 (#334155)
$nav-link-hover-color$primary ($blue-600)
$navbar-padding-y0.5rem8px (was 7px)
$navbar-padding-x1rem16px (was 14px)
$navbar-brand-font-size$font-size-lg (1rem)
$alert-padding-y0.75rem12px (was 10px)
$alert-padding-x1rem16px (was 14px)
$alert-border-radius$border-radius (0)
$badge-font-size$font-size-sm (0.8rem)Badges - adjusted
$badge-font-weight$font-weight-semibold (600)
$badge-padding-y0.25rem4px (was 3px)
$badge-padding-x0.5rem8px (was 6px)
$badge-border-radius$border-radius-sm (0)
$breadcrumb-padding-y0.5rem8px (was 7px)
$breadcrumb-padding-x0.75rem12px (was 10px)
$breadcrumb-item-padding-x0.5rem8px (was 7px)
$breadcrumb-font-size$font-size-sm (0.8rem)
$breadcrumb-bg$gray-100 (#f1f5f9)
$breadcrumb-divider-color$gray-500 (#64748b)
$breadcrumb-active-color$gray-700 (#334155)
$pagination-padding-y0.375rem6px (was 5px)
$pagination-padding-x0.75rem12px (was 10px)
$pagination-font-size$font-size-base (0.875rem)
$pagination-border-radius$border-radius (0)
$pagination-color$gray-700 (#334155)
$pagination-bgwhite
$pagination-border-color$gray-300 (#cbd5e1)
$pagination-hover-color$primary ($blue-600)
$pagination-hover-bg$gray-100 (#f1f5f9)
$pagination-hover-border-color$gray-300 (#cbd5e1)
$pagination-active-colorwhite
$pagination-active-bg$primary ($blue-600)
$pagination-active-border-color$primary ($blue-600)
$toast-padding-x0.75rem12px (was 10px)
$toast-padding-y0.5rem8px (was 7px)
$toast-font-size$font-size-sm (0.8rem)
$toast-border-radius$border-radius (0)
$progress-height0.75rem12px (was 10px)
$progress-font-size$font-size-sm (0.8rem)
$progress-bg$gray-200 (#e2e8f0)
$progress-border-radius$border-radius (0)
$list-group-item-padding-y0.5rem8px (was 7px)
$list-group-item-padding-x0.75rem12px (was 10px)
$list-group-bgwhite
$list-group-border-color$gray-300 (#cbd5e1)
$list-group-border-radius$border-radius (0)
$list-group-hover-bg$gray-100 (#f1f5f9)
$list-group-active-colorwhite
$list-group-active-bg$primary ($blue-600)
$list-group-active-border-color$primary ($blue-600)

ACCESSIBILITY

VariableValueDescription
$min-contrast-ratio4.5Ensure minimum contrast ratios meet WCAG AA standards
$focus-ring-width0.15remFocus visible styles for keyboard navigation
$focus-ring-opacity0.25
$focus-ring-colorrgba($primary, $focus-ring-opacity)
$focus-ring-blur0
$focus-ring-box-shadow0 0 $focus-ring-blur $focus-ring-width $focus-ring-color

SPACING TOKENS — fixed-pixel scale for component internals

VariableValueDescription
$sp-11px
$sp-22px
$sp-44px
$sp-66px
$sp-88px
$sp-1010px
$sp-1212px
$sp-1616px
$sp-2020px
$sp-2424px
$sp-3232px
$sp-4040px
$sp-4848px

EXTENDED FONT SIZES

VariableValueDescription
$font-size-2xs0.625rem10px
$font-size-xs0.75rem12px
$font-size-xl1.125rem18px
$font-size-2xl1.25rem20px
$font-size-3xl1.5rem24px

SHADOW ELEVATION SYSTEM

VariableValueDescription
$shadow-xs0 1px 2px rgba($gray-900, 0.06)
$shadow-sm0 2px 8px rgba($gray-900, 0.12)
$shadow-md0 4px 12px rgba($gray-900, 0.15)
$shadow-lg0 4px 16px rgba($gray-900, 0.15)
$shadow-xl0 8px 24px rgba($gray-900, 0.2)
$shadow-focus0 0 0 0.15rem rgba($blue-600, 0.25)
$chrome-edge-blur6px-- Chrome: edge shadow + hover glow defaults --
$chrome-glow-radius8px

COMPONENT SIZING

VariableValueDescription
$icon-size-xs12px
$icon-size-sm16px
$icon-size-md20px
$icon-size-lg24px
$icon-size-xl32px
$control-height-xs22px
$control-height-mini$control-height-xs (22px)22px — Ribbon 3-high stacking
$control-height-sm28px
$control-height-md32px
$control-height-lg40px
$control-height-xl44px