/* ================================================================
   DARK MODE OVERRIDES
================================================================ */
body.dark {
    background: #222222 !important;
    --cnvs-body-bg: #222222;
    color: #d1d1d6 !important;
}

.dark {
    --cnvs-contrast-bg: #222222;
    --cnvs-contrast-bg-offset: #2c2c2c;
    --cnvs-contrast-0: #222222;
    --cnvs-contrast-100: #2c2c2c;
    --cnvs-contrast-200: #3a3a3a;
    --cnvs-contrast-300: #454545;
    --cnvs-contrast-400: #6c757d;
    --cnvs-contrast-500: #adb5bd;
    --cnvs-contrast-600: #ced4da;
    --cnvs-contrast-700: #dee2e6;
    --cnvs-contrast-800: #e9ecef;
    --cnvs-contrast-900: #f8f9fa;
    --cnvs-contrast-1000: #fff;
    --cnvs-header-bg: #1a1a1a;
    --cnvs-header-sticky-bg: #1a1a1a;
    --cnvs-side-header-bg: #1a1a1a;
    --cnvs-header-floating-bg: #1a1a1a;
    --cnvs-primary-menu-submenu-bg: #1a1a1a;
    --cnvs-section-bg: #2c2c2c;
    --cnvs-footer-bg: #1a1a1a;
    --cnvs-topbar-bg: #1a1a1a;
    color: #d1d1d6;
}

/* Sidebar / Header */
body.dark #header,
body.dark #header-wrap {
    background-color: #1a1a1a !important;
}
body.dark .header-wrap-clone {
    background-color: #1a1a1a !important;
}
body.dark #header-trigger {
    background-color: #1a1a1a !important;
    color: #f4a02c !important;
}

/* Side menu links */
body.dark .primary-menu .menu-link div,
body.dark .primary-menu .menu-container > .menu-item > .menu-link {
    color: #ccc !important;
}
body.dark .primary-menu .menu-link:hover div,
body.dark .primary-menu .menu-container > .menu-item > .menu-link:hover {
    color: #f4a02c !important;
}
body.dark .sub-menu-container {
    background-color: #1a1a1a !important;
}
body.dark .sub-menu-container .menu-link div {
    color: #bbb !important;
}
body.dark .sub-menu-container .menu-link:hover div {
    color: #f4a02c !important;
}

/* Profile image border */
body.dark .img_circle {
    border-color: #f4a02c !important;
}

/* Page title area */
body.dark .page-title-mini {
    background-color: #262626 !important;
}
body.dark .page-title-mini h3,
body.dark .page-title-mini h5 {
    color: #f0f0f0 !important;
}
body.dark .breadcrumb-item a,
body.dark .breadcrumb-item {
    color: #aaa !important;
}

/* Sub-menu bar (navbar) */
body.dark .bg_sc {
    background-color: #3a3a3a !important;
}

/* Main content area */
body.dark #wrapper {
    background-color: #222222 !important;
}
body.dark section {
    color: #d1d1d6;
}

/* Cards, boxes, content blocks */
body.dark .dash_icon {
    background-color: #2c2c2c !important;
    border-color: #f4a02c !important;
    color: #d1d1d6 !important;
    box-shadow: 5px 5px rgba(0,0,0,0.4);
}
body.dark .dash_icon:hover {
    box-shadow: none;
}
body.dark .dash_icon h4,
body.dark .dash_icon h5,
body.dark .dash_icon p,
body.dark .dash_icon span {
    color: #e0e0e0 !important;
}
body.dark .fbox_dashboard {
    background-color: #2c2c2c !important;
    border-color: #f4a02c !important;
    color: #d1d1d6 !important;
}

/* Tables */
body.dark .table {
    color: #d1d1d6 !important;
    --bs-table-bg: #2c2c2c;
    --bs-table-border-color: #454545;
}
body.dark .table-bordered > :not(caption) > * > * {
    border-color: #454545 !important;
}
body.dark .table-hover > tbody > tr:hover > * {
    background-color: #3a3a3a !important;
    color: #e0e0e0 !important;
}
body.dark .table_colored thead th {
    background-color: #3a3a3a !important;
    color: #f4a02c !important;
}
body.dark .table_colored tfoot th {
    background-color: #3a3a3a !important;
    color: #f4a02c !important;
}
body.dark .table_colored td {
    background-color: #2c2c2c !important;
    color: #d1d1d6 !important;
}

/* Forms */
body.dark input,
body.dark textarea,
body.dark select,
body.dark .form-control {
    background-color: #3a3a3a !important;
    border-color: #454545 !important;
    color: #d1d1d6 !important;
}
body.dark input::placeholder,
body.dark textarea::placeholder {
    color: #888 !important;
}
body.dark .form_header {
    background-color: #3a3a3a !important;
}
body.dark .form_div {
    border-color: #454545 !important;
}
body.dark .form_body {
    background-color: #2c2c2c !important;
}
body.dark .form_title {
    color: #f4a02c !important;
    border-bottom-color: #f4a02c !important;
}

