/* Vista PC / telefono - Contabilita e elenchi incassi/pagamenti (prefisso ct-).
   Solo le regole proprie di queste pagine: quelle comuni stanno in app.css (ed-*, vt-*, mg-pagina--tel). */

/* ── Comuni del gruppo ─────────────────────────────────────────────────── */
/* Griglia DevExpress montata ma nascosta sul telefono (serve a export/stampa) */
.ct-nascosta { display: none !important; }

/* Totali delle righe filtrate sopra le schede */
.ct-tel-totali {
    display: flex; flex-wrap: wrap; gap: .3rem 1rem;
    margin-bottom: .6rem; padding: .5rem .75rem;
    border: 1px solid var(--fe-border); border-radius: 10px; background: var(--fe-blue-light);
    font-size: .8rem; color: var(--fe-text-muted); font-variant-numeric: tabular-nums;
}
.ct-tel-totali strong { color: var(--fe-text); white-space: nowrap; }

/* Intestazione di gruppo nell'elenco a schede (come le righe di gruppo della griglia) */
.ct-tel-gruppo {
    margin-top: .3rem; padding: .15rem .25rem;
    font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
    color: var(--fe-blue); border-bottom: 1px solid var(--fe-border);
}
.vt-scheda-sub .vt-chip { margin-left: .3rem; }

