/* Contratto geometrico: spaziatura su griglia 4 px, raggi contenuti e dimensioni
   di shell condivise. Le viste consumano questi token senza creare scale parallele. */

:root {
  /* Scala di spaziatura: multipli coerenti della griglia base. */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;

  /* Raggi: tre livelli, con massimo 8 px per mantenere il registro istituzionale. */
  --radius-sm: 4px;   /* Badge, chip e controlli compatti. */
  --radius-md: 6px;   /* Bottoni, input e celle evidenziate. */
  --radius-lg: 8px;   /* Card, pannelli e dialoghi. */

  /* Dimensioni strutturali condivise dalla shell. */
  --sidebar-width: 232px;
  --content-max: 1280px;
  --content-pad: var(--space-8);
  --topbar-height: 56px;

  /* Breakpoint di riferimento, da mantenere coerenti nei media query:
     ≥1280 desktop · 768–1279 tablet (sidebar a rail, contenuto fluido)
     <768 mobile (consultazione + approvazione: layout a colonna) */

  /* Densità tabella predefinita: comfortable. */
  --table-row-h: 48px;
  --table-cell-px: 12px;
  --table-cell-py: 12px;
  --table-font: var(--text-md);
  --table-leading: var(--leading-md);
}

/* La densità compact è una variazione locale; non modifica i token globali. */
[data-density="compact"] {
  --table-row-h: 36px;
  --table-cell-px: 8px;
  --table-cell-py: 6px;
  --table-font: var(--text-sm);
  --table-leading: var(--leading-sm);
}
