/*
 * dark-theme-grey.css — tema scuro GRIGIO NEUTRO.
 *
 * PERCHE'. Il tema scuro di Pcoded/Berry non e' grigio: e' un blu-notte. Ogni
 * superficie scura ha una dominante blu marcata (nel body #131920 il canale B
 * supera R di 13; nel bordo #303f50 di 32). L'utente vuole un grigio neutro.
 *
 * COME. Questo foglio NON tocca style.css / style-preset.css (3 MB di tema
 * acquistato: modificarli li rende immanutenibili e si perde al prossimo
 * aggiornamento). Va caricato DOPO di essi e ridefinisce, a parita' di
 * selettore, solo le dichiarazioni che portano un grigio-blu. Vince per ordine
 * di cascata.
 *
 * REGOLE SEGUITE.
 *   1. Ogni grigio-blu diventa il grigio neutro di PARI LUMINANZA (R=G=B). Cosi'
 *      la scala di profondita' del tema (sfondo < card < sidebar < bordi) resta
 *      quella disegnata dagli autori: cambia la tinta, non il contrasto.
 *   2. L'ACCENTO NON SI TOCCA (#4680ff). Il layout `color-header` colora header
 *      e banner con l'accento: e' il brand, deve restare blu.
 *   3. Dove il tema originale scendeva sotto il 4.5:1 di WCAG AA sul testo, il
 *      grigio e' stato ALZATO (v. commenti puntuali sotto).
 *
 * TUTTO E' SOTTO [data-pc-theme=dark]: il tema chiaro non e' toccato.
 */

/* ---------------------------------------------------------------------------
 * La scala di grigi. Unico posto da cambiare per ritarare il tema.
 * ------------------------------------------------------------------------ */
[data-pc-theme=dark] {
    /* superfici, dal fondo alla superficie piu' alta */
    --lft-dark-bg:        #141414;  /* sfondo pagina (.pc-content) - era #131920 */
    --lft-dark-sunken:    #1a1a1a;  /* incassato/disabilitato      - era #151c23 */
    --lft-dark-disabled:  #1d1d1d;  /*                             - era #171e26 */
    --lft-dark-surface-1: #202020;  /* hover/active, offcanvas     - era #19212a */
    --lft-dark-surface-2: #222222;  /* CARD, modal, dropdown       - era #1b232d */
    --lft-dark-surface-3: #252525;  /* progress, hover di lista    - era #1d2630 */
    --lft-dark-surface-4: #272727;  /* SIDEBAR                     - era #1e2833 */

    /* bordi, dal piu' tenue al piu' netto */
    --lft-dark-border-1:  #2a2a2a;  /*                             - era #202b36 */
    --lft-dark-border-2:  #2c2c2c;  /*                             - era #222d3a */
    --lft-dark-border-3:  #313131;  /* bordo card, submenu header  - era #263240 */
    --lft-dark-border-4:  #3a3a3a;  /*                             - era #343a3e */
    --lft-dark-border-5:  #3e3e3e;  /* --bs-border-color, 48 usi   - era #303f50 */

    /* testo e semantici neutri */
    --lft-dark-secondary: #696969;  /* "secondary" semantico       - era #5b6b79 */
    --lft-dark-text-2:    #8f8f8f;  /* testo header  - era #6f747f, 3.77:1 -> 5.70:1 */
    --lft-dark-text-3:    #9a9a9a;  /* .text-muted   - era #748892, 4.29:1 -> 5.65:1 */

    /* ---- correzioni che non derivano da un hex, quindi vanno scritte a mano ----
     *
     * (a) --bs-body-bg-rgb era `19, 25, 32`, cioe' il vecchio blu in forma di
     *     triplet. Va tenuto allineato al nuovo sfondo, altrimenti ogni
     *     rgba(var(--bs-body-bg-rgb), x) del tema (p.es. --pc-header-background)
     *     continuerebbe a stendere un velo BLU sopra superfici ormai grigie.
     * (b) --bs-body-color-rgb nel tema vale `to-rgb(#bfbfbf)`: e' una funzione
     *     SCSS mai compilata, quindi un valore NON VALIDO. Ogni
     *     rgba(var(--bs-body-color-rgb), x) del tema, in dark, e' rotto. Qui si
     *     ripara col triplet vero.
     * (c) --pc-sidebar-color era rgba(255,255,255,.5): sulla sidebar da 4.33:1,
     *     sotto la soglia AA. Alzato a .62 -> ~6.2:1.
     */
    --bs-body-bg-rgb: 20, 20, 20;
    --bs-body-color-rgb: 191, 191, 191;
    --pc-sidebar-color: rgba(255, 255, 255, 0.62);
}

