FSAI Design System
Foundations

Colors

The FSAI color system provides raw color palettes and semantic tokens for consistent UI styling.

Overview

The color system is defined in packages/config-tailwind/theme.css and follows a two-layer approach:

  1. Raw color palettes — Numbered scales for gray (16 steps) and five chromatic colors (12 steps each)
  2. Semantic tokens — Purpose-driven aliases that reference the raw palette, used throughout application code

Always prefer semantic tokens over raw color values. For example, use text-strong instead of text-gray-16-light.


Raw Color Palettes

Gray (16 steps)

01
#FFFFFF
02
#F7F7F7
03
#F3F3F3
04
#E5E5E5
05
#D9D9D9
06
#CCCCCC
07
#BFBFBF
08
#A6A6A6
09
#959595
10
#828282
11
#6F6F6F
12
#5C5C5C
13
#4D4D4D
14
#363636
15
#262626
16
#191919

Blue (12 steps)

01
#FAFBFF
02
#E8EFFB
03
#D1E2FD
04
#A5C4FB
05
#76A0F5
06
#5381EB
07
#1F54DE
08
#1640BE
09
#0F2F9F
10
#092080
11
#05166A
12
#000E33

Green (12 steps)

01
#FAFFFA
02
#F1FCE7
03
#E6FBD3
04
#C8F8A9
05
#9EEC7B
06
#75D958
07
#3FC128
08
#27A51D
09
#148A14
10
#0C6F14
11
#075C15
12
#083300

Red (12 steps)

01
#FFFCFA
02
#FFF0E5
03
#FFE5D2
04
#FFC4A6
05
#FF9D7A
06
#FF7659
07
#FF3720
08
#B7101B
09
#A4131B
10
#930A1E
11
#7B0620
12
#330500

Orange (12 steps)

01
#FFFCFA
02
#FFF6E0
03
#FFF1CC
04
#FEE09A
05
#FECA67
06
#FDB443
07
#FC9105
08
#D87203
09
#B45801
10
#914001
11
#772F00
12
#331C00

Yellow (12 steps)

01
#FFFDF5
02
#FFF8E0
03
#FFF3CC
04
#FFE899
05
#FFD966
06
#FFCA33
07
#FFB800
08
#D69A00
09
#B37D00
10
#8F6300
11
#754F00
12
#332300

Semantic Tokens

Text Colors

Use these for all text content. The Tailwind class is what you use in your code.

ClassPurposeRaw Token
text-strongHeadings, emphasized text (darkest)gray-16 #191919
text-regularStandard body textgray-15 #262626
text-subtleSecondary/supporting textgray-13 #4D4D4D
text-minimalTertiary/helper text (lightest)gray-12 #5C5C5C
text-contrastText on dark backgroundsgray-01 #FFFFFF
text-brandLinks, brand-colored textblue-07 #1F54DE
text-warningWarning textorange-08 #D87203
text-positiveSuccess textgreen-08 #27A51D
text-destructiveError/destructive textred-08 #B7101B

Icon Colors

ClassPurposeRaw Token
text-icon-strongEmphasized iconsgray-16 #191919
text-icon-defaultStandard iconsgray-14 #363636
text-icon-subtleDe-emphasized iconsgray-12 #5C5C5C
text-icon-mutedLeast prominent iconsgray-10 #828282
text-icon-disabledDisabled state iconsgray-14 @ 50% opacity
text-icon-contrastIcons on dark backgroundsgray-01 #FFFFFF

Background Colors

ClassPurposeRaw Token
bg-surfaceMain content surfacegray-01 #FFFFFF
bg-subtleSlightly tinted surfacegray-02 #F7F7F7
bg-accentHover states, lightly emphasized areasgray-03 #F3F3F3
bg-strongMore prominent backgroundsgray-04 #E5E5E5
bg-baseBase page backgroundgray-01 #FFFFFF
bg-elevatedElevated cards/panelsgray-03 #F3F3F3
bg-emphasisStrongly emphasized areasgray-04 #E5E5E5
bg-disabledDisabled state backgroundsgray-14 @ 5% opacity
bg-contrastHigh contrast (dark) backgroundsgray-15 #262626
bg-sidebarSidebar backgroundgray-03 #F3F3F3
bg-navbarNavbar backgroundgray-16 #191919

Border Colors

ClassPurposeRaw Token
border-strongProminent bordersgray-04 #E5E5E5
border-defaultStandard bordersgray-03 #F3F3F3
border-alpha-strongSemi-transparent prominent bordersgray-14 @ 20%
border-alpha-defaultSemi-transparent standard bordersgray-14 @ 15%
border-disabledDisabled state bordersgray-14 @ 5%
border-contrastHigh contrast (dark) bordersgray-16 #191919

Status / Accent Colors

Used for focus rings, success/warning/error borders and backgrounds.

ClassPurposeRaw Token
border-focus / ring-focusFocus ring stylingblue-06 #5381EB
border-warningWarning borderorange-06 #FDB443
border-positiveSuccess bordergreen-06 #75D958
border-destructiveError/destructive borderred-06 #FF7659

Per-Color Semantic Tokens

Each chromatic color has a set of semantic tokens for backgrounds, text, and icons:

PatternExample ClassesPurpose
bg-{color}-bg-surfacebg-blue-bg-surface, bg-red-bg-surfaceLight tinted surface
bg-{color}-bg-subtlebg-green-bg-subtleVery light tinted surface
bg-{color}-bg-accentbg-orange-bg-accentMedium emphasis background
bg-{color}-bg-strongbg-blue-bg-strongStrong emphasis background
text-{color}-texttext-green-text, text-red-textColored text
text-{color}-icontext-blue-iconColored icons

Usage Guidelines

  • Do use semantic tokens (text-strong, bg-surface) in application code
  • Do reference raw palette steps only in the theme configuration itself
  • Don't hardcode hex values in component styles
  • Don't use raw palette tokens like text-gray-16-light directly — use the semantic alias text-strong instead

On this page