/* Area applicativa CER IS (soci e operatori) — Tabler 1.6 come sistema di design.
   Questo file contiene SOLO il tema: il colore primario del brand e le rifiniture
   dei dettagli del browser. Nessun componente viene ridefinito qui: si usano le
   classi Tabler così come sono.

   Non usato dal sito pubblico (templates/sito/) né dall'admin Django, che
   continuano a usare static/css/cer-tokens.css. */

:root,
[data-bs-theme="light"] {
    /* Blu istituzionale dal logo CER IS (PRODUCT.md > Brand Commitments) */
    --tblr-primary: #126fb3;
    --tblr-primary-rgb: 18, 111, 179;
}

/* Cifre allineate in colonna nelle tabelle e nei blocchi dati (kWh, €, POD) */
.table,
.datagrid,
.card-table {
    font-variant-numeric: tabular-nums;
}

/* Selezione e cursore dal colore del brand, invece del default del browser */
::selection {
    background: rgba(var(--tblr-primary-rgb), 0.22);
}

input,
textarea {
    caret-color: var(--tblr-primary);
}

/* Logo: non deformarlo; più grande nelle pagine pre-login */
.navbar-brand-image {
    object-fit: contain;
}

.page-center .navbar-brand-image {
    height: 7rem;
    width: 7rem;
}

/* Pagine pre-login: centrate solo se c'è spazio. Con justify-content:center
   un modulo più alto dello schermo (es. l'iscrizione) sborda anche verso l'alto
   e la parte iniziale resta irraggiungibile; i margini automatici invece
   lasciano scorrere il contenuto solo verso il basso. */
.page-center {
    justify-content: flex-start;
}

.page-center > .container {
    margin-top: auto;
    margin-bottom: auto;
}

/* Tabler prevede page-header fuori da page-body; qui sta dentro il contenuto,
   quindi serve lo stacco dal blocco successivo e niente doppio margine in testa */
.page-body .page-header {
    margin-bottom: var(--tblr-page-padding-y);
}

.page-body > .container-xl > .page-header:first-child {
    margin-top: 0;
}

/* Su mobile le azioni vanno a capo: staccarle dal titolo */
.page-header .row > .col-auto {
    margin-top: 0.75rem;
}

@media (min-width: 768px) {
    .page-header .row > .col-auto {
        margin-top: 0;
    }
}

/* La barra di impersonificazione resta sopra sidebar e header */
.impersonation-bar {
    z-index: 1060;
}

/* Stampa: via sidebar, header, footer e messaggi */
@media print {
    .navbar-vertical,
    .page-wrapper > header,
    .footer,
    .impersonation-bar {
        display: none !important;
    }
    .page-wrapper {
        margin: 0 !important;
    }
}