/* ---------------------------------------------------------------------------
 * Rimappatura delle variabili di tema sulla scala neutra.
 * ------------------------------------------------------------------------ */
[data-pc-theme=dark] {
    --bs-body-bg: var(--lft-dark-bg);
    --pc-sidebar-border: 1px dashed var(--lft-dark-border-2);
    --pc-sidebar-user-background: var(--lft-dark-surface-2);
    --pc-header-color: var(--lft-dark-text-2);
    --pc-active-background: var(--lft-dark-surface-1);
    --pc-header-submenu-background: var(--lft-dark-border-3);
    --bs-border-color: var(--lft-dark-border-5);
    --ck-color-image-caption-background: var(--lft-dark-surface-2);
}

/* Il loader copre la pagina con rgba(19,25,32,.5): stesso blu, va neutralizzato. */
[data-pc-theme=dark] .loader {
    background-color: rgba(20, 20, 20, 0.5);
}

/* ---------------------------------------------------------------------------
 * Le superfici scritte a mano nel tema (hex letterali, non variabili): card,
 * sidebar, form, tabelle, dropdown, modali, alert... Stessi selettori del tema,
 * stessa specificita': vincono perche' questo foglio e' caricato dopo.
 * ------------------------------------------------------------------------ */
[data-pc-theme=dark] .text-muted {
    color: var(--lft-dark-text-3) !important;
}
[data-pc-theme=dark] .card {
    --bs-card-border-color: var(--lft-dark-border-3);
    --bs-card-bg: var(--lft-dark-surface-2);
}
[data-pc-theme=dark] .offcanvas,
[data-pc-theme=dark] .offcanvas-xxl,
[data-pc-theme=dark] .offcanvas-xl,
[data-pc-theme=dark] .offcanvas-lg,
[data-pc-theme=dark] .offcanvas-md,
[data-pc-theme=dark] .offcanvas-sm {
    --bs-offcanvas-bg: var(--lft-dark-surface-1);
}
[data-pc-theme=dark] .list-group {
    --bs-list-group-border-color: var(--lft-dark-border-1);
    --bs-list-group-disabled-bg: var(--lft-dark-disabled);
    --bs-list-group-action-hover-bg: var(--lft-dark-surface-3);
    --bs-list-group-action-active-bg: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .preset-btn,
[data-pc-theme=dark] .theme-main-layout {
    --bs-gray-300: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .progress,
[data-pc-theme=dark] .progress-stacked {
    --bs-progress-bg: var(--lft-dark-surface-3);
    background: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .pct-c-btn {
    background: var(--lft-dark-surface-3);
    border-color: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .dropdown-menu {
    --bs-dropdown-bg: var(--lft-dark-border-3);
    --bs-dropdown-link-hover-bg: var(--lft-dark-surface-1);
    --bs-dropdown-divider-bg: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .pagination {
    --bs-pagination-bg: var(--lft-dark-surface-1);
    --bs-pagination-border-color: var(--lft-dark-border-1);
    --bs-pagination-hover-bg: var(--lft-dark-surface-4);
    --bs-pagination-hover-border-color: var(--lft-dark-border-1);
    --bs-pagination-focus-bg: var(--lft-dark-surface-4);
    --bs-pagination-disabled-bg: var(--lft-dark-sunken);
    --bs-pagination-disabled-border-color: var(--lft-dark-border-1);
}
[data-pc-theme=dark] .modal {
    --bs-modal-bg: var(--lft-dark-surface-2);
    --bs-modal-header-border-color: var(--lft-dark-border-1);
    --bs-modal-footer-border-color: var(--lft-dark-border-1);
}
[data-pc-theme=dark] .toast {
    --bs-toast-bg: var(--lft-dark-surface-2);
    --bs-toast-header-bg: var(--lft-dark-surface-4);
}
[data-pc-theme=dark] .vtree li.vtree-leaf a.vtree-leaf-label:hover,
[data-pc-theme=dark] .vtree li.vtree-leaf.vtree-selected > a.vtree-leaf-label {
    background-color: var(--lft-dark-border-2);
    outline-color: var(--lft-dark-border-2);
}
[data-pc-theme=dark] .custom-select,
[data-pc-theme=dark] .datatable-selector,
[data-pc-theme=dark] .datatable-input,
[data-pc-theme=dark] .form-select,
[data-pc-theme=dark] .form-control {
    background-color: var(--lft-dark-border-3);
}
[data-pc-theme=dark] .custom-select:not(:focus),
[data-pc-theme=dark] .datatable-selector:not(:focus),
[data-pc-theme=dark] .datatable-input:not(:focus),
[data-pc-theme=dark] .form-select:not(:focus),
[data-pc-theme=dark] .form-control:not(:focus) {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .form-check-input:not(:checked),
[data-pc-theme=dark] .input-group-text {
    background-color: var(--lft-dark-border-3);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .form-control::file-selector-button {
    background-color: var(--lft-dark-border-3);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: var(--lft-dark-border-1);
}
[data-pc-theme=dark] select.form-control,
[data-pc-theme=dark] select.custom-select,
[data-pc-theme=dark] select.datatable-selector,
[data-pc-theme=dark] select.datatable-input,
[data-pc-theme=dark] .form-select:not([multiple]) {
    background-color: var(--lft-dark-border-3);
}
[data-pc-theme=dark] .form-range::-webkit-slider-runnable-track {
    background-color: var(--lft-dark-border-3);
}
[data-pc-theme=dark] .alert-secondary {
    color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .alert-secondary .alert-link {
    color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .badge.bg-light-secondary {
    color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .icon-svg-secondary {
    stroke: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .alert-dark {
    color: var(--lft-dark-bg);
    background-color: var(--lft-dark-border-3);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .alert-dark .alert-link {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .badge.bg-light-dark {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .icon-svg-dark {
    stroke: var(--lft-dark-bg);
}
[data-pc-theme=dark] .form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after,
[data-pc-theme=dark] .form-floating > .custom-select:not(:-moz-placeholder-shown) ~ label::after {
    background: var(--lft-dark-border-3);
}
[data-pc-theme=dark] .form-floating > .form-control:focus ~ label::after,
[data-pc-theme=dark] .form-floating > .custom-select:focus ~ label::after,
[data-pc-theme=dark] .form-floating > .form-control:not(:placeholder-shown) ~ label::after,
[data-pc-theme=dark] .form-floating > .custom-select:not(:placeholder-shown) ~ label::after,
[data-pc-theme=dark] .form-floating > .form-control-plaintext ~ label::after,
[data-pc-theme=dark] .form-floating > .form-select ~ label::after {
    background: var(--lft-dark-border-3);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary .material-icons-two-tone {
    background-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary:hover {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary.focus,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary:focus {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary:not(:disabled):not(.disabled).active,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary:not(:disabled):not(.disabled):active,
.show > [data-pc-theme=dark][data-pc-preset=preset-11] .btn-light-primary.dropdown-toggle {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-check:active + .btn-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-check:checked + .btn-light-primary {
    background: var(--lft-dark-bg) !important;
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary .material-icons-two-tone {
    background-color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary:hover {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary.focus,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary:focus {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary:not(:disabled):not(.disabled).active,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary:not(:disabled):not(.disabled):active,
.show > [data-pc-theme=dark][data-pc-preset=preset-11] .btn-link-primary.dropdown-toggle {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-check:active + .btn-link-primary,
[data-pc-theme=dark][data-pc-preset=preset-11] .btn-check:checked + .btn-link-primary {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .card .border {
    border-color: var(--lft-dark-border-4) !important;
}
[data-pc-theme=dark] .introjs-tooltip,
[data-pc-theme=dark] .notifier,
[data-pc-theme=dark] .datepicker-footer,
[data-pc-theme=dark] .datepicker-picker {
    background-color: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .datepicker-cell.range {
    background: var(--lft-dark-surface-3);
}
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.today.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay.today.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay.today.inRange,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day:hover,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay:hover,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay:hover,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day:focus,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.prevMonthDay:focus,
[data-pc-theme=dark] .flatpickr-calendar .flatpickr-day.nextMonthDay:focus {
    background: var(--lft-dark-border-5);
    border-color: var(--lft-dark-border-5);
    box-shadow: -5px 0 0 var(--lft-dark-border-5), 5px 0 0 var(--lft-dark-border-5);
}
[data-pc-theme=dark] .flatpickr-time input:focus,
[data-pc-theme=dark] .flatpickr-time input:hover,
[data-pc-theme=dark] .flatpickr-time .flatpickr-am-pm:focus,
[data-pc-theme=dark] .flatpickr-time .flatpickr-am-pm:hover {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .uppy-StatusBar:not([aria-hidden=true]).is-waiting,
[data-pc-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actions {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .choices__list--dropdown {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .ql-container.ql-snow,
[data-pc-theme=dark] .ql-toolbar.ql-snow {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .ck {
    --ck-color-base-border: var(--lft-dark-border-5);
    --ck-color-toolbar-border: var(--lft-dark-border-5);
    --ck-color-button-default-hover-background: var(--lft-dark-border-5);
    --ck-color-button-default-active-background: var(--lft-dark-border-5);
    --ck-color-button-on-active-background: var(--lft-dark-border-5);
    --ck-color-button-on-background: var(--lft-dark-border-5);
    --ck-color-button-on-hover-background: var(--lft-dark-border-5);
    --ck-color-list-button-hover-background: var(--lft-dark-border-5);
    --ck-color-panel-border: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .ck.ck-editor__editable.ck-editor__editable_inline {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] #cke5-inline-demo .ck-content {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .editor-toolbar,
[data-pc-theme=dark] .CodeMirror {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .editor-toolbar i.separator {
    border-left-color: var(--lft-dark-border-5);
    border-right-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .editor-toolbar a.active,
[data-pc-theme=dark] .editor-toolbar a:hover {
    background: var(--lft-dark-border-5);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .dropzone {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .uppy-Dashboard-inner,
[data-pc-theme=dark] .uppy-DragDrop-container {
    background: var(--lft-dark-border-5);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .uppy-DashboardTab-btn:hover {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] [data-uppy-drag-drop-supported=true] .uppy-Dashboard-AddFiles {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .uppy-StatusBar,
[data-pc-theme=dark] .uppy-DashboardContent-bar {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .datatable-table,
[data-pc-theme=dark] .table {
    --bs-table-border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .datatable-table thead th,
[data-pc-theme=dark] .table thead th {
    background: var(--lft-dark-border-5);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .datatable-table > :not(:last-child) > :last-child > *,
[data-pc-theme=dark] .datatable-table td,
[data-pc-theme=dark] .datatable-table th,
[data-pc-theme=dark] .table > :not(:last-child) > :last-child > *,
[data-pc-theme=dark] .table td,
[data-pc-theme=dark] .table th {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .datatable-pagination a:hover {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] table.dataTable thead tr > .dtfc-fixed-left,
[data-pc-theme=dark] table.dataTable thead tr > .dtfc-fixed-right,
[data-pc-theme=dark] table.dataTable tfoot tr > .dtfc-fixed-left,
[data-pc-theme=dark] table.dataTable tfoot tr > .dtfc-fixed-right,
[data-pc-theme=dark] .table.datatable[class*=table-] thead th {
    background: var(--lft-dark-border-5);
}
[data-pc-theme=dark] table.datatable > tbody > tr.child ul.dtr-details > li {
    border-bottom-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .apexcharts-menu {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .apexcharts-tooltip.apexcharts-theme-light {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {
    border-bottom-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .apexcharts-xaxistooltip,
[data-pc-theme=dark] .apexcharts-yaxistooltip {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .fc .fc-list-sticky .fc-list-day > *,
[data-pc-theme=dark] .fc .fc-scrollgrid-section-sticky > *,
[data-pc-theme=dark] .auth-main .auth-wrapper.v3,
[data-pc-theme=dark] .auth-main .auth-wrapper.v2 {
    background: var(--lft-dark-surface-2);
}
[data-pc-theme=dark] .table-bordered td,
[data-pc-theme=dark] .table-bordered th,
[data-pc-theme=dark] .table-bordered {
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .contact-form.bg-white {
    background: var(--lft-dark-surface-2) !important;
}
[data-pc-theme=dark] .fc-event.event-secondary {
    color: var(--lft-dark-secondary) !important;
}
[data-pc-theme=dark] .fc-event.event-secondary.fc-h-event .fc-event-main {
    color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .fc-event.event-secondary.fc-h-event:focus,
[data-pc-theme=dark] .fc-event.event-secondary.fc-h-event:hover {
    background: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .fc-event.event-dark {
    color: var(--lft-dark-bg) !important;
}
[data-pc-theme=dark] .fc-event.event-dark.fc-h-event .fc-event-main {
    color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .fc-event.event-dark.fc-h-event:focus,
[data-pc-theme=dark] .fc-event.event-dark.fc-h-event:hover {
    background: var(--lft-dark-bg);
}
[data-pc-theme=dark] .jvm-container path {
    fill: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .btn-light-secondary .material-icons-two-tone {
    background-color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .btn-light-secondary:hover {
    background: var(--lft-dark-secondary);
    border-color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .btn-light-secondary.focus,
[data-pc-theme=dark] .btn-light-secondary:focus {
    background: var(--lft-dark-secondary);
    border-color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .btn-light-secondary:not(:disabled):not(.disabled).active,
[data-pc-theme=dark] .btn-light-secondary:not(:disabled):not(.disabled):active,
.show > [data-pc-theme=dark] .btn-light-secondary.dropdown-toggle {
    background: var(--lft-dark-secondary);
    border-color: var(--lft-dark-secondary);
}
[data-pc-theme=dark] .btn-light-dark .material-icons-two-tone {
    background-color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .btn-light-dark:hover {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .btn-light-dark.focus,
[data-pc-theme=dark] .btn-light-dark:focus {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
[data-pc-theme=dark] .btn-light-dark:not(:disabled):not(.disabled).active,
[data-pc-theme=dark] .btn-light-dark:not(:disabled):not(.disabled):active,
.show > [data-pc-theme=dark] .btn-light-dark.dropdown-toggle {
    background: var(--lft-dark-bg);
    border-color: var(--lft-dark-bg);
}
/* data-pc-theme sta su <html>, data-pc-layout sul <body> (v. base/theme_head.html.twig):
 * il selettore composto originale [data-pc-theme=dark][data-pc-layout=color-header]
 * non trova piu' i due attributi sullo stesso elemento. Serve il DISCENDENTE.
 *
 * E non e' un dettaglio estetico: --pc-sidebar-background e' l'UNICA custom
 * property che [data-pc-layout=color-header] (style.css) dichiara sul <body> e
 * che il tema scuro deve ribaltare. Un valore ereditato da <html> perde SEMPRE
 * contro una dichiarazione sull'elemento stesso, a qualunque specificita': senza
 * questa regola il <body> si terrebbe il suo `--pc-sidebar-background: #fff` e la
 * sidebar resterebbe BIANCA in tema scuro.
 * (--pc-sidebar-border e --pc-header-color, gli altri due che si sovrappongono,
 * hanno lo stesso valore in chiaro e in scuro: nessun intervento.)
 *
 * Si tiene anche la forma composta, per il caso in cui i due attributi tornassero
 * sullo stesso elemento. */
[data-pc-theme=dark] [data-pc-layout=color-header],
[data-pc-theme=dark][data-pc-layout=color-header] {
    --pc-sidebar-background: var(--lft-dark-surface-4);
}

/* I riquadri informativi di login/scelta-azienda avevano lo sfondo #f8f9fa
 * SCRITTO INLINE nel template. Uno stile inline batte qualunque foglio: in tema
 * scuro restavano chiari, mentre il testo dentro diventava chiaro anch'esso —
 * bianco su bianco, illeggibile. Ora i template usano
 * var(--lft-auth-box, #f8f9fa): in tema chiaro la variabile non e' definita e
 * vale il fallback, cioe' ESATTAMENTE il colore di prima; qui la definiamo per
 * il solo tema scuro. */
[data-pc-theme=dark] {
    --lft-auth-box: var(--lft-dark-surface-1);
}
[data-pc-theme=dark][data-pc-layout=compact] .pc-sidebar .pc-navbar > .pc-item.pc-hasmenu > .pc-submenu {
    background: var(--lft-dark-bg);
}
[data-pc-theme=dark] .task-card .task-list::before,
[data-pc-theme=dark] .task-card .task-list::after {
    background: var(--lft-dark-border-3);
}

/* ---------------------------------------------------------------------------
 * Componenti dell'APP (public/assets/css/custom.css), che il tema non conosce.
 * custom.css li scrive con colori chiari fissi: in dark stonano. Il box
 * "cloud usage" sta nella sidebar ed era #ffffff pieno — una lastra bianca su
 * sfondo scuro. Qui rientra nella scala neutra.
 * I box licenza (giallo/rosso su testo scuro) restano come sono: sono badge di
 * stato, leggibili anche in dark, e il colore e' il segnale.
 * ------------------------------------------------------------------------ */
[data-pc-theme=dark] .pc-cloud-usage {
    background: var(--lft-dark-surface-2);
    border-color: var(--lft-dark-border-5);
}
[data-pc-theme=dark] .pc-cloud-label {
    color: var(--lft-dark-text-3);
}
[data-pc-theme=dark] .pc-cloud-value {
    color: var(--bs-heading-color);
}
[data-pc-theme=dark] .select2-container--default .select2-selection--single {
    background: var(--lft-dark-surface-1);
    border-color: var(--lft-dark-border-5);
}
