/*
Modalità scura — provvisoria, stessa colorimetria del tema chiaro (stessi
colori brand: verde #169c53 ecc.), solo sfondi/testo invertiti per il
contrasto. Attivabile dal menu account (vedi base.html), preferenza salvata
in localStorage sul browser (nessuna scrittura server). Richiesta esplicita
dell'utente, 2026-09-22 — copre theme.css e interventi-tecnico.css; per il
resto si appoggia al dark mode nativo di Bootstrap 5.3 (data-bs-theme).
*/

:root {
  --tc-surface: #ffffff;
}

:root[data-bs-theme="dark"] {
  --tc-ink:           #e8eaed;
  --tc-muted:         #939aa3;
  --tc-border:        #2c3339;
  --tc-bg:            #14181c;
  --tc-surface:       #1b2126;
  --tc-green-light:   rgba(22, 156, 83, .16);
  --tc-green-light-2: rgba(22, 156, 83, .32);

  --bs-body-bg: var(--tc-bg);
  --bs-body-color: var(--tc-ink);
  --bs-border-color: var(--tc-border);
}

[data-bs-theme="dark"] .navbar-tecnicom {
  background: var(--tc-surface);
  border-bottom-color: var(--tc-border);
  box-shadow: none;
}
[data-bs-theme="dark"] .navbar-tecnicom .nav-link:hover {
  background-color: rgba(255, 255, 255, .06);
}

[data-bs-theme="dark"] .card {
  background-color: var(--tc-surface);
  border-color: var(--tc-border);
}
[data-bs-theme="dark"] .card-header {
  background-color: var(--tc-surface) !important;
  border-bottom-color: var(--tc-border);
}

[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--tc-ink);
  --bs-table-hover-bg: rgba(22, 156, 83, .12);
  --bs-table-border-color: var(--tc-border);
}

/* .table-light/.bg-light/.text-dark sono varianti Bootstrap "fisse" (un
   colore con quel nome, non un ruolo che segue il tema) — restano chiare/
   scure a prescindere da data-bs-theme, causando intestazioni tabella
   bianche sparate e badge illeggibili (testo scuro su sfondo scuro).
   Segnalato dall'utente, 2026-09-22. */
[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] .table-light > * {
  --bs-table-bg: var(--tc-surface);
  --bs-table-color: var(--tc-ink);
  --bs-table-border-color: var(--tc-border);
  /* .table-light ridefinisce ANCHE l'hover al suo interno (una sua
     variante chiara) — senza risistemarlo qui, passarci sopra col mouse
     tornava bianco anche col resto già scuro (es. righe-cliente in
     Magazzino, segnalato dall'utente 2026-09-22). */
  --bs-table-hover-bg: rgba(22, 156, 83, .14);
  --bs-table-hover-color: var(--tc-ink);
  background-color: var(--tc-surface);
  color: var(--tc-ink);
}
[data-bs-theme="dark"] .table-warning,
[data-bs-theme="dark"] .table-warning > * {
  --bs-table-bg: rgba(240, 144, 15, .12);
  --bs-table-color: var(--tc-ink);
  --bs-table-border-color: rgba(240, 144, 15, .3);
  --bs-table-hover-bg: rgba(240, 144, 15, .2);
  --bs-table-hover-color: var(--tc-ink);
  background-color: rgba(240, 144, 15, .12);
  color: var(--tc-ink);
}
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-white {
  background-color: var(--tc-surface) !important;
  color: var(--tc-ink) !important;
}
/* Manutenzioni programmate Eolo (vedi theme.css) — stesso schema di
   .table-warning sopra, tinta viola invece che arancio. */
[data-bs-theme="dark"] .riga-manutenzione,
[data-bs-theme="dark"] .riga-manutenzione > * {
  --bs-table-bg: rgba(111, 66, 193, .18);
  --bs-table-color: var(--tc-ink);
  --bs-table-border-color: rgba(111, 66, 193, .35);
  --bs-table-hover-bg: rgba(111, 66, 193, .28);
  --bs-table-hover-color: var(--tc-ink);
  background-color: rgba(111, 66, 193, .18);
  color: var(--tc-ink);
}
[data-bs-theme="dark"] .text-dark {
  color: var(--tc-ink) !important;
}

