Typography

One sans family for English and Amharic, Tailwind's default type scale, and a 12px floor.

Font families

font-sans

Letters and approvals

ደብዳቤዎች እና ማጽደቂያዎች

Inter for Latin, Noto Sans Ethiopic for Ethiopic glyphs, then the system UI font. Both are loaded with next/font (see Installation).

font-mono

REF-2026/0142

Reference numbers, code and tabular IDs. Use tabular-nums on numbers that line up in columns.

Type scale

Tailwind's default scale; GDOP adds no custom sizes. Don't use arbitrary sizes such as text-[10px]: below 12px, Ethiopic glyphs lose legibility.

text-2xl

24 / 32 px

Approval request የማጽደቂያ ጥያቄ

Page title (md and up)

text-xl

20 / 28 px

Approval request የማጽደቂያ ጥያቄ

Section heading

text-lg

18 / 28 px

Approval request የማጽደቂያ ጥያቄ

Page title (mobile)

text-base

16 / 24 px

Approval request የማጽደቂያ ጥያቄ

Dialog and sheet titles; input text on mobile (prevents iOS zoom)

text-sm

14 / 20 px

Approval request የማጽደቂያ ጥያቄ

Body, controls, menu items, table cells

text-xs

12 / 16 px

Approval request የማጽደቂያ ጥያቄ

Labels, captions, metadata. The smallest size allowed.

Weights

400 · Body text

500 · Controls, labels, emphasis

600 · Headings, names

700 · Page titles only

Avoid font-light and thinner weights: they drop below readable stroke width at small sizes, especially in dark mode.

Text color

  • text-foreground: primary text.
  • text-muted-foreground: secondary text. It meets 4.5:1 on every surface in both modes, so it is safe for body-size text.
  • Status text uses text-success, text-warning, text-info or text-destructive, never palette classes like text-green-600.
  • Don't lower contrast with opacity (text-foreground/50) for readable text; use text-muted-foreground.

Letter spacing

Latin text uses a slight negative base tracking (--tracking-base: -0.01em) through the tracking-* utilities. Ethiopic script must not be tightened: content marked lang="am" resets to normal spacing. Mark Amharic content with lang so screen readers also pick the right voice.