Typography
Archivo for body/UI (weights 400/500/700), paired with Fragment Mono reserved for key figures only. Replaced the legacy Proxima Nova family, which was licensed and hosted separately for the live Rails app. Both load via a Google Fonts <link> in every page's <head>. See tokens/type.css for the token source.
Type scale
Weights
Usage guidance
The scale is deliberately dense at the bottom (caption/body-sm/body all sit between 12–14px): this is an internal admin tool used for hours at a time, and the design principles prioritize table/list density over a generic 16px body-text floor. Hierarchy gets its real contrast at the top of the scale instead, where it matters most: page titles vs. panel headers vs. key metrics all sit at least 1.25× apart.
Fragment Mono is reserved for load-bearing figures only (see the Dashboard's key metrics in flows/dashboard/index.html) and is never used for body copy, table cells, or headings that are just conversational text ("Good morning, Jordan" stays in Archivo). Using it everywhere "numbers" appear would dilute it into generic "technical" shorthand instead of a deliberate signal.
Use font-family: var(--font-family-medium) or var(--font-family-bold) paired with the matching font-weight variable, not just the family alone: Archivo is a single variable font, so weight comes from font-weight, unlike the old Proxima Nova Bold/SemiBold, which were separate installed files.