/* ── Pagine con stile ec-* (ScadenzarioSCF, EstrattoConto) sul telefono ── */
.ec-page.ct-tel { padding: .5rem; }
.ec-page.ct-tel .ec-header { padding: .75rem 1rem; }
.ec-page.ct-tel .tb-inner { justify-content: flex-start; padding: .5rem; }
.ec-page.ct-tel .tb-btn { min-height: 40px; }
.ec-page.ct-tel .tb-divider { display: none; }
.ec-page.ct-tel .ec-card-body { padding: .8rem; }
.ec-page.ct-tel .ec-filters-grid { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
.ec-page.ct-tel .ec-field--wide { grid-column: auto; }
.ec-page.ct-tel .ec-input { min-height: 40px; font-size: 16px; }
.ec-page.ct-tel .ec-input--date { max-width: none; flex: 1 1 0; min-width: 0; }
.ec-page.ct-tel .ec-period { flex-wrap: nowrap; }
.ec-page.ct-tel .ec-input-btn { min-width: 44px; }
.ec-page.ct-tel .ec-radio { min-height: 40px; }
.ec-page.ct-tel .ec-check { min-height: 32px; }
.ec-page.ct-tel .ec-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.ec-page.ct-tel .ec-stat-card { padding: .6rem .7rem; gap: .5rem; }
.ec-page.ct-tel .ec-stat-icon { display: none; }
.ec-page.ct-tel .ec-stat-value { font-size: .95rem; }
.ec-page.ct-tel .ec-card.ec-card--grid { background: transparent; border: 0; box-shadow: none; overflow: visible; }

/* ── PrimaNotaIPBody (prima nota incassi / pagamenti): ora in vista compatta, regole nella sezione
   "Maschere di contabilità in vista compatta" in fondo (classi pn-*). Qui solo il campo di pagamento delle schede telefono. */
.ct-pn-paga { margin-top: .5rem; }
.ct-pn-paga-riga { display: flex; gap: .4rem; align-items: stretch; margin-top: .2rem; }
.ct-pn-paga-riga > :first-child { flex: 1 1 auto; min-width: 0; }
.ct-pn-paga-riga .pr-btn { min-height: 40px; }

/* ── ElencoOperazioniBody (elenco incassi / pagamenti) sul telefono ───── */
.el-pagina.ct-el--tel .tb-inner { flex-wrap: wrap; padding: .5rem; gap: .5rem; }
.el-pagina.ct-el--tel .tb-caption { flex: 1 1 100%; flex-wrap: wrap; }
.el-pagina.ct-el--tel .tb-actions { flex-wrap: wrap; }
.el-pagina.ct-el--tel .tb-btn { min-height: 40px; }
.el-pagina.ct-el--tel .el-filters { padding: .7rem; }
.el-pagina.ct-el--tel .el-filters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.el-pagina.ct-el--tel .el-field--grow { grid-column: 1 / -1; }
.el-pagina.ct-el--tel .form-control { min-height: 40px; font-size: 16px; }
.el-pagina.ct-el--tel .dxbl-text-edit { min-height: 40px; }
.el-pagina.ct-el--tel .dxbl-text-edit input { font-size: 16px; }
.el-pagina.ct-el--tel .el-checkbox { min-height: 40px; }
.el-pagina.ct-el--tel .el-btn-refresh { min-height: 40px; }
.el-pagina.ct-el--tel .el-action-btn-cta { min-height: 40px; padding: .4rem .9rem; font-size: .9rem; }
.ct-el-schede { padding: .6rem; background: var(--fe-bg, var(--ab-s-f7f9fc, #f7f9fc)); }
.vt-scheda.ct-el-scheda--aperta { background: var(--ab-s-fffbf2, #fffbf2); }
.vt-scheda.ct-el-scheda--bloccata { opacity: .8; }

/* ── CausaliContabiliAutomatismi: ora in vista compatta (ct-pagina), regole cca-* nella sezione finale ── */

/* ── RicercaElencoContiPdc (finestra di ricerca del piano dei conti) sul telefono ── */
.rc-modal.ct-rcp--tel .rc-card { border-radius: 0; }
.rc-modal.ct-rcp--tel .rc-header { padding: .8rem 1rem; }
.rc-modal.ct-rcp--tel .rc-close-btn { width: 44px; height: 44px; }
.rc-modal.ct-rcp--tel .rc-search-wrap { padding: .6rem .75rem; }
.rc-modal.ct-rcp--tel .rc-search-input { min-height: 44px; font-size: 16px; }
.rc-modal.ct-rcp--tel .rc-body { max-height: none; }
/* altezza esplicita: Virtualize ha bisogno che sia questo contenitore a scorrere davvero */
.rc-modal.ct-rcp--tel .rc-table-wrap { max-height: calc(100vh - 230px); max-height: calc(100dvh - 230px); }
.rc-modal.ct-rcp--tel .rc-select-btn { min-height: 40px; }
.rc-modal.ct-rcp--tel .rc-btn-close { min-height: 44px; }

/* ══ Maschere di contabilità in vista compatta (pilota: PrimaNotaContabile, PrimaNotaIva, PrimaNotaIvaSemplificata) ══
   Grafica di EmissioneDocumenti: BarraContabilita (tb-bar sticky, sempre visibile) + .ed-doc > .ed-foglio con
   .ed-testata a due colonne (.ed-campo), sezioni facoltative .ed-apri, schede interne .cc-schede, righe .ed-righe.
   Contenitore della pagina: div class="ct-pagina ..." (le regole cc-* qui sotto valgono solo lì dentro).
   Componenti: Comuni/BarraContabilita.razor, Comuni/MenuAltreAzioni.razor (menu ⋮), Comuni/ContabilitaPaginaBase.cs. */
.ct-pagina { outline: none; }

/* Barra dei comandi */
.ct-barra-titolo { overflow: hidden; text-overflow: ellipsis; }
.ct-barra-badge { flex-shrink: 0; padding: 1px 8px; border-radius: 10px; background: var(--fe-blue-light); color: var(--fe-blue); font-size: .7rem; font-weight: 700; }
.ct-barra-stella { display: flex; align-items: center; }
/* Sottotitolo (ultima registrazione inserita): sotto il titolo sul PC, riga sottile in fondo alla barra sul telefono */
.ct-barra-testi { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.ct-barra-sotto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .74rem; font-weight: 500; color: var(--fe-text-muted); }
.ct-barra-sotto--tel { padding: 0 .75rem .3rem; font-size: .7rem; }
.ct-barra .tb-actions { flex-shrink: 1; }

/* Menu ⋮ (MenuAltreAzioni): aspetto delle dropdown-menu di Bootstrap, secondo livello a fisarmonica */
.ct-menu { position: relative; }
.ct-menu-velo { position: fixed; inset: 0; z-index: 1; background: transparent; }
.ct-menu-tendina {
    position: absolute; top: calc(100% + 4px); right: 0; left: auto; z-index: 2;
    min-width: 290px; max-width: min(92vw, 440px); max-height: calc(100vh - 150px); overflow-y: auto;
}
.ct-menu-voce { display: flex; align-items: center; font-weight: 600; }
.ct-menu-voce--aperta { background: var(--fe-blue-light); color: var(--fe-blue); }
.ct-menu-freccia { margin-left: auto; padding-left: .75rem; font-size: .8rem; }
.ct-menu-sottovoce { display: flex; align-items: center; padding-left: 2.2rem; white-space: normal; font-size: .86rem; }
.ct-menu-pannello { padding: .35rem 1rem .6rem 2.2rem; font-size: .82rem; color: var(--fe-text); }
.ct-legenda-titolo { margin-bottom: .25rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--fe-text-muted); }
.ct-legenda { display: grid; grid-template-columns: auto 1fr; gap: .15rem .7rem; margin: 0; }
.ct-legenda dt { font-weight: 700; color: var(--fe-blue); }
.ct-legenda dd { margin: 0; }
.tb-bar--tel .ct-menu-voce,
.tb-bar--tel .ct-menu-sottovoce { min-height: 44px; }

/* Foglio più compatto della maschera documenti */
.ct-pagina .ed-doc--pc { padding: .5rem .75rem 1rem; }
.ct-pagina .ed-doc--pc .ed-foglio { padding: .7rem .9rem .8rem; gap: .55rem; }
.ct-pagina .ed-titolo { margin-bottom: .45rem; padding: .28rem .65rem; }
.ct-pagina .ed-campo { margin-bottom: .35rem; }
.ct-pagina .ed-info { margin-bottom: .2rem; }
.ct-pagina .ed-apri-corpo { padding: .5rem 0 .2rem; }
.ct-fieldset,
.ct-pagina fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }

/* Campo con lente e descrizione accanto: larghezza del campo data dalla classe ct-w-* */
.ct-cerca { display: flex; align-items: center; gap: 4px; min-width: 0; }
.ct-cerca > .form-control:not([class*="ct-w-"]) { flex: 1 1 auto; min-width: 0; }
.ct-cerca > .ed-lente { flex: 0 0 34px; }
.ct-descr { flex: 1 1 auto; min-width: 0; padding-left: .3rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; color: var(--fe-text-muted); }
.ct-pagina .ed-lente:disabled { opacity: .45; cursor: default; background: var(--fe-blue-light); color: var(--fe-blue); }

/* Larghezze dei campi (quanto il contenuto) */
.ct-w-cod, .ct-w-conto, .ct-w-imp, .ct-w-data, .ct-w-abi, .ct-w-perc, .ct-w-es, .ct-w-banca, .ct-w-scelta { flex: none; }
.ct-w-cod { width: 7rem; }
.ct-w-conto { width: 9rem; }
.ct-w-imp { width: 8.5rem; }
.ct-w-data { width: 9.5rem; }
.ct-w-abi { width: 5.5rem; }
.ct-w-perc { width: 5.5rem; }
.ct-w-es { width: 7rem; }
.ct-w-banca { width: 16rem; }
.ct-w-scelta { width: auto; max-width: 24rem; }

/* Righe e campi dentro le schede interne */
.ct-pagina .cc-riga { display: flex; flex-wrap: wrap; gap: .35rem .9rem; align-items: center; margin-bottom: .4rem; }
.ct-pagina .cc-campo { display: flex; align-items: center; gap: .35rem; }
.ct-pagina .cc-campo > label { margin: 0; font-size: .8rem; font-weight: 600; color: var(--fe-text-muted); white-space: nowrap; }
.ct-pagina .cc-check { display: inline-flex; align-items: center; gap: .3rem; margin: 0; font-size: .83rem; color: var(--fe-text); cursor: pointer; }
.ct-pagina .cc-gruppo { margin-bottom: .3rem; }
.ct-pagina .cc-gruppo-titolo { margin: .3rem 0 .25rem; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--fe-text-muted); }
.ct-pagina .cc-largo { flex: 1 1 100%; }
.ct-pagina .cc-largo .form-control { flex: 1 1 auto; }
.ct-pagina .cc-num { text-align: right; }
.ct-pagina .cc-valore { display: inline-block; min-width: 6.5rem; padding: .2rem .5rem; border: 1px solid var(--fe-border); border-radius: 6px; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.ct-pagina .cc-valore--chiaro { background: var(--ab-s-fffacd, #fffacd); }
.ct-pagina .cc-valore--arancio { background: var(--ab-s-ffa500, #ffa500); }
.ct-pagina .pn-descr { font-size: .8rem; color: var(--fe-text-muted); }
.ct-pagina .pn-codice { max-width: 7rem; }
.ct-pagina .pn-conto { max-width: 9rem; }
.ct-pagina .pn-imp { max-width: 8.5rem; }
.ct-pagina .pn-data { max-width: 9.5rem; }
.ct-pagina .pn-abi { max-width: 5.5rem; }
.ct-pagina .pn-perc { max-width: 5.5rem; }
.ct-pagina .pn-rigo { min-width: 3.5rem; }
.ct-pagina .pi-opzioni { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .25rem 1rem; }
.ct-pagina .pi-largo { max-width: 28rem; }
.ct-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }

/* Schede interne (Sviluppo contabile, Scadenze...) */
.ct-pagina .cc-schede { display: flex; flex-wrap: wrap; gap: .15rem; margin: .1rem 0 0; border-bottom: 2px solid var(--fe-border); }
.ct-pagina .cc-scheda { margin-bottom: -2px; padding: .35rem .85rem; border: 0; border-bottom: 3px solid transparent; background: transparent; font-size: .83rem; font-weight: 600; color: var(--fe-text-muted); }
.ct-pagina .cc-scheda--attiva { color: var(--fe-blue); border-bottom-color: var(--fe-blue); }
.ct-pagina .cc-scheda:disabled { opacity: .45; }
.ct-scheda-corpo { min-width: 0; }

/* Righe in tabella (PC): altezza legata alla finestra, intestazione ferma */
.ct-righe-wrap { max-height: calc(100vh - 470px); min-height: 180px; overflow: auto; border: 1px solid var(--fe-border); border-radius: 6px; }
.ct-righe-wrap--bassa { min-height: 0; max-height: 220px; margin-top: .4rem; }
.ct-righe-wrap .ed-righe thead th { position: sticky; top: 0; z-index: 1; background: var(--ab-s-ffffff, #fff); }
.ct-righe-click tbody tr { cursor: pointer; }
.ct-pagina .ed-righe td,
.ct-pagina .ed-righe th { padding-left: .45rem; padding-right: .45rem; font-size: .84rem; }
.ct-pagina .ed-righe th { font-size: .68rem; }
.ct-pagina .ed-righe .ct-riga--sel > td { background: var(--ab-s-dbeafe, #dbeafe); }
.ct-pagina .ed-righe .ct-riga--evidenza > td { background: var(--ab-s-fff4e0, #fff4e0); }

/* Totali sotto le righe: in linea su PC, barra fissa in basso (ed-barra-tot) sul telefono */
.ct-totali { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1.6rem; padding: .4rem .2rem 0; font-size: .8rem; color: var(--fe-text-muted); font-variant-numeric: tabular-nums; }
.ct-totali > div { display: flex; align-items: baseline; gap: .4rem; }
.ct-totali strong { font-size: .95rem; color: var(--fe-text); }
.ct-sbilancio { color: var(--ab-t-dc2626, #dc2626) !important; }

/* Vista telefono: una colonna, campi a tutta larghezza, alti 40 px */
.ct-pagina .ed-doc--tel .ct-w-cod, .ct-pagina .ed-doc--tel .ct-w-conto, .ct-pagina .ed-doc--tel .ct-w-imp,
.ct-pagina .ed-doc--tel .ct-w-data, .ct-pagina .ed-doc--tel .ct-w-abi, .ct-pagina .ed-doc--tel .ct-w-perc,
.ct-pagina .ed-doc--tel .ct-w-es, .ct-pagina .ed-doc--tel .ct-w-banca, .ct-pagina .ed-doc--tel .ct-w-scelta { flex: 1 1 0; width: auto; min-width: 0; max-width: none; }
.ct-pagina .ed-doc--tel .ct-cerca { flex-wrap: wrap; }
.ct-pagina .ed-doc--tel .ct-cerca > .ed-lente { flex-basis: 42px; min-height: 40px; }
.ct-pagina .ed-doc--tel .ct-descr { flex: 1 1 100%; padding-left: 0; white-space: normal; }
.ct-pagina .ed-doc--tel .cc-riga { flex-direction: column; align-items: stretch; gap: .5rem; }
.ct-pagina .ed-doc--tel .cc-campo { flex-wrap: wrap; width: 100%; }
.ct-pagina .ed-doc--tel .cc-campo > label { flex: 0 0 100%; white-space: normal; }
.ct-pagina .ed-doc--tel .cc-campo > .form-control,
.ct-pagina .ed-doc--tel .cc-campo > .form-select,
.ct-pagina .ed-doc--tel .cc-campo > .ct-cerca { flex: 1 1 0; width: auto; max-width: none; }
.ct-pagina .ed-doc--tel .cc-check { min-height: 36px; font-size: .95rem; }
.ct-pagina .ed-doc--tel .cc-schede { flex-wrap: nowrap; overflow-x: auto; }
.ct-pagina .ed-doc--tel .cc-scheda { flex: none; min-height: 42px; }
.ct-pagina .ed-doc--tel .ct-righe-wrap { max-height: none; }
.ct-pagina .ed-doc--tel .pr-btn { min-height: 40px; }
.ct-pagina .ed-doc--tel .ms-auto { margin-left: 0 !important; }
.ct-pagina .ed-doc--tel .pi-opzioni { grid-template-columns: minmax(0, 1fr); }

/* ── Altre maschere in vista compatta (stesse regole ct-/cc-/ed- qui sopra) ──────────────────────────────────────
   Avvisi in linea, campi in errore, legenda delle scadenze: comuni a tutte le maschere ct-pagina. */
.ct-pagina .pn-avviso { display: flex; align-items: flex-start; gap: .6rem; padding: .45rem .75rem; border: 1px solid; border-radius: 8px; font-size: .83rem; line-height: 1.45; }
.ct-pagina .pn-avviso > i { flex-shrink: 0; margin-top: .1rem; }
.ct-pagina .pn-avviso--errore { background: var(--ab-s-fef2f2, #fef2f2); border-color: var(--ab-b-fca5a5, #fca5a5); color: var(--ab-t-991b1b, #991b1b); }
.ct-pagina .pn-avviso--attenzione { background: var(--ab-s-fffbeb, #fffbeb); border-color: var(--ab-b-fde68a, #fde68a); color: var(--ab-t-92400e, #92400e); }
.ct-pagina .pn-errore .form-control,
.ct-pagina .pn-errore .dxbl-text-edit,
.ct-pagina .pn-errore .pr-btn { outline: 2px solid var(--ab-b-ef4444, #ef4444); outline-offset: 1px; }
.ct-pagina .pn-ls { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 20px; border-radius: 5px; font-size: .68rem; font-weight: 700; font-family: monospace; }
.ct-pagina .pn-ls--a  { background: var(--ab-s-fef3c7, #fef3c7); color: var(--ab-t-92400e, #92400e); }
.ct-pagina .pn-ls--p  { background: var(--ab-s-dcfce7, #dcfce7); color: var(--ab-t-166534, #166534); }
.ct-pagina .pn-ls--np { background: var(--ab-s-fee2e2, #fee2e2); color: var(--ab-t-991b1b, #991b1b); }
.ct-pagina .pn-ls--pp { background: var(--ab-s-dbeafe, #dbeafe); color: var(--ab-t-1e40af, #1e40af); }

/* PrimaNotaIPBody (prima nota incassi / pagamenti) */
.ct-pagina .pn-codice-cf { min-width: 5.5rem; text-align: left; font-family: monospace; }
.ct-pagina .pn-nome-cf { font-size: .88rem; font-weight: 600; color: var(--fe-text); }
.ct-pagina .pn-lucchetto { flex: none; color: var(--ab-t-991b1b, #991b1b); font-size: .8rem; }
.ct-pagina .pn-valuta { flex: none; font-size: .85rem; font-weight: 600; color: var(--fe-text-muted); }
.ct-pagina .pn-importo { text-align: right; font-weight: 700; color: var(--fe-blue); }
.ct-pagina .pn-importo-valuta { background-color: var(--ab-s-f5deb3, wheat) !important; color: var(--ab-t-000000, #000) !important; } /* txtImporto.BackColor = Wheat del legacy */
.ct-pagina .pn-residuo--ok { background: var(--ab-s-f0fdf4, #f0fdf4); color: var(--ab-t-166534, #166534); }
.ct-pagina .pn-residuo--warn { background: var(--ab-s-fffbeb, #fffbeb); color: var(--ab-t-92400e, #92400e); }
.ct-pagina .pn-residuo--error { background: var(--ab-s-fef2f2, #fef2f2); color: var(--ab-t-dc2626, #dc2626); }
.ct-pagina .pn-check--spenta { opacity: .5; }
.ct-pagina .pn-badge { margin-left: .2rem; padding: .05rem .4rem; border: 1px solid var(--ab-b-fde68a, #fde68a); border-radius: 5px; background: var(--ab-s-fef3c7, #fef3c7); color: var(--ab-t-92400e, #92400e); font-family: monospace; font-size: .72rem; font-weight: 700; }
.ct-pagina .ed-apri .pn-badge-errore { background: var(--ab-s-dc2626, #dc2626); color: var(--ab-t-ffffff, #fff); }
.ct-pagina .pn-scad-testa { display: flex; align-items: center; gap: .5rem; margin-top: .2rem; }
.ct-pagina .pn-scad-testa .cc-gruppo-titolo { margin: 0; }
.ct-pagina .pn-righe td, .ct-pagina .pn-righe th { white-space: nowrap; }
.ct-pagina .pn-righe .pn-col-paga { width: 150px; }
.ct-pagina .pn-righe .dxbl-text-edit { min-width: 120px; }
.ct-pagina .pn-pagamento-input { font-weight: 600; }
.ct-pagina .pn-paga-tutto { width: 30px; height: 30px; color: var(--ab-t-16a34a, #16a34a); }

/* PrimaNotaCorrispettivi + CorrispettiviFinanziariFinestra: giorni del mese in colonne da 8 */
.ct-pagina .co-corpo { display: flex; gap: 1rem; align-items: flex-start; }
.ct-pagina .co-giorni { display: grid; grid-template-rows: repeat(8, auto); grid-auto-flow: column; gap: .25rem 1.1rem; }
.ct-pagina .co-giorno { display: flex; align-items: center; }
.ct-pagina .co-data { display: inline-block; width: 6.5rem; padding: .15rem 0; border: 1px solid var(--fe-border); border-radius: 4px 0 0 4px; background: var(--ab-s-fffacd, #fffacd); text-align: center; font-size: .8rem; white-space: pre; color: var(--ab-t-000000, #000); }
.ct-pagina .co-domenica { color: var(--ab-t-dc2626, #dc2626); }
.ct-pagina .co-imp { width: 6.5rem; text-align: right; }
.ct-pagina .co-totali { display: flex; flex-direction: column; gap: .35rem; margin-left: auto; font-size: .8rem; color: var(--fe-text-muted); }
.ct-pagina .co-totali > div { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; }
.ct-pagina .co-totali .cc-valore { min-width: 8rem; color: var(--ab-t-000000, #000); }
.ct-pagina .ed-doc--tel .co-corpo { flex-direction: column; }
.ct-pagina .ed-doc--tel .co-giorni { grid-template-rows: none; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); width: 100%; }
.ct-pagina .ed-doc--tel .co-giorno { justify-content: space-between; }
.ct-pagina .ed-doc--tel .co-imp { width: 9rem; }
.ct-pagina .ed-doc--tel .co-totali { width: 100%; margin-left: 0; }
.co-fin-testa { gap: .75rem; }
.co-fin-titolo { flex: 1 1 auto; min-width: 0; }
.ct-pagina.co-fin { padding: 0; }
.ct-pagina.co-fin .ed-doc--pc { padding: .6rem .8rem; }
.ct-pagina .co-fin-conto { flex-wrap: nowrap; }
.ct-pagina .co-fin-tabella .co-imp { min-width: 6rem; width: 100%; }
.ct-pagina .co-fin-tabella .cc-valore { color: var(--ab-t-000000, #000); }

/* GestioneIncassiPagamentiBody (Recupero crediti / Pagamenti fornitori): griglia che riempie la maschera */
.ct-pagina .gi-griglia { height: calc(100vh - 470px); min-height: 320px; }

/* PrimaNotaIncassiPagamentiVelocizzata */
.ct-pagina .iv-righe td, .ct-pagina .iv-righe th { white-space: nowrap; }
.ct-pagina .iv-num { width: 6.5rem; }
.ct-pagina .iv-tel-campi { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .3rem; margin-top: .3rem; }
.ct-pagina .iv-tel-campi label { font-size: .75rem; }
.ct-pagina.co-fin .form-control { min-height: 31px; padding: .25rem .5rem; font-size: .875rem; }

/* ── Libri contabili e bilancio in vista compatta (stesse regole ct-/cc-/ed- qui sopra) ─────────────────────────────
   LibriContabili (+ finestre GestioneVersamentiIva, RicalcoloProrata, EsportazioneLiPe, GirocontoIva, BrogliaccioPNVisualizza),
   StampaBilancio (+ pannelli BilancioVisualizza, BilancioDiVerifica, BilancioDiVerificaRaffronto, BilancioAnaliticoCompetenza).
   Regole comuni riusabili:
   - .ct-griglia: DxGrid che riempie la maschera; altezza = finestra meno quanto sta sopra, indicato sull'elemento con
     style="--ct-griglia-sopra: 300px" (di serie 260px);
   - .ct-campo--largo: ed-campo con etichetta lunga (11rem invece di 110px) nella vista PC. */
.ct-pagina .ct-griglia { height: calc(100vh - var(--ct-griglia-sopra, 260px)); min-height: 340px; }
.ct-pagina .ed-doc--pc .ct-campo--largo { grid-template-columns: 11rem minmax(0, 1fr); }
.ct-pagina .ed-doc--pc .ct-campo--largo.ed-campo--doppio { grid-template-columns: 11rem minmax(0, 1fr) auto minmax(0, 1fr); }

/* Finestre (modal) con i campi ed-campo: testata con titolo, bottoni e chiusura; campi compatti come in ed-foglio */
.lc-modal-testa { gap: .75rem; }
.lc-modal-titolo { flex: 1 1 auto; min-width: 0; }
.ct-pagina .lc-modal-doc.ed-doc--pc { padding: 0; }
.ct-pagina .lc-modal-doc.ed-doc--pc .form-control,
.ct-pagina .lc-modal-doc.ed-doc--pc .form-select { min-height: 31px; padding: .25rem .5rem; font-size: .875rem; }

/* LibriContabili */
.ct-pagina .lc-esercizi { margin-bottom: 0; }
.ct-pagina .lc-scelte { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
.ct-pagina .lc-scelte--colonna { flex-direction: column; align-items: flex-start; gap: .2rem; }
.ct-pagina .lc-calcolo { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: .1rem 2rem; font-size: .85rem; font-variant-numeric: tabular-nums; }
.ct-pagina .lc-voce { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .15rem .3rem; border-bottom: 1px solid var(--fe-border); }
.ct-pagina .lc-voce > span:first-child { color: var(--fe-text-muted); }
.ct-pagina .lc-voce--saldo { margin-top: .2rem; border-top: 2px solid var(--fe-border); border-bottom: 0; font-size: .98rem; }
.ct-pagina .lc-voce--saldo > span:first-child { color: var(--fe-text); font-weight: 700; }
.ct-pagina .lc-nota { margin-top: .2rem; font-size: .78rem; color: var(--fe-text-muted); }
.ct-pagina .lc-casistiche { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .2rem .8rem; }
.ct-pagina .lc-sezione-titolo { margin: .3rem 0; font-size: .85rem; font-weight: 700; color: var(--fe-text); }
.ct-pagina .lc-giroconto td { white-space: nowrap; }
.ct-pagina .lc-giroconto .form-control { min-height: 31px; padding: .2rem .45rem; font-size: .85rem; }
.ct-pagina .lc-giroconto-voce { font-weight: 600; }
.ct-pagina .lc-giroconto-descr { white-space: normal !important; font-size: .8rem; color: var(--fe-text-muted); }
.ct-pagina .ed-doc--tel .lc-calcolo { grid-template-columns: minmax(0, 1fr); }
.ct-pagina .ed-doc--tel .lc-scelte { flex-direction: column; align-items: stretch; }
.ct-pagina .ed-doc--tel .lc-casistiche { grid-template-columns: minmax(0, 1fr); }

/* StampaBilancio e pannelli (ex <style> di BilancioDialoghi, prefisso bl-) */
.ct-pagina .bl-scelte { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
.ct-pagina .bl-scelte label { display: inline-flex; align-items: center; gap: .35rem; margin: 0; font-size: .83rem; color: var(--fe-text); cursor: pointer; }
.ct-pagina .bl-scelte--colonna { flex-direction: column; align-items: flex-start; gap: .2rem; }
.ct-pagina .bl-disabilitato { opacity: .5; }
.ct-pagina .bl-sotto { display: flex; flex-wrap: wrap; gap: .25rem; margin: .1rem 0 .3rem; }
.ct-pagina .bl-sotto button { padding: .2rem .8rem; border: 1px solid var(--fe-border); border-radius: 6px; background: var(--fe-blue-light); font-size: .8rem; font-weight: 600; color: var(--fe-blue); }
.ct-pagina .bl-sotto button.bl-sotto--attiva { background: var(--fe-blue); border-color: var(--fe-blue); color: var(--ab-t-ffffff, #fff); }
.ct-pagina .bl-stato { margin-top: .3rem; font-size: .78rem; color: var(--fe-text-muted); }
.ct-pagina .bl-stato--testa { margin: 0 0 .1rem; font-size: .82rem; font-weight: 600; color: var(--fe-text); }
.ct-pagina .ed-doc--tel .bl-scelte { flex-direction: column; align-items: stretch; }
.ct-pagina .ed-doc--tel .bl-scelte label,
.ct-pagina .ed-doc--tel .bl-sotto button { min-height: 36px; font-size: .95rem; }

/* ── Schede, estratti conto, scadenzario e ritenute in vista compatta (stesse regole ct-/cc-/ed- qui sopra) ───────────────
   SchedaContabile, StampaSchedeContabili, EstrattoContoAmministratoreAgente, FatturatoContabileClientiFornitori (+ finestre
   EstrattoContoDettaglio, RapportoEspositivo, DettaglioRegistrazioneFinestra, VisualizzaFatturaXml), EstrattoConto,
   ScadenzarioSCF, RitenuteAcconto (+ finestre), RitenuteAccontoAttive.
   Regole comuni riusabili:
   - .ct-ctx-velo / .ct-ctx / .ct-ctx-nota: menu del tasto destro su una griglia (ul.dropdown-menu.show in posizione fissa,
     left/top dal clic, sopra un velo trasparente che lo chiude);
   - .ct-modal-sotto: sottotitolo sotto il titolo di una finestra con testata lc-modal-testa; .ct-modal-vuoto: avviso
     "caricamento / nessun dato" al centro del corpo;
   - .ct-griglia--finestra / .ct-righe-wrap--finestra: griglia o tabella dentro una finestra (alta al massimo 60% dello schermo). */
.ct-ctx-velo { position: fixed; inset: 0; z-index: 1070; background: transparent; }
.ct-ctx { position: fixed; z-index: 1071; min-width: 260px; font-size: .86rem; }
.ct-ctx .dropdown-item:disabled { opacity: .45; }
.ct-ctx-nota { font-size: .76rem; color: var(--fe-text-muted); }
.ct-modal-sotto { font-size: .78rem; font-weight: 400; color: var(--fe-text-muted); }
.ct-modal-vuoto { display: flex; justify-content: center; padding: 2.5rem 1rem; text-align: center; color: var(--fe-text-muted); }
.ct-pagina .ct-griglia.ct-griglia--finestra { height: auto; max-height: 60vh; min-height: 200px; }
.ct-pagina .ct-righe-wrap--finestra { max-height: 60vh; min-height: 0; }

/* RapportoEspositivo (finestra): dati del cliente e voci dell'esposizione (ex stile locale, prefisso rex-) */
.ct-pagina.rex-corpo { position: relative; }
.ct-pagina .rex-codice { text-transform: uppercase; }
.ct-pagina .rex-dati { min-height: 2.2rem; margin: .2rem 0 .6rem; padding: .35rem .6rem; border: 1px solid var(--fe-border); border-radius: 6px; background: var(--ab-s-fffacd, #fffacd); font-size: .9rem; font-weight: 600; color: var(--ab-t-000000, #000); }
.ct-pagina .rex-voci { max-width: 32rem; font-size: .85rem; font-variant-numeric: tabular-nums; }
.ct-pagina .rex-voci .cc-valore { min-width: 9rem; color: var(--ab-t-000000, #000); }
.ct-pagina .rex-val--verde { background: var(--ab-s-98fb98, #98fb98); color: var(--ab-t-14532d, #14532d) !important; font-weight: 700; }
.ct-pagina .rex-val--rosso { background: var(--ab-s-ff0000, #ff0000); color: var(--ab-t-ffffff, #fff) !important; font-weight: 700; }
.ct-pagina .rex-overlay { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.7); }
.ct-pagina .ed-doc--tel .rex-voci { max-width: none; }
/* EstrattoConto (estratto conto clienti/fornitori) in vista compatta: ex stile locale del componente, prefisso ec-,
   valido solo dentro .ec-pagina (ScadenzarioSCF usa ancora classi ec-* proprie dentro .ec-page). */
.ct-pagina.ec-pagina .ec-collegato { flex: none; font-weight: 600; color: var(--fe-text); }
.ct-pagina.ec-pagina .ec-anagrafica { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-pagina.ec-pagina .ec-periodo { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; }
.ct-pagina.ec-pagina .ec-sep { font-weight: 600; color: var(--fe-text-muted); }
.ct-pagina.ec-pagina .ec-layout { min-width: 9rem; }
.ct-pagina.ec-pagina .ec-luogo { width: 14rem; }
.ct-pagina.ec-pagina .ec-link { margin-left: .3rem; padding: 0; border: 0; background: transparent; font-size: .76rem; color: var(--fe-blue); cursor: pointer; }
.ct-pagina.ec-pagina .ec-link:hover { text-decoration: underline; }
.ct-pagina.ec-pagina .ec-residuo { color: var(--fe-blue); }
.ct-pagina.ec-pagina .ec-nota { margin-left: auto; font-size: .76rem; }
.ct-pagina.ec-pagina .ec-num-red { color: var(--ab-t-dc2626, #dc2626); font-weight: 600; }
.ct-pagina.ec-pagina .ec-stato { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 2.5rem 1rem; border: 1px dashed var(--fe-border); border-radius: 8px; font-size: .88rem; color: var(--fe-text-muted); }
.ct-pagina.ec-pagina .ec-stato > i { font-size: 1.4rem; }

/* Stato della scadenza (colonna Stato, schede del telefono, legenda del menu ⋮) */
.ct-pagina.ec-pagina .ec-badge { display: inline-block; padding: .1rem .5rem; border-radius: 6px; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; line-height: 1.4; white-space: nowrap; }
.ct-pagina.ec-pagina .ec-badge.b-NP { background: var(--ab-s-fee2e2, #fee2e2); color: var(--ab-t-b91c1c, #b91c1c); }
.ct-pagina.ec-pagina .ec-badge.b-PP { background: var(--ab-s-fef3c7, #fef3c7); color: var(--ab-t-92400e, #92400e); }
.ct-pagina.ec-pagina .ec-badge.b-P  { background: var(--ab-s-dcfce7, #dcfce7); color: var(--ab-t-15803d, #15803d); }
.ct-pagina.ec-pagina .ec-badge.b-A  { background: var(--ab-s-dbeafe, #dbeafe); color: var(--ab-t-1e40af, #1e40af); }


/* Telefono */
.ct-pagina.ec-pagina .ed-doc--tel .ec-periodo .ct-w-data { flex: 1 1 0; width: auto; min-width: 0; }
.ct-pagina.ec-pagina .ed-doc--tel .ec-nota { display: none; }
.ct-pagina.ec-pagina .ed-doc--tel .ec-anagrafica { white-space: normal; }

/* ScadenzarioSCF (scadenzario / estratto conto clienti e fornitori): ex stile locale, prefisso sf- */
.ct-pagina .sf-date { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.ct-pagina .sf-sep { font-weight: 600; color: var(--fe-text-muted); }
.ct-pagina .ed-lbl > input[type="checkbox"] { margin-right: .3rem; vertical-align: middle; }
.ct-pagina .sf-spenta { opacity: .5; }
.ct-pagina .sf-vuoto { display: flex; flex-direction: column; align-items: center; gap: .25rem; padding: 2.5rem 1rem; text-align: center; font-size: .9rem; font-weight: 600; color: var(--fe-text-muted); }
.ct-pagina .sf-vuoto > i { font-size: 2.4rem; opacity: .5; }
.ct-pagina .sf-vuoto-sub { font-size: .8rem; font-weight: 400; }
.ct-pagina .sf-azioni-riga { display: flex; flex-wrap: nowrap; align-items: center; gap: 2px; }
.ct-pagina .sf-azioni-riga--tel { flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.ct-pagina .ed-doc--tel .sf-date > .form-control { flex: 1 1 0; min-width: 0; }

/* RitenuteAcconto (Gestione Ritenute Acconto, + finestre di stampa e utilità) e RitenuteAccontoAttive: ex stili locali, prefisso ra- */
.ct-pagina .ra-esercizio { margin-bottom: .1rem; }
.ct-pagina .ra-scelte { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; }
.ct-pagina .ra-combo { flex: 0 1 22rem; width: auto; min-width: 0; }
.ct-pagina .ra-anno { flex: none; width: 6rem; }
.ct-pagina .ra-righe-pag { max-height: none; min-height: 0; }
.ct-pagina .ra-righe-pag td { white-space: nowrap; }
.ct-pagina .ra-righe-pag .form-control { min-width: 7rem; }
.ct-pagina .ra-ver-testa { margin: .3rem 0 0; }
.ct-pagina .ra-ver-titolo { font-size: .85rem; font-weight: 700; color: var(--fe-text); }
.ct-pagina .ra-ver-testa .ct-totali { padding-top: 0; }
.ct-pagina .ra-tributo { margin-bottom: .2rem; }
.ct-pagina .ed-doc--tel .ra-scelte { flex-direction: column; align-items: stretch; }
.ct-pagina .ed-doc--tel .ra-combo,
.ct-pagina .ed-doc--tel .ra-anno { flex: 1 1 0; width: auto; }
.ct-pagina .ed-doc--tel .ra-ver-testa .ct-totali { margin-left: 0 !important; }

/* ── Registrazioni da vistare e registri contabili in vista compatta (stesse regole ct-/cc-/ed- qui sopra) ─────────────────
   RegistrazioniDaVistare: solo classi comuni (ct-griglia, vt-*). RegistriContabili (prefisso rgc-, dentro .ct-pagina.rgc-pagina):
   riga del prorata (casella, percentuale e simbolo) e caselle del sezionale una sotto l'altra. */
.ct-pagina.rgc-pagina .rgc-riga { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; }
.ct-pagina.rgc-pagina .rgc-scelte { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; }
.ct-pagina.rgc-pagina .ed-doc--tel .rgc-riga { flex-direction: column; align-items: stretch; }
.ct-pagina.rgc-pagina .ed-doc--tel .cc-check { min-height: 36px; font-size: .95rem; }

/* ── Finestre comuni (Comuni\...) in vista compatta ──────────────────────────────────────────────────────────────────
   Regole di FinestraContabilita (ex stile locale, stessi selettori .cc-finestra), di DettagliContabiliFornitore (dcf-) e
   dello Scadenzario di prima nota (cc-scad-). Le finestre convertite usano lo slot Comandi per il comando principale e
   div.ct-pagina > div.ed-doc.lc-modal-doc con ed-campo per i campi. */
.cc-finestra .cc-corpo { background: var(--ab-s-f8faff, #f8faff); }
.cc-finestra .cc-piede { gap: .5rem; flex-wrap: wrap; }
.cc-finestra .cc-azienda { font-size: .8rem; color: var(--ab-t-7b86b3, #7b86b3); }
.cc-finestra .cc-riga { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: flex-end; margin-bottom: .5rem; }
.cc-finestra .cc-gruppo { border: 1px solid var(--ab-b-dde4f5, #dde4f5); border-radius: 8px; padding: .35rem .6rem .5rem; background: var(--ab-s-ffffff, #fff); }
.cc-finestra .cc-gruppo-titolo { font-size: .72rem; font-weight: 600; color: var(--ab-t-4a5580, #4a5580); text-transform: uppercase; letter-spacing: .03em; margin-bottom: .2rem; }
.cc-finestra .cc-campo { display: flex; align-items: center; gap: .4rem; }
.cc-finestra .cc-campo label { font-size: .85rem; color: var(--ab-t-4a5580, #4a5580); white-space: nowrap; }
.cc-finestra .cc-campo input, .cc-finestra .cc-campo select { min-width: 0; }
.cc-finestra .cc-num { text-align: right; }
.cc-finestra .cc-valore { display: inline-block; min-width: 9rem; padding: .3rem .5rem; border-radius: 6px; text-align: right; font-weight: 600; border: 1px solid var(--ab-b-dde4f5, #dde4f5); }
.cc-finestra .cc-valore--chiaro { background: var(--ab-s-fffacd, #fffacd); }
.cc-finestra .cc-valore--arancio { background: var(--ab-s-ffa500, #ffa500); }
.cc-finestra .cc-valore--grano { background: var(--ab-s-f5deb3, #f5deb3); }
.cc-finestra .cc-griglia { height: calc(100vh - 330px); min-height: 360px; }
.cc-finestra .cc-schede { display: flex; gap: .25rem; border-bottom: 2px solid var(--ab-b-dde4f5, #dde4f5); margin-bottom: .5rem; }
.cc-finestra .cc-scheda { border: none; background: transparent; padding: .45rem .9rem; font-weight: 600; color: var(--ab-t-4a5580, #4a5580); border-bottom: 3px solid transparent; }
.cc-finestra .cc-scheda--attiva { color: var(--ab-t-1a56db, #1a56db); border-bottom-color: var(--ab-b-1a56db, #1a56db); }
.cc-finestra .cc-scheda:disabled { opacity: .45; }
.cc-finestra .cc-menu { position: fixed; z-index: 1095; background: var(--ab-s-ffffff, #fff); border: 1px solid var(--ab-b-d0d9ef, #d0d9ef); border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,.18); padding: .25rem 0; min-width: 14rem; }
.cc-finestra .cc-menu button { display: block; width: 100%; text-align: left; border: none; background: transparent; padding: .45rem .9rem; font-size: .9rem; }
.cc-finestra .cc-menu button:hover { background: var(--ab-s-eef2ff, #eef2ff); }
.cc-finestra .cc-overlay { z-index: 1090; }
.cc-finestra.cc-tel .cc-riga { flex-direction: column; align-items: stretch; }
.cc-finestra.cc-tel .cc-campo { flex-direction: column; align-items: stretch; gap: .15rem; }
.cc-finestra.cc-tel input, .cc-finestra.cc-tel select, .cc-finestra.cc-tel textarea { min-height: 40px; font-size: 16px; }
.cc-finestra.cc-tel .pr-btn { min-height: 44px; }
.cc-finestra.cc-tel .cc-piede .pr-btn { flex: 1 1 auto; }
.cc-finestra .vt-scheda { cursor: pointer; }
.cc-finestra .dcf-griglia { display: grid; grid-template-columns: max-content 1fr; gap: .35rem .75rem; align-items: center; }
.cc-finestra .dcf-griglia > label { font-size: .85rem; color: var(--ab-t-4a5580, #4a5580); margin: 0; }
.cc-finestra .dcf-dato { font-weight: 600; min-height: 1.4rem; }
.cc-finestra .dcf-conto { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.cc-finestra .dcf-conto > label { font-size: .85rem; color: var(--ab-t-4a5580, #4a5580); margin: 0; }
.cc-finestra .dcf-descr { font-size: .85rem; color: var(--ab-t-1a56db, #1a56db); }
.cc-finestra .dcf-note { color: var(--ab-t-b42318, #b42318); font-size: .85rem; font-weight: 600; }
.cc-finestra.cc-tel .dcf-griglia { grid-template-columns: 1fr; gap: .15rem; }
.cc-finestra.cc-tel .dcf-griglia > label { margin-top: .35rem; }
.cc-scadenzario .cc-scad-griglia { max-height: 360px; }
.cc-scadenzario--tel input, .cc-scadenzario--tel select { min-height: 40px; font-size: 16px; }
.cc-scadenzario--tel .pr-btn { min-height: 44px; }
.cc-scadenzario--tel .cc-campo { display: flex; flex-direction: column; margin-bottom: .3rem; }

/* ── Ratei e risconti, chiusura/apertura conti e utilità contabili in vista compatta (stesse regole ct-/cc-/ed-/bl- qui sopra)
   RateiRisconti e ChiusuraAperturaConti (dentro .ct-pagina.rr-pagina): dettaglio della rettifica sotto la riga della griglia.
   Utilità (dentro .ct-pagina.ut-pagina): log dei pagamenti orfani di DifferenzaSaldi. */
.ct-pagina.rr-pagina .rr-dett { margin: .25rem 0 .25rem 1.5rem; }
.ct-pagina.rr-pagina .rr-titolo-griglia { margin: .3rem 0 .2rem; font-size: .8rem; font-weight: 700; color: var(--fe-text); }
.ut-log { max-height: 70vh; overflow: auto; white-space: pre-wrap; font-size: .8rem; }

/* RegistraFattureXml (finestra della registrazione delle fatture XML) e DuplicaCausaleContabile: ex stili locali, ora in vista compatta */
.rfx-spunte { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .25rem 1rem; }
.rfx-spunte label { font-size: .85rem; }
.cc-dupcau .cc-dupcau-descr { min-height: calc(1.5em + .5rem + 2px); background: var(--ab-s-f3f5fa, #f3f5fa); }
.cc-dupcau-ricerche .rc-modal { z-index: 1075; }
.cc-dupcau-ricerche .modal-backdrop { z-index: 1070; }

/* ── CausaliContabiliAutomatismi in vista compatta (dentro .ct-pagina.cca-pagina): ex stile locale, prefisso cca- ──
   Spunte delle caratteristiche in griglia, riga di inserimento degli automatismi sopra la tabella, codici in monospace. */
.cca-pagina .cca-maiuscolo { text-transform: uppercase; }
.cca-pagina .cca-maiuscolo::placeholder { text-transform: none; }
.cca-pagina .cca-spunte { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .3rem 1rem; }
.cca-pagina .cca-corpo { padding-top: .55rem; }
.cca-pagina .cca-inserisci { margin-bottom: .55rem; padding: .5rem .7rem .15rem; border: 1px solid var(--fe-border); border-radius: 8px; background: var(--fe-bg, var(--ab-s-f7f9fc, #f7f9fc)); }
.cca-pagina .cca-descr { flex: 0 1 auto; max-width: 18rem; }
.cca-pagina .cca-righe { max-height: calc(100vh - 560px); min-height: 160px; }
.cca-pagina .cca-col-n { width: 2.5rem; }
.cca-pagina .cca-num { font-weight: 700; color: var(--fe-blue); }
.cca-pagina .cca-codice { font-family: monospace; font-size: .8rem; white-space: nowrap; }
.cca-pagina .cca-azioni-riga { width: 1%; white-space: nowrap; text-align: right; }
.cca-pagina .vt-scheda-titolo .cca-codice { margin-right: .3rem; }
.cca-pagina .ed-doc--tel .cca-spunte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cca-pagina .ed-doc--tel .cca-spunte .cc-check { min-height: 36px; }
.cca-pagina .ed-doc--tel .cca-descr { max-width: none; }
