/* Stili minimi non coperti da Bootstrap 4. Tenuto volutamente essenziale. */

body {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.accordion-toggle {
  cursor: pointer;
  padding: 8px 0;
  -ms-user-select: none;
  user-select: none;
}

.display-4 {
  letter-spacing: 4px;
}

.app-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 1040;
  overflow-y: auto;
}

/* ============================================================
   Tema scuro. Niente CSS custom properties (var()): non sono
   supportate da EdgeHTML 14, quindi ogni colore va sovrascritto
   esplicitamente per selettore. Gli sfondi di pagina (body,
   overlay a schermo intero, righe di lista) usano nero puro
   #000000 anziché grigio scuro, per sfruttare i pixel spenti
   sui display OLED del dispositivo target.
   ============================================================ */

.theme-dark body,
.theme-dark {
  background-color: #000;
  color: #e8e8e8;
}

.theme-dark .app-overlay {
  background: #000;
}

.theme-dark a {
  color: #6cb2ff;
}

.theme-dark hr {
  border-color: #333;
}

.theme-dark .text-muted {
  color: #9a9a9a !important;
}

.theme-dark .text-primary {
  color: #6cb2ff !important;
}

.theme-dark .text-danger {
  color: #ff8a8a !important;
}

.theme-dark .card {
  background-color: #000;
  border-color: #333;
  color: #e8e8e8;
}

.theme-dark .list-group-item {
  background-color: #000;
  border-color: #3d3d3d;
  color: #e8e8e8;
}

.theme-dark .list-group-item.text-muted {
  color: #9a9a9a;
}

.theme-dark .form-control {
  background-color: #000;
  border-color: #444;
  color: #e8e8e8;
}

.theme-dark .form-control:focus {
  background-color: #000;
  color: #e8e8e8;
  border-color: #0078d4;
  box-shadow: 0 0 0 0.2rem rgba(0, 120, 212, 0.35);
}

.theme-dark .form-control::-webkit-input-placeholder { color: #6f6f6f; }
.theme-dark .form-control::-ms-input-placeholder { color: #6f6f6f; }
.theme-dark .form-control::placeholder { color: #6f6f6f; }

.theme-dark label {
  color: #e8e8e8;
}

.theme-dark .close {
  color: #fff;
  text-shadow: none;
}

.theme-dark .alert-danger {
  background-color: #3a0d10;
  border-color: #58151a;
  color: #f5b5ba;
}

.theme-dark .alert-success {
  background-color: #0e3a1c;
  border-color: #17572a;
  color: #b6e6c4;
}

.theme-dark .btn-outline-secondary {
  color: #cfcfcf;
  border-color: #666;
}

.theme-dark .btn-outline-secondary:hover {
  color: #000;
  background-color: #cfcfcf;
  border-color: #cfcfcf;
}

.theme-dark .btn-outline-primary {
  color: #6cb2ff;
  border-color: #0078d4;
}

.theme-dark .btn-outline-primary:hover {
  color: #000;
  background-color: #6cb2ff;
  border-color: #6cb2ff;
}

.theme-dark .spinner-border.text-primary {
  color: #6cb2ff !important;
}

.theme-dark details > summary,
.theme-dark .accordion-toggle {
  color: #9a9a9a;
}