[data-bs-theme="dark"] .ux-tecnico .badge.bg-secondary { background-color: rgba(148, 158, 168, .15) !important; color: #b7bfc7 !important; border-color: rgba(148, 158, 168, .3) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-info      { background-color: rgba(13, 110, 253, .16) !important; color: #6ea8fe !important; border-color: rgba(13, 110, 253, .32) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-primary   { background-color: var(--tc-green-light) !important; color: #4fd88a !important; border-color: var(--tc-green-light-2) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-warning   { background-color: rgba(240, 144, 15, .16) !important; color: #f5b34d !important; border-color: rgba(240, 144, 15, .32) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-success   { background-color: var(--tc-green-light) !important; color: #4fd88a !important; border-color: var(--tc-green-light-2) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-dark      { background-color: rgba(255, 255, 255, .08) !important; color: #d7d9db !important; border-color: rgba(255, 255, 255, .18) !important; }
[data-bs-theme="dark"] .ux-tecnico .badge.bg-danger    { background-color: rgba(224, 41, 62, .16) !important; color: #f18b96 !important; border-color: rgba(224, 41, 62, .32) !important; }
[data-bs-theme="dark"] .ux-tecnico .font-monospace {
  background: rgba(255, 255, 255, .06);
}

[data-bs-theme="dark"] .tc-login-card {
  background: var(--tc-surface);
  border-color: var(--tc-border);
}
[data-bs-theme="dark"] .tc-login-wrap {
  background:
    radial-gradient(circle at 15% 10%, rgba(22, 156, 83, .14), transparent 45%),
    radial-gradient(circle at 85% 90%, rgba(22, 156, 83, .10), transparent 45%),
    var(--tc-bg);
}
[data-bs-theme="dark"] .tc-login-card input[type="text"],
[data-bs-theme="dark"] .tc-login-card input[type="password"],
[data-bs-theme="dark"] .tc-login-card input[type="email"] {
  background-color: var(--tc-surface);
  border-color: var(--tc-border);
  color: var(--tc-ink);
}

[data-bs-theme="dark"] .alert-success {
  background-color: var(--tc-green-light);
  color: #4fd88a;
}

[data-bs-theme="dark"] .riga-allarme-tenue {
  background: rgba(224, 41, 62, .14);
}

/* Calendario Presenze (templates/presenze/home.html, stile inline in pagina) */
[data-bs-theme="dark"] .tc-cal-day:hover { background: rgba(255, 255, 255, .08); }
[data-bs-theme="dark"] .tc-cal-day-oggi  { background: rgba(13, 110, 253, .22); }

/* Pagina Clienti — sidebar lista clienti + pannello allarmi (templates/clienti/list.html) */
[data-bs-theme="dark"] .client-row:hover { background: rgba(255, 255, 255, .06); }
[data-bs-theme="dark"] .client-row.flying { background: rgba(13, 110, 253, .18); }
[data-bs-theme="dark"] .client-tag { background: rgba(255, 255, 255, .08) !important; color: #b7bfc7; }
[data-bs-theme="dark"] .alarm-row:hover { background: rgba(255, 255, 255, .06); }
[data-bs-theme="dark"] .alarm-filter-btn { background: var(--tc-surface); border-color: var(--tc-border); color: var(--tc-ink); }
[data-bs-theme="dark"] .alarm-filter-btn.active { background: #0d6efd; color: #fff; border-color: #0d6efd; }

/* Radio Radicale — "Punti di ascolto live" (templates/radiotext/list.html,
   stile inline in pagina, non nei file condivisi) */
[data-bs-theme="dark"] .player-card {
  background: var(--tc-surface);
  border-color: var(--tc-border);
}
[data-bs-theme="dark"] .placeholder-section {
  background: rgba(255, 255, 255, .03);
  border-color: var(--tc-border);
}