/* Labels and text */
body.dark label {
    color: #d1d1d6 !important;
}
body.dark h1, body.dark h2, body.dark h3, body.dark h4, body.dark h5, body.dark h6 {
    color: #e8e8ed !important;
}
body.dark a {
    color: #d1d1d6;
}
body.dark a:hover {
    color: #f4a02c;
}
body.dark b {
    color: #f4a02c !important;
}

/* Tutorial / info messages */
body.dark .tutorialMsg {
    background-color: #3a3a3a !important;
    color: #d1d1d6 !important;
}
body.dark .style-msg {
    border-color: #454545 !important;
}

/* Style messages - rimuove text-shadow bianco che sfoca il testo bianco in dark */
body.dark .style-msg .sb-msg,
body.dark .style-msg2 .msgtitle,
body.dark .style-msg2 .sb-msg {
    text-shadow: none !important;
}

/* Style messages variants (info, success, warning, danger) - tonalità più scure in dark */
body.dark .infomsg {
    background: #1d3a44 !important;
    border-color: #265763 !important;
    color: #ffffff !important;
}
body.dark .successmsg {
    background: #1f3a2a !important;
    border-color: #2d5740 !important;
    color: #ffffff !important;
}
body.dark .warningmsg,
body.dark .alertmsg {
    background: #3f3520 !important;
    border-color: #5b4d2c !important;
    color: #ffffff !important;
}
body.dark .dangermsg,
body.dark .errormsg {
    background: #3d2226 !important;
    border-color: #5b333a !important;
    color: #ffffff !important;
}

/* Modals */
body.dark .modal-content {
    background-color: #2c2c2c !important;
    color: #d1d1d6 !important;
}
body.dark .modal-header {
    background-color: #3a3a3a !important;
    border-bottom-color: #f4a02c !important;
}
body.dark .modal-footer {
    border-top-color: #454545 !important;
    background-color: #2c2c2c !important;
}

/* Buttons */
body.dark .button-border.button-red {
    color: #e74c3c !important;
    border-color: #e74c3c !important;
}
body.dark .button-border.button-green {
    color: #2ecc71 !important;
    border-color: #2ecc71 !important;
}

/* Pagination */
body.dark .pagination span {
    background: #3a3a3a;
}
body.dark .pagination span.current {
    color: #f4a02c !important;
}
body.dark .pagination span a {
    color: #bbb !important;
}

/* Notices / Alerts */
body.dark .notice {
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

/* Tabs */
body.dark .nav-link {
    color: #ccc !important;
}
body.dark .nav-link.active,
body.dark .nav-link:hover {
    color: #f4a02c !important;
}

/* Divider and sections */
body.dark .heading-block::after {
    border-color: #f4a02c !important;
}

/* Badge */
body.dark .badge.bg-light {
    background-color: #3a3a3a !important;
    color: #d1d1d6 !important;
}

/* Dash label */
body.dark .dash_label {
    color: #d1d1d6 !important;
}

/* bg classes override */
body.dark .bg-success {
    background-color: rgba(41, 168, 71, 0.3) !important;
    color: #8fd8a4 !important;
}
body.dark .bg-not-success {
    background-color: rgba(168, 41, 41, 0.3) !important;
    color: #e8a0a0 !important;
}

/* Footer override */
body.dark #footer {
    background: #1a1a1a !important;
}
body.dark #copyrights {
    background-color: #111111 !important;
}

/* Help div */
body.dark #divHelp {
    background: #2c2c2c !important;
    border-color: #f4a02c !important;
    color: #d1d1d6 !important;
}

/* Preloader */
body.dark #preloader .css3-spinner {
    background-color: #222222 !important;
}

/* hr separator in menu */
body.dark hr {
    border-color: #454545 !important;
}

/* Progress bar - sfondo del track contrastato in dark mode */
body.dark .progress,
body.dark .skill-progress-bar {
    background-color: #454545 !important;
}

/* Icone check/xmark cerchio - cerchio bianco interno per rendere visibile il simbolo */
body.dark i.fa-circle-check,
body.dark i.fa-circle-xmark {
    background: radial-gradient(circle, #fff 40%, transparent 42%) !important;
}

/* Switch toggles - stato attivo (checked) */
body.dark input.switch-toggle-flat:checked + label,
body.dark input.switch-toggle-round:checked + label {
    background-color: #f4a02c !important;
}
body.dark input.switch-toggle-flat:checked + label::after {
    background-color: #cf6c02 !important;
}
body.dark input.switch-toggle-round:checked + label::after {
    background-color: #222222 !important;
}