/* costi-personale (16/10/2026): finestra costi del personale (solo Davide) + stato del costo nelle Statistiche economiche.
   Stato = FORMA + PAROLA: completo (bordo pieno + spunta), parziale (mezzo pieno + triangolo), stimato (bordo tratteggiato + orologio). */
.modal.lg:has(.cp){max-width:min(1200px, 96vw)}
.cp td.num,.cp th.num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.cp-intro{display:flex; align-items:center; gap:6px; margin:0 0 12px; color:var(--ink-2)}
.cp-barra{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:0 0 12px}
.cp-vai{display:inline-flex; align-items:center; gap:8px; margin:0 0 0 auto; font-size:.9em}
.cp-vai input{width:auto; padding:6px 9px}
.cp-tit{display:flex; align-items:center; gap:8px; font-size:1em; margin:18px 0 8px}
.cp-tit .btn-sm{margin-left:auto}
.cp-nota{font-size:.85em; margin:6px 0 0}
.cp-carica{border:1px dashed var(--line-2); border-radius:var(--radius); padding:12px 14px; background:var(--surface-2)}
.cp-carica-riga{display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap}
.cp-carica-riga .field{margin:0; min-width:200px}
.cp-carica-riga .cp-file{flex:1 1 260px}
.cp-carica-riga input[type=file]{padding:6px}
.cp-esito{font-weight:600; color:var(--ink-2)}
.cp-tab{margin:4px 0 6px}
.cp-scorri{overflow-x:auto}
.cp-azioni{white-space:nowrap; display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.cp-azioni .btn-sm svg,.cp-tit svg{vertical-align:-2px}
.cp-qual,.cp-fesito{font-size:.82em}
.cp-motivo{display:block; font-size:.82em; color:var(--ink-2); margin-top:3px}
.cp-motivo svg{vertical-align:-2px; color:var(--s-book)}

/* pillole di stato del costo */
.cp-stato{display:inline-flex; align-items:center; gap:4px; font-size:.8em; font-weight:600; padding:1px 8px 1px 6px; border-radius:20px; white-space:nowrap; line-height:1.5}
.cp-stato svg{width:12px; height:12px}
.cp-completo{border:1.5px solid var(--s-free); background:color-mix(in srgb, var(--s-free) 14%, #fff); color:#1d6e41}
.cp-parziale{border:1.5px solid var(--s-book); background:linear-gradient(90deg, color-mix(in srgb, var(--s-book) 22%, #fff) 50%, #fff 50%); color:#8a5c00}
.cp-stimato{border:1.5px dashed var(--s-off); background:transparent; color:var(--ink-2)}
.stat-mese .cp-stato{margin-left:6px; font-size:.74em}

/* stato dei file caricati */
.cp-fstato{display:inline-flex; align-items:center; gap:4px; font-weight:600; font-size:.85em}
.cp-f-pronto{color:#8a5c00} .cp-f-errore{color:#b5302f} .cp-f-salvato{color:#1d6e41} .cp-f-in_attesa,.cp-f-in_corso{color:var(--ink-2)}

/* riepilogo del mese */
.cp-riepilogo{display:flex; gap:16px; flex-wrap:wrap; align-items:flex-start; margin:14px 0 4px; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
.cp-stato-grande{flex:1 1 240px}
.cp-stato-grande > .cp-stato{font-size:.95em}
.cp-cifre{flex:2 1 520px; display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:8px 14px; margin:0}
.cp-cifre dt,.cp-voci dt{font-size:.78em; color:var(--muted)}
.cp-cifre dd,.cp-voci dd{margin:0; font-variant-numeric:tabular-nums; font-weight:600}
.cp-forte dd{color:var(--accent-2); font-size:1.08em}
.cp-due{display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:14px}
.cp-box{border:1px solid var(--line); border-radius:var(--radius); padding:2px 14px 12px}
.cp-voci{display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; margin:0 0 10px}
.cp-escluso{margin:4px 0 0 18px; font-size:.85em; color:var(--ink-2)}

/* moduli */
.cp-griglia{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:4px 14px}
.cp-griglia .cp-largo{grid-column:span 2}
@media (max-width:520px){.cp-griglia .cp-largo{grid-column:auto}}
.cp-rev input,.cp-rev select{padding:5px 7px; min-width:84px}
.cp-rev input[type=checkbox]{width:auto; min-width:0}
.cp-rev td{white-space:nowrap}

/* statistiche: riga «costi del personale» (solo Davide) */
.stat-mese tr.cp-sa-riga td{background:var(--surface-2)}
.cp-sa{display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:.9em}
.cp-sa .btn-sm{margin-left:auto}
.cp-det summary{cursor:pointer; font-size:.88em; color:var(--accent-2); margin-top:6px}
.cp-det table{margin-top:6px; font-size:.86em}
.cp-det td.num,.cp-det th.num{text-align:right; font-variant-numeric:tabular-nums}
