/*
 * Griglia densissima di RiepilogoAbbonamenti: una colonna larga poche decine di pixel per
 * partita, con intestazione e le prime colonne (Gestione/Cognome/Nome/Sett-F-P/Tipologia) sempre
 * visibili mentre si scorre. Tutto scoperto sotto .jc-riepilogo, con selettori più specifici di
 * quelli "globali" (non scopati) di disponibilita-abbonamenti-sticky.css — quel foglio è tarato
 * sulle celle/larghezze della tabella Filament dell'ALTRA pagina e non deve influenzare questa.
 *
 * Tema chiaro/scuro: come nel foglio "gemello" (disponibilita-abbonamenti-sticky.css), Filament
 * applica la classe `.dark` a un antenato quando il tema scuro è attivo — nessun `prefers-color-
 * scheme`/`data-theme`, le regole sotto sono scoperte allo stesso modo.
 */

.jc-riepilogo table {
    /* table-layout: auto lascia che il browser negozi ogni larghezza in base al contenuto —
       proprio al confine fra le colonne sticky e la prima colonna-partita quel calcolo può
       sbagliare, restringendo una colonna rispetto alle altre (osservato: solo la prima colonna-
       partita, subito dopo l'ultima colonna fissa, risultava più stretta delle successive).
       Con "fixed" ogni colonna prende esattamente la larghezza dichiarata qui sotto — nessuna
       negoziazione, nessuna sorpresa — Cognome/Nome/Tipologia (che non crescono più col
       contenuto) troncano con "…" e mostrano il testo pieno al passaggio del mouse (title). */
    table-layout: fixed;
    width: max-content;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.75rem;
    white-space: nowrap;
}

.jc-riepilogo th,
.jc-riepilogo td {
    padding: 0.25rem 0.375rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    border-right: 1px solid rgba(0, 0, 0, 0.06);
}

.jc-riepilogo thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    background-color: #ffffff;
    color: #18181b;
    font-weight: 600;
    text-align: left;
    vertical-align: bottom;
}

/* --- Colonne fisse a sinistra: Gestione/Cognome/Nome/Sett-F-P/Tipologia --- */
.jc-riepilogo table tbody td:nth-child(-n+5) {
    position: sticky;
    z-index: 1;
    background-color: #ffffff;
    background-clip: padding-box;
}

.jc-riepilogo table tbody tr:nth-child(even) td:nth-child(-n+5) {
    background-color: #f4f4f5;
}

/*
 * Larghezze esplicite (necessarie con table-layout: fixed) e offset "left" cumulativi coerenti
 * con esse — colonna N: left = somma delle larghezze delle colonne 1..N-1. Cognome/Nome/
 * Tipologia non crescono più col contenuto: overflow nascosto con "…", testo pieno in title.
 */
.jc-riepilogo table thead th:nth-child(1),
.jc-riepilogo table tbody td:nth-child(1) { left: 0; width: 32px; }
.jc-riepilogo table thead th:nth-child(2),
.jc-riepilogo table tbody td:nth-child(2) { left: 32px; width: 100px; }
.jc-riepilogo table thead th:nth-child(3),
.jc-riepilogo table tbody td:nth-child(3) { left: 132px; width: 90px; }
.jc-riepilogo table thead th:nth-child(4),
.jc-riepilogo table tbody td:nth-child(4) { left: 222px; width: 64px; }
.jc-riepilogo table thead th:nth-child(5),
.jc-riepilogo table tbody td:nth-child(5) { left: 286px; width: 78px; }

.jc-riepilogo table thead th:nth-child(2),
.jc-riepilogo table tbody td:nth-child(2),
.jc-riepilogo table thead th:nth-child(3),
.jc-riepilogo table tbody td:nth-child(3),
.jc-riepilogo table thead th:nth-child(5),
.jc-riepilogo table tbody td:nth-child(5) {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Colonne-partita: strette, testo su più righe nell'intestazione --- */
.jc-partita-col {
    width: 34px;
    text-align: center;
    white-space: normal;
    line-height: 1.1;
    overflow: hidden;
}

.jc-riepilogo thead .jc-partita-col {
    font-size: 0.65rem;
    font-weight: 500;
}

.jc-cella {
    display: block;
    width: 100%;
    padding: 0.2rem 0;
    border: none;
    border-radius: 3px;
    color: #fff;
    font-weight: 700;
    font-size: 0.7rem;
    cursor: pointer;
    line-height: 1.2;
}

.jc-cella:hover {
    filter: brightness(1.15);
}

.jc-cella-esclusa {
    display: block;
    text-align: center;
    color: #a1a1aa;
    font-style: italic;
}

.jc-contatori-row td,
.jc-contatori-row th {
    background-color: #f4f4f5;
    font-weight: 600;
    text-align: center;
}

.jc-euro-col {
    text-align: right;
    font-variant-numeric: tabular-nums;
    width: 52px;
}

.jc-riserva-col {
    width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.7rem;
}

/* --- Tema scuro --- */
.dark .jc-riepilogo th,
.dark .jc-riepilogo td {
    border-bottom-color: rgba(255, 255, 255, 0.08);
    border-right-color: rgba(255, 255, 255, 0.06);
}

.dark .jc-riepilogo thead th {
    background-color: #18181b;
    color: #e4e4e7;
}

.dark .jc-riepilogo table tbody td:nth-child(-n+5) {
    background-color: #18181b;
}

.dark .jc-riepilogo table tbody tr:nth-child(even) td:nth-child(-n+5) {
    background-color: #202024;
}

.dark .jc-riepilogo .jc-contatori-row td,
.dark .jc-riepilogo .jc-contatori-row th {
    background-color: #131316;
}

.dark .jc-riepilogo .jc-cella-esclusa {
    color: #52525b;
}
