/* ===========================================================================
   LEZIONI — solo quello che serve a questa sezione.
   Nessuna regola qui dentro tocca classi già esistenti: i nomi cominciano
   tutti per «lez-», così non può succedere quello che è successo con «.schede».
   =========================================================================== */
.lez-kpi-riga{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;
  margin-top:14px}
.lez-kpi{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);padding:14px}
.lez-kpi b{display:block;font-family:var(--titolo);font-size:30px;line-height:1.05;
  font-variant-numeric:tabular-nums}
.lez-kpi span{display:block;margin-top:4px;font-size:12.5px;color:var(--ink2)}
.lez-kpi.acceso{border-color:var(--oro);background:var(--oro-tenue)}
.lez-kpi.attento b{color:var(--warn)}

.lez-mappa{display:grid;gap:3px;margin-top:8px;min-width:520px}
.lez-ora{font-size:11px;color:var(--ink3);text-align:center;font-family:var(--titolo)}
.lez-giorno{font-size:12.5px;color:var(--ink2);display:flex;align-items:center}
.lez-cella{border:0;border-radius:6px;min-height:34px;font:inherit;font-size:12px;
  font-family:var(--titolo);font-weight:600;cursor:pointer}
.lez-cella:hover{outline:2px solid var(--oro)}

.lez-filtri{align-items:flex-end}
/* I filtri del magazzino sono in riga; qui ogni filtro è una colonnina
   (etichetta sopra, menu sotto). Senza questa riga la regola generale
   «.filtri select{flex:1 1 132px}» finisce sull'asse verticale e i menu
   diventano alti 132 px. Trovato provando dal telefono. */
.lez-filtri label>select,.lez-filtri label>input{flex:0 0 auto;width:100%;min-width:0}
.lez-filtri label{display:flex;flex-direction:column;font-size:11.5px;color:var(--ink2);gap:3px;
  align-items:flex-start}
.lez-filtri select{margin:0}
.lez-spunta{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;
  font-size:13.5px;color:var(--ink2);margin:0;padding:8px 0;white-space:nowrap}
.lez-spunta input{width:18px;height:18px;margin:0;accent-color:var(--scuro)}

.lez-testata{margin:16px 0 4px}
.lez-testata h3{font-size:24px;letter-spacing:.02em;margin:0}
.lez-quando{font-family:var(--titolo);font-size:17px;color:var(--ink2)}
.lez-testata p{margin:6px 0 0;font-size:12.5px}
.lez-sottotitolo{margin:14px 0 6px;font-family:var(--titolo);font-size:14px}
.lez-tel{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink2);
  font-size:14px;text-decoration:none}
.lez-tel:hover{color:var(--ink)}

.lez-elenco{display:flex;flex-direction:column;border:1px solid var(--linea);
  border-radius:var(--r);overflow:hidden;background:var(--sup)}
.lez-persona{display:flex;align-items:center;gap:12px;padding:10px 12px;
  border-bottom:1px solid var(--linea)}
.lez-persona:last-child{border-bottom:0}
.lez-spunta-persona{display:flex;align-items:center;justify-content:center;
  min-width:34px;min-height:34px;margin:0}
.lez-spunta-persona input{width:20px;height:20px;margin:0;accent-color:var(--scuro)}
.lez-chi{flex:1;min-width:0}
.lez-chi b{display:block;font-family:var(--titolo);font-weight:500;font-size:15px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lez-fatti{display:flex;gap:6px;flex:none}

.lez-azioni-fondo{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:14px;padding:12px;background:var(--sup);border:1px solid var(--linea);
  border-radius:var(--r);box-shadow:var(--ombra)}
.lez-azioni-fondo .muted{margin-right:auto}

.lez-pano td{vertical-align:top;font-size:12.5px;line-height:1.45}
.lez-ora-riga{white-space:nowrap;font-family:var(--titolo);font-weight:600}

.lez-riga-disp{display:flex;justify-content:space-between;gap:12px;padding:7px 0;
  border-bottom:1px solid var(--linea);font-size:13.5px}
.lez-riga-disp span{color:var(--ink2)}
.lez-bottoni{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.scelte-esito{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
.scelte-esito .btn{min-height:52px}

.lez-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.lez-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--linea);
  border-radius:999px;font-size:13px;cursor:pointer;background:var(--sup)}
.lez-chip input{margin:0;accent-color:var(--scuro)}
.lez-chip-ora{padding:9px 11px;border:1px solid var(--linea);border-radius:999px;background:var(--sup);
  font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink);min-height:40px}
.lez-chip-ora.acceso{background:var(--scuro);border-color:var(--scuro);color:#fff;font-weight:600}
.lez-riga-fasce{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--linea)}
.lez-riga-fasce b{width:38px;flex:none;font-family:var(--titolo);padding-top:10px}

