/* Design system UNICO (fase 20): chi cambia qui, cambia ovunque. */
:root {
  --dash-font: "Segoe UI", system-ui, sans-serif;
  --dash-primary: #1f4e79; --dash-accent: #2e9e7b; --dash-warn: #c98a1b; --dash-danger: #b93a3a;
  --dash-bg: #f4f6f8; --dash-card: #ffffff; --dash-text: #1c2733;
  --dash-sp-1: 4px; --dash-sp-2: 8px; --dash-sp-3: 16px;
}
body { font-family: var(--dash-font); background: var(--dash-bg); color: var(--dash-text); }
.dash-header { background: var(--dash-primary); color: #fff; padding: var(--dash-sp-2) 0; }
.kpi-card { background: var(--dash-card); border-radius: 8px; padding: var(--dash-sp-3); }
.kpi-valore { font-size: 1.5rem; font-weight: 700; }
.kpi-delta { font-size: 0.75rem; font-weight: 600; margin-top: 2px; }
.kpi-delta-pos { color: #198754; }
.kpi-delta-neg { color: #dc3545; }
.graf { height: 320px; }
.graf-alto { height: 420px; }
.filtro-select { min-width: 140px; }
.filtro-select-largo { min-width: 200px; }
.file-input { max-width: 320px; }
.nascosto { display: none; }
table.dash-tabella { width: 100%; }
/* Responsive: tabelle scrollabili, KPI a 2 colonne su telefoni. */
table.dash-tabella { display: block; overflow-x: auto; }
table.dash-tabella th, table.dash-tabella td { white-space: nowrap; }
#dash-nav .btn { margin-bottom: 2px; }
@media (max-width: 991px) {
  main .row > .col { flex: 0 0 33.3333%; max-width: 33.3333%; }
}
@media (max-width: 575px) {
  main .row > .col { flex: 0 0 50%; max-width: 50%; }
  .kpi-valore { font-size: 1.2rem; }
}
