/* Contratto tipografico: un solo sans, sei livelli e interlinee sulla griglia 4 px.
   Tabelle, scadenze e contatori usano cifre tabellari per confronti immediati. */

:root {
  --font-sans: "IBM Plex Sans", -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;

  /* Scala chiusa: introdurre un nuovo livello richiede aggiornamento coordinato dei consumatori. */
  --text-2xl: 22px;  --leading-2xl: 28px;  /* Titolo pagina. */
  --text-xl: 17px;   --leading-xl: 24px;   /* Titolo sezione o pannello. */
  --text-md: 14px;   --leading-md: 20px;   /* Corpo e tabella comfortable. */
  --text-sm: 13px;   --leading-sm: 16px;   /* Tabella compact e metadati. */
  --text-xs: 12px;   --leading-xs: 16px;   /* Etichette e intestazioni colonna. */
  --text-2xs: 11px;  --leading-2xs: 12px;  /* Badge e micro-contatori. */

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;

  /* Tracking riservato a intestazioni brevi e label maiuscole. */
  --tracking-caps: 0.05em;

  /* Cifre allineate in colonna per dati operativi. */
  --numeric: tabular-nums; /* @kind other */
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--leading-md);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}
