/* ============================================================
   Typography — Geist + Geist Mono (self-hosted)
   Load order: AFTER tokens.css, BEFORE dashboard.css
   ============================================================ */

@font-face {
  font-family: 'Geist';
  src: url('/static/fonts/Geist/Geist-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('/static/fonts/Geist/Geist-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('/static/fonts/Geist/Geist-SemiBold.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('/static/fonts/Geist/Geist-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/static/fonts/GeistMono/GeistMono-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('/static/fonts/GeistMono/GeistMono-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}

:root {
  --bs-body-font-family: 'Geist', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-body-font-size:   0.9375rem;
  --bs-body-line-height: 1.55;
  --bs-font-monospace:   'Geist Mono', SFMono-Regular, Menlo, monospace;

  --app-font-display:    'Geist', system-ui, sans-serif;
}

/* Tabular numerals for tables, codes, and monospace cells */
code, kbd, samp, .font-monospace, .table-mono, .table code {
  font-family: var(--bs-font-monospace);
  font-variant-numeric: tabular-nums;
}

.table { font-variant-numeric: tabular-nums; }
