/* ============================================================
   Kenya-AIST ERP V1 — Canonical typography (single source of truth)
   Absorbs and replaces ka_type_scale.css.
   Font assets: ka_ui/static/ka_ui/fonts/ (Inter, SIL OFL 1.1)
   ============================================================ */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/Inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Families */
  --ka-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --ka-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --ka-font-print: Georgia, "Times New Roman", serif; /* print documents only */

  /* Size scale (rem, 1rem = 16px) */
  --ka-fs-xs: 0.75rem;    /* 12px badges, table headers, captions */
  --ka-fs-sm: 0.875rem;   /* 14px table body, secondary text, form labels */
  --ka-fs-md: 1rem;       /* 16px base body, inputs */
  --ka-fs-lg: 1.125rem;   /* 18px card titles, h3 */
  --ka-fs-xl: 1.375rem;   /* 22px section titles, h2 */
  --ka-fs-2xl: 1.75rem;   /* 28px page titles, h1 */
  --ka-fs-3xl: 2.25rem;   /* 36px dashboard KPI */

  /* Weight / line-height */
  --ka-fw-regular: 400;
  --ka-fw-medium: 500;
  --ka-fw-semibold: 600;
  --ka-fw-bold: 700;
  --ka-lh-tight: 1.25;
  --ka-lh-normal: 1.5;
  --ka-lh-relaxed: 1.65;
}

html { font-size: 100%; }
body { font: var(--ka-fw-regular) var(--ka-fs-md)/var(--ka-lh-normal) var(--ka-font-sans); }
h1 { font-size: var(--ka-fs-2xl); line-height: var(--ka-lh-tight); }
h2 { font-size: var(--ka-fs-xl); line-height: var(--ka-lh-tight); }
h3 { font-size: var(--ka-fs-lg); line-height: var(--ka-lh-normal); }
input, select, textarea, button { font: inherit; }
code, kbd, pre, .ka-mono { font-family: var(--ka-font-mono); }
small, .ka-text-sm { font-size: var(--ka-fs-sm); }

.ka-text-xs { font-size: var(--ka-fs-xs); }
.ka-text-sm { font-size: var(--ka-fs-sm); }
.ka-text-md { font-size: var(--ka-fs-md); }
.ka-text-lg { font-size: var(--ka-fs-lg); }
.ka-text-xl { font-size: var(--ka-fs-xl); }
.ka-text-2xl { font-size: var(--ka-fs-2xl); }
.ka-text-3xl { font-size: var(--ka-fs-3xl); }
.ka-font-sans { font-family: var(--ka-font-sans); }
.ka-font-mono { font-family: var(--ka-font-mono); }
.ka-font-print { font-family: var(--ka-font-print); }
.ka-fw-regular { font-weight: var(--ka-fw-regular); }
.ka-fw-medium { font-weight: var(--ka-fw-medium); }
.ka-fw-semibold { font-weight: var(--ka-fw-semibold); }
.ka-fw-bold { font-weight: var(--ka-fw-bold); }
.ka-lh-tight { line-height: var(--ka-lh-tight); }
.ka-lh-normal { line-height: var(--ka-lh-normal); }
.ka-lh-relaxed { line-height: var(--ka-lh-relaxed); }
