/* I Conti della lavorazione (passo 6, 2026-09-24). Solo i gettoni di app.css: monocromo, cifre in
   B612 (var(--cifre)) a larghezza fissa, il fucsia (--allerta) SOLO sulle allerte vere (margine a fine
   lavoro sotto soglia, un tipo di lavoro oltre il +20% delle ore). Un foglio unico, righe fitte.
   Il REGOLO di ogni tipo: pieno = ore fatte, tratteggio = mancanti, la tacca = il previsto;
   quello che passa la tacca e' lo sforo. */

.ct {display:flex; flex-direction:column; gap:var(--s3); min-width:0;}
.ct-frase {margin:0; font-size:var(--t-15); line-height:1.45; color:var(--ink); font-weight:600;}
.ct-piano {color:var(--ink-2); font-weight:400;}
.ct-allerta {color:var(--allerta);}
.ct-base {margin:0; font-size:var(--t-12); line-height:1.5; color:var(--ink-3);}
.ct-parziale {color:var(--ink-2); font-weight:600;}

/* Le voci: una riga di cifre per valuta, ognuna con la sua base scritta sotto. */
/* Flessibile e non a griglia: l'ultima fila si allarga, nessun buco (spazio sempre pieno). */
.ct-voci {display:flex; flex-wrap:wrap; margin:0; border-top:1px solid var(--linea-2); border-left:1px solid var(--linea-2);}
.ct-voci > div {flex:1 1 150px; padding:8px 10px; border-right:1px solid var(--linea-2); border-bottom:1px solid var(--linea-2); min-width:0;}
.ct-valuta {margin:4px 0 -6px; font-size:var(--t-12); color:var(--ink-2); font-weight:600;}
.ct-voci dt {font-size:var(--t-12); color:var(--ink-2);}
.ct-voci dd {margin:2px 0 0; display:flex; flex-direction:column; gap:2px;}
.ct-voci small {font-size:var(--t-12); color:var(--ink-3); line-height:1.35; overflow-wrap:anywhere;}
.ct-n {font:600 var(--t-15) var(--cifre); font-variant-numeric:tabular-nums; color:var(--ink);}
.ct-manca {font-size:var(--t-13); color:var(--ink-3); font-style:italic;}
.ct-voci > div.is-allerta {box-shadow:inset 3px 0 0 var(--allerta);}
.ct-voci > div.is-allerta .ct-n, .ct-voci > div.is-allerta small {color:var(--allerta);}

/* La tabella per tipo: scorre dentro il suo contenitore, mai la pagina. */
.ct-scorre {position:relative; overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch;}
.ct-tab {width:100%; min-width:520px; border-collapse:collapse; font-size:var(--t-13);}
.ct-tab caption {text-align:left; font-size:var(--t-12); color:var(--ink-2); padding:0 0 6px;}
.ct-tab th, .ct-tab td {padding:6px 8px; border-bottom:1px solid var(--linea-2); text-align:right; vertical-align:middle; white-space:nowrap;}
.ct-tab thead th {font-size:var(--t-12); font-weight:400; color:var(--ink-3);}
.ct-tab th[scope=row], .ct-tab thead th:first-child {text-align:left; white-space:normal;}
.ct-tab th[scope=row] {font-weight:600; color:var(--ink);}
.ct-tab th[scope=row] small {display:block; font-weight:400; font-size:var(--t-12); color:var(--ink-3);}
.ct-tab td {font-family:var(--cifre); font-variant-numeric:tabular-nums; color:var(--ink);}
.ct-tab tfoot th, .ct-tab tfoot td {border-bottom:0; border-top:1px solid var(--linea); color:var(--ink-2);}
.ct-tab tr.is-allerta .ct-scost {color:var(--allerta); font-weight:600;}
.ct-tab td:last-child {width:34%; min-width:120px;}
.ct-sr {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}

.ct-regolo {position:relative; display:flex; height:8px; border:1px solid var(--linea); border-radius:1px; overflow:visible;}
.ct-regolo i {display:block; height:100%;}
.ct-fatte {background:var(--ink-2);}
.ct-mancanti {background:repeating-linear-gradient(135deg, var(--ink-3) 0 1px, transparent 1px 4px);}
.ct-tacca {position:absolute; top:-3px; bottom:-3px; width:2px; margin-left:-1px; background:var(--ink);}
.ct-regolo.is-allerta {border-color:var(--allerta);}
.ct-regolo.is-allerta .ct-tacca {background:var(--allerta);}
.ct-manca-lista {margin:6px 0 0; padding-left:18px; font-size:var(--t-12); color:var(--ink-2);}

@media (max-width:640px) {
  .ct-voci > div {flex-basis:140px;}
  .ct-frase {font-size:var(--t-13);}
}