.lez-modulo{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.lez-modulo>div{flex:1;min-width:240px}
.lez-qr{width:180px;height:180px;border:1px solid var(--linea);border-radius:var(--r);background:#fff}

@media (max-width:720px){
  .lez-kpi b{font-size:24px}
  .lez-testata h3{font-size:20px}
  .scelte-esito{grid-template-columns:1fr}
  /* Sul telefono la barra in fondo NON è appiccicata: sotto c'è già la barra
     dei pulsanti dell'applicazione, e due barre sovrapposte coprono quello che
     si sta leggendo. Qui sta in fondo all'elenco e basta. */
  .lez-azioni-fondo{position:static;flex-direction:column;align-items:stretch;
    margin-bottom:12px}
  .lez-azioni-fondo .muted{margin:0 0 4px}
  .lez-azioni-fondo .btn{width:100%;text-align:center}
  .lez-persona{flex-wrap:wrap}
  .lez-chi{flex:1 1 60%}
  .lez-fatti{flex:1 1 100%;justify-content:flex-start;padding-left:46px}
  .lez-fatti .btn{flex:1;justify-content:center}
}
@media (pointer:coarse){
  .lez-chip,.lez-chip-ora,.lez-cella{min-height:44px}
  .lez-filtri select{min-height:44px}
}

/* --- Filtra e organizza ---------------------------------------------------
   Tre righe di pastiglie, una per filtro. Ogni pastiglia è un bersaglio da
   toccare, non una casella da centrare: questa schermata si usa in piedi vicino
   al campo, con il telefono in una mano. */
.lez-filtroni{display:flex;flex-direction:column;gap:14px}
.lez-gruppo-filtro{display:flex;flex-direction:column;gap:6px}
.lez-etichetta-filtro{display:flex;align-items:baseline;gap:10px}
.lez-etichetta-filtro b{font-family:var(--titolo);font-size:13px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink2)}
.lez-pulisci{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--ink3);
  text-decoration:underline;cursor:pointer}
.lez-pulisci:hover{color:var(--ink)}
.lez-filtro{padding:10px 14px;border:1px solid var(--linea);border-radius:999px;
  background:var(--sup);font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;
  min-height:42px;font-variant-numeric:tabular-nums}
.lez-filtro:hover{border-color:var(--linea2)}
.lez-filtro.acceso{background:var(--scuro);border-color:var(--scuro);color:#fff;font-weight:600}
.lez-coda-filtri{display:flex;gap:16px;flex-wrap:wrap;align-items:center;
  padding-top:10px;border-top:1px solid var(--linea)}
.lez-quando-puo{display:block;font-size:12.5px;color:var(--ink2);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.lez-fatti .lez-tel{align-self:center;margin-right:6px}

@media (max-width:720px){
  .lez-filtro{flex:1 1 auto;min-width:88px;text-align:center}
  .lez-coda-filtri{flex-direction:column;align-items:stretch;gap:10px}
  .lez-fatti .lez-tel{margin:0 0 6px;flex-basis:100%}
}

/* --- le quattro parti della giornata --------------------------------------
   Gli stessi colori del modulo pubblico: chi compila e chi filtra devono
   vedere la stessa «sera». Il colore accompagna il testo, non lo sostituisce:
   l'ora c'è scritta sopra comunque. */
.lez-parte{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;
  line-height:1.15;padding:8px 14px}
.lez-parte small{font-size:11px;opacity:.75;font-variant-numeric:tabular-nums}
.lez-parte.parziale{border-color:var(--forte-p);box-shadow:inset 0 0 0 1px var(--forte-p);
  background:var(--sfondo-p)}
.lez-parte.acceso{background:var(--forte-p);border-color:var(--forte-p);color:#fff}
.lez-parte[data-parte=mattina]   {--sfondo-p:#E6F2FA;--forte-p:#1F6FA8}
.lez-parte[data-parte=pranzo]    {--sfondo-p:#FBF3D6;--forte-p:#9A7B0B}
.lez-parte[data-parte=pomeriggio]{--sfondo-p:#FBEADF;--forte-p:#A65313}
.lez-parte[data-parte=sera]      {--sfondo-p:#E7E9F5;--forte-p:#3B4A9E}

.lez-ora{background:var(--sfondo-o);border-color:var(--bordo-o);color:var(--testo-o)}
.lez-ora.acceso{background:var(--forte-o);border-color:var(--forte-o);color:#fff}
.lez-ora[data-parte-colore=mattina]   {--sfondo-o:#E6F2FA;--bordo-o:#BBDCF0;--testo-o:#12567F;--forte-o:#1F6FA8}
.lez-ora[data-parte-colore=pranzo]    {--sfondo-o:#FBF3D6;--bordo-o:#EDD98F;--testo-o:#7A5F06;--forte-o:#9A7B0B}
.lez-ora[data-parte-colore=pomeriggio]{--sfondo-o:#FBEADF;--bordo-o:#EDC4A6;--testo-o:#8A4310;--forte-o:#A65313}
.lez-ora[data-parte-colore=sera]      {--sfondo-o:#E7E9F5;--bordo-o:#C0C6E6;--testo-o:#2F3B80;--forte-o:#3B4A9E}
@media (prefers-color-scheme:dark){
  .lez-ora{filter:saturate(.85) brightness(.92)}
  .lez-parte.parziale,.lez-parte:not(.acceso){filter:saturate(.85) brightness(.92)}
}

/* --- cosa sto cercando ---------------------------------------------------- */
.lez-modo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 4px}
.lez-modo>span{font-family:var(--titolo);font-size:12px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink2)}
.lez-modo small{flex:1 1 100%;color:var(--ink3);font-size:12.5px}
.lez-riga-sotto{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lez-quando{font-size:12.5px;color:var(--ok);background:var(--ok-b);border:1px solid var(--ok-l);
  border-radius:999px;padding:1px 9px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:720px){
  .lez-modo{margin-bottom:10px}
  .lez-modo .lez-filtro{flex:1 1 46%;text-align:center;font-size:12.5px;padding:10px 8px}
}
