/* Gestionale — stili del modulo «comunicazioni»: Presenze, Comunicazioni, linguetta «Dal portale».
   Caratteri e controlli un po' piu' grandi del resto (V7 sez. 18): l'appello si fa in piedi,
   col telefono in mano, e i pulsanti devono prendersi col pollice. */

/* ---------- Presenze ---------- */
.pz-giorno input[type=date]{height:36px;border-radius:10px;border:1px solid var(--line);background:#151f17;color:var(--text);padding:0 8px;color-scheme:dark}
.pz-giorno .ghost-btn{min-width:36px;height:36px}
.pz-riepilogo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.pz-riepilogo>div{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.pz-riepilogo strong{font-size:22px;line-height:1;color:var(--sand)}
.pz-riepilogo span{font-size:var(--fs-xs)}
.pz-riepilogo small{font-size:var(--fs-xs);color:var(--muted)}
.pz-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;align-items:start}
.pz-colonna{display:grid;gap:10px}
.pz-layout .panel-head h2{font-size:15px}
.pz-layout .panel-head p{font-size:var(--fs-xs)}
.pz-appello,.pz-lista{padding:8px}
.pz-lezione{border:1px solid var(--line);border-left:4px solid rgba(47,128,85,.6);border-radius:12px;background:var(--panel2);margin-bottom:8px;overflow:hidden}
.pz-lezione.corso{border-left-color:rgba(226,166,79,.7)}
.pz-lezione header{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pz-lezione header b{font-size:14px}
.pz-lezione header span{font-size:13px;font-weight:650}
.pz-lezione header small{font-size:var(--fs-xs);color:var(--muted)}
.pz-lezione header em{margin-left:auto;font-style:normal}
.pz-riga,.pz-presente,.pz-registro{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(45,58,48,.6);font-size:13px}
.pz-riga:last-child,.pz-presente:last-child,.pz-registro:last-child{border-bottom:0}
.pz-riga .pz-nome{flex:1}
.pz-nome{border:0;background:transparent;color:var(--text);font-size:13px;font-weight:650;text-align:left;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pz-nome:hover{color:var(--sand)}
.pz-azioni{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pz-azioni .primary-btn,.pz-azioni .ghost-btn{font-size:var(--fs-xs);height:32px;min-width:84px}
.pz-azioni .text-btn,.cm-voce .text-btn{font-size:var(--fs-xs)}
.pz-riga .status,.pz-registro .status,.cm-voce .status,.cm-doc .status{font-size:var(--fs-xs);padding:3px 8px}
.pz-presente .pz-nome{flex:1}
.pz-presente .muted{font-size:var(--fs-xs)}
/* Il registro sta nella colonna stretta: due righe, il nome non si schiaccia mai. */
.pz-registro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ora nome esito" "info info azioni";gap:4px 10px}
.pz-registro .pz-ora{grid-area:ora;font-size:var(--fs-xs)}
.pz-registro .pz-nome{grid-area:nome}
.pz-registro>.status{grid-area:esito;justify-self:end;max-width:220px;white-space:normal}
.pz-registro .pz-info{grid-area:info;font-size:var(--fs-xs)}
.pz-registro .pz-azioni{grid-area:azioni;justify-self:end}
.pz-registro.annullata{opacity:.85}
.pz-registro.annullata b{text-decoration:line-through}
.pz-lezione.vuota{opacity:.85;margin-bottom:6px}
.pz-lezione.vuota header{border-bottom:0;padding:7px 12px}
.pz-lezione.vuota header b,.pz-lezione.vuota header span{font-size:var(--fs-xs);font-weight:600}
.pz-lezione header em.muted{font-size:var(--fs-xs)}

/* ---------- Comunicazioni ---------- */
.cm-schede button{font-size:var(--fs-xs);padding:8px 12px}
.cm-schede b{font-weight:800}
.cm-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;align-items:start}
.cm-documenti,.cm-notifiche-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;align-items:start}
.cm-form{display:grid;gap:10px;padding:12px}
.cm-campo{display:grid;gap:5px;font-size:var(--fs-xs);color:var(--muted)}
.cm-campo input,.cm-campo textarea,.cm-campo select{font-size:14px;border-radius:10px;border:1px solid var(--line);background:#0e1711;color:var(--text);padding:9px 10px;min-height:40px;color-scheme:dark}
.cm-campo textarea{resize:vertical;min-height:120px;line-height:1.45}
.cm-tipo{display:flex;gap:16px;font-size:13px}
.cm-tipo label{display:flex;align-items:center;gap:6px;cursor:pointer}
.cm-evento{display:grid;grid-template-columns:1fr 120px;gap:10px}
.cm-evento .cm-campo:last-child{grid-column:1/-1}
.cm-due{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cm-nota{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.45}
.cm-form .primary-btn,.cm-form .ghost-btn{font-size:13px;height:40px}
.cm-elenco{padding:8px;display:grid;gap:8px}
.cm-voce{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:10px 12px}
.cm-voce header{display:flex;align-items:center;gap:8px}
.cm-voce header strong{font-size:14px}
.cm-voce.ritirata{opacity:.85}
.cm-meta,.cm-quando{font-size:var(--fs-xs);color:var(--muted);margin:4px 0 0}
.cm-quando{color:var(--sand)}
.cm-testo{font-size:13px;line-height:1.5;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-voce footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cm-lettori{display:flex;flex-wrap:wrap;gap:4px 12px;border-top:1px solid var(--line);padding-top:8px;margin-top:6px}
.cm-lettori .pz-nome{font-size:var(--fs-xs);font-weight:500}
.cm-doc{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:10px 12px}
.cm-doc.in_attesa{border-color:rgba(226,166,79,.45)}
.cm-doc-testo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-xs)}
.cm-doc-testo strong{font-size:14px}
.cm-doc-testo .muted{font-size:var(--fs-xs);overflow-wrap:anywhere}
.cm-doc-testo .status{align-self:flex-start}
.cm-doc-azioni{display:flex;flex-direction:column;gap:6px}
.cm-doc-azioni button{font-size:var(--fs-xs);height:34px;min-width:92px}
.cm-stato{display:flex;flex-direction:column;gap:2px;margin:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.cm-stato b{font-size:15px}
.cm-stato span{font-size:var(--fs-xs);color:var(--muted)}
.cm-stato.acceso{border-color:rgba(47,128,85,.6);background:rgba(47,128,85,.12)}
.cm-stato.spento{border-color:rgba(226,166,79,.5);background:rgba(226,166,79,.08)}
.cm-numeri{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 12px 10px}
.cm-numeri div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.cm-numeri strong{font-size:20px;color:var(--sand)}
.cm-numeri span{font-size:var(--fs-xs);color:var(--muted)}
.cm-notifiche>.cm-nota{margin:0 12px 12px}
.cm-notifiche .inline-actions{padding:0 12px 12px;display:flex;gap:8px;flex-wrap:wrap}
.cm-notifiche .inline-actions button{font-size:13px;height:40px}

/* ---------- da telefono: tutto in colonna, pulsanti da pollice ---------- */
@media(max-width:820px){
 .pz-giorno{width:100%;display:grid;grid-template-columns:44px 1fr 44px auto;gap:6px}
 .pz-giorno input[type=date],.pz-giorno .ghost-btn{height:44px}
 .pz-giorno #checkinButton,.pz-giorno #pzSettimana{grid-column:1/-1;height:46px;font-size:14px}
 .pz-riepilogo{grid-template-columns:1fr 1fr}
 .pz-layout,.cm-layout{grid-template-columns:1fr}
 .pz-riga{flex-wrap:wrap;padding:10px 12px}
 .pz-riga .pz-nome{flex:1 1 60%;font-size:15px;white-space:normal;min-height:var(--h-tocco)}
 .pz-riga .pz-azioni{flex:1 1 100%}
 .pz-riga .pz-azioni .primary-btn,.pz-riga .pz-azioni .ghost-btn{flex:1;height:46px;font-size:14px}
 .pz-riga .pz-azioni .text-btn{min-height:44px;font-size:14px}
 .pz-presente{flex-wrap:wrap}
 .pz-presente .pz-nome,.pz-registro .pz-nome{font-size:15px}
 .pz-presente .ghost-btn,.pz-registro .ghost-btn{height:44px;min-width:96px;font-size:14px}
 .pz-registro .text-btn{min-height:44px;font-size:14px}
 .cm-schede{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
 .cm-schede button{min-height:44px;font-size:13px}
 .cm-documenti,.cm-notifiche-griglia{grid-template-columns:1fr}
 .cm-campo input,.cm-campo textarea,.cm-campo select{font-size:16px;min-height:46px}
 .cm-form .primary-btn,.cm-form .ghost-btn,.cm-notifiche .inline-actions button{height:48px;font-size:15px;width:100%}
 .cm-tipo label{min-height:44px;font-size:15px}
 .cm-voce header strong{font-size:15px}
 .cm-testo{font-size:14px}
 .cm-voce footer .text-btn{min-height:44px;font-size:14px}
 .cm-doc{flex-direction:column}
 .cm-doc-azioni{flex-direction:row;width:100%}
 .cm-doc-azioni button{flex:1;height:46px;font-size:14px}
 .cm-numeri{grid-template-columns:1fr}
}

/* intestazioni e messaggi vuoti un filo piu' leggibili, solo in queste viste */
#comunicazioniView .panel-head h2{font-size:15px}
#comunicazioniView .panel-head p{font-size:var(--fs-xs)}
#comunicazioniView .empty-state,#attendanceView .empty-state,#profilePane .cm-elenco .empty-state{font-size:var(--fs-xs)}
