/* Gestionale — stili del modulo «staff».
   Caratteri e controlli piu' grandi del resto del gestionale (V7 sez. 18): qui si leggono
   ore e importi che finiscono in busta paga. Sotto gli 820 px le tabelle diventano schede. */

/* I pulsanti riservati ai responsabili si nascondono con l'attributo hidden, ma le regole
   dei pulsanti di styles.css (display:flex) lo scavalcherebbero: qui vince hidden. */
#staffView [hidden],#slotDialogSostituisci[hidden]{display:none!important}

.staff-schede{margin-bottom:12px;max-width:100%;overflow-x:auto}
.staff-schede button{font-size:13px;padding:8px 14px;min-height:36px}
.staff-body{font-size:13px}
.staff-h2{font-size:15px;margin:18px 0 8px;display:flex;gap:8px;align-items:baseline}
.staff-h2 span{font-size:var(--fs-xs);color:var(--muted);font-weight:600}

/* barra del periodo */
.staff-barra{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin-bottom:12px}
.staff-barra>.staff-barra{margin:0}
.staff-modi button{font-size:var(--fs-xs);padding:7px 12px;min-height:34px}
.staff-nav{display:flex;gap:8px;align-items:center}
.staff-nav strong{font-size:15px;min-width:170px;text-align:center}
.staff-nav .ghost-btn{min-width:38px;min-height:36px;font-size:18px;padding:4px 10px}
.staff-nav .text-btn{font-size:13px}
.staff-intervallo label{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}
.staff-intervallo input{height:36px;font-size:13px}
.staff-nota{font-size:var(--fs-xs);line-height:1.55;margin:10px 0;max-width:110ch}
.staff-avviso{font-size:13px;border-left:3px solid var(--warning);background:rgba(226,166,79,.1);padding:8px 12px;border-radius:8px;margin:0 0 10px}
.staff-avviso.grave{border-left-color:var(--danger);background:rgba(215,101,94,.1)}

/* riquadri dei totali */
.staff-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.staff-kpi>div{border:1px solid var(--line);background:var(--panel2);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.staff-kpi span{font-size:var(--fs-xs);color:var(--muted)}
.staff-kpi strong{font-size:19px}
.staff-kpi .tot{border-color:rgba(239,211,165,.4)}

/* tabelle */
.staff-tabella-box{max-height:none}
.staff-tabella th{font-size:var(--fs-xs)}
.staff-tabella td{font-size:13px;padding:9px 10px;vertical-align:top}
.staff-tabella td strong{font-size:13.5px}
.staff-tabella .num{text-align:right;font-variant-numeric:tabular-nums}
.staff-tabella td.zero{color:var(--muted)}
.staff-tabella .tot{font-weight:800}
.staff-tabella td.testo{white-space:normal;min-width:180px}
.staff-tabella tfoot td{font-weight:800;border-top:2px solid var(--line);background:var(--panel2);font-size:13px}
.staff-riga{cursor:pointer}
.staff-riga:hover td,.staff-riga.aperta td{background:rgba(239,211,165,.05)}
.staff-riga:focus-visible{outline:2px solid var(--sand);outline-offset:-2px}
.staff-dettaglio>td{background:var(--panel);white-space:normal;padding:10px 14px}
tr.revocata td{opacity:.6}
tr.revocata td.num{text-decoration:line-through}
tr.manca td{background:rgba(215,101,94,.06)}

.staff-pallino{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:7px;vertical-align:middle}
.staff-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:middle}
.staff-chips i,.staff-giorno li>span[class^="t-"]{font-style:normal;font-size:var(--fs-xs);border-radius:99px;padding:2px 8px;white-space:nowrap}
.t-course{background:var(--corso-bg);color:var(--corso)}
.t-floor{background:var(--sala-bg);color:#9fe8c0}
.t-pt{background:rgba(120,168,190,.16);color:var(--info)}
.staff-sost-tag{font-size:var(--fs-xs);color:var(--info);white-space:nowrap}

/* dettaglio per giorno */
.staff-giorni{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}
.staff-giorno{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:8px 10px}
.staff-giorno header{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px}
.staff-giorno header b{font-size:13px;text-transform:capitalize}
.staff-giorno header span{font-weight:800}
.staff-giorno header em{font-style:normal;font-size:var(--fs-xs);color:var(--warning)}
.staff-giorno ul{list-style:none;margin:0;padding:0}
.staff-giorno li{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:4px 0;border-top:1px solid rgba(239,211,165,.06);font-size:var(--fs-xs)}
.staff-giorno li time{font-weight:800;color:var(--sand);min-width:92px}
.staff-giorno li .tiny-btn{margin-left:auto}
.staff-rett-mini{margin-top:10px;font-size:var(--fs-xs);display:grid;gap:4px}

/* sostituzioni */
.staff-sost-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}
.staff-sost-card{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:12px}
.staff-sost-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-size:14px}
.staff-sost-card p{margin:6px 0 0;font-size:13px}
.staff-sost-card details{margin-top:8px}
.staff-sost-card summary{cursor:pointer;font-size:var(--fs-xs);color:var(--sand);min-height:30px;display:flex;align-items:center}
.staff-sost-riga{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:var(--fs-xs);padding:4px 0;border-top:1px solid rgba(239,211,165,.06)}

