/* ══════════════════════════════════════════════════════════════════════════════
   TEMA «E» — Bosco caldo + Smeraldo: riposante e leggibile (scelto il 09/10/2026)
   ──────────────────────────────────────────────────────────────────────────────
   Strato SOPRA lo stile classico dell'app (make_base_css in app.py): cambia solo
   colori, caratteri, angoli, ombre e qualche spaziatura. La struttura delle pagine
   e i comportamenti (JavaScript) restano quelli di sempre.

   QUANDO È ATTIVO: solo se l'elemento <html> ha l'attributo data-palette="e".
   Tutte le regole partono da html[data-palette="e"]: senza l'attributo questo
   file non cambia NULLA. L'attributo lo mette un piccolo script che app.py
   aggiunge in OGNI pagina (make_base_css → make_tema_head, e login/registrati).
   Dal 15/10/2026 è l'UNICO aspetto (S1, scelta del dottore): tolti l'«Aspetto
   classico» e il colore verde. Se questo file non arriva, le pagine restano con lo
   stile di base di app.py, col menu a sinistra e la barra in basso comunque visibili.

   COLORE PRINCIPALE: OTTANIO (§ 18u, l'ultima definizione delle variabili del colore
   principale: per questo sta lì e non in cima). Le regole sono scritte con le variabili
   --t-*: dove i commenti più sotto dicono «smeraldo» o «bosco» (il primo colore della E),
   oggi vale l'ottanio. I colori degli ESITI (verde «Accettato», «Salvato», «Inviato»,
   WhatsApp) restano verdi.

   CARATTERI LOCALI (static/fonts/, nessun Google Fonts: la CSP dell'app ammette
   caratteri solo dal sito stesso): Fraunces per titoli e numeri grandi, Manrope
   per testi, tabelle e pulsanti. Funzionano anche offline (service worker).

   Le pagine per i PAZIENTI (questionari PROM, firma dei consensi) NON usano
   questo file. I colori dei grafici (Chart.js) sono nei template (dashboard,
   storico, scheda paziente) e cambiano solo quando il tema è attivo.
   Gli !important servono a battere gli stili scritti dentro le pagine (es. la
   barra blu della lista operatoria, i numeri arcobaleno della Home, i colori inline).
   Origine: strumenti/anteprime-ui/tema-anteprima.css (anteprima con 5 palette).

   Indice:  0 caratteri · 1 colori · 2 variabili dell'app · 3 base e testi
            4 barra superiore · 5 pulsanti · 6 schede · 7 moduli · 8 tabelle
            9 badge e stati · 10 Home · 11 lista operatoria · 12 scheda paziente
            13 calendario · 14 avvisi offline e coda · 15 modali, toast, menu
            16 account e altre pagine · 17 telefono · 18 leggibilità (molte ore)
            19 accesso e registrazione · 18u colore principale OTTANIO
            20 layout nuovo (menu a sinistra, barra in basso, Home a schede)
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── 0 · Caratteri (file locali in static/fonts, variabili) ─────────────────────
   Fraunces: assi opsz (dimensione ottica, automatica con font-optical-sizing) e wght.
   Manrope: asse wght. Sottoinsieme «latin» (lettere accentate italiane, €, «», —).
   font-display:swap → il testo compare subito col carattere di sistema e passa al
   carattere del tema appena è caricato (precaricato da make_tema_head).        */
