/* PR4.15 #218 Phase 4 (Brand-Finish) — Fira self-host.
   Ersetzt die Fira-Familie aus dem Google-Fonts-<link> (index.html) durch lokale
   .woff2-Binaries unter public/fonts/ (SIL OFL, latin-Subset via @fontsource).
   Global (nicht `.crm`-gescopt): die Familien-Namen decken sowohl die Redesign-Tokens
   --f-sans/--f-cond (style-redesign.css) als auch die Legacy-Headings
   (style.css: 'Fira Sans') ab. PR1.567: Inter entfaellt, Fira Sans in beiden Shells.
   font-display:swap → kein FOIT; Legacy-Default zieht keine unnötigen Faces (kein preload).
   PR1.437 #668: Fira Mono entfernt — Zahlen/Kennungen stehen in Fira Sans (tabular-nums). */

/* PR1.567 #853 — Typografie v2: eine Skala mit Rollen fuer beide Shells.
   Jede Schriftgroesse in CSS und JS zieht eine dieser Rollen (test/type-scale.test.mjs);
   nichts unter 12 px. Hier statt in style.css, weil fonts.css in beiden Shells und auf
   der Anmeldeseite vor allen Stylesheets laedt. */
:root {
  --font-num: 'Fira Sans Condensed', 'Fira Sans', sans-serif;
  --fs-label: 12px;    /* Labels, Spaltenkoepfe, Chips (500) */
  --fs-meta: 13px;     /* Nebentext, Zeitstempel (400) */
  --fs-ui: 14px;       /* Namen, Knoepfe, Bedienelemente (500) */
  --fs-body: 15px;     /* Text, Tabellenzellen — Arbeitsgroesse (400) */
  --fs-section: 16px;  /* Kartentitel (600) */
  --fs-title: 20px;    /* Abschnitt (600) */
  --fs-display: 26px;  /* Seitentitel (600) */
  --fs-kpi: 30px;      /* Kennzahl, Fira Sans Condensed (500) */
  --fs-icon: 40px;     /* reine Symbol-Glyphen (Ablage-, Leerzustands-Icons) */
  --ls-body: -.004em;
  --ls-title: -.014em;
  --ls-display: -.02em;
  --ls-kpi: -.01em;
}

/* ── Fira Sans (Body/UI im Redesign; Headings im Legacy) ── */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fira-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fira-sans-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/fira-sans-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/fira-sans-latin-700-normal.woff2') format('woff2');
}

/* ── Fira Sans Condensed (Redesign-Headings/Titel, --f-cond) ── */
@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/fira-sans-condensed-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/fira-sans-condensed-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/fira-sans-condensed-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/fira-sans-condensed-latin-700-normal.woff2') format('woff2');
}