/* collaboratori */
.staff-card-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.staff-card2{border:1px solid var(--line);background:var(--panel2);border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:10px}
.staff-card2.spento{opacity:.7}
.staff-card2 header{display:flex;gap:11px;align-items:center}
.staff-card2 h3{font-size:15px;margin:0}
.staff-card2 header p{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 0}
.staff-avatar2{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#10170f;font-weight:900;font-size:14px}
.staff-card-righe{display:grid;gap:5px}
.staff-card-righe>div{display:grid;grid-template-columns:118px 1fr;gap:8px;font-size:var(--fs-xs)}
.staff-card-righe span{color:var(--muted)}
.staff-card-righe b{font-weight:600}
.staff-card-righe .staff-chips{margin-left:0}
.staff-tariffe{display:grid;gap:2px}
.staff-tariffe span{color:var(--text)}
.staff-tariffe em{font-style:normal;color:var(--muted)}
.staff-card2 .inline-actions{margin-top:auto}
.staff-spenti{margin-top:14px}
.staff-spenti summary{cursor:pointer;font-size:13px;color:var(--muted);margin-bottom:8px;min-height:32px}

/* regole di calcolo */
.staff-impostazioni{padding:14px;margin-top:16px;display:grid;gap:10px}
.staff-impostazioni h2{font-size:15px;margin:0}
.staff-imp-griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.staff-imp-griglia label{display:grid;gap:5px;font-size:var(--fs-xs);color:var(--muted)}
.staff-imp-griglia input{height:38px;font-size:14px}
.staff-impostazioni .checkbox-field{font-size:13px;display:flex;gap:8px;align-items:center}
.staff-impostazioni .checkbox-field input{width:18px;height:18px}

/* ritocchi fuori dalla vista: dettaglio fascia e agenda */
.staff-sost-box{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(120,168,190,.5);background:rgba(120,168,190,.1);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.staff-sost-box strong{display:block;color:var(--info);font-size:13.5px}
.staff-sost-box span{display:block;font-size:var(--fs-xs);color:var(--muted);margin-top:2px}
.staff-sost-agenda{font-size:var(--fs-xs);color:var(--info);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* stampa del riepilogo: solo il foglio, chiaro, su carta o PDF */
#staffStampa{display:none}
@media print{
 html.stampa-staff,body.stampa-staff{background:#fff!important;color:#000!important;overflow:visible!important;padding:0!important}
 body.stampa-staff>*:not(#staffStampa){display:none!important}
 body.stampa-staff #staffStampa{display:block;color:#000;font:10.5pt/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
 #staffStampa h1{font-size:16pt;margin:0 0 4pt}
 #staffStampa h2{font-size:12pt;margin:14pt 0 4pt}
 #staffStampa p{margin:0 0 8pt}
 #staffStampa table{width:100%;border-collapse:collapse;margin-top:6pt}
 #staffStampa th,#staffStampa td{border:1px solid #888;padding:4pt 6pt;text-align:left;font-size:9.5pt;white-space:normal;color:#000;background:#fff;position:static;text-transform:none;letter-spacing:0}
 #staffStampa th{background:#eee}
 #staffStampa tfoot td{font-weight:700;background:#f4f4f4}
 #staffStampa small{color:#444}
 #staffStampa .regole{font-size:9pt;color:#333;margin-top:12pt}
 #staffStampa tr{break-inside:avoid}
 @page{margin:14mm}
}

@media(max-width:820px){
 .staff-body{font-size:14px}
 .staff-schede{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
 .staff-schede button,.staff-modi button{min-height:44px;font-size:14px;padding:8px 6px}
 .staff-modi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .staff-barra{flex-direction:column;align-items:stretch}
 .staff-nav{justify-content:space-between}
 .staff-nav strong{font-size:16px;min-width:0;flex:1}
 .staff-nav .ghost-btn{min-width:44px;min-height:44px}
 .staff-intervallo{flex-direction:column;align-items:stretch}
 .staff-intervallo label{justify-content:space-between}
 .staff-intervallo input{height:44px;font-size:15px;flex:1}
 .staff-body .primary-btn,.staff-body .ghost-btn,.staff-body .tiny-btn,.staff-body .text-btn{min-height:44px;font-size:14px}
 .staff-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
 .staff-kpi strong{font-size:18px}
 .staff-nota{font-size:13.5px}
 /* tabella -> schede: una persona per blocco, etichetta a sinistra e valore a destra */
 .staff-tabella thead{display:none}
 .staff-tabella,.staff-tabella tbody,.staff-tabella tfoot{display:block}
 .staff-tabella tr{display:block;border-bottom:1px solid var(--line);padding:8px 4px}
 .staff-tabella td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 6px;font-size:14px;white-space:normal;text-align:right}
 .staff-tabella td::before{content:attr(data-l);color:var(--muted);font-size:13px;text-align:left;flex:0 0 auto}
 .staff-tabella td[data-l="Collaboratore"]{display:block;text-align:left;font-size:15px}
 .staff-tabella td[data-l="Collaboratore"]::before,.staff-tabella td:not([data-l])::before{display:none}
 .staff-tabella td.testo{min-width:0}
 .staff-tabella td.zero{display:none}
 .staff-tabella tfoot tr{display:block}
 /* da telefono la barrata prenderebbe anche l'etichetta: basta la scritta «revocata» */
 .staff-tabella tr.revocata td.num{text-decoration:none}
 .staff-tabella tfoot td:empty{display:none}
 .staff-dettaglio>td{display:block;padding:8px 4px}
 .staff-dettaglio>td::before{display:none}
 .staff-giorni{grid-template-columns:1fr}
 .staff-giorno li{font-size:14px}
 .staff-sost-griglia,.staff-card-griglia{grid-template-columns:1fr}
 .staff-card-righe>div{grid-template-columns:110px 1fr;font-size:14px}
 .staff-imp-griglia{grid-template-columns:1fr}
 .staff-imp-griglia input{height:44px;font-size:15px}
 .staff-impostazioni .checkbox-field{font-size:14px;min-height:44px}
 .staff-sost-box{flex-direction:column;align-items:stretch}
 .staff-sost-box .tiny-btn{min-height:44px}
}