@font-face{
  font-family:"Fraunces";
  src:url("/static/fonts/fraunces.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Manrope";
  src:url("/static/fonts/manrope.woff2") format("woff2");
  font-weight:200 800;
  font-style:normal;
  font-display:swap;
}

/* ── 1 · Colori ──────────────────────────────────────────────────────────────
   Colori delle CLINICHE (vivaci e distinti, gli stessi in lista operatoria,
   calendario, scheda e grafici) e degli STATI della lista.                      */
html[data-palette="e"]{
  /* Cliniche: --cl-x = riempimento (chip col testo bianco ≥ 5,3:1), --cl-x-ink = testo su
     bianco / righe sabbia / riga sotto il mouse (≥ 6:1); distanza minima fra due cliniche
     ΔE2000 ≈ 18. Frate Sole (PRUGNA) sta nella § 18u, accanto al colore principale ottanio. */
  --cl-sangiuseppe:#9333EA; --cl-sangiuseppe-ink:#7E22CE;  /* viola                  (bianco 5,4:1) */
  --cl-malatesta:#C0157F;   --cl-malatesta-ink:#A3126B;    /* magenta                (bianco 5,8:1) */
  --cl-nobili:#1E40AF;      --cl-nobili-ink:#1E3A8A;       /* blu                    (bianco 8,7:1) */
  --cl-villalaura:#5F7316;  --cl-villalaura-ink:#4D5F12;   /* verde oliva, più scuro (bianco 5,3:1) */
  --cl-altra:#5B6472;       --cl-altra-ink:#475161;        /* clinica non in elenco  (bianco 6,0:1) */

  /* Stati della lista operatoria: pieno · sfondo tenue · bordo · testo */
  --st-acc:#15803D; --st-acc-bg:#DCFCE7; --st-acc-line:#A7E3BC; --st-acc-ink:#166534;  /* Accettato · verde */
  --st-chi:#0284C7; --st-chi-bg:#E0F2FE; --st-chi-line:#A9D8F5; --st-chi-ink:#075985;  /* Chiamato · azzurro */
  --st-rim:#D97706; --st-rim-bg:#FEF3C7; --st-rim-line:#F5D58A; --st-rim-ink:#92400E;  /* Rimandato · ambra */
  --st-rif:#B4432F; --st-rif-bg:#F8E1DA; --st-rif-line:#EBB9AA; --st-rif-ink:#8A2E1F;  /* Rifiutato · rosso mattone */
  --st-nes:#94A3B8;                                                                    /* senza stato */

  --t-serif:"Fraunces", Georgia, "Times New Roman", serif;
  --t-sans:"Manrope", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --t-r-sm:8px; --t-r:12px; --t-r-lg:16px; --t-r-xl:20px;
  --t-pill:999px;
}

/* E · base riposante (SCELTA DEL DOTTORE): fondo crema caldo, linee sabbia, schede bianco
   panna, testi scuri, ottone dei promemoria, tutto tarato per LEGGERE BENE molte ore al
   giorno (vedi anche § 18). Il colore PRINCIPALE (barra, menu, pulsanti, link, tinte,
   grafici) è l'OTTANIO della § 18u: lo smeraldo e il bosco di qui sono stati tolti il
   15/10/2026 (i contrasti qui sotto erano misurati con loro; quelli dell'ottanio sono in § 18u).
   Contrasti misurati (WCAG):  testo 14,5:1 sul fondo · 16:1 sulle schede · 14:1 sulle
   righe sabbia;  testo-2 (DATI secondari) ≥ 7,3:1 ovunque;  testo-3 (il più tenue)
   ≥ 4,6:1 ovunque;  intestazioni tabelle ≥ 6,3:1;  numeri Home 11–12:1;  bianco sullo
   smeraldo 5,3:1;  ottone scuro 5:1 sul bianco (testo ottone sui fondi chiari 5,3:1). */
html[data-palette="e"]{
  --t-bg:#F6F1E7; --t-card:#FFFDF8; --t-card-2:#FAF6EE;                  /* fondo crema caldo · schede bianco panna · intestazioni */
  --t-row:#FFFDF8; --t-row-alt:#F4EDE0;                                  /* righe alterne sabbia chiaro: visibili ma tenui (ΔE 4,9) */
  --t-line:#E8E0D0; --t-line-2:#D9CFBB;                                  /* linee sabbia */
  --t-text:#22201B;                                                      /* quasi nero caldo */
  --t-text-2:#48453E;                                                    /* dati secondari (date, residenza, note) ≥ 7:1 */
  --t-text-3:#686358;                                                    /* il più tenue (etichette, segnaposto) ≥ 4,5:1 */
  --t-th:#5A564C;                                                        /* intestazioni delle tabelle ≥ 6,3:1 */
  --t-brass:#8A6A1F; --t-brass-btn:#8A6A1F;                              /* ottone scuro: icone e pieni (bianco 5:1) */
  --t-brass-bg:#F6EED9; --t-brass-line:#E2CD9B; --t-brass-ink:#7A5C1C;   /* fondi ottone chiari + testo scuro 5,4:1 */
  --t-danger:#A5452F;
  --t-shadow:0 1px 2px rgba(var(--t-bar-rgb),.05), 0 6px 18px -12px rgba(var(--t-bar-rgb),.20);   /* --t-bar-rgb: § 18u */
  --t-shadow-2:0 2px 6px rgba(var(--t-bar-rgb),.06), 0 18px 40px -22px rgba(var(--t-bar-rgb),.36);
}


/* ── 2 · Variabili dell'app ricollegate alla palette ─────────────────────────
   make_base_css() definisce :root{--bg,--surface,--topbar,--accent…}: qui le stesse
   variabili puntano alla palette (html[data-palette="e"] vince su :root), così tutte le
   regole esistenti che le usano cambiano colore da sole.                         */
html[data-palette="e"]{
  --bg:var(--t-bg);
  --surface:var(--t-card);
  --surface2:var(--t-card-2);
  --border:var(--t-line);
  --topbar:var(--t-bar);
  --accent:var(--t-primary);
  --accent-h:var(--t-primary-h);
  --save:var(--t-primary);
  --save-h:var(--t-primary-h);
  --warning:var(--t-brass);
  --danger:var(--t-danger);
  --text-1:var(--t-text);
  --text-2:var(--t-text-2);
  --text-3:var(--t-text-3);
  --radius:14px;
  --shadow:var(--t-shadow);
  /* usate nella scheda paziente ma mai definite: ora hanno un colore */
  --blu-m:var(--t-ink);
  --arancio:var(--t-brass);
  /* Bootstrap 5.3 */
  --bs-body-font-family:var(--t-sans);
  --bs-body-color:var(--t-text);
  --bs-body-bg:var(--t-bg);
  --bs-primary:var(--t-primary);
  --bs-primary-rgb:var(--t-primary-rgb);
  --bs-link-color:var(--t-primary);
  --bs-link-color-rgb:var(--t-primary-rgb);
  --bs-link-hover-color:var(--t-primary-h);
  --bs-link-hover-color-rgb:var(--t-primary-rgb);
  --bs-border-color:var(--t-line);
  --bs-border-radius:10px;
  --bs-border-radius-sm:8px;
  --bs-border-radius-lg:14px;
  --bs-secondary-color:var(--t-text-2);
  --bs-tertiary-bg:var(--t-card-2);
  --bs-focus-ring-color:var(--t-focus);
  /* DataTables */
  --dt-row-hover:var(--t-primary-rgb);
  --dt-row-selected:var(--t-primary-rgb);
  accent-color:var(--t-primary);           /* caselle e radio senza classe (calendario) */
}


/* ── 3 · Base e testi ───────────────────────────────────────────────────────── */
html[data-palette="e"] body{
  background:var(--t-bg)!important;
  color:var(--t-text);
  font-family:var(--t-sans)!important;
  font-feature-settings:"ss01" 0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html[data-palette="e"] input,
html[data-palette="e"] select,
html[data-palette="e"] textarea,
html[data-palette="e"] button{font-family:inherit;}
html[data-palette="e"] ::selection{background:var(--t-tint);color:var(--t-ink);}

/* Titoli e numeri grandi: Fraunces (con grazie) */
html[data-palette="e"] h1,html[data-palette="e"] h2,html[data-palette="e"] h3,
html[data-palette="e"] h4,html[data-palette="e"] h5,html[data-palette="e"] h6,
html[data-palette="e"] .modal-title{
  font-family:var(--t-serif)!important;
  font-optical-sizing:auto;
  letter-spacing:-.012em;
  color:var(--t-ink);
}
html[data-palette="e"] .modal-title.text-danger,
html[data-palette="e"] h5.text-danger{color:var(--t-danger)!important;}

html[data-palette="e"] a{text-decoration-thickness:1px;text-underline-offset:2px;}
html[data-palette="e"] code{color:var(--t-brass-ink);background:var(--t-brass-bg);border-radius:5px;padding:1px 5px;}
html[data-palette="e"] .text-muted{color:var(--t-text-2)!important;}
html[data-palette="e"] .text-success{color:var(--t-primary)!important;}
html[data-palette="e"] .text-primary{color:var(--t-primary)!important;}
html[data-palette="e"] .text-danger{color:var(--t-danger)!important;}
html[data-palette="e"] .text-warning{color:var(--t-brass)!important;}
html[data-palette="e"] hr{border-color:var(--t-line);opacity:1;}

/* Vecchi blu scritti dentro le pagine (#1F3864, #2E75B6) → verdi della palette */
html[data-palette="e"] [style^="color:#1F3864"]{color:var(--t-ink)!important;}
html[data-palette="e"] [style^="color:#2E75B6"]{color:var(--t-primary)!important;}


/* ── 4 · Barra superiore: UGUALE in tutte le pagine ──────────────────────────
   Oggi: Home verde petrolio, lista operatoria/eseguiti/PROM/impianti BLU (#1F3864),
   scheda paziente con la sua .topbar-modern. Ora tutte uguali.                    */
html[data-palette="e"] .topbar,
html[data-palette="e"] .topbar-modern{
  background:var(--t-bar)!important;
  color:#fff;
  height:auto!important;
  min-height:60px;
  padding-top:9px!important;
  padding-bottom:9px!important;
  padding-left:28px!important;
  padding-right:28px!important;
  border-bottom:0!important;
  box-shadow:0 1px 0 rgba(0,0,0,.10), 0 10px 24px -18px rgba(0,0,0,.55);
}
/* titolo della barra (marchio, nome pagina, nome paziente) in Fraunces */
html[data-palette="e"] .topbar-brand,
html[data-palette="e"] .topbar h1,
html[data-palette="e"] .patient-badge{
  font-family:var(--t-serif)!important;
  font-weight:500!important;
  font-size:1.16rem!important;
  letter-spacing:-.01em!important;
  color:#fff!important;
  margin:0;
}
html[data-palette="e"] .topbar-brand i,
html[data-palette="e"] .topbar h1 i,
html[data-palette="e"] .patient-badge i{color:var(--t-bar-icon)!important;font-size:.95em;}
html[data-palette="e"] .header-eta{font-family:var(--t-sans);color:rgba(255,255,255,.6)!important;font-size:.8rem;}
html[data-palette="e"] .topbar .text-white-50{color:rgba(255,255,255,.62)!important;font-family:var(--t-sans);}

/* pulsanti chiari sulla barra (Home, Calendario, Storico, ⋯, frecce del mese…) */
html[data-palette="e"] .topbar .btn-outline-light,
html[data-palette="e"] .topbar-modern .btn-outline-light,
html[data-palette="e"] .topbar-mobile-menu .btn-outline-light,
html[data-palette="e"] .topbar .btn-back,
html[data-palette="e"] .topbar .btn-outline-secondary,
html[data-palette="e"] .topbar-modern .btn-outline-secondary{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  color:rgba(255,255,255,.92)!important;
  font-weight:600;
  box-shadow:none!important;
}
html[data-palette="e"] .topbar .btn-outline-light:hover,
html[data-palette="e"] .topbar-modern .btn-outline-light:hover,
html[data-palette="e"] .topbar-mobile-menu .btn-outline-light:hover,
html[data-palette="e"] .topbar .btn-back:hover,
html[data-palette="e"] .topbar .btn-outline-secondary:hover,
html[data-palette="e"] .topbar-modern .btn-outline-secondary:hover{
  background:rgba(255,255,255,.15)!important;
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
}
/* scelta attiva sulla barra (Elenco/Mese/Settimana del calendario) */
html[data-palette="e"] .topbar .btn-outline-light.active{
  background:#fff!important;color:var(--t-ink)!important;border-color:#fff!important;
}
/* pulsante pieno sulla barra (Esporta Excel) */
html[data-palette="e"] .topbar .btn-success,
html[data-palette="e"] .topbar-mobile-menu .btn-success{
  background:var(--t-primary)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}
html[data-palette="e"] .topbar .btn-success:hover{background:var(--t-primary-h)!important;}
html[data-palette="e"] .topbar .btn-warning{background:var(--t-brass-btn, var(--t-brass))!important;color:#fff!important;}
/* Lettera Word nella scheda: pulsante pieno */
html[data-palette="e"] .topbar-modern .btn-word{
  background:var(--t-primary)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
html[data-palette="e"] .topbar-modern .btn-word:hover{background:var(--t-primary-h)!important;}

/* ricerca globale nella barra */
html[data-palette="e"] .topbar-search-wrap input{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff;
  font-family:var(--t-sans);
  font-size:.86rem;
  padding-top:8px;padding-bottom:8px;
}
html[data-palette="e"] .topbar-search-wrap input:focus{
  background:rgba(255,255,255,.15)!important;
  border-color:rgba(var(--t-accent-rgb),.65)!important;
  box-shadow:0 0 0 3px rgba(var(--t-accent-rgb),.22)!important;
}
html[data-palette="e"] .topbar-search-wrap input::placeholder{color:rgba(255,255,255,.55);}

/* menu ⋯ e menu ☰ del telefono */
html[data-palette="e"] .topbar-more-menu{
  background:var(--t-bar-2)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.55)!important;
}
html[data-palette="e"] .topbar-more-menu .tm-item{font-family:var(--t-sans);}
html[data-palette="e"] .topbar-more-menu .tm-item:hover{background:rgba(255,255,255,.09)!important;}
html[data-palette="e"] .topbar-mobile-menu{background:var(--t-bar)!important;border-top:1px solid rgba(255,255,255,.09);}
html[data-palette="e"] .topbar-hamburger{color:#fff;}

/* striscia rossa «il Mac non sincronizza» (creata da JavaScript) */
html[data-palette="e"] #striscia-sync{
  background:var(--t-danger)!important;
  font-family:var(--t-sans);
}


/* ── 5 · Pulsanti ─────────────────────────────────────────────────────────── */
html[data-palette="e"] .btn{
  font-family:var(--t-sans);
  font-weight:600;
  letter-spacing:.005em;
}
html[data-palette="e"] .btn-primary,
html[data-palette="e"] .btn-success{
  background:var(--t-primary)!important;
  border-color:var(--t-primary)!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.08), 0 4px 12px -6px rgba(var(--t-primary-rgb),.55);
}
html[data-palette="e"] .btn-primary:hover,
html[data-palette="e"] .btn-success:hover{
  background:var(--t-primary-h)!important;
  border-color:var(--t-primary-h)!important;
}
html[data-palette="e"] .btn-primary:focus-visible,
html[data-palette="e"] .btn:focus-visible{box-shadow:0 0 0 3px var(--t-focus)!important;}
/* secondari: contorno */
html[data-palette="e"] .btn-outline-primary,
html[data-palette="e"] .btn-outline-success{
  background:var(--t-card)!important;
  border:1px solid var(--t-tint-line)!important;
  color:var(--t-primary)!important;
}
html[data-palette="e"] .btn-outline-primary:hover,
html[data-palette="e"] .btn-outline-success:hover{
  background:var(--t-primary)!important;
  border-color:var(--t-primary)!important;
  color:#fff!important;
}
html[data-palette="e"] .btn-outline-secondary{
  background:var(--t-card)!important;
  border:1px solid var(--t-line-2)!important;
  color:var(--t-text-2)!important;
}
html[data-palette="e"] .btn-outline-secondary:hover{
  background:var(--t-tint-2)!important;
  border-color:var(--t-tint-line)!important;
  color:var(--t-ink)!important;
}
html[data-palette="e"] .btn-secondary,
html[data-palette="e"] .btn-light{
  background:var(--t-card-2)!important;
  border:1px solid var(--t-line-2)!important;
  color:var(--t-text)!important;
}
html[data-palette="e"] .btn-secondary:hover,
html[data-palette="e"] .btn-light:hover{background:var(--t-tint-2)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .btn-danger{
  background:var(--t-danger)!important;border-color:var(--t-danger)!important;color:#fff!important;
}
html[data-palette="e"] .btn-outline-danger{
  background:var(--t-card)!important;
  border:1px solid var(--st-rif-line)!important;
  color:var(--t-danger)!important;
}
html[data-palette="e"] .btn-outline-danger:hover{
  background:var(--t-danger)!important;border-color:var(--t-danger)!important;color:#fff!important;
}
html[data-palette="e"] .btn-warning{background:var(--t-brass-btn, var(--t-brass))!important;border-color:var(--t-brass-btn, var(--t-brass))!important;color:#fff!important;}
/* contorno ambra/ottone (es. «Registra impianto») = promemoria */
html[data-palette="e"] .btn-outline-warning{
  background:var(--t-brass-bg)!important;border:1px solid var(--t-brass-line)!important;color:var(--t-brass-ink)!important;
}
html[data-palette="e"] .btn-outline-warning:hover{background:var(--t-brass-btn, var(--t-brass))!important;border-color:var(--t-brass-btn, var(--t-brass))!important;color:#fff!important;}
html[data-palette="e"] .btn-outline-info{
  background:var(--t-card)!important;border:1px solid var(--st-chi-line)!important;color:var(--st-chi-ink)!important;
}
html[data-palette="e"] .btn-outline-info:hover{background:var(--st-chi)!important;border-color:var(--st-chi)!important;color:#fff!important;}
/* pulsanti propri della scheda paziente */
html[data-palette="e"] .btn-save-primary,
html[data-palette="e"] .btn-word,
html[data-palette="e"] .mobile-save-bar .btn-save-mobile{
  background:var(--t-primary)!important;color:#fff!important;
}
html[data-palette="e"] .btn-save-primary:hover,
html[data-palette="e"] .btn-word:hover{background:var(--t-primary-h)!important;}
html[data-palette="e"] a.btn,
html[data-palette="e"] a.btn-word,
html[data-palette="e"] a.action-chip,
html[data-palette="e"] a.stat-mini,
html[data-palette="e"] a.btn-nuovo-paziente{text-decoration:none!important;}


/* ── 6 · Schede (card) bianche sullo sfondo della palette ─────────────────── */
html[data-palette="e"] .card{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:16px!important;
  box-shadow:var(--t-shadow)!important;
}
html[data-palette="e"] .card-body.p-0{border-radius:16px;}
html[data-palette="e"] .card-header{background:var(--t-card-2);border-bottom-color:var(--t-line);}
/* .card-form: definita solo nella scheda paziente, ma usata anche in Account → ora ovunque */
html[data-palette="e"] .card-form,
html[data-palette="e"] .kpi-card,
html[data-palette="e"] .chart-card,
html[data-palette="e"] .stat-card{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:16px!important;
  box-shadow:var(--t-shadow)!important;
}
html[data-palette="e"] .card-form{padding:22px 24px;margin-bottom:16px;}
/* titoli di sezione: da MAIUSCOLETTO grigio a titolo con grazie */
html[data-palette="e"] .card-form h5,
html[data-palette="e"] .chart-card h6{
  font-family:var(--t-serif)!important;
  font-size:1.12rem!important;
  font-weight:500!important;
  text-transform:none!important;
  letter-spacing:-.01em!important;
  color:var(--t-ink)!important;
  border-bottom-color:var(--t-line)!important;
}
html[data-palette="e"] .card-form h5 i,
html[data-palette="e"] .chart-card h6 i{color:var(--t-primary)!important;font-size:.9em;}
html[data-palette="e"] .card-form h6{font-family:var(--t-serif)!important;font-weight:500;color:var(--t-ink)!important;}


/* ── 7 · Moduli ───────────────────────────────────────────────────────────── */
html[data-palette="e"] .form-label{
  color:var(--t-text-2)!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  font-size:.7rem!important;
  text-transform:uppercase;
  letter-spacing:.07em!important;
  margin-bottom:5px;
}
html[data-palette="e"] .form-control,
html[data-palette="e"] .form-select{
  background-color:var(--t-card);
  border:1px solid var(--t-line-2)!important;
  border-radius:10px;
  color:var(--t-text);
  font-family:var(--t-sans);
}
html[data-palette="e"] .form-control:focus,
html[data-palette="e"] .form-select:focus{
  background-color:var(--t-card)!important;
  border-color:var(--t-primary)!important;
  box-shadow:0 0 0 3px var(--t-focus)!important;
}
html[data-palette="e"] .form-control::placeholder{color:var(--t-text-3)!important;opacity:.75!important;}
html[data-palette="e"] .form-control:disabled,
html[data-palette="e"] .form-control[readonly]{background-color:var(--t-card-2);}
html[data-palette="e"] .input-group-text{background:var(--t-card-2);border-color:var(--t-line-2);color:var(--t-text-2);}
/* pulsante attaccato al campo (↻ codice fiscale, «Oggi» delle date): l'app dà a ogni
   .btn la forma a pillola → qui torna «incollato» al campo, con gli stessi angoli */
html[data-palette="e"] .input-group > .btn:last-child:not(:first-child){
  border-radius:0 10px 10px 0!important;
  border-color:var(--t-line-2)!important;
  padding-left:14px;padding-right:14px;
}
html[data-palette="e"] .input-group > .btn:first-child:not(:last-child){border-radius:10px 0 0 10px!important;}
html[data-palette="e"] .input-group > .form-control:first-child:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important;}
html[data-palette="e"] .form-check-input{border-color:var(--t-line-2);}
html[data-palette="e"] .form-check-input:checked{background-color:var(--t-primary);border-color:var(--t-primary);}
html[data-palette="e"] .form-check-input:focus{box-shadow:0 0 0 3px var(--t-focus);border-color:var(--t-primary);}
/* interruttore iOS e controllo segmentato (Maschio/Femmina) */
html[data-palette="e"] .ios-toggle .track{background:var(--t-line-2)!important;}
html[data-palette="e"] .ios-toggle input:checked~.track{background:var(--t-primary)!important;}
html[data-palette="e"] .seg-control{background:var(--t-card-2)!important;border-color:var(--t-line-2)!important;}
html[data-palette="e"] .seg-control input[type=radio]:checked+label{
  background:var(--t-primary)!important;color:#fff!important;
  box-shadow:0 2px 8px -2px rgba(var(--t-primary-rgb),.55)!important;
}
/* data non valida */
html[data-palette="e"] .date-input.is-invalid{border-color:var(--t-danger)!important;}


/* ── 8 · Tabelle ──────────────────────────────────────────────────────────── */
html[data-palette="e"] .table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--t-text);
  --bs-table-border-color:var(--t-line);
  --bs-table-hover-bg:var(--t-row-hover, var(--t-tint-2));
  --bs-table-hover-color:var(--t-text);
  --bs-table-striped-bg:var(--t-row-alt, var(--t-card-2));
  color:var(--t-text);
}
html[data-palette="e"] .table-light,
html[data-palette="e"] thead.table-light{
  --bs-table-bg:var(--t-card-2);
  --bs-table-color:var(--t-text-2);
  --bs-table-border-color:var(--t-line);
}
html[data-palette="e"] table.dataTable thead th,
html[data-palette="e"] .table thead th{
  background:var(--t-card-2)!important;
  color:var(--t-text-3)!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  font-size:.68rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  border-bottom:1px solid var(--t-line)!important;
}
/* righe: panna, sabbia chiaro (alterne) e verde chiarissimo sotto il mouse (--t-row, --t-row-alt, --t-row-hover) */
html[data-palette="e"] table.dataTable tbody tr{background:var(--t-row, var(--t-card))!important;}
html[data-palette="e"] table.dataTable tbody tr:nth-child(even){background:var(--t-row-alt, var(--t-card-2))!important;}
html[data-palette="e"] table.dataTable tbody td{border-color:var(--t-line)!important;}
html[data-palette="e"] table.dataTable tbody tr:hover,
html[data-palette="e"] table.dataTable tbody tr:hover > td,
html[data-palette="e"] .table-hover > tbody > tr:hover > td{background:var(--t-row-hover, var(--t-tint-2))!important;}
html[data-palette="e"] table.dataTable tbody td strong{color:var(--t-ink);font-weight:700;}
html[data-palette="e"] table.dataTable thead th.sorting_asc:after,
html[data-palette="e"] table.dataTable thead th.sorting_desc:after{color:var(--t-primary)!important;}
/* ricerca, «mostra N righe», pagine */
html[data-palette="e"] .dataTables_wrapper .dataTables_filter input,
html[data-palette="e"] .dataTables_wrapper .dataTables_length select{
  background:var(--t-card)!important;border-color:var(--t-line-2)!important;color:var(--t-text);
}
html[data-palette="e"] .dataTables_wrapper .dataTables_info{color:var(--t-text-3)!important;}
html[data-palette="e"] .dataTables_wrapper .dataTables_length label,
html[data-palette="e"] .dataTables_wrapper .dataTables_filter label{color:var(--t-text-2);font-size:.82rem;font-weight:600;}
html[data-palette="e"] .card-body.p-0 .dataTables_length,
html[data-palette="e"] .card-body.p-0 .dataTables_filter{padding:12px 18px 6px;}
html[data-palette="e"] .card-body.p-0 .dataTables_info{padding:12px 18px!important;}
html[data-palette="e"] .card-body.p-0 .dataTables_paginate{padding:8px 18px 12px;}
html[data-palette="e"] .pagination{
  --bs-pagination-color:var(--t-text-2);
  --bs-pagination-bg:var(--t-card);
  --bs-pagination-border-color:var(--t-line);
  --bs-pagination-hover-color:var(--t-ink);
  --bs-pagination-hover-bg:var(--t-tint-2);
  --bs-pagination-hover-border-color:var(--t-tint-line);
  --bs-pagination-focus-color:var(--t-ink);
  --bs-pagination-focus-bg:var(--t-tint-2);
  --bs-pagination-focus-box-shadow:0 0 0 3px var(--t-focus);
  --bs-pagination-active-color:#fff;
  --bs-pagination-active-bg:var(--t-primary);
  --bs-pagination-active-border-color:var(--t-primary);
  --bs-pagination-disabled-color:var(--t-text-3);
  --bs-pagination-disabled-bg:var(--t-card);
  --bs-pagination-disabled-border-color:var(--t-line);
  gap:4px;
}
html[data-palette="e"] .page-link{border-radius:var(--t-pill)!important;font-weight:600;font-size:.82rem;min-width:34px;text-align:center;}
/* tabelle PROM della scheda paziente */
html[data-palette="e"] table.prom-table thead th,
html[data-palette="e"] table.prom-table-modern thead th,
html[data-palette="e"] table.prom-table th,
html[data-palette="e"] table.prom-table-modern th{
  background:var(--t-bar)!important;color:rgba(255,255,255,.92)!important;
  font-size:.72rem!important;letter-spacing:.05em!important;text-transform:none;
}
html[data-palette="e"] table.prom-table.verde th,
html[data-palette="e"] table.prom-table-modern.verde th{background:var(--t-primary)!important;}
html[data-palette="e"] table.prom-table.arancio th,
html[data-palette="e"] table.prom-table-modern.arancio th{background:var(--t-brass-btn, var(--t-brass))!important;}
html[data-palette="e"] .prom-table-modern tbody tr:hover{background:var(--t-row-hover, var(--t-tint-2))!important;}
html[data-palette="e"] .prom-table-modern input,
html[data-palette="e"] .prom-table input{background:var(--t-card)!important;border-color:var(--t-line-2)!important;}
html[data-palette="e"] .prom-table-modern input:focus{border-color:var(--t-primary)!important;box-shadow:0 0 0 3px var(--t-focus)!important;}


/* ── 9 · Badge e stati: stessi colori dappertutto ─────────────────────────── */
html[data-palette="e"] .badge{font-family:var(--t-sans);font-weight:700;letter-spacing:.01em;border-radius:var(--t-pill);}

/* Stati della lista (badge scritti nella pagina con background inline) → tenui con bordo */
html[data-palette="e"] .badge[style*="#22c55e"]{background:var(--st-acc-bg)!important;color:var(--st-acc-ink)!important;box-shadow:inset 0 0 0 1px var(--st-acc-line);}
html[data-palette="e"] .badge[style*="#0ea5e9"]{background:var(--st-chi-bg)!important;color:var(--st-chi-ink)!important;box-shadow:inset 0 0 0 1px var(--st-chi-line);}
html[data-palette="e"] .badge[style*="#f59e0b"]{background:var(--st-rim-bg)!important;color:var(--st-rim-ink)!important;box-shadow:inset 0 0 0 1px var(--st-rim-line);}
html[data-palette="e"] .badge[style*="#ef4444"]{background:var(--st-rif-bg)!important;color:var(--st-rif-ink)!important;box-shadow:inset 0 0 0 1px var(--st-rif-line);}
html[data-palette="e"] .badge[style*="#22c55e"] i{color:var(--st-acc);}
html[data-palette="e"] .badge[style*="#0ea5e9"] i{color:var(--st-chi);}
html[data-palette="e"] .badge[style*="#f59e0b"] i{color:var(--st-rim);}
html[data-palette="e"] .badge[style*="#ef4444"] i{color:var(--st-rif);}

/* Pulsanti-stato nella scheda paziente (flag-btn): acceso = colore dello stato */
html[data-palette="e"] .flag-btn{border-radius:8px!important;font-family:var(--t-sans);font-weight:700;}
html[data-palette="e"] .flag-btn[style*="#f8fafc"],
html[data-palette="e"] .flag-btn[style*="rgb(248, 250, 252)"]{
  background:var(--t-card)!important;color:var(--t-text-3)!important;border-color:var(--t-line)!important;
}
html[data-palette="e"] .flag-btn[data-field="flag_accettato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_accettato"][style*="color: rgb(255, 255, 255)"]{
  background:var(--st-acc-bg)!important;color:var(--st-acc-ink)!important;border-color:var(--st-acc-line)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_chiamato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_chiamato"][style*="color: rgb(255, 255, 255)"]{
  background:var(--st-chi-bg)!important;color:var(--st-chi-ink)!important;border-color:var(--st-chi-line)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_rimandato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_rimandato"][style*="color: rgb(255, 255, 255)"]{
  background:var(--st-rim-bg)!important;color:var(--st-rim-ink)!important;border-color:var(--st-rim-line)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_rifiutato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_rifiutato"][style*="color: rgb(255, 255, 255)"]{
  background:var(--st-rif-bg)!important;color:var(--st-rif-ink)!important;border-color:var(--st-rif-line)!important;}

/* Tempo in lista (verde < 6 mesi, ambra < 1 anno, mattone oltre) — colori inline */
html[data-palette="e"] [style^="color:#16a34a"]{color:var(--st-acc)!important;}
html[data-palette="e"] [style^="color:#f59e0b"]{color:var(--st-rim-ink)!important;}
html[data-palette="e"] [style^="color:#dc2626"]{color:var(--st-rif)!important;}

/* Badge «In lista» / «Eseguito», badge operato, date dei controlli */
html[data-palette="e"] .interv-badge.lista,
html[data-palette="e"] .badge-op,
html[data-palette="e"] .ctrl-date-badge,
html[data-palette="e"] .inf-badge,
html[data-palette="e"] .riab-badge,
html[data-palette="e"] .status-saved{
  background:var(--t-tint)!important;color:var(--t-ink)!important;
}
html[data-palette="e"] .interv-badge.eseguito{background:var(--st-acc-bg)!important;color:var(--st-acc-ink)!important;}
html[data-palette="e"] .badge-nop{background:var(--t-card-2)!important;color:var(--t-text-2)!important;box-shadow:inset 0 0 0 1px var(--t-line);}
html[data-palette="e"] .status-saving{background:var(--t-brass-bg)!important;color:var(--t-brass-ink)!important;}
html[data-palette="e"] .status-error{background:var(--st-rif-bg)!important;color:var(--st-rif-ink)!important;}
html[data-palette="e"] .status-dot.in-lista{background:var(--t-primary)!important;box-shadow:0 0 0 3px rgba(var(--t-primary-rgb),.18)!important;}
html[data-palette="e"] .stats-group-pill{background:var(--t-tint)!important;color:var(--t-ink)!important;}

/* Pillole riepilogo (lista operatoria, calendario) */
html[data-palette="e"] .stat-pill,
html[data-palette="e"] .sum-pill{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:var(--t-pill)!important;
  color:var(--t-text-2)!important;
  font-family:var(--t-sans);
  font-weight:600;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
html[data-palette="e"] .sum-pill b{color:var(--t-ink)!important;font-family:var(--t-serif);font-weight:600;font-size:1.05em;}
/* il colore dello stato arriva inline come border-left: diventa un pallino */
html[data-palette="e"] .stat-pill[style*="border-left"]{border-left:1px solid var(--t-line)!important;}
html[data-palette="e"] .stat-pill::before{
  content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:0;
  background:var(--st-nes);
}
html[data-palette="e"] .stat-pill[style*="#22c55e"]::before{background:var(--st-acc);}
html[data-palette="e"] .stat-pill[style*="#0ea5e9"]::before{background:var(--st-chi);}
html[data-palette="e"] .stat-pill[style*="#f59e0b"]::before{background:var(--st-rim);}
html[data-palette="e"] .stat-pill[style*="#ef4444"]::before{background:var(--st-rif);}


/* ── 10 · Home ────────────────────────────────────────────────────────────── */
html[data-palette="e"] .stats-main-card{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:20px!important;
  box-shadow:var(--t-shadow-2)!important;
}
html[data-palette="e"] .stats-main-total{border-right-color:var(--t-line)!important;padding:22px 28px;}
html[data-palette="e"] .stats-main-cta{border-left-color:var(--t-line)!important;}

/* Numeri: TUTTI nello stesso verde, in Fraunces (niente arcobaleno) */
html[data-palette="e"] .stat-num,
html[data-palette="e"] .stat-mini-num,
html[data-palette="e"] .kpi-num{
  color:var(--t-num)!important;
  font-family:var(--t-serif)!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  font-variant-numeric:lining-nums tabular-nums;
  font-optical-sizing:auto;
}
html[data-palette="e"] .stats-main-total .stat-num{font-size:3.1rem!important;color:var(--t-ink)!important;}
html[data-palette="e"] .stat-mini-num{font-size:1.9rem!important;line-height:1.05;}
html[data-palette="e"] .stat-lbl,
html[data-palette="e"] .stat-mini-lbl,
html[data-palette="e"] .kpi-lbl{
  color:var(--t-text-3)!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  letter-spacing:.09em!important;
}
html[data-palette="e"] .stat-lbl{font-size:.66rem!important;margin-top:8px;}
html[data-palette="e"] .stat-mini{border-radius:12px;}
html[data-palette="e"] .stat-mini:hover{background:var(--t-tint-2)!important;}
html[data-palette="e"] .stat-mini:hover .stat-mini-num{color:var(--t-primary-h)!important;}
html[data-palette="e"] .stat-divider{background:var(--t-line)!important;}

/* Righe «In lista» ed «Eseguiti»: niente più blu/verde diversi */
html[data-palette="e"] .stats-row{border-radius:14px!important;}
html[data-palette="e"] .stats-row.in-lista-row{background:var(--t-tint-2)!important;border:1px solid var(--t-tint-line)!important;}
html[data-palette="e"] .stats-row.eseguiti-row{background:var(--t-card-2)!important;border:1px solid var(--t-line)!important;}
html[data-palette="e"] .stats-row-label{font-family:var(--t-sans);font-weight:800!important;letter-spacing:.1em!important;}
html[data-palette="e"] .stats-row-label.in-lista-hdr{color:var(--t-primary)!important;}
html[data-palette="e"] .stats-row-label.eseguiti-hdr{color:var(--t-text-2)!important;}

/* Nuovo paziente: il pulsante principale della Home, pieno */
html[data-palette="e"] .btn-nuovo-paziente{
  background:var(--t-primary)!important;
  border:0!important;
  color:#fff!important;
  border-radius:16px!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  font-size:.86rem!important;
  padding:16px 24px!important;
  box-shadow:0 2px 4px rgba(0,0,0,.08), 0 12px 24px -12px rgba(var(--t-primary-rgb),.75)!important;
}
html[data-palette="e"] .btn-nuovo-paziente:hover{background:var(--t-primary-h)!important;color:#fff!important;}
html[data-palette="e"] .btn-nuovo-paziente i{color:#fff!important;}

/* Scorciatoie (Backup, Impianti, Esercizi, PROM, Privacy…): icone tutte verdi */
html[data-palette="e"] .action-chip{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  color:var(--t-text)!important;
  font-family:var(--t-sans);
  font-weight:600!important;
  padding:8px 15px;
  box-shadow:0 1px 2px rgba(0,0,0,.03)!important;
}
html[data-palette="e"] .action-chip:hover{background:var(--t-tint-2)!important;border-color:var(--t-tint-line)!important;}
html[data-palette="e"] .action-chip i{color:var(--t-primary)!important;}
html[data-palette="e"] .action-chip span{color:inherit!important;}
html[data-palette="e"] .action-chip small{color:var(--t-text-3)!important;}
/* scorciatoia con qualcosa da fare («da inviare: 3») = promemoria → ottone */
html[data-palette="e"] .action-chip[style*="border-color"]{
  background:var(--t-brass-bg)!important;
  border-color:var(--t-brass-line)!important;
  color:var(--t-brass-ink)!important;
}
html[data-palette="e"] .action-chip[style*="border-color"] i{color:var(--t-brass)!important;}
html[data-palette="e"] .action-chip[style*="border-color"] span{font-weight:700;}

/* ricerca: tendina dei risultati */
html[data-palette="e"] .search-dropdown{border:1px solid var(--t-line);border-radius:14px;box-shadow:var(--t-shadow-2)!important;}
html[data-palette="e"] .search-item{border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .search-item:hover,
html[data-palette="e"] .search-item.srch-active{background:var(--t-tint-2)!important;}
html[data-palette="e"] .search-item-avatar{background:var(--t-tint)!important;color:var(--t-ink)!important;font-family:var(--t-serif);font-weight:600!important;}
html[data-palette="e"] .search-item-name{color:var(--t-text)!important;}
html[data-palette="e"] .search-item-sub{color:var(--t-text-2)!important;}
html[data-palette="e"] .search-item-badge{background:var(--t-tint)!important;color:var(--t-ink)!important;font-weight:700;}


/* ── 11 · Lista operatoria (lista_attesa.html) ────────────────────────────── */
/* tipo di lista (PTG/PMG, PTA…) sulla barra: era del colore arcobaleno della Home */
html[data-palette="e"] .badge-tipo{
  background:var(--t-tint)!important;
  color:var(--t-ink)!important;
  border-radius:var(--t-pill)!important;
  font-family:var(--t-sans);
  font-weight:800!important;
  letter-spacing:.03em;
  padding:4px 14px!important;
}
html[data-palette="e"] .filter-bar{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:16px!important;
  box-shadow:var(--t-shadow);
}
html[data-palette="e"] .filter-bar label{color:var(--t-text-3)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem!important;}
html[data-palette="e"] .filter-bar label i{color:var(--t-primary);}
/* pillole-filtro di stato */
html[data-palette="e"] .stato-btn{
  background:var(--t-card)!important;
  border:1px solid var(--t-line-2)!important;
  color:var(--t-text-2)!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  padding:5px 13px!important;
}
html[data-palette="e"] .stato-btn:hover{border-color:var(--t-tint-line)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .stato-btn.active{color:#fff!important;border-color:transparent!important;}
html[data-palette="e"] .stato-btn[data-stato="tutti"].active{background:var(--t-ink)!important;}
html[data-palette="e"] .stato-btn[data-stato="chiamato"].active{background:var(--st-chi)!important;}
html[data-palette="e"] .stato-btn[data-stato="accettato"].active{background:var(--st-acc)!important;}
html[data-palette="e"] .stato-btn[data-stato="rimandato"].active{background:var(--st-rim)!important;}
html[data-palette="e"] .stato-btn[data-stato="rifiutato"].active{background:var(--st-rif)!important;}
html[data-palette="e"] .stato-btn[data-stato="nessuno"].active{background:var(--t-text-3)!important;}
/* pallino colorato davanti agli stati non attivi */
html[data-palette="e"] .stato-btn:not([data-stato="tutti"]):not(.active)::before{
  content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px;
  background:var(--st-nes);
}
html[data-palette="e"] .stato-btn[data-stato="chiamato"]:not(.active)::before{background:var(--st-chi);}
html[data-palette="e"] .stato-btn[data-stato="accettato"]:not(.active)::before{background:var(--st-acc);}
html[data-palette="e"] .stato-btn[data-stato="rimandato"]:not(.active)::before{background:var(--st-rim);}
html[data-palette="e"] .stato-btn[data-stato="rifiutato"]:not(.active)::before{background:var(--st-rif);}

html[data-palette="e"] .vista-box{background:var(--t-tint-2)!important;border:1px solid var(--t-tint-line)!important;color:var(--t-text)!important;border-radius:14px!important;}
html[data-palette="e"] .res-strip{color:var(--t-text-2)!important;}
html[data-palette="e"] .res-strip .rf:hover{background:var(--t-tint)!important;}
html[data-palette="e"] .res-strip .rf.attivo{background:var(--t-ink)!important;color:#fff!important;}
html[data-palette="e"] .res-strip .togli{color:var(--t-danger)!important;}
html[data-palette="e"] .res-riga{color:var(--t-text-3)!important;}
html[data-palette="e"] .compat-no{color:var(--t-danger)!important;}
html[data-palette="e"] .compat-ver{color:var(--t-brass-ink)!important;}
html[data-palette="e"] #tblLista td{color:var(--t-text);}
html[data-palette="e"] #tblLista tr:hover td{background:var(--t-row-hover, var(--t-tint-2))!important;}
html[data-palette="e"] .note-display:hover{background:var(--t-tint-2)!important;}
html[data-palette="e"] .note-edit{border-color:var(--t-primary)!important;box-shadow:0 0 0 3px var(--t-focus);}
/* «Stato» restava da solo in fondo alla prima riga e i suoi pulsanti andavano a capo:
   un a-capo invisibile prima dell'etichetta tiene insieme etichetta, pulsanti ed Excel */
html[data-palette="e"] .filter-bar:has(.stato-btn)::before{content:"";flex:0 0 100%;height:0;order:1;margin-top:-12px;}
html[data-palette="e"] .filter-bar > label:has(+ div > .stato-btn),
html[data-palette="e"] .filter-bar > div:has(> .stato-btn),
html[data-palette="e"] .filter-bar > div:has(> .stato-btn) ~ *{order:2;}
html[data-palette="e"] .filter-bar > label:has(+ div > .stato-btn){margin-left:0!important;}
/* «REVISIONE PTG» si spezzava a metà parola (REVISION / E): colonna Tipo più larga, Note un po' meno */
html[data-palette="e"] #tblLista > colgroup > col:nth-child(5){width:7%!important;}
html[data-palette="e"] #tblLista > colgroup > col:nth-child(11){width:15%!important;}
html[data-palette="e"] #tblLista td[data-label="Tipo"]{word-break:normal!important;overflow-wrap:normal!important;}
html[data-palette="e"] .tip .tip-box{background:var(--t-bar)!important;font-family:var(--t-sans);}
html[data-palette="e"] .tip .tip-box::after{border-top-color:var(--t-bar)!important;}
/* clinica: nome scritto nel colore vivace della clinica */
html[data-palette="e"] #tblLista td[data-label="Clinica"]{font-weight:700;}
html[data-palette="e"] tr[data-clinica="Frate Sole"] td[data-label="Clinica"]{color:var(--cl-fratesole-ink)!important;}
html[data-palette="e"] tr[data-clinica="San Giuseppe"] td[data-label="Clinica"]{color:var(--cl-sangiuseppe-ink)!important;}
html[data-palette="e"] tr[data-clinica="Malatesta Novello"] td[data-label="Clinica"]{color:var(--cl-malatesta-ink)!important;}
html[data-palette="e"] tr[data-clinica="Nobili"] td[data-label="Clinica"]{color:var(--cl-nobili-ink)!important;}
html[data-palette="e"] tr[data-clinica="Villa Laura"] td[data-label="Clinica"]{color:var(--cl-villalaura-ink)!important;}
html[data-palette="e"] tr[data-clinica=""] td[data-label="Clinica"]{color:var(--t-text-3)!important;font-weight:500;}
/* solvente/assicurato ($) = promemoria → ottone; allergia nichel → mattone */
html[data-palette="e"] #tblLista span[title="Solvente"],
html[data-palette="e"] #tblLista span[title="Assicurato"]{color:var(--t-brass)!important;}
html[data-palette="e"] span[title="Allergia al Nichel"]{color:var(--st-rif)!important;}
html[data-palette="e"] #tblLista .fa-plane{color:var(--st-chi);}
/* Pazienti eseguiti (stessa impostazione) */
html[data-palette="e"] .btn-back{border-radius:var(--t-pill);}


/* ── 12 · Scheda paziente ─────────────────────────────────────────────────── */
html[data-palette="e"] .nav-tabs-modern{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-bottom:1px solid var(--t-line)!important;
  border-radius:16px 16px 0 0;
  padding:0 10px;
}
html[data-palette="e"] .nav-tabs-modern .nav-link{
  font-family:var(--t-sans);
  font-weight:600!important;
  color:var(--t-text-2)!important;
}
html[data-palette="e"] .nav-tabs-modern .nav-link:hover{color:var(--t-ink)!important;}
html[data-palette="e"] .nav-tabs-modern .nav-link.active,
html[data-palette="e"] .nav-tabs .nav-link.active{
  color:var(--t-ink)!important;
  border-bottom:3px solid var(--t-primary)!important;
  font-weight:700!important;
}
html[data-palette="e"] .nav-tabs-modern .nav-link i{color:var(--t-primary);opacity:.9;}
html[data-palette="e"] .tab-section-modern{
  background:transparent!important;
  border:1px solid var(--t-line);
  border-top:0;
  border-radius:0 0 16px 16px;
}
html[data-palette="e"] .interv-card{background:var(--t-card-2)!important;border-color:var(--t-line)!important;border-radius:12px!important;}
/* storico interventi: tutte le celle della stessa misura (prima 3 grandezze diverse) */
html[data-palette="e"] #interv-tbody td{font-size:.86rem!important;}
html[data-palette="e"] #interv-tbody td strong{font-family:var(--t-sans);font-weight:800;color:var(--t-ink);}
html[data-palette="e"] #interv-tbody td[data-label="Clinica"]{font-weight:700;color:var(--t-ink);}
/* icone dei sottotitoli (es. «Storico Controlli») nel verde della palette */
html[data-palette="e"] .card-form h6 i{color:var(--t-primary)!important;}
/* [residenza-indirizzo] (20/10/2026) tolte le regole della tendina del vecchio campo Comune: restano
   quelle dei suggerimenti del Luogo di nascita (.ac-list) */
html[data-palette="e"] .ac-list{background:var(--t-card)!important;border-color:var(--t-line)!important;box-shadow:var(--t-shadow-2)!important;}
html[data-palette="e"] .ac-list li{border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .ac-list li:hover,
html[data-palette="e"] .ac-list li.ac-active{background:var(--t-tint-2)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .riab-box{background:var(--t-card)!important;border-color:var(--t-line)!important;border-radius:12px!important;}
html[data-palette="e"] .riab-btn{background:var(--t-card);border-color:var(--t-line-2);}
html[data-palette="e"] .riab-da{color:var(--t-brass-ink)!important;}
html[data-palette="e"] .inf-info.attenzione{color:var(--t-danger)!important;}
html[data-palette="e"] .mobile-save-bar{background:var(--t-card)!important;border-top-color:var(--t-line)!important;}


/* ── 13 · Calendario ──────────────────────────────────────────────────────── */
html[data-palette="e"] .cal-month{font-family:var(--t-serif);font-weight:500!important;font-size:1.28rem!important;letter-spacing:-.01em;color:#fff!important;}
html[data-palette="e"] .cal-wd{color:var(--t-text-3)!important;font-weight:700!important;letter-spacing:.09em!important;font-size:.68rem!important;}
html[data-palette="e"] .cal-cell{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:12px!important;
}
html[data-palette="e"] .cal-cell.out{background:transparent!important;border-color:transparent!important;}
html[data-palette="e"] .cal-dn{color:var(--t-text-2)!important;}
html[data-palette="e"] .cal-dn b{font-family:var(--t-serif);font-weight:600;font-size:.98rem;color:var(--t-ink);}
html[data-palette="e"] .cal-cell.today{border:2px solid var(--t-primary)!important;box-shadow:0 0 0 3px var(--t-focus)!important;}
html[data-palette="e"] .cal-cell.today .cal-dn b{
  color:#fff!important;background:var(--t-primary);border-radius:var(--t-pill);
  padding:2px 7px;display:inline-block;
}
html[data-palette="e"] .cal-cell.festivo-cell{
  background:color-mix(in srgb, var(--st-rif-bg) 55%, var(--t-card))!important;
  border-color:color-mix(in srgb, var(--st-rif-line) 70%, var(--t-card))!important;
}
html[data-palette="e"] .cal-cell.festivo-cell.today{border-color:var(--t-primary)!important;}
html[data-palette="e"] .cal-dn.festivo b,
html[data-palette="e"] .fest-nome{color:var(--st-rif-ink)!important;}
html[data-palette="e"] .cal-cell.doppia-sala{border-color:var(--t-brass)!important;box-shadow:0 0 0 1.5px var(--t-brass) inset!important;}
html[data-palette="e"] .cal-warn{color:var(--t-brass)!important;}
html[data-palette="e"] .cal-add{color:var(--t-text-3)!important;}
html[data-palette="e"] .cal-add:hover{color:var(--t-primary)!important;}

/* chip: sale operatorie = colore pieno della clinica (vivace) */
html[data-palette="e"] .chip{font-family:var(--t-sans);border-radius:7px!important;}
html[data-palette="e"] .chip.sala{
  background:var(--cl-altra)!important;
  color:#fff!important;
  font-weight:700!important;
  box-shadow:0 1px 2px rgba(0,0,0,.12), 0 3px 8px -4px rgba(0,0,0,.30)!important;
}
/* il colore arriva inline da COLORI (calendario.html) → rimappato sui colori vivaci */
html[data-palette="e"] .chip.sala[style*="rgb(47, 119, 131)"],
html[data-palette="e"] .chip.sala[style*="#2f7783"]{background:var(--cl-fratesole)!important;}
html[data-palette="e"] .chip.sala[style*="rgb(141, 80, 77)"],
html[data-palette="e"] .chip.sala[style*="#8d504d"]{background:var(--cl-sangiuseppe)!important;}
html[data-palette="e"] .chip.sala[style*="rgb(109, 90, 138)"],
html[data-palette="e"] .chip.sala[style*="#6d5a8a"]{background:var(--cl-malatesta)!important;}
html[data-palette="e"] .chip.sala[style*="rgb(69, 104, 155)"],
html[data-palette="e"] .chip.sala[style*="#45689b"]{background:var(--cl-nobili)!important;}
html[data-palette="e"] .chip.sala[style*="rgb(62, 122, 91)"],
html[data-palette="e"] .chip.sala[style*="#3e7a5b"]{background:var(--cl-villalaura)!important;}
html[data-palette="e"] .chip .cnt{background:rgba(255,255,255,.26)!important;color:#fff;}
/* icona clinica nel titolo della seduta */
html[data-palette="e"] i[style*="color:#2f7783"]{color:var(--cl-fratesole)!important;}
html[data-palette="e"] i[style*="color:#8d504d"]{color:var(--cl-sangiuseppe)!important;}
html[data-palette="e"] i[style*="color:#6d5a8a"]{color:var(--cl-malatesta)!important;}
html[data-palette="e"] i[style*="color:#45689b"]{color:var(--cl-nobili)!important;}
html[data-palette="e"] i[style*="color:#3e7a5b"]{color:var(--cl-villalaura)!important;}

/* ambulatori = riquadrati (bianco, bordo, pallino verde) */
html[data-palette="e"] .chip.amb,
html[data-palette="e"] .chip-el.amb{
  background:var(--t-card)!important;
  color:var(--t-ink)!important;
  border:1.5px solid var(--t-line-2)!important;
  font-weight:600;
}
html[data-palette="e"] .chip.amb .dot{background:var(--t-primary)!important;}
html[data-palette="e"] .chip.amb:hover,
html[data-palette="e"] .chip-el.amb:hover{border-color:var(--t-primary)!important;}
/* ferie = verde tenue; appuntamenti personali = ottone */
html[data-palette="e"] .chip.ferie,
html[data-palette="e"] .chip-el.ferie{background:var(--t-tint)!important;color:var(--t-ink)!important;border:0;}
html[data-palette="e"] .chip.pers,
html[data-palette="e"] .chip-el.pers{background:var(--t-brass-bg)!important;color:var(--t-brass-ink)!important;box-shadow:inset 0 0 0 1px var(--t-brass-line);}

/* vista Elenco: le sale avevano tutte lo stesso verde → colore della clinica */
html[data-palette="e"] .chip-el{font-family:var(--t-sans);border-radius:7px!important;}
html[data-palette="e"] .chip-el.sala{background:var(--cl-altra)!important;color:#fff!important;font-weight:700!important;}
html[data-palette="e"] .chip-el.sala[data-sede="Frate Sole"]{background:var(--cl-fratesole)!important;}
html[data-palette="e"] .chip-el.sala[data-sede="San Giuseppe"]{background:var(--cl-sangiuseppe)!important;}
html[data-palette="e"] .chip-el.sala[data-sede="Malatesta Novello"]{background:var(--cl-malatesta)!important;}
html[data-palette="e"] .chip-el.sala[data-sede="Nobili"]{background:var(--cl-nobili)!important;}
html[data-palette="e"] .chip-el.sala[data-sede="Villa Laura"]{background:var(--cl-villalaura)!important;}
html[data-palette="e"] .cal-grid.elenco{background:var(--t-card);border-color:var(--t-line)!important;border-radius:16px!important;box-shadow:var(--t-shadow);}
html[data-palette="e"] .el-head{background:var(--t-card-2)!important;border-bottom:1px solid var(--t-line)!important;}
html[data-palette="e"] .el-head > div{color:var(--t-text-3)!important;letter-spacing:.08em!important;}
html[data-palette="e"] .el-day-wrap{border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .el-cell{border-right-color:var(--t-line)!important;}
html[data-palette="e"] .el-day .n{font-family:var(--t-serif);font-weight:600!important;color:var(--t-ink)!important;}
html[data-palette="e"] .el-day-wrap.dom,
html[data-palette="e"] .el-day-wrap.festivo{background:var(--t-brass-bg)!important;}
html[data-palette="e"] .el-day-wrap.dom .el-day .wd,
html[data-palette="e"] .el-day-wrap.festivo .el-day .wd{color:var(--t-brass-ink)!important;}
html[data-palette="e"] .el-day .fx{color:var(--st-rif-ink)!important;}
html[data-palette="e"] .el-day-wrap.today{box-shadow:inset 4px 0 0 var(--t-primary)!important;background:var(--t-tint-2);}
html[data-palette="e"] .el-day-wrap.today .el-day .n{color:var(--t-primary)!important;}
/* fascia sotto il giorno (appuntamenti personali, ferie): la riga verticale della
   colonna-giorno prosegue, così la fascia resta visivamente dentro il suo giorno */
html[data-palette="e"] .el-band{
  background:linear-gradient(to right, transparent 45px, var(--t-line) 45px, var(--t-line) 46px, transparent 46px) no-repeat;
}
@media (max-width:768px){
  html[data-palette="e"] .el-band{
    background:linear-gradient(to right, transparent 47px, var(--t-line) 47px, var(--t-line) 48px, transparent 48px) no-repeat;
  }
  /* giorno senza ambulatori né sale ma con un appuntamento (es. «Golf» di sabato):
     la fascia sale accanto al numero del giorno invece di lasciare una riga vuota */
  html[data-palette="e"] .el-main:not(:has(.el-cell:not(.el-day):not(.vuota))) + .el-band{
    margin-top:-40px;padding-top:6px;pointer-events:none;
  }
  html[data-palette="e"] .el-main:not(:has(.el-cell:not(.el-day):not(.vuota))) + .el-band > *{pointer-events:auto;}
}

/* elenco pazienti nella seduta, pulsante Nuovo */
html[data-palette="e"] .pz-row{border-top-color:var(--t-line)!important;}
html[data-palette="e"] .pz-row:hover{background:var(--t-row-hover, var(--t-tint-2))!important;}
html[data-palette="e"] .badge-int{background:var(--t-tint-2)!important;border-color:var(--t-tint-line)!important;color:var(--t-ink)!important;font-weight:700;}
html[data-palette="e"] .cal-fab{
  background:var(--t-primary)!important;
  font-family:var(--t-sans);
  font-weight:700!important;
  box-shadow:0 4px 10px rgba(0,0,0,.12), 0 14px 30px -12px rgba(var(--t-primary-rgb),.8)!important;
}
html[data-palette="e"] .cal-fab:hover{background:var(--t-primary-h)!important;}


/* ── 14 · Avviso offline e coda (calendario sul telefono) ─────────────────── */
html[data-palette="e"] .offline-banner{
  background:var(--t-brass-bg)!important;
  border:1px solid var(--t-brass-line)!important;
  color:var(--t-brass-ink)!important;
  border-radius:14px!important;
  font-family:var(--t-sans);
}
html[data-palette="e"] .offline-banner i{color:var(--t-brass);}
html[data-palette="e"] .coda-info{
  background:var(--t-card)!important;
  border:1px solid var(--t-line-2)!important;
  border-left:4px solid var(--t-brass)!important;
  color:var(--t-text)!important;
  border-radius:14px!important;
}
html[data-palette="e"] .coda-info.ok{
  background:var(--t-tint-2)!important;
  border-color:var(--t-tint-line)!important;
  border-left-color:var(--t-primary)!important;
  color:var(--t-ink)!important;
}
html[data-palette="e"] .in-attesa{outline:2px dashed var(--t-brass)!important;}
html[data-palette="e"] .in-attesa .fa-cloud-arrow-up{color:var(--t-brass)!important;}
/* avvisi Bootstrap */
html[data-palette="e"] .alert{border-radius:14px;font-family:var(--t-sans);}
html[data-palette="e"] .alert-info{background:var(--t-tint-2);border-color:var(--t-tint-line);color:var(--t-ink);}
html[data-palette="e"] .alert-success{background:var(--st-acc-bg);border-color:var(--st-acc-line);color:var(--st-acc-ink);}
html[data-palette="e"] .alert-warning{background:var(--t-brass-bg);border-color:var(--t-brass-line);color:var(--t-brass-ink);}
html[data-palette="e"] .alert-danger{background:var(--st-rif-bg);border-color:var(--st-rif-line);color:var(--st-rif-ink);}


/* ── 15 · Modali, toast, menu a tendina ───────────────────────────────────── */
html[data-palette="e"] .modal-content{
  background:var(--t-card)!important;
  border:1px solid var(--t-line)!important;
  border-radius:20px!important;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.06)!important;
  overflow:hidden;
}
html[data-palette="e"] .modal-header{border-bottom-color:var(--t-line);padding:18px 22px 14px;}
html[data-palette="e"] .modal-body{padding-left:22px;padding-right:22px;}
html[data-palette="e"] .modal-footer{border-top-color:var(--t-line);background:var(--t-card-2);padding:12px 18px;}
html[data-palette="e"] .modal-footer.border-0{background:transparent;}
html[data-palette="e"] .modal-title{font-weight:500!important;font-size:1.25rem!important;}
html[data-palette="e"] .modal-title i{color:var(--t-primary);}
html[data-palette="e"] .modal-backdrop{--bs-backdrop-bg:var(--t-bar);--bs-backdrop-opacity:.42;}
html[data-palette="e"] .btn-close:focus{box-shadow:0 0 0 3px var(--t-focus);}
html[data-palette="e"] .toast{border-radius:14px!important;font-family:var(--t-sans);font-weight:600;box-shadow:var(--t-shadow-2);}
html[data-palette="e"] .toast.bg-success{background:var(--t-ink)!important;}
html[data-palette="e"] .toast.bg-danger{background:var(--t-danger)!important;}
html[data-palette="e"] .dropdown-menu{border-color:var(--t-line);border-radius:12px;box-shadow:var(--t-shadow-2);font-family:var(--t-sans);}
html[data-palette="e"] .dropdown-item:active,
html[data-palette="e"] .dropdown-item.active{background:var(--t-primary);}
html[data-palette="e"] .dropdown-item:hover{background:var(--t-tint-2);}


/* ── 16 · Account e altre pagine ──────────────────────────────────────────── */
html[data-palette="e"] .acct-row{background:var(--t-card-2)!important;border-color:var(--t-line)!important;border-radius:12px!important;}
html[data-palette="e"] .acct-badge.admin{background:var(--t-tint)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .acct-avatar{font-family:var(--t-serif);font-weight:600!important;font-size:.95rem!important;}
html[data-palette="e"] .acct-avatar[style*="#3a7d8c"]{background:var(--t-primary)!important;}
html[data-palette="e"] .acct-avatar[style*="#b07d3a"]{background:var(--t-brass-btn, var(--t-brass))!important;}
html[data-palette="e"] .acct-badge.segretaria{background:var(--t-brass-bg)!important;color:var(--t-brass-ink)!important;}
/* riquadro giallo «Questa è la pagina Account del Mac» */
html[data-palette="e"] [style*="background:#fff8e1"]{
  background:var(--t-brass-bg)!important;
  border-color:var(--t-brass-line)!important;
  color:var(--t-brass-ink)!important;
}
html[data-palette="e"] [style*="background:#fff8e1"] a{color:var(--t-brass-ink)!important;}
/* cruscotto (dashboard): numeri come in Home */
html[data-palette="e"] .kpi-sub{color:var(--t-text-3)!important;}
/* PROM da inviare / Esercizi: titoletti «Da inviare 13» ancora blu #1F3864 nello stile della pagina */
html[data-palette="e"] .sez{color:var(--t-ink)!important;font-family:var(--t-sans);}
html[data-palette="e"] .sez .n{background:var(--t-ink)!important;color:#fff!important;}
/* PROM da inviare: restava il vecchio verde petrolio (#3a7d8c / #3a7059) */
html[data-palette="e"] .aiuto{background:var(--t-tint-2)!important;border-color:var(--t-tint-line)!important;color:var(--t-text);}
html[data-palette="e"] .card-p .tempo{background:var(--t-tint)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .btn-p.em{border-color:var(--t-primary)!important;color:var(--t-primary)!important;}
html[data-palette="e"] .btn-p.em:hover{background:var(--t-primary)!important;color:#fff!important;}
html[data-palette="e"] .btn-p.si{background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important;}
html[data-palette="e"] .card-p .ok{color:var(--t-primary)!important;}
html[data-palette="e"] .card-p .riapri,
html[data-palette="e"] .riapri{color:var(--t-primary)!important;}
html[data-palette="e"] .card-p .attesa{color:var(--t-brass-ink)!important;}
html[data-palette="e"] .card-p.prom-promemoria{border-color:var(--t-brass-line)!important;}
/* contatore giallo vivo (bootstrap) nella barra di PROM / Impianti → ottone dei promemoria */
html[data-palette="e"] .topbar .badge.bg-warning{background:var(--t-brass-bg)!important;color:var(--t-brass-ink)!important;}
/* Impianti da registrare: «Sì, operato» era verde petrolio #2f7783 */
html[data-palette="e"] .btn-si{background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important;}
html[data-palette="e"] .btn-si:hover{background:var(--t-primary-h)!important;}
/* Impianti da registrare: tipo intervento e riquadro «già operati» (erano blu) */
html[data-palette="e"] .tipo-badge{background:var(--t-tint)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .prec-box{background:var(--t-tint-2)!important;border-color:var(--t-tint-line)!important;}
/* Registro impianti: numeri e barre (grafici) — le barre erano verde petrolio #2f7783 */
html[data-palette="e"] .kpi .b{background:var(--t-card)!important;border-color:var(--t-line)!important;}
html[data-palette="e"] .kpi .n{color:var(--t-num)!important;font-family:var(--t-serif);font-weight:600!important;}
html[data-palette="e"] .kpi .n[style*="#dc2626"]{color:var(--t-danger)!important;}
html[data-palette="e"] .bar .f{background:var(--t-accent)!important;}
/* Audit Log: la pagina aveva ancora il suo blu/ardesia (#2d5a8e, #1e3a5f, #f8fafc) */
html[data-palette="e"] .filters-card,
html[data-palette="e"] .table-card{background:var(--t-card)!important;border:1px solid var(--t-line);border-radius:16px!important;box-shadow:var(--t-shadow)!important;}
html[data-palette="e"] .filter-group label{color:var(--t-text-3)!important;}
html[data-palette="e"] .filter-group select,
html[data-palette="e"] .filter-group input{background:var(--t-card)!important;border-color:var(--t-line-2)!important;color:var(--t-text);}
html[data-palette="e"] .filter-group select:focus,
html[data-palette="e"] .filter-group input:focus{border-color:var(--t-primary)!important;box-shadow:0 0 0 3px var(--t-focus);}
html[data-palette="e"] .btn-filter{background:var(--t-primary)!important;color:#fff!important;border-radius:10px!important;}
html[data-palette="e"] .btn-filter:hover{background:var(--t-primary-h)!important;}
html[data-palette="e"] .btn-reset{background:var(--t-card)!important;border-color:var(--t-line-2)!important;color:var(--t-text-2)!important;border-radius:10px!important;}
html[data-palette="e"] .btn-reset:hover{background:var(--t-tint-2)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .table-header{border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .table-header-title{color:var(--t-ink)!important;}
html[data-palette="e"] .table-header-title i[style*="#2d5a8e"]{color:var(--t-primary)!important;}
html[data-palette="e"] .count-badge{background:var(--t-tint)!important;color:var(--t-ink)!important;}
html[data-palette="e"] .table-card th{background:var(--t-card-2)!important;color:var(--t-text-3)!important;border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .table-card td{border-bottom-color:var(--t-line)!important;}
html[data-palette="e"] .table-card tr:hover td{background:var(--t-row-hover, var(--t-tint-2))!important;}
html[data-palette="e"] .utente-cell{color:var(--t-ink)!important;}
/* n° riga e IP erano grigio-ardesia chiarissimo (#cbd5e1, #94a3b8: contrasto 1,5 e 2,6 sul bianco) */
html[data-palette="e"] .table-card .rec-cell,
html[data-palette="e"] .table-card .ip-cell{color:var(--t-text-3)!important;}
html[data-palette="e"] .table-card .ts,
html[data-palette="e"] .table-card .det-cell{color:var(--t-text-2)!important;}


/* ── 17 · Telefono (le pagine hanno già le loro regole ≤768px) ─────────────── */
@media (max-width:768px){
  html[data-palette="e"] .topbar,
  html[data-palette="e"] .topbar-modern{
    min-height:56px;
    padding:8px 14px!important;
  }
  html[data-palette="e"] .topbar-brand,
  html[data-palette="e"] .topbar h1,
  html[data-palette="e"] .patient-badge{font-size:1.04rem!important;}
  html[data-palette="e"] .cal-month{font-size:1.12rem!important;}
  html[data-palette="e"] .topbar-search-wrap input{font-size:16px;}
  /* Home */
  html[data-palette="e"] .stats-main-card{border-radius:18px!important;}
  html[data-palette="e"] .stats-main-total{padding:14px 18px!important;border-bottom-color:var(--t-line)!important;}
  html[data-palette="e"] .stats-main-total .stat-num{font-size:2.3rem!important;}
  html[data-palette="e"] .stat-mini{background:var(--t-card)!important;border:1px solid var(--t-line)!important;}
  html[data-palette="e"] .stats-row.in-lista-row .stat-mini{border-color:var(--t-tint-line)!important;}
  html[data-palette="e"] .stat-mini-num{font-size:1.55rem!important;}
  html[data-palette="e"] .stats-main-cta{border-top-color:var(--t-line)!important;}
  html[data-palette="e"] .btn-nuovo-paziente{padding:13px 20px!important;}
  /* tabelle trasformate in schede */
  html[data-palette="e"] table.tab-schede tr{
    background:var(--t-card)!important;
    border:1px solid var(--t-line)!important;
    border-radius:14px!important;
    box-shadow:var(--t-shadow)!important;
  }
  html[data-palette="e"] table.tab-schede td.cella-titolo{
    font-family:var(--t-serif);
    font-size:1.06rem;
    color:var(--t-ink);
    border-bottom-color:var(--t-line)!important;
  }
  html[data-palette="e"] table.tab-schede td[data-label]::before{color:var(--t-text-3)!important;letter-spacing:.07em!important;}
  /* calendario */
  html[data-palette="e"] .cal-cell.empty-mobile:not(.today):not(.festivo-cell){background:var(--t-card-2)!important;}
  html[data-palette="e"] .chip,
  html[data-palette="e"] .chip-el{border-radius:9px!important;}
  /* scheda paziente */
  html[data-palette="e"] .nav-tabs-modern{border-radius:14px 14px 0 0;padding:0 4px;}
  html[data-palette="e"] .card-form{padding:16px 16px;}
}
/* Lista operatoria: sotto 1280px ogni paziente è già una scheda */
@media (max-width:1279px){
  html[data-palette="e"] #tblLista tbody tr{
    background:var(--t-card)!important;
    border:1px solid var(--t-line)!important;
    border-radius:14px!important;
    box-shadow:var(--t-shadow);
  }
  html[data-palette="e"] #tblLista tbody tr:hover td{background:transparent!important;}
  /* la scheda esterna non serve: ogni paziente è già una scheda */
  html[data-palette="e"] .card:has(#tblLista){background:transparent!important;border:0!important;box-shadow:none!important;}
  html[data-palette="e"] .card:has(#tblLista) .dataTables_length{padding-left:2px;}
  html[data-palette="e"] #tblLista td.col-cognome,
  html[data-palette="e"] #tblLista td.col-nome{font-family:var(--t-serif);color:var(--t-ink);}
  html[data-palette="e"] #tblLista td.col-cognome strong{font-weight:600;}
  html[data-palette="e"] #tblLista td[data-label]::before{color:var(--t-text-3)!important;letter-spacing:.07em!important;}
  html[data-palette="e"] #tblLista .res-riga{font-family:var(--t-sans);}
}
@media (max-width:480px){
  html[data-palette="e"] .stats-main-total .stat-num{font-size:2rem!important;}
  html[data-palette="e"] .stat-mini-num{font-size:1.4rem!important;}
}


/* ══════════════════════════════════════════════════════════════════════════════
   18 · Leggibilità per molte ore al computer (meno errori)
   ──────────────────────────────────────────────────────────────────────────────
   Ritocchi misurati sulle pagine vere (09/10/2026):
   · dati delle tabelle in Manrope ≥ 14 px, cifre incolonnate (tabular-nums)
   · Fraunces SOLO per titoli e numeri grandi, mai per i dati delle righe
   · testo secondario che è un DATO (date, residenza, note) ≥ 7:1; niente sotto 4,5:1
   · intestazioni tabelle ≥ 6:1, semibold, maiuscoletto leggero
   · righe alterne sabbia chiaro visibili; riga sotto il mouse verde chiarissimo
   · azioni (pulsanti, link, «+ Nuovo», tab e filtro attivi) smeraldo #0B7A58
   · ottone scuro per i promemoria; stati sempre con testo/icona oltre al colore
   ══════════════════════════════════════════════════════════════════════════════ */

/* cifre incolonnate ovunque (date, orari, numeri): ogni cifra ha la stessa larghezza */
html[data-palette="e"] body{font-variant-numeric:lining-nums tabular-nums;}

/* il testo più tenue resta ≥ 4,5:1: niente segnaposto sbiaditi con l'opacità */
html[data-palette="e"] .form-control::placeholder,
html[data-palette="e"] .form-select::placeholder{color:var(--t-text-3)!important;opacity:1!important;}

/* ── 18a · Tabelle: intestazioni ── */
html[data-palette="e"] table:not(.prom-table-modern):not(.prom-table) thead th,
html[data-palette="e"] .table-card th{
  color:var(--t-th)!important;
  font-family:var(--t-sans)!important;
  font-weight:600!important;
  font-size:.74rem!important;            /* ≈ 11,8 px in maiuscolo = maiuscoletto leggero */
  letter-spacing:.05em!important;
  text-transform:uppercase;
}
html[data-palette="e"] .table-light,
html[data-palette="e"] thead.table-light{--bs-table-color:var(--t-th);}
html[data-palette="e"] .cal-wd,
html[data-palette="e"] .el-head > div{color:var(--t-th)!important;font-weight:600!important;}

/* ── 18b · Tabelle: dati in Manrope ≥ 14 px, cifre incolonnate, mai Fraunces ── */
html[data-palette="e"] table:not(.prom-table-modern):not(.prom-table) > tbody > tr > td{
  font-family:var(--t-sans)!important;
  font-size:14px!important;
  font-variant-numeric:lining-nums tabular-nums;
}
html[data-palette="e"] table > tbody > tr > td strong,
html[data-palette="e"] table > tbody > tr > td b{font-family:var(--t-sans)!important;}
/* testi che le pagine scrivono più piccoli dentro le righe → 14 px anche loro */
html[data-palette="e"] #tblLista .res-riga,
html[data-palette="e"] #tblLista .waiting-badge,
html[data-palette="e"] #tblLista .note-display,
html[data-palette="e"] #tblLista .note-edit,
html[data-palette="e"] #tblLista .note-placeholder,
html[data-palette="e"] #tblLista td > .text-muted,
html[data-palette="e"] table > tbody > tr > td small{font-size:14px!important;}
/* stati (pillole con icona + testo) dentro le righe: 13 px in grassetto, non 10 */
html[data-palette="e"] table > tbody > tr > td .badge{font-size:13px!important;padding:.34em .7em;}
/* contatori grigi di Bootstrap (es. «33 interventi» nello Storico) → tinta della palette */
html[data-palette="e"] .badge.bg-secondary{background:var(--t-tint)!important;color:var(--t-ink)!important;}
/* dati secondari (residenza, IP del registro accessi): ≥ 7:1 */
html[data-palette="e"] .res-riga,
html[data-palette="e"] .table-card .rec-cell,
html[data-palette="e"] .table-card .ip-cell{color:var(--t-text-2)!important;font-weight:500;}

/* ── 18c · Righe alterne (sabbia chiaro) e riga sotto il mouse (verde chiarissimo) ──
   Sul computer; sul telefono le tabelle diventano schede e restano tutte uguali.     */
@media (min-width:769px){
  html[data-palette="e"] table:where(.table, .ris, .tab):where(:not(.prom-table-modern, .prom-table, #tblLista)) > tbody > tr:nth-child(even) > td,
  html[data-palette="e"] .table-card table > tbody > tr:nth-child(even) > td{background-color:var(--t-row-alt);}
}
@media (min-width:1280px){
  html[data-palette="e"] #tblLista > tbody > tr:nth-child(even) > td{background-color:var(--t-row-alt);}
}
html[data-palette="e"] table:where(:not(.prom-table-modern, .prom-table)) > tbody > tr:hover > td{background-color:var(--t-row-hover)!important;}
/* niente velo in più di Bootstrap/DataTables sopra il colore della riga */
html[data-palette="e"] table.table > tbody > tr > *{box-shadow:none!important;}
/* nota della lista: sotto il mouse diventa un campo panna con bordo (si capisce che si modifica) */
html[data-palette="e"] .note-display:hover{background:var(--t-card)!important;box-shadow:inset 0 0 0 1px var(--t-tint-line);}

/* ── 18d · Lista operatoria: colori dentro le righe leggibili su panna, sabbia e verde ── */
/* solvente/assicurato «$» = promemoria: ottone scuro (5,3:1 anche sulle righe sabbia) */
html[data-palette="e"] #tblLista span[title="Solvente"],
html[data-palette="e"] #tblLista span[title="Assicurato"]{color:var(--t-brass-ink)!important;}
/* tempo in lista < 6 mesi: verde scuro (era 4,3:1 sulle righe sabbia) */
html[data-palette="e"] [style^="color:#16a34a"]{color:var(--st-acc-ink)!important;}
/* fuori regione ✈ */
html[data-palette="e"] #tblLista .fa-plane{color:var(--st-chi-ink);}
/* con i dati a 14 px le colonne si ridistribuiscono (totale 100%): più spazio a cognome
   + residenza, nascita e stato; meno a impianti e note (vanno a capo su 2 righe)      */
@media (min-width:1280px){
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(1){width:2.5%!important;}   /* #        */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(2){width:13.5%!important;}  /* Cognome  */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(3){width:7.5%!important;}   /* Nome     */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(4){width:7%!important;}     /* Nascita  */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(5){width:6.5%!important;}   /* Tipo     */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(6){width:4.5%!important;}   /* Lato (la freccina non tocca «LATO») */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(7){width:6.5%!important;}   /* Periodo  */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(8){width:10%!important;}    /* Clinica  */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(9){width:8.5%!important;}   /* Stato    */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(10){width:10%!important;}   /* Impianti */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(11){width:13%!important;}   /* Note     */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(12){width:7%!important;}    /* In lista */
  html[data-palette="e"] #tblLista > colgroup > col:nth-child(13){width:3.5%!important;}  /* Scheda   */
}

/* ── 18e · Pulsanti, link, tab e filtri attivi: smeraldo ── */
/* link: già smeraldo tramite --bs-link-color (§ 2); hover un filo più scuro (--bs-link-hover-color) */
html[data-palette="e"] .nav-tabs-modern .nav-link.active,
html[data-palette="e"] .nav-tabs .nav-link.active{color:var(--t-primary)!important;border-bottom-color:var(--t-primary)!important;}
html[data-palette="e"] .nav-tabs-modern .nav-link{color:var(--t-text-2)!important;}
html[data-palette="e"] .nav-tabs-modern .nav-link.active i{opacity:1;}
/* pillole-filtro di stato: quella attiva è SEMPRE smeraldo; il pallino dello stato resta */
html[data-palette="e"] .stato-btn[data-stato].active{
  background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important;
}
html[data-palette="e"] .stato-btn[data-stato].active:hover{background:var(--t-primary-h)!important;}
html[data-palette="e"] .stato-btn.active:not([data-stato="tutti"])::before{
  content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:0;
  background:var(--st-nes);box-shadow:0 0 0 1.5px #fff;
}
html[data-palette="e"] .stato-btn[data-stato="chiamato"].active::before{background:var(--st-chi);}
html[data-palette="e"] .stato-btn[data-stato="accettato"].active::before{background:var(--st-acc);}
html[data-palette="e"] .stato-btn[data-stato="rimandato"].active::before{background:var(--st-rim);}
html[data-palette="e"] .stato-btn[data-stato="rifiutato"].active::before{background:var(--st-rif);}
html[data-palette="e"] .res-strip .rf.attivo{background:var(--t-primary)!important;color:#fff!important;}

/* ── 18f · Barra in alto: «Esporta Excel» smeraldo pieno, ben staccato dal bosco ── */
html[data-palette="e"] .topbar .btn-success,
html[data-palette="e"] .topbar-mobile-menu .btn-success,
html[data-palette="e"] .topbar-modern .btn-word{
  border:1px solid rgba(255,255,255,.26)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset, 0 2px 8px -3px rgba(0,0,0,.45)!important;
}
html[data-palette="e"] .topbar .btn-success i,
html[data-palette="e"] .topbar-modern .btn-word i{color:#fff!important;}

/* ── 18g · Ottone (promemoria): testo e icone scuri, sempre ≥ 4,5:1 ── */
html[data-palette="e"] .text-warning{color:var(--t-brass-ink)!important;}
html[data-palette="e"] .action-chip[style*="border-color"] i,
html[data-palette="e"] .offline-banner i,
html[data-palette="e"] .in-attesa .fa-cloud-arrow-up{color:var(--t-brass-ink)!important;}

/* ── 18h · Calendario ── */
/* numero dentro la sala: fondo più SCURO (prima più chiaro → 3:1), testo bianco ≥ 5:1 */
html[data-palette="e"] .chip .cnt{background:rgba(0,0,0,.24)!important;color:#fff!important;}
/* numeri dei giorni = dati della riga: Manrope (Fraunces solo titoli e numeri grandi) */
html[data-palette="e"] .cal-dn b,
html[data-palette="e"] .el-day .n,
html[data-palette="e"] .sum-pill b{font-family:var(--t-sans)!important;font-weight:800!important;letter-spacing:0;}
/* ambulatorio: riquadro con bordo verde tenue ben visibile sul panna */
html[data-palette="e"] .chip.amb,
html[data-palette="e"] .chip-el.amb{border-color:var(--t-tint-line)!important;}
html[data-palette="e"] .chip.amb:hover,
html[data-palette="e"] .chip-el.amb:hover{border-color:var(--t-primary)!important;}

/* ── 18i · Iniziali e nomi nelle righe/risultati: Manrope (non Fraunces) ── */
html[data-palette="e"] .search-item-avatar,
html[data-palette="e"] .acct-avatar{font-family:var(--t-sans)!important;font-weight:800!important;}
/* PROM da inviare e Impianti da registrare: ogni scheda è un paziente (= una riga di dati) */
html[data-palette="e"] .card-p h3,
html[data-palette="e"] .card-imp h3,
html[data-palette="e"] .card-imp h3 .meta,
html[data-palette="e"] .meta{font-family:var(--t-sans)!important;letter-spacing:0!important;}
html[data-palette="e"] .card-p h3,
html[data-palette="e"] .card-imp h3{font-weight:800!important;}

/* ── 18k · Registro accessi (Audit Log): grigi della pagina → colori della palette ── */
html[data-palette="e"] .table-card .tbl-cell{color:var(--t-text-2)!important;}
html[data-palette="e"] .table-card .badge-az{font-size:13px!important;}
/* testo delle etichette-azione un filo più scuro: ≥ 6:1 sul loro fondo chiaro */
html[data-palette="e"] .badge-az.az-aggiorna{color:#9A3412!important;}
html[data-palette="e"] .badge-az.az-elimina{color:#991B1B!important;}
html[data-palette="e"] .badge-az.az-backup{color:#155E75!important;}
html[data-palette="e"] .badge-az.az-logout,
html[data-palette="e"] .badge-az.az-default{color:var(--t-text-2)!important;}

/* ── 18l · Scheda paziente: storico interventi e controlli a 14 px come le altre tabelle ── */
html[data-palette="e"] #interv-tbody td{font-size:14px!important;}
html[data-palette="e"] table > tbody > tr > td span[style*="font-size"]:not([class*="badge"]){font-size:14px!important;}  /* «6 mesi», «futuro» */
html[data-palette="e"] table > tbody > tr > td .ctrl-date-badge{font-size:14px!important;font-weight:700;}           /* data del controllo = DATO */
html[data-palette="e"] table > tbody > tr > td :is(.interv-badge, .badge-op, .badge-nop, .inf-badge, .riab-badge){font-size:13px!important;font-weight:700;}
html[data-palette="e"] table > tbody > tr > td :is(.btn-xs, .flag-btn){font-size:13px!important;}

/* ── 18j · Telefono e schermi medi ── */
@media (max-width:1279px){
  /* lista operatoria a schede: nome del paziente in Manrope grassetto, non Fraunces */
  html[data-palette="e"] #tblLista td.col-cognome,
  html[data-palette="e"] #tblLista td.col-nome{font-family:var(--t-sans)!important;font-size:1.05rem!important;color:var(--t-text)!important;}
  html[data-palette="e"] #tblLista td.col-cognome strong{font-weight:800;color:var(--t-ink);}
  html[data-palette="e"] #tblLista td[data-label]::before{color:var(--t-text-3)!important;font-weight:700;}
}
@media (max-width:768px){
  /* titolo di ogni scheda (ex riga di tabella): Manrope grassetto, non Fraunces */
  html[data-palette="e"] table.tab-schede > tbody > tr > td.cella-titolo{
    font-family:var(--t-sans)!important;font-size:1.06rem!important;font-weight:700;color:var(--t-ink);
  }
  html[data-palette="e"] table.tab-schede td[data-label]::before{color:var(--t-text-3)!important;font-weight:700;}
  /* la riga sotto il dito non resta verde: le schede restano panna */
  html[data-palette="e"] table.tab-schede > tbody > tr:hover > td{background-color:transparent!important;}
}

/* ── 18m · Verifica finale (09/10/2026): ritocchi trovati misurando le pagine vere ── */
/* «Elimina paziente» in fondo alla scheda: la pagina lo sbiadisce con opacity .75 →
   testo 3,6:1. Resta un contorno rosso discreto, ma pieno: 6:1.                      */
html[data-palette="e"] .btn-outline-danger[style*="opacity"]{opacity:1!important;}
/* Storico interventi della scheda (computer): con i dati a 14 px le intestazioni e le
   pillole andavano a capo («Periodo / prev.», «Registra / impianto»). Intestazioni e
   dati brevi su una riga sola; va a capo solo la diagnosi.                           */
@media (min-width:769px){
  html[data-palette="e"] table.tab-schede > thead > tr > th{white-space:nowrap;}
  html[data-palette="e"] table.tab-schede > tbody > tr > td{padding:.5rem .45rem;}
  html[data-palette="e"] table.tab-schede > tbody > tr > td:is([data-label="Lato"], [data-label="Periodo prev."], [data-label="In lista da"], [data-label="Regime"], [data-label="Clinica"]),
  html[data-palette="e"] table.tab-schede > tbody > tr > td :is(.btn-xs, .interv-badge, .flag-btn),
  html[data-palette="e"] table.tab-schede > tbody > tr > td > span[style*="font-size"]{white-space:nowrap;}
}
/* Calendario: giorno della settimana accanto al numero = parte della DATA → testo-2 (≥ 7:1),
   un filo più grande nella vista elenco (era 9 px)                                    */
html[data-palette="e"] .cal-dn .wd-m{color:var(--t-text-2)!important;}
html[data-palette="e"] .el-day .wd{color:var(--t-text-2)!important;font-size:.66rem!important;font-weight:600;}
html[data-palette="e"] .el-day-wrap.dom .el-day .wd,
html[data-palette="e"] .el-day-wrap.festivo .el-day .wd{color:var(--t-brass-ink)!important;}
/* Calendario, vista elenco: il numero di interventi nella sala era sbiadito (opacity .85
   → 4,3:1). Pieno: bianco sul colore della clinica ≥ 5,3:1.                           */
html[data-palette="e"] .chip-el.sala .cnt{opacity:1!important;}
/* Scheda, storico interventi: «7 giorni fa» / «futuro» accanto alla data sono DATI, non
   link → testo-2 (≥ 7:1 anche sulle righe sabbia) e ambra scuro per «futuro» (≥ 7:1). */
html[data-palette="e"] table > tbody > tr > td span[style^="color:#2E75B6"]{color:var(--t-text-2)!important;}
html[data-palette="e"] [style^="color:#C55A11"]{color:var(--st-rim-ink)!important;}
/* Home, «Backup DB»: l'icona la colora la pagina (ambra chiaro #f59e0b / verde #10b981,
   < 3:1 sul panna) → ottone scuro e smeraldo della palette (≥ 5:1)                   */
html[data-palette="e"] #backupIcon:is([style*="f59e0b"], [style*="245, 158, 11"]){color:var(--t-brass-ink)!important;}
html[data-palette="e"] #backupIcon:is([style*="10b981"], [style*="16, 185, 129"]){color:var(--t-primary)!important;}


/* ── 18n · Verifica sull'app vera (10/10/2026): tutte le pagine, computer e telefono ── */
/* Account › «Cliniche e regole» (computer): le intestazioni su una riga sola (§ 18m) e i
   menu a tendina larghi tagliavano i nomi («Frate Sc», «Tos», «Emi»). Qui le intestazioni
   vanno a capo come nell'aspetto classico e la freccia dei menu occupa meno spazio.     */
@media (min-width:769px){
  html[data-palette="e"] table.tab-cliniche > thead > tr > th{white-space:normal;vertical-align:bottom;}
  html[data-palette="e"] table.tab-cliniche > tbody > tr > td{padding:.45rem .3rem;}
  html[data-palette="e"] table.tab-cliniche .form-control,
  html[data-palette="e"] table.tab-cliniche .form-select{padding-left:.5rem;}
  html[data-palette="e"] table.tab-cliniche .form-select{padding-right:1.55rem;background-position:right .4rem center;}
  /* più spazio al nome della clinica, meno ai menu brevi (Sì/No) */
  html[data-palette="e"] table.tab-cliniche > thead > tr > th:nth-child(1){width:19%;}
  html[data-palette="e"] table.tab-cliniche > thead > tr > th:nth-child(2){width:17%;}
  html[data-palette="e"] table.tab-cliniche > thead > tr > th:nth-child(3){width:15%;}
  html[data-palette="e"] table.tab-cliniche > thead > tr > th:nth-child(4){width:11%;}
  html[data-palette="e"] table.tab-cliniche > thead > tr > th:nth-child(5){width:17%;}
}
/* Accesso: l'occhio «mostra password» stava 10 px sopra il centro del campo (era centrato
   su etichetta + campo). Ora è al centro del campo.                                       */
html[data-palette="e"] body.pagina-accesso .field .show-pw{top:auto!important;bottom:23px;transform:translateY(50%)!important;}
/* Colori del vecchio aspetto rimasti scritti nelle pagine → palette */
html[data-palette="e"] i.fa-map-marker-alt[style*="#64748b"]{color:var(--t-text-3)!important;}   /* lista: riepilogo regioni */
html[data-palette="e"] span.avviso{color:var(--t-danger)!important;}                           /* PROM: «tempo scaduto» */
html[data-palette="e"] .empty i[style*="3a7059"]{color:var(--t-primary)!important;}                /* Esercizi: niente da inviare */
html[data-palette="e"] .vecchio{background:var(--t-brass-bg)!important;border-color:var(--t-brass-line)!important;color:var(--t-text);}   /* Impianti: nota */
html[data-palette="e"] .nota-sis{background:var(--t-tint-2)!important;color:var(--t-text-2)!important;}
/* Scheda › PROM: «Stato complessivo» (grigio ardesia / verde / giallo / rosso di Tailwind) → stati della palette */
html[data-palette="e"] .prom-badge-summary.neutro{color:var(--t-text-2)!important;border-color:var(--t-line-2)!important;background:var(--t-card-2)!important;}
html[data-palette="e"] .prom-badge-summary.verde{color:var(--st-acc-ink)!important;border-color:var(--st-acc-line)!important;background:var(--st-acc-bg)!important;}
html[data-palette="e"] .prom-badge-summary.giallo{color:var(--st-rim-ink)!important;border-color:var(--st-rim-line)!important;background:var(--st-rim-bg)!important;}
html[data-palette="e"] .prom-badge-summary.rosso{color:var(--st-rif-ink)!important;border-color:var(--st-rif-line)!important;background:var(--st-rif-bg)!important;}
/* Storico: titolo del grafico «Distribuzione mensile» era grigio (text-secondary) → come gli altri titoli */
html[data-palette="e"] .chart-wrap h6{font-family:var(--t-serif)!important;font-size:1.12rem!important;font-weight:500!important;letter-spacing:-.01em;color:var(--t-ink)!important;}
html[data-palette="e"] .chart-wrap h6 i{color:var(--t-primary)!important;font-size:.9em;}
/* GDPR: titoli delle sezioni in MAIUSCOLO piccolo con le grazie (poco leggibili) → titolo come le altre schede */
html[data-palette="e"] .section-card h5{font-family:var(--t-serif)!important;font-size:1.12rem!important;font-weight:500!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--t-ink)!important;}
html[data-palette="e"] .section-card h5 i{color:var(--t-primary)!important;}
/* Dashboard: i quattro riquadri dei numeri tutti alti uguali (prima uno sporgeva) */
html[data-palette="e"] #kpiRow .kpi-card{height:100%;}
@media (max-width:768px){
  /* Risultati PROM › «Adesione per momento»: l'ultima colonna (Adesione) restava fuori dal riquadro */
  html[data-palette="e"] table.ris:not(.prom-table):not(.prom-table-modern) > thead > tr > th{letter-spacing:0!important;padding:6px 3px!important;}
  html[data-palette="e"] table.ris td{padding:7px 3px!important;}
}
@media (max-width:480px){
  /* Account: nome su una riga; ruolo e pulsanti vanno sotto (prima «Dott. / Leonardo / Cortesi» su 3 righe) */
  html[data-palette="e"] .acct-row{flex-wrap:wrap;row-gap:8px;}
  html[data-palette="e"] .acct-row > div[style*="flex:1"]{flex:1 1 calc(100% - 60px)!important;}
  html[data-palette="e"] .acct-row > .acct-badge{margin-left:54px;margin-right:auto;}
}

/* ── 19 · Accesso e registrazione (login.html, registrati.html) ────────────────
   Pagine senza lo stile di base: il <body class="pagina-accesso"> riceve qui lo
   stesso aspetto (fondo bosco come la barra, scheda panna, azioni smeraldo).     */
html[data-palette="e"] body.pagina-accesso{
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(var(--t-accent-rgb),.16) 0%, rgba(var(--t-accent-rgb),0) 60%),
    linear-gradient(160deg, var(--t-bar) 0%, var(--t-bar-2) 100%)!important;
  background-attachment:fixed!important;
}
html[data-palette="e"] body.pagina-accesso .card{
  background:var(--t-card)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:22px!important;
  box-shadow:0 2px 8px rgba(0,0,0,.14), 0 34px 80px -34px rgba(0,0,0,.65)!important;
}
html[data-palette="e"] body.pagina-accesso .logo i{color:var(--t-primary)!important;}
html[data-palette="e"] body.pagina-accesso .logo h1{
  font-family:var(--t-serif)!important;
  font-weight:500!important;
  font-size:1.5rem!important;
  letter-spacing:-.015em!important;
  line-height:1.2;
  color:var(--t-ink)!important;
  margin-top:10px;
}
html[data-palette="e"] body.pagina-accesso .logo p{color:var(--t-text-2)!important;font-size:.86rem;}
html[data-palette="e"] body.pagina-accesso label{
  color:var(--t-text-2)!important;
  font-weight:700!important;
  font-size:.72rem!important;
  letter-spacing:.07em!important;
}
html[data-palette="e"] body.pagina-accesso input:not([type=checkbox]){
  background:var(--t-card-2)!important;
  border:1.5px solid var(--t-line-2)!important;
  border-radius:12px!important;
  color:var(--t-text)!important;
}
html[data-palette="e"] body.pagina-accesso input:not([type=checkbox]):focus{
  background:#fff!important;
  border-color:var(--t-primary)!important;
  box-shadow:0 0 0 3px var(--t-focus)!important;
}
html[data-palette="e"] body.pagina-accesso input::placeholder{color:var(--t-text-3)!important;opacity:1;}
html[data-palette="e"] body.pagina-accesso input[type=checkbox]{accent-color:var(--t-primary)!important;}
html[data-palette="e"] body.pagina-accesso .ricordami-row label{
  color:var(--t-text)!important;font-size:.88rem!important;font-weight:500!important;
  letter-spacing:0!important;text-transform:none!important;
}
html[data-palette="e"] body.pagina-accesso .hint{color:var(--t-text-3)!important;font-size:.74rem!important;font-weight:500!important;letter-spacing:0!important;}
html[data-palette="e"] body.pagina-accesso .show-pw{color:var(--t-text-3)!important;}
html[data-palette="e"] body.pagina-accesso .show-pw:hover{color:var(--t-ink)!important;}
/* «Accedi» / «Crea account»: pulsante pieno smeraldo, come «Nuovo paziente» */
html[data-palette="e"] body.pagina-accesso .btn-login,
html[data-palette="e"] body.pagina-accesso button.btn{
  background:var(--t-primary)!important;
  color:#fff!important;
  border-radius:14px!important;
  font-family:var(--t-sans)!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  box-shadow:0 2px 4px rgba(0,0,0,.08), 0 12px 24px -12px rgba(var(--t-primary-rgb),.75)!important;
}
html[data-palette="e"] body.pagina-accesso .btn-login:hover,
html[data-palette="e"] body.pagina-accesso button.btn:hover{background:var(--t-primary-h)!important;}
html[data-palette="e"] body.pagina-accesso .btn-login:focus-visible,
html[data-palette="e"] body.pagina-accesso button.btn:focus-visible{box-shadow:0 0 0 3px var(--t-focus)!important;outline:none;}
/* link «Crea il tuo account» / «Torna all'accesso» */
html[data-palette="e"] body.pagina-accesso .card a{color:var(--t-primary)!important;}
html[data-palette="e"] body.pagina-accesso .card a:hover{color:var(--t-primary-h)!important;text-decoration:underline!important;}
/* messaggi */
html[data-palette="e"] body.pagina-accesso .error{
  background:var(--st-rif-bg)!important;border-color:var(--st-rif-line)!important;color:var(--st-rif-ink)!important;border-radius:12px!important;
}
html[data-palette="e"] body.pagina-accesso .success{
  background:var(--st-acc-bg)!important;border-color:var(--st-acc-line)!important;color:var(--st-acc-ink)!important;border-radius:12px!important;
}
html[data-palette="e"] body.pagina-accesso .muted{
  background:var(--t-card-2)!important;border-color:var(--t-line)!important;color:var(--t-text-2)!important;border-radius:12px!important;
}
html[data-palette="e"] body.pagina-accesso .footer-note{color:var(--t-text-3)!important;}
@media (max-width:480px){
  html[data-palette="e"] body.pagina-accesso{padding:16px!important;}
  html[data-palette="e"] body.pagina-accesso .card{padding:34px 24px!important;}
}
/* spazio fra icona e testo («Accedi», «Crea il tuo account»): le classi me-1/me-2 sono di
   Bootstrap, che queste pagine non caricano */
html[data-palette="e"] body.pagina-accesso .card i.me-1{margin-right:.3rem;}
html[data-palette="e"] body.pagina-accesso .card i.me-2{margin-right:.5rem;}


/* ── 18p · Segnaposto (10/10/2026, richiesta del dottore) ──────────────────────
   Le scritte d'esempio dentro le caselle vuote erano scure quasi come un dato già
   scritto (5,9:1) e si potevano confondere con una casella compilata. Ora sono
   chiare (2,0:1, secondo ritocco chiesto dal dottore) e in corsivo; il testo
   inserito resta quasi nero (16:1). Anche i menu a tendina ancora da scegliere
   («— seleziona —») hanno lo stesso aspetto, finché non si sceglie una voce. */
html[data-palette="e"] input::placeholder,
html[data-palette="e"] textarea::placeholder,
html[data-palette="e"] .form-control::placeholder,
html[data-palette="e"] .form-select::placeholder,
html[data-palette="e"] body.pagina-accesso input::placeholder{color:#BCB6AB!important;opacity:1!important;font-style:italic;}
/* solo nei moduli da compilare (scheda paziente, finestre): nei FILTRI «Tutte le cliniche»,
   «Tutte le regioni» sono scelte vere e restano scure */
html[data-palette="e"] :is(.tab-pane, .modal) select:has(option[value=""]:checked){color:#BCB6AB!important;font-style:italic;}
html[data-palette="e"] :is(.tab-pane, .modal) select:has(option[value=""]:checked) :is(option, optgroup){color:var(--t-text,#22201B);font-style:normal;}
html[data-palette="e"] .topbar-search-wrap input::placeholder,
html[data-palette="e"] .topbar input::placeholder{color:rgba(255,255,255,.55)!important;font-style:normal;}

/* ── 18q · Pulsanti «Invia» dei moduli email/WhatsApp (10/10/2026) ──────────────
   La regola generale .riab-btn (sfondo scheda) batteva .riab-btn.si: il pulsante
   «Invia» accanto alla mail restava bianco con la scritta bianca (invisibile). */
html[data-palette="e"] .riab-btn.si,
html[data-palette="e"] .btn-es.si{background:var(--t-primary)!important;border-color:var(--t-primary)!important;color:#fff!important;}
html[data-palette="e"] .riab-btn.si:hover,
html[data-palette="e"] .btn-es.si:hover{background:var(--t-primary-h)!important;border-color:var(--t-primary-h)!important;}
html[data-palette="e"] .riab-btn.em,
html[data-palette="e"] .btn-es.em{border-color:var(--t-primary)!important;color:var(--t-primary)!important;}
html[data-palette="e"] .riab-btn.em:hover,
html[data-palette="e"] .btn-es.em:hover{background:var(--t-primary)!important;color:#fff!important;}

/* ── 18r · Stati dinamici (10/10/2026) ──────────────────────────────────────────
   Elementi che compaiono SOLO dopo un clic, al passaggio del mouse o mentre l'app
   lavora (pulsanti disattivati, «Invio…»): misurati sulla scheda paziente aprendo
   ogni stato (computer e telefono). Testi ≥ 4,5:1, contorni dei pulsanti ≥ 3:1.
   Contorni «forti» per i pulsanti a contorno (le linee sabbia/tinta restano per
   schede e tabelle): ≥ 3,2:1 su panna, righe sabbia, riga sotto il mouse e fondo
   grigio dei moduli.                                                              */
html[data-palette="e"]{
  --t-line-3:#8C8270;          /* contorno neutro dei pulsanti  (3,7:1 panna · 3,3:1 sabbia) */
  --t-danger-line:#B36A55;     /* contorno mattone «Elimina»    (4,0:1 panna · 3,5:1 sabbia) */
  --t-brass-line-3:#9C7F33;    /* contorno ottone               (3,8:1 panna · 3,3:1 sabbia) */
}
/* 1 · «Invia su WhatsApp» grande (modulo visita): il verde WhatsApp #25A244 dava al
   bianco 3,3:1 (4,4:1 col mouse) → verde «accettato» della palette 5,0:1 · 7,1:1.   */
html[data-palette="e"] .riab-invia.wa{background:var(--st-acc)!important;}
html[data-palette="e"] .riab-invia.wa:not(:disabled):hover{background:var(--st-acc-ink)!important;}
/* 2 · «WhatsApp» piccolo (storico visite): la regola .riab-btn del tema (§ 12) gli
   toglieva il bordo verde (restava sabbia 1,5:1) e col mouse era bianco su #25A244. */
html[data-palette="e"] .riab-btn.wa{border-color:var(--st-acc)!important;color:var(--st-acc)!important;}
html[data-palette="e"] .riab-btn.wa:not(:disabled):hover{background:var(--st-acc)!important;border-color:var(--st-acc)!important;color:#fff!important;}
/* 3 · «Annulla» e «No» accanto a «Invia» / «Sì, inviato»: bordo sabbia invisibile
   (1,5:1) e nessun cambio col mouse.                                                */
html[data-palette="e"] .riab-btn:not(.si):not(.em):not(.wa):not(:disabled){border-color:var(--t-line-3)!important;}
html[data-palette="e"] .riab-btn:not(.si):not(.em):not(.wa):not(:disabled):hover{background:var(--t-tint-2)!important;border-color:var(--t-primary-line)!important;color:var(--t-ink)!important;}
/* 4 · Privacy › consenso revocato: la pagina sbiadisce la riga (opacity .75) e il
   «Revocato il …» scendeva a 4,2:1. Riga piena (resta barrata, con ✕ e «Revocato»). */
html[data-palette="e"] #consensiTable tbody tr[style*="opacity"]{opacity:1!important;}
html[data-palette="e"] #consensiTable tbody tr[style*="opacity"] td{color:var(--t-text-2);}
html[data-palette="e"] #consensiTable span[style*="#b42318"]{color:var(--t-danger)!important;}
/* 5 · Pulsanti a contorno (tutta l'app): i bordi sabbia/tinta chiari non si
   distinguevano dal fondo (1,2–1,7:1).                                              */
html[data-palette="e"] .btn-outline-secondary,
html[data-palette="e"] .btn-secondary,
html[data-palette="e"] .input-group > .btn:last-child:not(:first-child){border-color:var(--t-line-3)!important;}
html[data-palette="e"] .btn-outline-secondary:hover,
html[data-palette="e"] .btn-secondary:hover,
html[data-palette="e"] .input-group > .btn-outline-secondary:last-child:not(:first-child):hover{border-color:var(--t-primary-line)!important;}
html[data-palette="e"] .btn-outline-primary,
html[data-palette="e"] .btn-outline-success{border-color:var(--t-primary-line)!important;}
html[data-palette="e"] .btn-outline-danger{border-color:var(--t-danger-line)!important;}
html[data-palette="e"] .btn-outline-warning{border-color:var(--t-brass-line-3)!important;}
/* 6 · Pulsanti di stato nella scheda (Chiamato / Accettato / Rimandato / Rifiuta):
   spenti con contorno visibile, accesi col bordo scuro del loro stato (≥ 6:1).     */
html[data-palette="e"] .flag-btn[style*="#f8fafc"],
html[data-palette="e"] .flag-btn[style*="rgb(248, 250, 252)"]{border-color:var(--t-line-3)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_accettato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_accettato"][style*="color: rgb(255, 255, 255)"]{border-color:var(--st-acc-ink)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_chiamato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_chiamato"][style*="color: rgb(255, 255, 255)"]{border-color:var(--st-chi-ink)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_rimandato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_rimandato"][style*="color: rgb(255, 255, 255)"]{border-color:var(--st-rim-ink)!important;}
html[data-palette="e"] .flag-btn[data-field="flag_rifiutato"][style*="color:#fff"],
html[data-palette="e"] .flag-btn[data-field="flag_rifiutato"][style*="color: rgb(255, 255, 255)"]{border-color:var(--st-rif-ink)!important;}
/* 7 · Menu dei protocolli: i titoli dei gruppi (Ginocchio, Spalla…) ereditavano il
   grigio chiaro in corsivo del menu ancora da scegliere (§ 18p).                    */
html[data-palette="e"] select:has(option[value=""]:checked) optgroup{color:var(--t-text-2);font-style:normal;}
/* 8 · Pulsanti disattivati e «Invio…» in corso: la pagina e Bootstrap li sbiadivano
   (opacity .5–.65 → scritta bianca 2,0–2,8:1). Ora fondo sabbia «spento» e scritta
   leggibile (5,5:1). Riguarda: «Invia su WhatsApp» / «Invia per email» mentre salva
   la visita, «Invio…» e «Sì, inviato», «Invia email con protocolli» (LCA, nessuna
   fase scelta), «Invia questionario» (nuovo paziente) e «Invio in corso...» (PROM).
   Ultimo blocco della sezione: vince sulle regole del mouse qui sopra e del § 18q. */
html[data-palette="e"] .riab-invia:disabled,
html[data-palette="e"] .riab-invia:disabled:hover{
  opacity:1!important;background:var(--t-card-2)!important;color:var(--t-text-3)!important;
  box-shadow:inset 0 0 0 1px var(--t-line-2)!important;cursor:progress;
}
html[data-palette="e"] .riab-btn:disabled,
html[data-palette="e"] .riab-btn:disabled:hover,
html[data-palette="e"] .riab-btn.si:disabled,
html[data-palette="e"] #protLcaInvia:disabled,
html[data-palette="e"] #btnInviaEmail:disabled,
html[data-palette="e"] #ginocchio .btn:disabled,
html[data-palette="e"] #anca .btn:disabled{
  opacity:1!important;background:var(--t-card-2)!important;border-color:var(--t-line-2)!important;
  color:var(--t-text-3)!important;box-shadow:none!important;
}
html[data-palette="e"] .riab-btn:disabled{cursor:progress;}

/* ── 18s · Stati dinamici, seconda parte (10/10/2026) ───────────────────────────
   Casi trovati dal controllo «dopo un clic» nelle altre pagine (PROM, Esercizi,
   Impianti, Calendario, Lista operatoria, Account). */
/* WhatsApp al passaggio del mouse: verde più scuro (bianco 5:1) */
html[data-palette="e"] .btn-p.wa:hover,
html[data-palette="e"] .btn-es.wa:hover,
html[data-palette="e"] .riab-btn.wa:hover{background:var(--st-acc)!important;border-color:var(--st-acc)!important;color:#fff!important;}
/* pulsanti mentre l'app lavora («Invio…») e disattivati: leggibili */
html[data-palette="e"] .btn-p:disabled,
html[data-palette="e"] .btn-es:disabled{opacity:1!important;cursor:progress;background:var(--t-card-2)!important;border-color:var(--t-line-2)!important;color:var(--t-text-3)!important;}
/* Impianti: «No, non operato», conferme verdi, scheda già registrata */
html[data-palette="e"] .btn-no{border-color:var(--t-danger)!important;color:var(--t-danger)!important;}
html[data-palette="e"] .btn-no:hover{background:var(--t-danger)!important;border-color:var(--t-danger)!important;color:#fff!important;}
html[data-palette="e"] .nf-ok,
html[data-palette="e"] .ok-msg{color:var(--st-acc-ink)!important;}
html[data-palette="e"] .card-imp.done{opacity:1!important;background:var(--t-card-2)!important;}
html[data-palette="e"] .card-imp.done h3,
html[data-palette="e"] .card-imp.done .meta{color:var(--t-text-2)!important;}
/* messaggi scritti in verde/rosso «fissi» (es. prova notifica nel calendario) */
html[data-palette="e"] [style*="color: rgb(22, 163, 74)"],
html[data-palette="e"] [style*="color:#16a34a"]{color:var(--st-acc-ink)!important;}
html[data-palette="e"] [style*="color: rgb(220, 38, 38)"],
html[data-palette="e"] [style*="color:#dc2626"]:not(.flag){color:var(--st-rif)!important;}
/* Lista operatoria: spiegazione sotto la vista clinica */
html[data-palette="e"] #vistaBox span[style*="#64748b"]{color:var(--t-text-2)!important;}
/* Account: account disattivato leggibile (tratteggiato invece che sbiadito) */
html[data-palette="e"] .acct-row.acct-inactive{opacity:1!important;background:var(--t-bg)!important;border-style:dashed!important;}
html[data-palette="e"] .acct-row.acct-inactive .acct-avatar{background:var(--t-text-3)!important;}
/* Lista operatoria: il suggerimento «Fuori regione per …» non esce più dallo schermo */
html[data-palette="e"] #tblLista td.col-cognome .tip .tip-box{left:-4px!important;transform:none!important;}
html[data-palette="e"] #tblLista td.col-cognome .tip .tip-box::after{left:12px!important;}
/* Vista clinica (11/10/2026): «non adatto a …» di nuovo ROSSO e «da verificare» ottone, in
   grassetto. La regola .res-riga di 18d (grigio, 500) veniva dopo con la stessa forza e li
   copriva: qui una specificità più alta (.res-riga.compat-no) li rimette come promesso dal riquadro */
html[data-palette="e"] .res-riga.compat-no{color:var(--t-danger)!important;font-weight:700!important;}
html[data-palette="e"] .res-riga.compat-ver{color:var(--t-brass-ink)!important;font-weight:700!important;}

/* ── 18t · Telefono: fumetti della lista operatoria dentro lo schermo (11/10/2026) ── */
@media (max-width: 768px){
  html[data-palette="e"] #tblLista .tip .tip-box{white-space:normal!important;width:max-content;max-width:min(260px,70vw);left:0!important;transform:none!important;}
  html[data-palette="e"] #tblLista .tip .tip-box::after{left:12px!important;}
}

/* ── 18u · Colore principale OTTANIO (provato l'11/10, per tutti dal 12/10, UNICO dal 15/10/2026) ─
   Il verde a scelta (localStorage 'tinta', voci «Colore» nei menu) è stato tolto il 15/10/2026:
   queste regole valgono per tutti, senza l'attributo data-colore. Lo script di app.py lo mette
   ancora per qualche settimana, solo per le copie VECCHIE di questo file rimaste nei telefoni.
   Questo blocco resta QUI (l'ultima definizione di queste variabili): spostato in cima, i
   blocchi html[data-palette="e"]{…} che vengono dopo lo coprirebbero.
   È il colore principale: barra e menu a sinistra petrolio scuro; pulsanti, link,
   tab e filtri attivi ottanio; barre dei grafici; tinte chiare (evidenziazioni, riga sotto il
   mouse); numeri grandi; anello di focus; scheda grande della Home. Restano quelli della E:
   fondo crema #F6F1E7, schede panna #FFFDF8, linee sabbia, testi scuri, ottone dei
   promemoria, Fraunces/Manrope, colori degli stati della lista.
   Perché: il VERDE resta SOLO per gli esiti positivi (Accettato, Inviato, Salvato, conferme,
   WhatsApp) e non si confonde più con i pulsanti (ΔE2000 pulsante ↔ «Accettato»: 8 col
   verde, 30 con l'ottanio). Frate Sole, che era ottanio, passa a PRUGNA (scelta del dottore).
   Contrasti misurati (WCAG): bianco sul pulsante 5,9:1 (col mouse 7,7:1) · link e scritte
   ottanio ≥ 4,8:1 su panna, sabbia, tinte e riga sotto il mouse · titoli e numeri grandi
   10,9:1 sul fondo e 12:1 sulle schede · icone sulla barra 7,8:1 · contorno dei pulsanti
   ≥ 3,5:1 · barre dei grafici 3,4:1 sul panna · testo (14,5:1) e dati (≥ 7,3:1) invariati.
   Le regole di layout del menu (§ 20) usano le stesse variabili: nessuna regola in più lì. */
html[data-palette="e"]{
  --t-bar:#123A44; --t-bar-2:#1B4A56; --t-bar-rgb:18,58,68;              /* barra petrolio scuro (bianco 12,3:1) */
  --t-bar-icon:#86DCE8; --t-bar-icon-rgb:134,220,232;                    /* icone acqua chiaro sulla barra (7,8:1) */
  --t-ml-bg:#0D2E36;                                                     /* fondo del menu a sinistra, un filo più scuro */
  --t-ink:#123A44; --t-num:#123A44;                                      /* titoli e numeri grandi nel colore della barra */
  --t-primary:#0E6E7E; --t-primary-h:#0A5B68; --t-primary-rgb:14,110,126; /* AZIONI ottanio: bianco 5,9:1 · hover 7,7:1 */
  --t-primary-line:#348795;                                              /* contorno ottanio dei pulsanti (≥ 3,5:1) */
  --t-accent:#1597AE; --t-accent-rgb:21,151,174;                         /* SOLO riempimenti (barre dei grafici), mai testo */
  --t-accent-soft:#A9D9E1;                                               /* mini-grafici della Home: mesi passati */
  --t-tint:#D6ECEF; --t-tint-2:#EAF5F6; --t-tint-line:#AFD8DF;           /* tinte ottanio chiare */
  --t-row-hover:#E1F0F2;                                                 /* riga sotto il mouse (ΔE 8–10 dalle righe) */
  --t-focus:rgba(21,151,174,.30);                                        /* anello di focus */
  --t-eroe:#1C5A66; --t-eroe-testo-rgb:214,240,245;                      /* scheda grande della Home (testo ≥ 6:1) */
  --t-velo:rgba(10,30,36,.42);                                           /* velo dietro i fogli del telefono */
  /* Frate Sole era ottanio come i pulsanti → PRUGNA (12/10/2026, scelta del dottore: lo smeraldo
     era troppo vicino al verde «✓ Accettato», ΔE 8,7). Bianco 8,2:1; scritta #5E3270 ≥ 8,3:1
     anche sulle righe sabbia e sotto il mouse. ΔE2000 ≥ 17 da tutti gli altri colori. */
  --cl-fratesole:#6B3C7C; --cl-fratesole-ink:#5E3270;
  /* esiti di Bootstrap (.bg-success, .text-bg-success…): verde «Accettato», non il colore principale */
  --bs-success-rgb:21,128,61;
}
/* Esiti positivi: VERDI, diversi dal colore principale ottanio */
html[data-palette="e"] .text-success{color:var(--st-acc-ink)!important;}                 /* ✓ consenso firmato (7:1) */
html[data-palette="e"] .status-saved{background:var(--st-acc-bg)!important;color:var(--st-acc-ink)!important;}   /* «Salvato alle…», «Inviato a…» */
html[data-palette="e"] .toast.bg-success{background:var(--st-acc-ink)!important;}       /* avviso «Salvato» (bianco 7,1:1) */
html[data-palette="e"] .coda-info.ok{                                                 /* calendario: attività inviate */
  background:var(--st-acc-bg)!important;border-color:var(--st-acc-line)!important;
  border-left-color:var(--st-acc)!important;color:var(--st-acc-ink)!important;
}
html[data-palette="e"] span.ok,
html[data-palette="e"] .card-p .ok{color:var(--st-acc-ink)!important;}                  /* PROM / Esercizi: «✓ WhatsApp…», «✓ compilato» */
html[data-palette="e"] #backupIcon:is([style*="10b981"], [style*="16, 185, 129"]),
html[data-palette="e"] .empty i[style*="3a7059"],
html[data-palette="e"] .hn-cat-foot b i{color:var(--st-acc)!important;}                 /* backup recente · niente da inviare · ✓ Eseguiti (Home) */
html[data-palette="e"] #btnInviaEmail.btn-success,
html[data-palette="e"] .btn-success[onclick^="apriWhatsApp"]{                         /* «✓ Email inviata» · «Apri WhatsApp» */
  background:var(--st-acc)!important;border-color:var(--st-acc)!important;color:#fff!important;              /* bianco 5,0:1 */
  box-shadow:0 1px 2px rgba(0,0,0,.08), 0 4px 12px -6px rgba(21,128,61,.55)!important;
}
html[data-palette="e"] .btn-success[onclick^="apriWhatsApp"]:hover{background:var(--st-acc-ink)!important;border-color:var(--st-acc-ink)!important;}


/* ── 18v · Verifica dell'ottanio (12/10/2026): foto e misure su tutte le pagine ──────
   Audit Log senza eventi: «Nessun evento trovato» era grigio ardesia #94a3b8 (2,5:1 sul
   panna, sotto il minimo 4,5:1) → testo tenue della palette (5,9:1). Vale per verde e ottanio. */
html[data-palette="e"] .empty-state{color:var(--t-text-3)!important;}
html[data-palette="e"] .empty-state i{color:var(--t-line-2)!important;}   /* icona decorativa */


/* ══════════════════════════════════════════════════════════════════════════════
   20 · LAYOUT NUOVO (10/10/2026): menu a sinistra · barra in basso · Home a schede
   ──────────────────────────────────────────────────────────────────────────────
   L'unica interfaccia dal 15/10/2026 (tolti l'interruttore LAYOUT_NUOVO, l'«Aspetto
   classico» e la Home classica). Le pagine interne ricevono templates/_menu_laterale.html
   (computer) e _nav_basso.html (telefono ≤ 768 px); la Home è il blocco .home-nuova.
   QUANDO si vedono (menu a sinistra > 768 px, barra in basso ≤ 768 px, Home sempre) lo
   decide la CSS di base di app.py (make_base_css), così si vedono anche se questo file
   non arriva; qui sotto c'è solo il loro ASPETTO, con html[data-palette="e"] + classe
   .con-menu (messa dallo script del menu).
   Classi su <html>: con-menu · menu-ridotto (solo icone, localStorage 'menu-ridotto')
   · pag-<endpoint> (es. pag-index) · foglio-aperto.
   Indice: 20a barra laterale · 20b menu ridotto · 20c barre in alto senza doppioni
           20d telefono: barra in basso e fogli · 20e Home nuova · 20f stampa
   ══════════════════════════════════════════════════════════════════════════════ */
html[data-palette="e"].con-menu{
  --ml-w:248px;                         /* barra laterale */
  --ml-w-rid:76px;                      /* barra ridotta a icone */
  --nb-h:64px;                          /* barra in basso del telefono */
  --ml-bg:var(--t-ml-bg);               /* bosco un filo più scuro della barra in alto (ottanio: petrolio, § 18u) */
  --ml-testo:rgba(255,255,255,.84);     /* voci: 10:1 sul bosco */
  --ml-tenue:rgba(255,255,255,.70);     /* gruppi e numeri: ≥ 5:1 anche sulla voce attiva (verifica 10/10) */
}

/* ── 20a · Barra laterale (computer, > 768 px) ── */
@media (min-width:769px){
  html[data-palette="e"].con-menu body{padding-left:var(--ml-w)!important;transition:padding-left .18s ease;}
  html[data-palette="e"].con-menu.menu-ridotto body{padding-left:var(--ml-w-rid)!important;}
}
html[data-palette="e"].con-menu .menu-lat{
  position:fixed;top:0;left:0;bottom:0;z-index:1030;width:var(--ml-w);
  flex-direction:column;gap:2px;padding:0 12px 12px;
  background:linear-gradient(180deg,var(--t-bar) 0%,var(--ml-bg) 100%);
  color:var(--ml-testo);font-family:var(--t-sans);
  overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;
  box-shadow:1px 0 0 rgba(0,0,0,.22), 8px 0 26px -20px rgba(0,0,0,.65);
  transition:width .18s ease;
}
html[data-palette="e"].con-menu .ml-marchio{
  display:flex;align-items:center;gap:11px;flex:none;min-height:60px;margin:0 -12px 8px;padding:10px 12px 10px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;
}
html[data-palette="e"].con-menu .ml-logo{
  width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;font-size:15px;color:#fff;
  background:linear-gradient(140deg,var(--t-accent) 0%,var(--t-primary) 75%);
  box-shadow:0 6px 14px -6px rgba(var(--t-accent-rgb),.55), inset 0 1px 0 rgba(255,255,255,.3);
}
html[data-palette="e"].con-menu .ml-logo i{transform:rotate(-45deg);}
html[data-palette="e"].con-menu .ml-testo{min-width:0;line-height:1.15;}
html[data-palette="e"].con-menu .ml-testo small{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t-bar-icon);}
html[data-palette="e"].con-menu .ml-testo b{display:block;font-family:var(--t-serif);font-weight:500;font-size:16.5px;letter-spacing:-.01em;color:#fff;white-space:nowrap;}
html[data-palette="e"].con-menu .ml-voci{display:flex;flex-direction:column;gap:2px;flex:none;}
html[data-palette="e"].con-menu .ml-voce{
  position:relative;display:flex;align-items:center;gap:11px;width:100%;min-height:40px;margin:0;padding:0 10px;
  border:0;border-radius:10px;background:transparent;color:var(--ml-testo);
  font:600 14px/1.2 var(--t-sans);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background .12s, color .12s;
}
html[data-palette="e"].con-menu .ml-voce > i:first-child{width:18px;flex:none;text-align:center;font-size:15px;color:rgba(var(--t-bar-icon-rgb),.8);}
html[data-palette="e"].con-menu .ml-voce:hover{background:rgba(255,255,255,.07);color:#fff;}
html[data-palette="e"].con-menu .ml-voce:focus-visible,
html[data-palette="e"].con-menu .ml-sotto a:focus-visible,
html[data-palette="e"].con-menu .ml-marchio:focus-visible,
html[data-palette="e"].con-menu .ml-riduci:focus-visible,
html[data-palette="e"].con-menu .ml-icona:focus-visible{outline:2px solid var(--t-bar-icon);outline-offset:1px;}
html[data-palette="e"].con-menu .ml-voce.attiva{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);}
html[data-palette="e"].con-menu .ml-voce.attiva > i:first-child{color:var(--t-bar-icon);}
html[data-palette="e"].con-menu .ml-voce.attiva::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--t-accent);}
html[data-palette="e"].con-menu .ml-eti{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}
html[data-palette="e"].con-menu .ml-conta{font-size:12px;font-weight:700;color:var(--ml-tenue);font-variant-numeric:tabular-nums;}
html[data-palette="e"].con-menu .ml-freccia{font-size:10px;color:var(--ml-tenue);transition:transform .15s;}
html[data-palette="e"].con-menu .ml-gruppo-lista.aperto .ml-freccia{transform:rotate(180deg);}
html[data-palette="e"].con-menu .ml-badge{
  min-width:22px;padding:1px 7px;border-radius:999px;background:var(--t-brass-bg);color:var(--t-brass-ink);
  font-size:11.5px;font-weight:800;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1px var(--t-brass-line);
}
html[data-palette="e"].con-menu .ml-gruppo{padding:14px 10px 5px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ml-tenue);white-space:nowrap;}
/* sottovoci della lista operatoria */
html[data-palette="e"].con-menu .ml-sotto{display:none;flex-direction:column;gap:1px;margin:2px 0 6px 19px;padding-left:12px;border-left:1.5px solid rgba(255,255,255,.14);}
html[data-palette="e"].con-menu .ml-gruppo-lista.aperto .ml-sotto{display:flex;}
html[data-palette="e"].con-menu .ml-sotto-tit{display:none;}
html[data-palette="e"].con-menu .ml-sotto a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:0 10px;border-radius:8px;
  font-size:13.5px;font-weight:600;color:var(--ml-testo);text-decoration:none;white-space:nowrap;
}
html[data-palette="e"].con-menu .ml-sotto a:hover{background:rgba(255,255,255,.07);color:#fff;}
html[data-palette="e"].con-menu .ml-sotto a.attiva{background:rgba(var(--t-bar-icon-rgb),.16);color:#fff;}
html[data-palette="e"].con-menu .ml-sotto-n{font-size:12px;font-weight:700;color:var(--ml-tenue);font-variant-numeric:tabular-nums;}
html[data-palette="e"].con-menu .ml-sotto a.attiva .ml-sotto-n{color:var(--t-bar-icon);}
/* fondo: Privacy, Account, utente, riduci */
html[data-palette="e"].con-menu .ml-spazio{flex:1 1 auto;min-height:12px;}
html[data-palette="e"].con-menu .ml-utente{
  display:flex;align-items:center;gap:10px;flex:none;margin-top:8px;padding:9px 6px 9px 10px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
}
html[data-palette="e"].con-menu .ml-avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--t-tint);color:var(--t-ink);font-size:12.5px;font-weight:800;letter-spacing:.02em;}
html[data-palette="e"].con-menu .ml-utente-testo{flex:1 1 auto;min-width:0;line-height:1.2;}
html[data-palette="e"].con-menu .ml-utente-testo b{display:block;font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html[data-palette="e"].con-menu .ml-utente-testo small{display:block;font-size:11.5px;color:var(--ml-tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}   /* con 2-3 icone accanto (Aspetto, Colore, Esci) non finisce sotto le icone */
html[data-palette="e"].con-menu .ml-icona{width:30px;height:30px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ml-tenue);font-size:13px;text-decoration:none;cursor:pointer;}
html[data-palette="e"].con-menu .ml-icona:hover{background:rgba(255,255,255,.1);color:#fff;}
html[data-palette="e"].con-menu .ml-riduci{
  display:flex;align-items:center;gap:11px;flex:none;width:100%;min-height:34px;margin-top:6px;padding:0 10px;
  border:0;border-radius:10px;background:transparent;color:var(--ml-tenue);font:600 12.5px var(--t-sans);text-align:left;cursor:pointer;
}
html[data-palette="e"].con-menu .ml-riduci:hover{background:rgba(255,255,255,.07);color:#fff;}
html[data-palette="e"].con-menu .ml-riduci i{width:18px;text-align:center;transition:transform .18s;}
/* schermi bassi (Mac 1440×900 = ~790 px utili nel browser): le voci principali scorrono da sole,
   mentre Privacy, Account, utente e «Riduci menu» restano SEMPRE visibili in fondo (verifica 10/10) */
html[data-palette="e"].con-menu .ml-voci:not(.ml-fondo){
  flex:1 1 auto;min-height:0;margin:0 -12px;padding:2px 12px 4px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;
}
html[data-palette="e"].con-menu .ml-spazio{flex:none;min-height:8px;}
@media (min-width:769px) and (max-height:960px){   /* fino a 960: con le voci nuove (Giro PROM, Relazione, Doppioni, Accesso sicuro) a 40 px non ci stavano */
  html[data-palette="e"].con-menu .ml-voce{min-height:36px;}
  html[data-palette="e"].con-menu .ml-sotto a{min-height:29px;}
  html[data-palette="e"].con-menu .ml-gruppo{padding-top:10px;padding-bottom:4px;}
  html[data-palette="e"].con-menu .ml-utente{margin-top:6px;padding-top:6px;padding-bottom:6px;}
  html[data-palette="e"].con-menu .ml-riduci{min-height:30px;margin-top:4px;}
}

/* ── 20b · Menu ridotto a sole icone (pulsante «Riduci menu»; da solo fra 769 e 1099 px) ── */
html[data-palette="e"].con-menu.menu-ridotto .menu-lat{width:var(--ml-w-rid);padding-left:10px;padding-right:10px;overflow:visible;}
html[data-palette="e"].con-menu.menu-ridotto .ml-marchio{justify-content:center;margin-left:-10px;margin-right:-10px;padding-left:0;padding-right:0;}
html[data-palette="e"].con-menu.menu-ridotto .ml-testo,
html[data-palette="e"].con-menu.menu-ridotto .ml-eti,
html[data-palette="e"].con-menu.menu-ridotto .ml-conta,
html[data-palette="e"].con-menu.menu-ridotto .ml-utente-testo{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;
}
html[data-palette="e"].con-menu.menu-ridotto .ml-freccia,
html[data-palette="e"].con-menu.menu-ridotto .ml-icona{display:none;}
html[data-palette="e"].con-menu.menu-ridotto .ml-voce{justify-content:center;padding:0;}
html[data-palette="e"].con-menu.menu-ridotto .ml-voci:not(.ml-fondo){overflow:visible;margin:0 -10px;padding:2px 10px 4px;}   /* il riquadro della lista esce a lato */
html[data-palette="e"].con-menu.menu-ridotto .ml-voce.attiva::before{left:-10px;}
html[data-palette="e"].con-menu.menu-ridotto .ml-badge{position:absolute;top:2px;right:4px;min-width:18px;padding:0 5px;font-size:10px;line-height:16px;}
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo{padding:8px 0 6px;font-size:0;}
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo::before{content:"";display:block;height:1px;margin:0 8px;background:rgba(255,255,255,.12);}
html[data-palette="e"].con-menu.menu-ridotto .ml-utente{justify-content:center;padding:6px 0;background:transparent;border-color:transparent;}
html[data-palette="e"].con-menu.menu-ridotto .ml-riduci{justify-content:center;padding:0;}
html[data-palette="e"].con-menu.menu-ridotto .ml-riduci i{transform:rotate(180deg);}
/* lista operatoria nel menu ridotto: le sottovoci in un riquadro a lato (passando col mouse o con un clic) */
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista{position:relative;}
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista .ml-sotto{
  display:none;position:absolute;left:calc(100% + 12px);top:-6px;z-index:5;min-width:214px;margin:0;padding:8px;
  border:1px solid rgba(255,255,255,.12);border-radius:14px;background:var(--t-bar-2);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);
}
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista .ml-sotto::before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:14px;}
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista:hover .ml-sotto,
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista:focus-within .ml-sotto,
html[data-palette="e"].con-menu.menu-ridotto .ml-gruppo-lista.volo .ml-sotto{display:flex;}
html[data-palette="e"].con-menu.menu-ridotto .ml-sotto-tit{display:block;padding:4px 10px 6px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ml-tenue);}

/* ── 20c · Barre in alto delle pagine: restano titolo e azioni, niente doppioni ──
   «← Home» / «Torna alla lista» e Calendario·Dashboard·Storico della Home sono nel menu
   (sul telefono nella barra in basso), come il ☰ della Home (ora «Altro»).            */
html[data-palette="e"].con-menu .topbar a[href="/"],
html[data-palette="e"].con-menu .topbar-modern a[href="/"],
html[data-palette="e"].con-menu .topbar-buttons > a[href="/calendario"],
html[data-palette="e"].con-menu .topbar-buttons > a[href="/dashboard"],
html[data-palette="e"].con-menu .topbar-buttons > a[href="/storico"],
html[data-palette="e"].con-menu .topbar-hamburger,
html[data-palette="e"].con-menu .topbar-mobile-menu,
html[data-palette="e"].con-menu.pag-proms_risultati_page .topbar > a[href="/proms"]{display:none!important;}   /* «← PROM da inviare»: è la voce PROM del menu */
@media (min-width:769px){
  /* Home: il marchio è già nel menu; in alto restano ricerca, Esporta Excel, Sync e ⋯ */
  html[data-palette="e"].con-menu.pag-index .topbar > .topbar-brand{display:none!important;}
  html[data-palette="e"].con-menu.pag-index .topbar-search-wrap{margin-left:0;max-width:520px;}
}

/* lista operatoria col menu (tabella a colonne fisse, ≥ 1280 px): un po' di spazio in più alle
   colonne con date e numeri (nascita, periodo, #), un po' meno a note e impianti che vanno a capo.
   Sotto i 1440 px, in questa pagina, il menu si riduce da solo a icone (script del menu). */
@media (min-width:1280px){
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(1){width:3.2%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(2){width:10%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(3){width:7%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(4){width:7.6%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(5){width:6%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(6){width:4.6%!important;}   /* «LATO» su una riga */
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(7){width:6.4%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(8){width:9.6%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(9){width:9%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(10){width:12%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(11){width:14.2%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(12){width:7%!important;}
  html[data-palette="e"].con-menu #tblLista > colgroup > col:nth-child(13){width:3.4%!important;}
}
/* lista operatoria col menu LARGO scelto col pulsante su schermi sotto 1440 px: la tabella non si
   schiaccia (date, periodi e nomi accavallati) ma tiene la sua larghezza e scorre di lato */
@media (min-width:769px){
  html[data-palette="e"].con-menu:not(.menu-ridotto) table#tblLista{min-width:1140px!important;}
  html[data-palette="e"].con-menu:not(.menu-ridotto) :has(> table#tblLista){overflow-x:auto;}
}
/* scheda paziente col menu: cornici più sottili, così lo storico interventi (13 colonne,
   dati sempre a 14 px) entra senza scorrere di lato anche a 1440 px */
@media (min-width:769px) and (max-width:1679px){
  html[data-palette="e"].con-menu .tab-section-modern{padding-left:12px!important;padding-right:12px!important;}
  html[data-palette="e"].con-menu .tab-section-modern .card-form{padding-left:14px!important;padding-right:14px!important;}
  html[data-palette="e"].con-menu .tab-section-modern .table-responsive .table > :not(caption) > * > *{padding-left:5px;padding-right:5px;}
  html[data-palette="e"].con-menu .tab-section-modern .table-responsive .table > thead > tr > th{white-space:normal!important;}
}
/* lista operatoria col menu: i quattro filtri (cerca, regione, clinica, vista clinica) restano su UNA
   riga, ognuno accanto alla sua etichetta (prima «— tutti i pazienti —» andava a capo da solo) */
@media (min-width:769px) and (max-width:1599px){
  html[data-palette="e"].con-menu .filter-bar{column-gap:10px!important;}
  html[data-palette="e"].con-menu .filter-bar > label.ms-2{margin-left:4px!important;}
  html[data-palette="e"].con-menu .filter-bar > #searchInput{max-width:170px!important;}
  html[data-palette="e"].con-menu .filter-bar > #regioneFilter{max-width:196px!important;}
  html[data-palette="e"].con-menu .filter-bar > #clinicaFilter{max-width:170px!important;}
  html[data-palette="e"].con-menu .filter-bar > #vistaClinica{max-width:178px!important;}
}
/* storico: il titolo è già nella barra in alto (niente doppione); margini come le altre pagine */
html[data-palette="e"].con-menu.pag-storico_interventi body > .container-fluid > .d-flex:first-child > h4{display:none!important;}
@media (min-width:769px){
  html[data-palette="e"].con-menu.pag-storico_interventi body > .container-fluid{padding-left:24px!important;padding-right:24px!important;}
}
/* telefono, tabelle DataTables dentro le schede senza margine (lista operatoria): niente 12 px che
   scorrono di lato (le righe di Bootstrap hanno margini negativi) */
@media (max-width:768px){
  html[data-palette="e"].con-menu .card-body.p-0 .dataTables_wrapper > .row{margin-left:0!important;margin-right:0!important;}
}

/* ── 20d · Telefono (≤ 768 px): barra di icone in basso e fogli «Lista» / «Altro» ──
   Livelli: barra 1035 · «+ Nuovo» del calendario 1040 (della pagina) · velo 1044 · foglio 1045
   · finestre di Bootstrap 1050+ (restano sopra a tutto).                                  */
@media (max-width:768px){
  html[data-palette="e"].con-menu .nb-fogli.aperti[hidden]{display:block!important;}
  html[data-palette="e"].con-menu body{padding-bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px) + 10px)!important;}
  /* scheda paziente: la barra «Salva» sta SOPRA la barra in basso, mai sotto */
  html[data-palette="e"].con-menu body:has(.mobile-save-bar){padding-bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px) + 86px)!important;}
  html[data-palette="e"].con-menu .mobile-save-bar{
    bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px))!important;padding-bottom:10px!important;
    box-shadow:0 -6px 16px -10px rgba(var(--t-bar-rgb),.30)!important;
  }
  /* calendario: «+ Nuovo» sopra la barra; planning RX: «Salva» sopra la barra; avvisi (toast) idem */
  html[data-palette="e"].con-menu .cal-fab{bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px) + 14px)!important;}
  html[data-palette="e"].con-menu .save-row{bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px))!important;}
  html[data-palette="e"].con-menu .position-fixed.bottom-0{bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px))!important;}
  /* scheda paziente (11/10/2026): gli avvisi stanno SOPRA la barra «Salva», non sul pulsante */
  html[data-palette="e"].con-menu body:has(.mobile-save-bar) .position-fixed.bottom-0{bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px) + 76px)!important;}
  html[data-palette="e"].con-menu.foglio-aperto body{overflow:hidden!important;}
}
html[data-palette="e"].con-menu .nav-basso{
  position:fixed;left:0;right:0;bottom:0;z-index:1035;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;
  height:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px));padding:7px 4px env(safe-area-inset-bottom, 0px);
  background:rgba(255,253,248,.97);border-top:1px solid var(--t-line);box-shadow:0 -8px 24px -18px rgba(var(--t-bar-rgb),.45);
  font-family:var(--t-sans);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);
}
html[data-palette="e"].con-menu .nb-voce{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;margin:0;padding:0;
  border:0;background:transparent;color:var(--t-text-2);font-size:11.5px;font-weight:700;line-height:1.2;text-decoration:none;
  -webkit-tap-highlight-color:transparent;cursor:pointer;
}
html[data-palette="e"].con-menu .nb-ico{position:relative;width:56px;height:30px;border-radius:999px;display:grid;place-items:center;font-size:16px;color:var(--t-text-2);transition:background .15s, color .15s;}
html[data-palette="e"].con-menu .nb-voce.attiva,
html[data-palette="e"].con-menu .nb-voce[aria-expanded="true"]{color:var(--t-ink);}
html[data-palette="e"].con-menu .nb-voce.attiva .nb-ico,
html[data-palette="e"].con-menu .nb-voce[aria-expanded="true"] .nb-ico{background:var(--t-tint);color:var(--t-primary);}
html[data-palette="e"].con-menu .nb-voce:focus-visible .nb-ico{outline:2px solid var(--t-primary);outline-offset:1px;}
html[data-palette="e"].con-menu .nb-badge{
  position:absolute;top:-4px;left:calc(50% + 6px);min-width:19px;padding:1px 5px;border-radius:999px;border:2px solid var(--t-card);
  background:var(--t-brass);color:#fff;font-size:10px;font-style:normal;font-weight:800;line-height:14px;text-align:center;
}
html[data-palette="e"].con-menu .nb-velo{position:fixed;top:0;left:0;right:0;bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px));z-index:1044;background:var(--t-velo);}
html[data-palette="e"].con-menu .nb-foglio{
  display:none;position:fixed;left:0;right:0;bottom:calc(var(--nb-h) + env(safe-area-inset-bottom, 0px));z-index:1045;
  max-height:min(74vh, 600px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;
  background:var(--t-bg);border-radius:20px 20px 0 0;box-shadow:0 -18px 40px -20px rgba(0,0,0,.45);font-family:var(--t-sans);outline:none;
}
html[data-palette="e"].con-menu .nb-foglio.aperto{display:block;}
html[data-palette="e"].con-menu .nb-foglio::before{content:"";position:absolute;left:50%;top:6px;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--t-line-2);}
html[data-palette="e"].con-menu .nb-foglio-testa{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 6px;}
html[data-palette="e"].con-menu .nb-foglio h2{margin:0;font-weight:500;font-size:1.3rem;color:var(--t-ink);}
html[data-palette="e"].con-menu .nb-chiudi{width:38px;height:38px;flex:none;display:grid;place-items:center;padding:0;border:1px solid var(--t-line);border-radius:50%;background:var(--t-card);color:var(--t-text-2);}
html[data-palette="e"].con-menu .nb-gruppo{padding:12px 4px 6px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--t-text-3);}
html[data-palette="e"].con-menu .nb-elenco{display:flex;flex-direction:column;margin-top:4px;border:1px solid var(--t-line);border-radius:14px;overflow:hidden;background:var(--t-card);box-shadow:var(--t-shadow);}
html[data-palette="e"].con-menu .nb-gruppo + .nb-elenco{margin-top:0;}
html[data-palette="e"].con-menu .nb-riga{
  display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:8px 14px;
  border:0;border-bottom:1px solid var(--t-line);background:transparent;color:var(--t-text);
  font:inherit;text-align:left;text-decoration:none;-webkit-tap-highlight-color:transparent;
}
html[data-palette="e"].con-menu .nb-riga:last-child{border-bottom:0;}
html[data-palette="e"].con-menu .nb-riga:active,
html[data-palette="e"].con-menu .nb-riga.attiva{background:var(--t-tint-2);}
html[data-palette="e"].con-menu .nb-riga-ico{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--t-tint-2);border:1px solid var(--t-tint-line);color:var(--t-primary);font-size:14px;}
html[data-palette="e"].con-menu .nb-riga-testo{flex:1 1 auto;min-width:0;}
html[data-palette="e"].con-menu .nb-riga-testo b{display:block;font-size:15px;font-weight:700;color:var(--t-text);}
html[data-palette="e"].con-menu .nb-riga-testo small{display:block;font-size:12.5px;color:var(--t-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html[data-palette="e"].con-menu .nb-num{font-family:var(--t-serif);font-size:1.4rem;font-weight:500;line-height:1;color:var(--t-ink);font-variant-numeric:lining-nums tabular-nums;}
html[data-palette="e"].con-menu .nb-num-ott{padding:3px 9px;border-radius:999px;background:var(--t-brass-bg);color:var(--t-brass-ink);font-family:var(--t-sans);font-size:12px;font-weight:800;box-shadow:inset 0 0 0 1px var(--t-brass-line);}
html[data-palette="e"].con-menu .nb-fr{color:var(--t-text-3);font-size:11px;}

/* ── 20e · Home nuova (saluto, prossima sala, schede con mini-grafici, azioni rapide) ── */
html[data-palette="e"].con-menu .home-nuova{font-family:var(--t-sans);color:var(--t-text);}
html[data-palette="e"].con-menu .hn-saluto{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin:2px 0 22px;}
html[data-palette="e"].con-menu .hn-occhiello{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--t-text-3);}
html[data-palette="e"].con-menu .hn-occhiello::before{content:"";width:18px;height:1.5px;background:var(--t-line-2);}
html[data-palette="e"].con-menu .hn-titolo{margin:6px 0 0;font-weight:400!important;font-size:40px;line-height:1.08;letter-spacing:-.025em!important;color:var(--t-ink);}
html[data-palette="e"].con-menu .hn-saluto-dx{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
html[data-palette="e"].con-menu .hn-sala{
  display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 14px 8px 9px;border-radius:16px;
  background:linear-gradient(180deg,var(--t-brass-bg),#F1E5C6);border:1px solid var(--t-brass-line);box-shadow:var(--t-shadow);
  color:var(--t-text);text-decoration:none;
}
html[data-palette="e"].con-menu .hn-sala:hover{border-color:#D6BC7E;color:var(--t-text);}
html[data-palette="e"].con-menu .hn-sala-ico{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--t-brass);color:#fff;font-size:15px;}
html[data-palette="e"].con-menu .hn-sala-testo{min-width:0;}
html[data-palette="e"].con-menu .hn-sala-testo small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--t-brass-ink);}
html[data-palette="e"].con-menu .hn-sala-testo b{display:block;margin-top:1px;font-size:14.5px;font-weight:700;color:var(--t-text);white-space:nowrap;}
html[data-palette="e"].con-menu .hn-dopo{margin-left:4px;font-size:11px;color:var(--t-brass-ink);}
html[data-palette="e"].con-menu .hn-clin{display:inline-flex;align-items:center;gap:6px;}
html[data-palette="e"].con-menu .hn-clin::before{content:"";width:9px;height:9px;border-radius:3px;flex:none;background:var(--cl-altra);}
html[data-palette="e"].con-menu .hn-clin[data-clinica="fratesole"]::before{background:var(--cl-fratesole);}
html[data-palette="e"].con-menu .hn-clin[data-clinica="sangiuseppe"]::before{background:var(--cl-sangiuseppe);}
html[data-palette="e"].con-menu .hn-clin[data-clinica="malatesta"]::before{background:var(--cl-malatesta);}
html[data-palette="e"].con-menu .hn-clin[data-clinica="nobili"]::before{background:var(--cl-nobili);}
html[data-palette="e"].con-menu .hn-clin[data-clinica="villalaura"]::before{background:var(--cl-villalaura);}
html[data-palette="e"].con-menu .hn-nuovo{
  display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 22px 0 12px;border-radius:16px;
  background:var(--t-primary);color:#fff;font-size:15px;font-weight:700;text-decoration:none;
  box-shadow:0 2px 4px rgba(0,0,0,.08), 0 12px 24px -12px rgba(var(--t-primary-rgb),.75);
}
html[data-palette="e"].con-menu .hn-nuovo:hover{background:var(--t-primary-h);color:#fff;}
html[data-palette="e"].con-menu .hn-piu{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.16);font-size:13px;}
/* numeri: scheda grande + una scheda per categoria */
html[data-palette="e"].con-menu .hn-kpi{display:grid;grid-template-columns:minmax(280px,330px) repeat(3,minmax(0,1fr));gap:16px;}
html[data-palette="e"].con-menu .hn-eroe{
  grid-row:span 2;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:22px 22px 18px;border-radius:20px;color:#fff;
  background:radial-gradient(90% 60% at 105% -5%,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 60%),linear-gradient(165deg,var(--t-eroe) 0%,var(--t-bar) 78%);
  box-shadow:var(--t-shadow-2);
}
html[data-palette="e"].con-menu .hn-eroe::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.10);pointer-events:none;}
html[data-palette="e"].con-menu .hn-lbl{display:flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(var(--t-eroe-testo-rgb),.94);}
html[data-palette="e"].con-menu .hn-grande{margin:14px 0 4px;font-family:var(--t-serif);font-weight:350;font-size:80px;line-height:.92;letter-spacing:-.04em;font-variant-numeric:lining-nums;}
html[data-palette="e"].con-menu .hn-grande-sotto{font-size:15px;font-weight:600;color:rgba(var(--t-eroe-testo-rgb),.95);}
html[data-palette="e"].con-menu .hn-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 20px;}
html[data-palette="e"].con-menu .hn-duo > div{padding:10px 13px;border-radius:13px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.16);}
html[data-palette="e"].con-menu .hn-duo b{display:block;font-family:var(--t-serif);font-weight:400;font-size:30px;line-height:1.05;font-variant-numeric:lining-nums;}
html[data-palette="e"].con-menu .hn-duo span{font-size:12px;font-weight:600;color:rgba(var(--t-eroe-testo-rgb),.95);}
html[data-palette="e"].con-menu .hn-grafico{margin-top:auto;}
html[data-palette="e"].con-menu .hn-grafico-tit{display:flex;justify-content:space-between;gap:10px;margin-bottom:22px;font-size:12px;font-weight:700;color:rgba(var(--t-eroe-testo-rgb),.95);}
html[data-palette="e"].con-menu .hn-barre{display:flex;align-items:flex-end;gap:6px;height:96px;border-bottom:1px solid rgba(255,255,255,.25);}
html[data-palette="e"].con-menu .hn-barre span{flex:1 1 0;position:relative;border-radius:4px 4px 0 0;background:rgba(var(--t-bar-icon-rgb),.55);}
html[data-palette="e"].con-menu .hn-barre span.zero{background:rgba(255,255,255,.18);}
html[data-palette="e"].con-menu .hn-barre span.ora{background:#fff;}
html[data-palette="e"].con-menu .hn-barre span.ora::after{content:attr(data-v);position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:11.5px;font-weight:800;color:#fff;}
html[data-palette="e"].con-menu .hn-mesi{display:flex;gap:6px;margin-top:7px;}
html[data-palette="e"].con-menu .hn-mesi span{flex:1 1 0;text-align:center;font-size:11px;font-weight:700;color:rgba(var(--t-eroe-testo-rgb),.95);}
html[data-palette="e"].con-menu .hn-cat{
  position:relative;display:flex;flex-direction:column;padding:16px 18px 0;border-radius:16px;
  background:var(--t-card);border:1px solid var(--t-line);box-shadow:var(--t-shadow);transition:border-color .15s, transform .15s;
}
html[data-palette="e"].con-menu .hn-cat:hover{border-color:var(--t-tint-line);transform:translateY(-1px);}
html[data-palette="e"].con-menu .hn-cat-top{display:flex;align-items:center;gap:11px;}
html[data-palette="e"].con-menu .hn-cat-ico{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:11px;background:var(--t-tint-2);border:1px solid var(--t-tint-line);color:var(--t-primary);font-size:15px;
  --ico-2:#7FC3CF;}                  /* simboli duotono (13/10/2026): metallo scuro, osso/PE chiaro (ottanio) */
html[data-palette="e"].con-menu .hn-cat-ico svg{width:26px;height:26px;display:block;}
html[data-palette="e"].con-menu .hn-cat-top b{display:block;font-size:13.5px;font-weight:800;letter-spacing:.04em;color:var(--t-text);}
html[data-palette="e"].con-menu .hn-cat-top > div{min-width:0;}
html[data-palette="e"].con-menu .hn-cat-top small{display:block;font-size:12px;font-weight:500;color:var(--t-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html[data-palette="e"].con-menu .hn-fr{width:28px;height:28px;flex:none;display:grid;place-items:center;margin-left:auto;border-radius:50%;border:1px solid var(--t-line);color:var(--t-text-3);font-size:10.5px;transition:background .15s, color .15s;}
html[data-palette="e"].con-menu .hn-cat:hover .hn-fr{background:var(--t-primary);border-color:var(--t-primary);color:#fff;}
html[data-palette="e"].con-menu .hn-cat-mid{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:auto 0;padding:14px 0 16px;}
html[data-palette="e"].con-menu .hn-cat-num{font-family:var(--t-serif);font-weight:400;font-size:52px;line-height:.86;letter-spacing:-.03em;color:var(--t-ink);text-decoration:none;font-variant-numeric:lining-nums;}
html[data-palette="e"].con-menu .hn-cat-num:hover{color:var(--t-ink);}
html[data-palette="e"].con-menu .hn-cat-num small{display:block;margin-top:10px;font-family:var(--t-sans);font-size:12px;font-weight:700;letter-spacing:0;color:var(--t-primary);}
html[data-palette="e"].con-menu .hn-mini{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
html[data-palette="e"].con-menu .hn-mini-barre{display:flex;align-items:flex-end;gap:4px;height:46px;}
html[data-palette="e"].con-menu .hn-mini-barre span{width:10px;border-radius:3px 3px 0 0;background:var(--t-accent-soft);}
html[data-palette="e"].con-menu .hn-mini-barre span:last-child{background:var(--t-accent);}
html[data-palette="e"].con-menu .hn-mini em{font-size:10.5px;font-style:normal;font-weight:700;color:var(--t-text-3);white-space:nowrap;}
html[data-palette="e"].con-menu .hn-cat-foot{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:0 -18px;padding:10px 18px;
  border-top:1px solid var(--t-line);border-radius:0 0 16px 16px;background:var(--t-card-2);
  color:var(--t-text-2);font-size:12.5px;font-weight:700;text-decoration:none;
}
html[data-palette="e"].con-menu .hn-cat-foot:hover{background:var(--t-tint-2);color:var(--t-text-2);}
html[data-palette="e"].con-menu .hn-cat-foot b{display:flex;align-items:center;gap:7px;font-family:var(--t-serif);font-size:19px;font-weight:500;color:var(--t-text);font-variant-numeric:lining-nums;}
html[data-palette="e"].con-menu .hn-cat-foot b i{font-size:12px;color:var(--t-primary);}
/* titoli di sezione e azioni rapide */
html[data-palette="e"].con-menu .hn-sez{display:flex;align-items:center;gap:16px;margin:32px 2px 14px;}
html[data-palette="e"].con-menu .hn-sez h2{margin:0;font-weight:500;font-size:23px;color:var(--t-ink);}
html[data-palette="e"].con-menu .hn-riga{flex:1 1 auto;height:1px;background:var(--t-line);}
html[data-palette="e"].con-menu .hn-sez small{font-size:13px;font-weight:700;color:var(--t-text-3);}
html[data-palette="e"].con-menu .hn-azioni{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
html[data-palette="e"].con-menu .hn-az{
  display:flex;align-items:center;gap:13px;width:100%;min-height:74px;margin:0;padding:14px 16px;border-radius:15px;
  background:var(--t-card);border:1px solid var(--t-line);box-shadow:var(--t-shadow);
  color:var(--t-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s;
}
html[data-palette="e"].con-menu .hn-az:hover{border-color:var(--t-tint-line);color:var(--t-text);}
html[data-palette="e"].con-menu .hn-az:focus-visible,
html[data-palette="e"].con-menu .hn-cat-num:focus-visible,
html[data-palette="e"].con-menu .hn-cat-foot:focus-visible,
html[data-palette="e"].con-menu .hn-sala:focus-visible,
html[data-palette="e"].con-menu .hn-nuovo:focus-visible{outline:3px solid rgba(var(--t-accent-rgb),.45);outline-offset:2px;}
html[data-palette="e"].con-menu .hn-ic{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--t-tint-2);border:1px solid var(--t-tint-line);color:var(--t-primary);font-size:16px;}
html[data-palette="e"].con-menu .hn-az-testo{flex:1 1 auto;min-width:0;}
html[data-palette="e"].con-menu .hn-az-testo b{display:block;font-size:14.5px;font-weight:700;line-height:1.25;color:var(--t-text);}
html[data-palette="e"].con-menu .hn-az-testo small{display:block;margin-top:1px;font-size:12.5px;font-weight:500;color:var(--t-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html[data-palette="e"].con-menu .hn-fr2{margin-left:auto;font-size:11px;color:var(--t-text-3);}
html[data-palette="e"].con-menu .hn-az.prom{background:linear-gradient(180deg,var(--t-brass-bg),#F1E5C6);border-color:var(--t-brass-line);box-shadow:0 0 0 3px rgba(246,238,217,.9), var(--t-shadow);}
html[data-palette="e"].con-menu .hn-az.prom .hn-ic{background:var(--t-brass);border-color:var(--t-brass);color:#fff;}
html[data-palette="e"].con-menu .hn-az.prom .hn-az-testo b,
html[data-palette="e"].con-menu .hn-az.prom .hn-az-testo small{color:var(--t-brass-ink);}
html[data-palette="e"].con-menu .hn-az.prom .hn-az-testo small{font-weight:600;}
html[data-palette="e"].con-menu .hn-cnt{margin-left:auto;font-family:var(--t-serif);font-size:36px;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--t-brass-ink);font-variant-numeric:lining-nums;}
/* schermi medi: la scheda grande va su una riga intera (numeri a sinistra, grafico a destra) */
@media (max-width:1359px){
  html[data-palette="e"].con-menu .hn-kpi{grid-template-columns:repeat(3,minmax(0,1fr));}
  html[data-palette="e"].con-menu .hn-eroe{grid-row:auto;grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:32px;align-content:start;}
  html[data-palette="e"].con-menu .hn-grafico{grid-column:2;grid-row:1 / span 4;align-self:end;margin-top:0;}
  html[data-palette="e"].con-menu .hn-duo{margin-bottom:0;}
  html[data-palette="e"].con-menu .hn-azioni{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1023px){
  html[data-palette="e"].con-menu .hn-kpi{grid-template-columns:repeat(2,minmax(0,1fr));}
  html[data-palette="e"].con-menu .hn-azioni{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px){
  html[data-palette="e"].con-menu .hn-saluto{gap:14px;margin:0 0 16px;}
  html[data-palette="e"].con-menu .hn-titolo{font-size:30px;}
  html[data-palette="e"].con-menu .hn-saluto-dx{width:100%;flex-direction:column;align-items:stretch;gap:10px;}
  html[data-palette="e"].con-menu .hn-sala{min-height:54px;}
  html[data-palette="e"].con-menu .hn-sala-testo b{white-space:normal;}
  html[data-palette="e"].con-menu .hn-dopo{margin-left:auto;}
  html[data-palette="e"].con-menu .hn-nuovo{justify-content:center;min-height:52px;}
  html[data-palette="e"].con-menu .hn-kpi{gap:10px;}
  html[data-palette="e"].con-menu .hn-eroe{display:flex;padding:18px 18px 16px;border-radius:18px;}
  html[data-palette="e"].con-menu .hn-grafico{margin-top:4px;align-self:stretch;}
  html[data-palette="e"].con-menu .hn-grande{font-size:58px;}
  html[data-palette="e"].con-menu .hn-duo{margin:14px 0 16px;}
  html[data-palette="e"].con-menu .hn-duo b{font-size:26px;}
  html[data-palette="e"].con-menu .hn-grafico-tit{margin-bottom:20px;}
  html[data-palette="e"].con-menu .hn-barre{height:72px;gap:4px;}
  html[data-palette="e"].con-menu .hn-mesi{gap:4px;}
  html[data-palette="e"].con-menu .hn-cat{padding:12px 12px 0;border-radius:14px;}
  html[data-palette="e"].con-menu .hn-fr,
  html[data-palette="e"].con-menu .hn-mini em,
  html[data-palette="e"].con-menu .hn-sez small,
  html[data-palette="e"].con-menu .hn-fr2{display:none;}
  html[data-palette="e"].con-menu .hn-cat-ico{width:34px;height:34px;border-radius:10px;}   /* telefono: simbolo visibile anche qui */
  html[data-palette="e"].con-menu .hn-cat-ico svg{width:22px;height:22px;}
  html[data-palette="e"].con-menu .hn-cat-mid{padding:10px 0 12px;}
  html[data-palette="e"].con-menu .hn-cat-num{font-size:40px;}
  html[data-palette="e"].con-menu .hn-cat-num small{margin-top:8px;}
  html[data-palette="e"].con-menu .hn-mini-barre{height:34px;gap:3px;}
  html[data-palette="e"].con-menu .hn-mini-barre span{width:7px;}
  html[data-palette="e"].con-menu .hn-cat-foot{margin:0 -12px;padding:8px 12px;border-radius:0 0 14px 14px;}
  html[data-palette="e"].con-menu .hn-cat-foot b{font-size:17px;}
  html[data-palette="e"].con-menu .hn-sez{margin:24px 2px 10px;}
  html[data-palette="e"].con-menu .hn-sez h2{font-size:20px;}
  html[data-palette="e"].con-menu .hn-azioni{gap:8px;}
  html[data-palette="e"].con-menu .hn-az{min-height:64px;padding:10px 12px;gap:10px;border-radius:13px;}
  html[data-palette="e"].con-menu .hn-ic{width:36px;height:36px;border-radius:10px;font-size:14px;}
  html[data-palette="e"].con-menu .hn-az-testo b{font-size:13.5px;}
  html[data-palette="e"].con-menu .hn-az-testo small{font-size:11.5px;}
  html[data-palette="e"].con-menu .hn-cnt{font-size:26px;}
}

/* ── 20f · Stampa e movimento ridotto ── */
@media print{
  html[data-palette="e"].con-menu body{padding:0!important;}
  html[data-palette="e"].con-menu .menu-lat,
  html[data-palette="e"].con-menu .nav-basso,
  html[data-palette="e"].con-menu .nb-fogli{display:none!important;}
}
@media (prefers-reduced-motion:reduce){
  html[data-palette="e"].con-menu body,
  html[data-palette="e"].con-menu .menu-lat,
  html[data-palette="e"].con-menu .ml-voce,
  html[data-palette="e"].con-menu .ml-freccia,
  html[data-palette="e"].con-menu .ml-riduci i,
  html[data-palette="e"].con-menu .hn-cat{transition:none!important;}
  html[data-palette="e"].con-menu .hn-cat:hover{transform:none;}
}

/* ── 20g · Menu a 8 voci (14/10/2026, il dottore: «troppo affollato») ──────────────
   Linguette in cima alle pagine della stessa voce (templates/_linguette.html), menu del
   proprio nome (Account, Privacy, Doppioni, Registro accessi, Accesso sicuro, Aspetto,
   Esci) e Home «Da fare» (solo i riquadri con qualcosa da fare).                      */
html[data-palette="e"].con-menu .linguette[hidden]{display:flex!important;}
html[data-palette="e"].con-menu .linguette{
  display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;margin:0;padding:0 24px;scrollbar-width:none;
  background:var(--t-card);border-bottom:1px solid var(--t-line);
}
html[data-palette="e"].con-menu .linguette::-webkit-scrollbar{display:none;}
html[data-palette="e"].con-menu .lg-voce{
  display:inline-flex;align-items:center;gap:8px;flex:none;min-height:48px;margin-bottom:-1px;padding:0 14px;
  border-bottom:3px solid transparent;color:var(--t-text-2);font:600 14.5px/1 var(--t-sans);text-decoration:none;white-space:nowrap;
}
html[data-palette="e"].con-menu .lg-voce i{font-size:14px;color:var(--t-text-3);}
html[data-palette="e"].con-menu .lg-voce:hover{color:var(--t-ink);}
html[data-palette="e"].con-menu .lg-voce.attiva{color:var(--t-primary);border-bottom-color:var(--t-primary);}
html[data-palette="e"].con-menu .lg-voce.attiva i{color:var(--t-primary);}
html[data-palette="e"].con-menu .lg-voce:focus-visible{outline:3px solid var(--t-focus);outline-offset:-3px;border-radius:6px;}
html[data-palette="e"].con-menu .lg-n{
  min-width:22px;padding:1px 7px;border-radius:999px;background:var(--t-brass-bg);color:var(--t-brass-ink);
  font-size:11.5px;font-weight:800;line-height:18px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--t-brass-line);
}
html[data-palette="e"].con-menu .lg-n[hidden]{display:none;}
@media (max-width:768px){
  html[data-palette="e"].con-menu .linguette{padding:0 8px;}
  html[data-palette="e"].con-menu .lg-voce{padding:0 10px;font-size:14px;}
}
/* i pulsanti della barra in alto che ora sono linguette */
html[data-palette="e"].con-menu.pag-proms_page .topbar > a[href="/proms/giro"],
html[data-palette="e"].con-menu.pag-proms_page .topbar > a[href="/proms/risultati"],
html[data-palette="e"].con-menu.pag-proms_giro_page .topbar > a[href="/proms"],
html[data-palette="e"].con-menu .topbar > a[href="/esami/da-assegnare"]{display:none!important;}

/* menu del proprio nome: si apre verso l'alto (a lato col menu ridotto) */
html[data-palette="e"].con-menu .ml-utente-box{position:relative;flex:none;}
html[data-palette="e"].con-menu button.ml-utente{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .12s;}
html[data-palette="e"].con-menu button.ml-utente:hover{background:rgba(255,255,255,.1);}
html[data-palette="e"].con-menu button.ml-utente:focus-visible{outline:2px solid var(--t-bar-icon);outline-offset:1px;}
html[data-palette="e"].con-menu button.ml-utente.attiva{border-color:rgba(var(--t-bar-icon-rgb),.45);}
html[data-palette="e"].con-menu .ml-utente .ml-freccia{margin-right:6px;}
html[data-palette="e"].con-menu .ml-utente-box.aperto .ml-freccia{transform:rotate(180deg);}
html[data-palette="e"].con-menu .ml-utente-menu{
  position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:6;display:flex;flex-direction:column;gap:1px;padding:8px;
  border:1px solid rgba(255,255,255,.12);border-radius:14px;background:var(--t-bar-2);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);
}
html[data-palette="e"].con-menu .ml-utente-menu[hidden]{display:none;}
html[data-palette="e"].con-menu .ml-utente-menu > a,
html[data-palette="e"].con-menu .ml-utente-menu > button{
  display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:11px;align-items:center;width:100%;padding:8px 10px;
  border:0;border-radius:9px;background:transparent;color:var(--ml-testo);font:600 13.5px/1.25 var(--t-sans);text-align:left;text-decoration:none;cursor:pointer;
}
html[data-palette="e"].con-menu .ml-utente-menu i{grid-row:span 2;text-align:center;font-size:14px;color:rgba(var(--t-bar-icon-rgb),.8);}
html[data-palette="e"].con-menu .ml-utente-menu small{grid-column:2;font-size:11.5px;font-weight:500;color:var(--ml-tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html[data-palette="e"].con-menu .ml-utente-menu > a:hover,
html[data-palette="e"].con-menu .ml-utente-menu > button:hover{background:rgba(255,255,255,.08);color:#fff;}
html[data-palette="e"].con-menu .ml-utente-menu > a.attiva{background:rgba(var(--t-bar-icon-rgb),.16);color:#fff;}
html[data-palette="e"].con-menu .ml-utente-menu > a:focus-visible,
html[data-palette="e"].con-menu .ml-utente-menu > button:focus-visible{outline:2px solid var(--t-bar-icon);outline-offset:-2px;}
html[data-palette="e"].con-menu .ml-um-riga{display:block;height:1px;margin:5px 6px;background:rgba(255,255,255,.12);}
html[data-palette="e"].con-menu.menu-ridotto .ml-utente-menu{left:calc(100% + 12px);right:auto;bottom:0;min-width:250px;}

/* Home «Da fare»: riquadri e sezione nascosti finché non c'è niente (il Backup lo decide lo script) */
html[data-palette="e"].con-menu .hn-dafare[hidden],
html[data-palette="e"].con-menu .hn-az[hidden]{display:none!important;}
