/* smart-vista.php non ha mai avuto padding proprio (body.iframe-complesso di ic-header.php è
   scoperto), contenuto sempre a filo coi bordi del modal/iframe — segnalato dal vivo. */
.ts-vista-container { padding: 15px; }

/* Regole condivise con altri motori (SelettoreViste, icone header, footer Tabulator, modal Filtri,
   badge, clearfix box-header flex) sono in smart-comune.css — qui resta solo ciò che è specifico di
   TabellaSmart. */
/* Posizione icone SOLO di TabellaSmart (filtro per-colonna, menu "nascondi colonna" — Raggruppamento
   non li ha: i filtri sono solo un modal di pagina, non c'è "nascondi colonna"). */
.tabella-smart-tabella .filtro-header-icona { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); cursor: pointer; color: #ccc; }
.tabella-smart-tabella .filtro-header-icona.filtro-attivo { color: #00a65a; font-weight: bold; }
.tabella-smart-tabella .menu-header-icona { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); cursor: pointer; color: #999; padding: 0 3px; }
.tabella-smart-tabella .menu-header-icona:hover { color: #333; }
.tabella-smart-tabella .ts-chk-riga, .tabella-smart-tabella .ts-chk-tutti-pagina { margin: 0; vertical-align: middle; cursor: pointer; }
/* Paginazione nativa di Tabulator e riga di aggregazione (bottomCalc, condivisa da entrambi i
   motori ora — vedi smart-comune.css) nascoste/stilate lì. Qui resta solo il rendering SPECIFICO di
   TabellaSmart (doppio valore filtrato/visibile), Raggruppamento ha il suo più semplice in
   raggruppamento-smart.js/smart-comune.css. */
/* Righe di ALTEZZA FISSA (16px, ognuna una linea): le fasce del piede (2 linee per funzione) devono
   avere la stessa altezza in ogni colonna, altrimenti gli stessi tipi di valore non si allineano
   (un contenuto più alto — es. un formato con contenitore — sposterebbe tutto sotto). */
.tabella-smart-tabella .ts-agg-grid {
  display: grid;
  grid-template-columns: 12px 1fr;
  grid-auto-rows: 16px;
  column-gap: 4px;
  row-gap: 0;
  align-items: center;
  font-size: 12px;
  line-height: 16px;
}
/* Titoli delle fasce (colonna bloccata a sinistra): una sola colonna, grigio chiaro. */
.tabella-smart-tabella .ts-agg-etichette { grid-template-columns: 1fr; }
.tabella-smart-tabella .ts-agg-lbl { color: #aaa; font-size: 11px; font-weight: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: default; }
.tabella-smart-tabella .ts-agg-ico { font-size: 9px; text-align: center; cursor: default; }
.tabella-smart-tabella .ts-agg-ico-filtrato { color: #00a65a; }
.tabella-smart-tabella .ts-agg-ico-visibile { color: #999; }
.tabella-smart-tabella .ts-agg-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; height: 16px; }
.tabella-smart-tabella .ts-agg-num-filtrato { font-weight: bold; }
.tabella-smart-tabella .ts-agg-num-visibile { color: #999; font-size: 11px; }
.tabella-smart-paginazione { display: flex; align-items: center; justify-content: space-between; padding: 10px 5px 0; }
.tabella-smart-paginazione .tabella-smart-pagina-corrente-input { width: 55px; text-align: center; display: inline-block; }
/* Bug trovato dall'utente dal vivo: le celle bloccate (bloccaPrimaColonna/Ultima,
   CONFIG.colonne[].frozen) erano trasparenti su alcune righe, lasciando vedere attraverso il testo
   delle colonne che scorrono sotto (position:sticky, sovrapposte allo stesso stacking context).
   Prima versione di questo fix era condizionata a ".tabulator-row-even" (verificato lì che SOLO le
   righe pari fossero trasparenti) — verificato nel mio harness locale con Tabulator 6.3.1 via CDN,
   ma il server reale usa 6.5.2 (versione diversa, nota già da questa sessione): sul server reale il
   problema è rimasto anche dopo quel fix, segno che la marcatura pari/dispari (o comunque cosa
   rende trasparente una cella) non è la stessa tra le due versioni — non verificabile da qui senza
   un ambiente con la versione reale. **Fix incondizionato**, non più legato a "-even": sfondo
   esplicito su OGNI cella bloccata, sempre, indipendentemente da come Tabulator gestisce
   internamente pari/dispari in questa o altre versioni. */
.tabella-smart-tabella .tabulator-cell.tabulator-frozen { background-color: #fff !important; }
/* Le classi contestuali standard di Bootstrap 3 (CONFIG.righe.classe che ritorna es. "danger")
   vanno riaffermate esplicitamente sulla cella bloccata, altrimenti il fix sopra le sovrascrive —
   stessi colori esatti di Bootstrap (.table-danger ecc.), non inventati. */
.tabella-smart-tabella .tabulator-row.active .tabulator-cell.tabulator-frozen { background-color: #f5f5f5 !important; }
.tabella-smart-tabella .tabulator-row.success .tabulator-cell.tabulator-frozen { background-color: #dff0d8 !important; }
.tabella-smart-tabella .tabulator-row.info .tabulator-cell.tabulator-frozen { background-color: #d9edf7 !important; }
.tabella-smart-tabella .tabulator-row.warning .tabulator-cell.tabulator-frozen { background-color: #fcf8e3 !important; }
.tabella-smart-tabella .tabulator-row.danger .tabulator-cell.tabulator-frozen { background-color: #f2dede !important; }
/* Stesso motivo: il fix incondizionato sopra sovrascriveva anche lo sfondo grigio chiaro dedicato
   della riga aggregati (regressione trovata riverificando SUBITO dopo il fix precedente, non
   lasciata scoperta al prossimo giro) — riaffermato qui, stessa regola già esistente più sopra. */
.tabella-smart-tabella .tabulator-calcs-bottom .tabulator-cell.tabulator-frozen { background-color: #f9f9f9 !important; }



.tabella-smart-tabella .tabulator-cell .label.blocco { display: flex;
  justify-content: center;
  align-items: center;
  height: 25px;}