/**
 * Portal B2B — dark mode overrides.
 * Caricato dopo custom_styles: usa [data-bs-theme="dark"] per battere i !important del tema chiaro.
 */
[data-bs-theme="dark"] {
    color-scheme: dark;

    /* Palette portal — grigio-blu con accento teal (#4ca49c brand) */
    --portal-bg: #0f1215;
    --portal-surface: #171b21;
    --portal-surface-2: #1f252d;
    --portal-surface-3: #29303a;
    --portal-border: #343c48;
    --portal-text: #f0f2f5;
    --portal-text-muted: #9aa5b1;
    --portal-link: #6ec6ff;
    --portal-link-hover: #9edaff;
    --portal-accent: #4ca49c;
    --portal-accent-soft: rgba(76, 164, 156, 0.18);
    --portal-header-bg: #141920;
    --portal-sidebar-bg: #12161c;
    --portal-sidebar-head: #0d1014;
    --portal-row-even: #1a2028;
    --portal-row-odd: #141820;
    --portal-input-bg: #232a33;
    --portal-input-border: #404956;

    /* Bootstrap 5 — allinea tabelle e body al tema portal */
    --bs-body-bg: var(--portal-bg);
    --bs-body-color: var(--portal-text);
    --bs-emphasis-color: var(--portal-text);
    --bs-secondary-color: var(--portal-text-muted);
    --bs-tertiary-color: var(--portal-text-muted);
    --bs-border-color: var(--portal-border);
    --bs-table-bg: transparent;
    --bs-table-color: var(--portal-text);
    --bs-table-striped-bg: var(--portal-row-even);
    --bs-table-striped-color: var(--portal-text);
    --bs-table-hover-bg: var(--portal-surface-3);
    --bs-table-hover-color: var(--portal-text);
    --bs-card-bg: var(--portal-surface);
    --bs-card-color: var(--portal-text);
    --bs-modal-bg: var(--portal-surface);
    --bs-dropdown-bg: var(--portal-surface-2);
    --bs-dropdown-link-color: var(--portal-text);
    --bs-dropdown-link-hover-bg: var(--portal-surface-3);
}

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .page-container,
[data-bs-theme="dark"] .page-content-wrapper,
[data-bs-theme="dark"] .content,
[data-bs-theme="dark"] .container-fluid {
    background-color: var(--portal-bg) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .header.background-cs {
    background-color: var(--portal-header-bg) !important;
    border-bottom: 1px solid var(--portal-border);
}

[data-bs-theme="dark"] .header .fa,
[data-bs-theme="dark"] .header .fa-solid,
[data-bs-theme="dark"] .header .card-header a.portlet-collapse,
[data-bs-theme="dark"] .header .card-header a.portlet-close,
[data-bs-theme="dark"] .header .btn-cs,
[data-bs-theme="dark"] .header .profile-dropdown-toggle,
[data-bs-theme="dark"] .header .welcomeSpan,
[data-bs-theme="dark"] .header b,
[data-bs-theme="dark"] .header h5 {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item) {
    color: var(--portal-link) !important;
}

[data-bs-theme="dark"] a:not(.btn):not(.dropdown-item):hover {
    color: var(--portal-link-hover) !important;
}

[data-bs-theme="dark"] .page-sidebar,
[data-bs-theme="dark"] .page-sidebar .sidebar-menu .menu-items > li ul.sub-menu,
[data-bs-theme="dark"] div.content.position-fixed.menu-top,
[data-bs-theme="dark"] .horizontal-menu .bar,
[data-bs-theme="dark"] #quickview .nav.nav-tabs {
    background-color: var(--portal-sidebar-bg) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .page-sidebar {
    border-right-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .page-sidebar .sidebar-header {
    background-color: var(--portal-sidebar-head) !important;
    border-bottom-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .page-sidebar a,
[data-bs-theme="dark"] .page-sidebar button,
[data-bs-theme="dark"] .page-sidebar .menu-items > li > a,
[data-bs-theme="dark"] .page-sidebar .sub-menu a {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .page-sidebar .menu-items > li.active > a,
[data-bs-theme="dark"] .page-sidebar .menu-items > li.open > a {
    background-color: var(--portal-surface-3) !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-footer,
[data-bs-theme="dark"] .jumbotron,
[data-bs-theme="dark"] .jumbotron-boxes .card {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .card > .card-header,
[data-bs-theme="dark"] .card .card-footer {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .card-header a.portlet-collapse,
[data-bs-theme="dark"] .card-header a.portlet-close {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .card > .card-header .card-title,
[data-bs-theme="dark"] .card > .card-header .card-title a {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-controlx,
[data-bs-theme="dark"] textarea,
[data-bs-theme="dark"] select,
[data-bs-theme="dark"] input[type="text"],
[data-bs-theme="dark"] input[type="number"],
[data-bs-theme="dark"] input[type="search"],
[data-bs-theme="dark"] input[type="password"],
[data-bs-theme="dark"] input[type="email"] {
    background-color: var(--portal-input-bg) !important;
    border-color: var(--portal-input-border) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: var(--portal-input-bg) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-accent) !important;
    box-shadow: 0 0 0 0.2rem var(--portal-accent-soft);
}

[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-control.disabled,
[data-bs-theme="dark"] input[disabled].form-control {
    background-color: var(--portal-input-bg) !important;
    border-color: var(--portal-input-border) !important;
    color: var(--portal-text-muted) !important;
    opacity: 1;
    -webkit-text-fill-color: var(--portal-text-muted);
}

[data-bs-theme="dark"] .td_shopping_cart_quantity .col-md-12,
[data-bs-theme="dark"] .td_shopping_cart_quantity .input-group {
    background-color: transparent !important;
}

[data-bs-theme="dark"] .form-control.updateShoppingCart,
[data-bs-theme="dark"] input[name="qtaMoltDocPerQuantity"] {
    background-color: var(--portal-input-bg) !important;
    border-color: var(--portal-input-border) !important;
    color: var(--portal-text) !important;
    -webkit-text-fill-color: var(--portal-text);
}

[data-bs-theme="dark"] input[name="qtaMoltDocPerQuantity"]:disabled {
    color: var(--portal-text-muted) !important;
    -webkit-text-fill-color: var(--portal-text-muted);
}

[data-bs-theme="dark"] .modal-content {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
    background-color: var(--portal-surface-2) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--portal-surface-2) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .dropdown-item {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: var(--portal-surface-3) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] #search_bar,
[data-bs-theme="dark"] #search_bar .card,
[data-bs-theme="dark"] #search_bar .card-body {
    background-color: var(--portal-surface) !important;
}

[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table th {
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
    background-color: transparent;
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > *,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: var(--portal-row-odd) !important;
    color: var(--portal-text) !important;
    --bs-table-color-type: var(--portal-text);
    --bs-table-bg-type: var(--portal-row-odd);
}

[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > *,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > td,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(even) > th {
    background-color: var(--portal-row-even) !important;
    color: var(--portal-text) !important;
    --bs-table-color-type: var(--portal-text);
    --bs-table-bg-type: var(--portal-row-even);
}

/* Semaforo multideposito dentro datagrid */
[data-bs-theme="dark"] .warehouse-semaphore-table {
    background-color: transparent !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .warehouse-semaphore-table > tbody > tr > td,
[data-bs-theme="dark"] .warehouse-semaphore-table .warehouse-deposit-label,
[data-bs-theme="dark"] .warehouse-semaphore-table .warehouse-semaphore-icon {
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .warehouse-semaphore-table.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: var(--portal-row-odd) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .warehouse-semaphore-table.table-striped > tbody > tr:nth-of-type(even) > td {
    background-color: var(--portal-row-even) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .td_quantity .warehouse-semaphore-table,
[data-bs-theme="dark"] .td_availability .warehouse-semaphore-table,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td.td_quantity:has(.warehouse-semaphore-table),
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td.td_availability:has(.warehouse-semaphore-table) {
    background-color: transparent !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td.td_quantity:has(.warehouse-semaphore-table) .warehouse-semaphore-table td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td.td_availability:has(.warehouse-semaphore-table) .warehouse-semaphore-table td {
    color: var(--portal-text) !important;
}

/* Tabella promozioni (ElencoPromozioni nel datagrid) — style.css usa sfondi chiari fissi */
[data-bs-theme="dark"] table.promozioni {
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
    background-color: transparent !important;
}

[data-bs-theme="dark"] table.promozioni thead th {
    background-color: var(--portal-surface-3) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] table.promozioni tbody tr.promozioni_details td {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] table.promozioni tbody tr.promozioni_details td a {
    color: var(--portal-link) !important;
}

[data-bs-theme="dark"] table.promozioni tbody tr.promozioni_details td a:hover {
    color: var(--portal-link-hover) !important;
}

[data-bs-theme="dark"] table.promozioni tbody tr.promozioni_price_details td {
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] table.promozioni tbody tr.promozioni_price_details + tr.promozioni_details td {
    border-top-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] table.promozioni.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: var(--portal-row-odd) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] table.promozioni.table-striped > tbody > tr:nth-of-type(even) > td {
    background-color: var(--portal-row-even) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] table.promozioni.table-striped > tbody > tr.promozioni_details > td {
    background-color: var(--portal-surface-2) !important;
}

[data-bs-theme="dark"] table.promozioni .productPrezzoNetto {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td table.promozioni,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td table.promozioni td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td table.promozioni th {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid,
[data-bs-theme="dark"] .dx-datagrid-headers,
[data-bs-theme="dark"] .dx-datagrid-rowsview,
[data-bs-theme="dark"] .dx-datagrid-total-footer,
[data-bs-theme="dark"] .dx-toolbar {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid-headers .dx-datagrid-table .dx-row > td,
[data-bs-theme="dark"] .dx-datagrid-headers .dx-datagrid-table .dx-row > tr > td,
[data-bs-theme="dark"] .dx-datagrid-headers .dx-header-row.dx-row.dx-column-lines > td,
[data-bs-theme="dark"] .dx-datagrid .dx-header-row.dx-row.dx-column-lines > td {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

/* style.css imposta color: black su .dx-datagrid-text-content — va sovrascritto in dark */
[data-bs-theme="dark"] .dx-datagrid .dx-header-row .dx-datagrid-text-content,
[data-bs-theme="dark"] .dx-datagrid-headers .dx-header-row .dx-datagrid-text-content,
[data-bs-theme="dark"] .dx-header-row > td > .dx-datagrid-text-content {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid-headers {
    color: var(--portal-text) !important;
    border-bottom-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table .dx-col-fixed,
[data-bs-theme="dark"] .dx-datagrid .dx-datagrid-content-fixed .dx-datagrid-table .dx-header-row td.dx-col-fixed {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid .dx-header-filter-empty {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row > tr > td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row {
    border-color: var(--portal-border) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row:nth-child(even):not(.dx-group-row) {
    background-color: var(--portal-row-even) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row:nth-child(odd):not(.dx-group-row) {
    background-color: var(--portal-row-odd) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row.dx-group-row {
    background-color: var(--portal-surface-3) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row.dx-data-row:hover > td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-hover > td {
    background-color: var(--portal-surface-3) !important;
}

[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-group-row) > td,
[data-bs-theme="dark"] .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-group-row) > tr > td {
    background-color: #234558 !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-datagrid .dx-link,
[data-bs-theme="dark"] .dx-datagrid-content .dx-datagrid-table .dx-row > td,
[data-bs-theme="dark"] .dx-datagrid .dx-header-filter,
[data-bs-theme="dark"] .dx-datagrid .dx-sort {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-texteditor,
[data-bs-theme="dark"] .dx-texteditor-input,
[data-bs-theme="dark"] .dx-dropdowneditor-input-wrapper {
    background-color: var(--portal-input-bg) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-texteditor.dx-editor-outlined {
    border-color: var(--portal-input-border) !important;
}

[data-bs-theme="dark"] .dx-popup-wrapper .dx-popup-content,
[data-bs-theme="dark"] .dx-popup-wrapper .dx-popup-title {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-list-item,
[data-bs-theme="dark"] .dx-list-item-content {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-scrollable-content,
[data-bs-theme="dark"] .dx-datagrid-focus-overlay {
    background-color: transparent !important;
}

[data-bs-theme="dark"] .product_column.codice_catalogo {
    color: #7eb8ff !important;
}

[data-bs-theme="dark"] .net_price,
[data-bs-theme="dark"] .net_price_not_discounted,
[data-bs-theme="dark"] .net_price_discounted,
[data-bs-theme="dark"] .second_price,
[data-bs-theme="dark"] .bold.standard {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .tooltip_custom .bottom i::after {
    border-color: transparent transparent transparent var(--portal-surface-2);
}

[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple {
    background-color: var(--portal-input-bg) !important;
    border-color: var(--portal-input-border) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--portal-surface-2) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] #quickview {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .popover,
[data-bs-theme="dark"] .popover-body {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .alert {
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .breadcrumb {
    background-color: var(--portal-surface-2) !important;
}

[data-bs-theme="dark"] .header .theme-switch {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .header .theme-switch:hover,
[data-bs-theme="dark"] .header .theme-switch:focus {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(76, 164, 156, 0.65);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

[data-bs-theme="dark"] .theme-switch .theme-icon-light,
[data-bs-theme="dark"] .header .theme-switch .theme-icon-light {
    color: #ffc940 !important;
    text-shadow: 0 0 10px rgba(255, 201, 64, 0.45);
}

[data-bs-theme="dark"] .theme-switch .theme-icon-dark,
[data-bs-theme="dark"] .header .theme-switch .theme-icon-dark {
    color: #b8d4ff !important;
    text-shadow: 0 0 10px rgba(168, 200, 255, 0.4);
}

[data-bs-theme="dark"] .btn:not(.btn-no-overwrite):not(.icon_option):not(.btn-link) {
    filter: brightness(0.92);
}

[data-bs-theme="dark"] .dx-datagrid-borders > .dx-datagrid-headers,
[data-bs-theme="dark"] .dx-datagrid-borders > .dx-datagrid-rowsview,
[data-bs-theme="dark"] .dx-datagrid-borders > .dx-datagrid-total-footer {
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .dx-pager,
[data-bs-theme="dark"] .dx-pages .dx-page,
[data-bs-theme="dark"] .dx-pages .dx-selection,
[data-bs-theme="dark"] .dx-page-sizes .dx-selection {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .dx-pages .dx-page.dx-selection,
[data-bs-theme="dark"] .dx-page-sizes .dx-selection {
    background-color: var(--portal-surface-3) !important;
}

[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-master-lighter,
[data-bs-theme="dark"] .bg-master-light {
    background-color: var(--portal-surface-2) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .notification-list,
[data-bs-theme="dark"] .cart-header,
[data-bs-theme="dark"] .list-group-item {
    background-color: transparent !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) !important;
}

[data-bs-theme="dark"] .list-group-item-action:hover,
[data-bs-theme="dark"] .list-group-item-action:focus {
    background-color: var(--portal-surface-3) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .nav-tabs .nav-link {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .nav-tabs .nav-item.show .nav-link {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
    border-color: var(--portal-border) var(--portal-border) var(--portal-surface) !important;
}

[data-bs-theme="dark"] .swal2-popup {
    background: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .swal2-title,
[data-bs-theme="dark"] .swal2-html-container {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] hr {
    border-color: var(--portal-border) !important;
    opacity: 1;
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-secondary {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .dx-datagrid .dx-column-indicators .dx-sort,
[data-bs-theme="dark"] .dx-datagrid .dx-column-indicators .dx-header-filter {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .dx-datagrid-nodata {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .page-sidebar .icon-custom {
    filter: brightness(1.1);
}

[data-bs-theme="dark"] .card > .card-header {
    border-left: 3px solid var(--portal-accent);
}

[data-bs-theme="dark"] ::selection {
    background-color: var(--portal-accent-soft);
    color: var(--portal-text);
}

/* ——— Gestione clienti (manage_customers) ——— */
[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-panel,
[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-panel.bg-info-light {
    background-color: var(--portal-surface) !important;
    border: 1px solid var(--portal-border) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-body {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-body label,
[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-title,
[data-bs-theme="dark"] .manage-customers-page .manage-customers-filter-cart-label {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-hint,
[data-bs-theme="dark"] .manage-customers-page .manage-customers-search-body .text-muted {
    color: var(--portal-text-muted) !important;
}

[data-bs-theme="dark"] .manage-customers-page .checkbox.check-primary label:before {
    background-color: var(--portal-input-bg) !important;
    border-color: var(--portal-input-border) !important;
}

[data-bs-theme="dark"] .manage-customers-page .checkbox.check-primary input[type="checkbox"]:checked + label:before {
    background-color: var(--portal-accent) !important;
    border-color: var(--portal-accent) !important;
}

/* ——— Login ——— */
[data-bs-theme="dark"] body.fixed-header,
[data-bs-theme="dark"] .login-wrapper {
    background-color: var(--portal-bg) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .login-wrapper.background_login {
    background-blend-mode: multiply;
    background-color: var(--portal-bg) !important;
}

[data-bs-theme="dark"] .login-wrapper.background_login::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 18, 21, 0.88), rgba(23, 27, 33, 0.82));
    z-index: 0;
    pointer-events: none;
}

[data-bs-theme="dark"] .login-wrapper > *:not(.login-theme-switch) {
    position: relative;
    z-index: 1;
}

[data-bs-theme="dark"] .login-wrapper .login-container,
[data-bs-theme="dark"] .login-wrapper .login-container-2,
[data-bs-theme="dark"] .login-wrapper .login-container-3,
[data-bs-theme="dark"] .login-wrapper .login-container-4,
[data-bs-theme="dark"] .login-wrapper .login-container-5,
[data-bs-theme="dark"] .login-wrapper .bg-white {
    background-color: var(--portal-surface) !important;
    color: var(--portal-text) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .login-wrapper p,
[data-bs-theme="dark"] .login-wrapper small,
[data-bs-theme="dark"] .login-wrapper label,
[data-bs-theme="dark"] .login-wrapper .checkbox label {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .login-wrapper a:not(.btn) {
    color: var(--portal-link) !important;
}

[data-bs-theme="dark"] .login-wrapper a:not(.btn):hover {
    color: var(--portal-link-hover) !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default {
    background-color: var(--portal-input-bg) !important;
    border: 1px solid var(--portal-input-border) !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default label,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default label {
    color: var(--portal-text-muted) !important;
    opacity: 1 !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default.focused,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default.focused {
    border-color: var(--portal-accent) !important;
    background-color: var(--portal-surface-2) !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default.focused label,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default.focused label {
    color: var(--portal-accent) !important;
    opacity: 1 !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default .form-control,
[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default .controls,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default .form-control,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default .controls {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--portal-text) !important;
    -webkit-text-fill-color: var(--portal-text);
    border: none !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default .form-control:focus,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default .form-control:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default .form-control::placeholder,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default .form-control::placeholder {
    color: var(--portal-text-muted) !important;
    opacity: 0.9;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default.has-error,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default.has-error {
    background-color: rgba(220, 53, 69, 0.12) !important;
    border-color: #b85c67 !important;
}

[data-bs-theme="dark"] .login-wrapper .form-group.form-group-default .form-control.is-invalid,
[data-bs-theme="dark"] body.fixed-header .form-group.form-group-default .form-control.is-invalid {
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .login-wrapper .invalid-feedback,
[data-bs-theme="dark"] .login-wrapper .invalid-feedback strong {
    color: #ff8a8a !important;
}

[data-bs-theme="dark"] .login-theme-switch {
    background: linear-gradient(135deg, rgba(31, 37, 45, 0.96), rgba(20, 24, 29, 0.94)) !important;
    border: 1px solid rgba(76, 164, 156, 0.5) !important;
    border-radius: 999px;
    padding: 0.25rem !important;
    backdrop-filter: blur(10px);
    box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

[data-bs-theme="dark"] .login-theme-switch:hover {
    border-color: rgba(76, 164, 156, 0.75) !important;
    box-shadow:
        0 6px 22px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(76, 164, 156, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

[data-bs-theme="dark"] .login-theme-switch .theme-switch {
    margin-right: 0 !important;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.22);
}

[data-bs-theme="dark"] .login-theme-switch .theme-icon-light {
    color: #ffc940 !important;
    text-shadow: 0 0 10px rgba(255, 201, 64, 0.45);
}

[data-bs-theme="dark"] .login-theme-switch .theme-icon-dark {
    color: #b8d4ff !important;
    text-shadow: 0 0 10px rgba(168, 200, 255, 0.4);
}

[data-bs-theme="dark"] .login-wrapper .background_login .bg-caption {
    color: var(--portal-text) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

[data-bs-theme="dark"] .login-wrapper .alert-success {
    background-color: rgba(76, 164, 156, 0.2) !important;
    border-color: var(--portal-accent) !important;
    color: var(--portal-text) !important;
}

[data-bs-theme="dark"] .login-wrapper .alert-danger {
    background-color: rgba(220, 53, 69, 0.18) !important;
    border-color: #b85c67 !important;
    color: #ffb4bc !important;
}

[data-bs-theme="dark"] .login-wrapper .btn-danger {
    filter: none;
}

