/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.menu .app-brand.demo {
    height: 64px;
    margin-top: 12px;
    overflow: visible;
}

#layout-menu {
    overflow: visible;
}

#layout-menu .app-brand {
    overflow: visible;
}

@media (min-width: 1200px) {
    .app-brand .layout-menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }

    .layout-menu-collapsed:not(.layout-menu-hover) .app-brand .layout-menu-toggle {
        left: 3.8rem !important;
    }
}

.layout-menu-collapsed .app-brand .layout-menu-toggle i {
    transform: rotate(180deg);
}

@media (max-width: 1199.98px) {
    .app-brand .layout-menu-toggle {
        display: none !important;
    }
}

.app-brand-logo.demo svg {
    width: 22px;
    height: 38px;
}

.app-brand-text.demo {
    font-size: 1.4rem;
    letter-spacing: -0.5px;
    text-transform: lowercase;
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
/* Detached navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
    padding-top: 76px !important;
}

/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
    padding-top: 64px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
    z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks>* {
    display: block !important;
}

.demo-inline-spacing>* {
    margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing>* {
    margin-top: 1rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-lg>* {
    margin-top: 1.875rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-lg.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-xl>* {
    margin-top: 5rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-xl.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.rtl-only {
    display: none !important;
    text-align: left !important;
    direction: ltr !important;
}

[dir='rtl'] .rtl-only {
    display: block !important;
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 1rem;
}

.layout-demo-placeholder img {
    width: 900px;
}

.layout-demo-info {
    text-align: center;
    margin-top: 1rem;
}

/* Fix for mobile sidebar native scrolling */
@media (max-width: 1199.98px) {
    .layout-menu {
        height: 100dvh !important;
    }

    .layout-menu .menu-inner {
        height: auto !important;
        max-height: calc(100dvh - 80px) !important;
        /* Forces scrollbar instead of allowing container to grow */
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-bottom: 3rem !important;
    }

    /* Fix height/top position mismatch of the active indicator when submenus open */
    .layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner>.menu-item {
        position: relative !important;
        /* Anchors the indicator strictly to its parent item */
    }

    .layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner>.menu-item.active:before {
        /* Hardcode the vertical start position to match the menu-link margin */
        z-index: 5;
    }

    /* Shift active indicator to not hide beneath custom webkit scrollbar track in dark theme */
    html[data-bs-theme="dark"] .layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner>.menu-item.active:before {
        right: 8px !important;
    }

    /* Remove menu shadow completely on mobile screen */
    .menu-inner-shadow {
        display: none !important;
    }
}

[data-bs-theme="dark"] {
    /* 1. ROOT VARIABLES  */
    --bs-body-bg: #232333 !important;
    --bs-body-color: #d5d5e2 !important;
    --bs-body-bg-rgb: 35, 35, 51 !important;
    --bs-body-color-rgb: 213, 213, 226 !important;
    --bs-heading-color: #d5d5e2 !important;
    --bs-link-color: #a3a4cc !important;
    --bs-border-color: #444564 !important;

    /* 2. GLOBAL TEXT & BACKGROUNDS */
    background-color: #232333 !important;
    color: #d5d5e2 !important;

    body,
    p,
    span,
    label,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    a,
    li,
    td,
    th,
    div,
    section,
    article {
        color: #d5d5e2 !important;
    }

    /* 3. CARDS & CONTAINERS */
    .card {
        background-color: #2b2c40 !important;
        color: #d5d5e2 !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
        box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.2) !important;
    }

    .bg-white {
        background-color: #2b2c40 !important;
        color: #d5d5e2 !important;
    }

    .content-wrapper {
        background-color: #232333 !important;
        color: #d5d5e2 !important;
    }

    .card-body,
    .card-header,
    .card-footer {
        background-color: transparent !important;
        color: #d5d5e2 !important;
        border-color: #444564 !important;
    }

    .card-title,
    .card-subtitle {
        color: #d5d5e2 !important;
    }

    /* 4. FORMS & INPUTS */
    .form-control,
    .form-select,
    .input-group-text,
    .dataTables_length select,
    .dataTables_filter input,
    textarea,
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="number"],
    input[type="search"] {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    /* File Input "Choose file" button */
    input[type="file"].form-control {
        color: #d5d5e2 !important;
    }

    input[type="file"].form-control::file-selector-button {
        background-color: #444564 !important;
        color: #d5d5e2 !important;
        border-color: #444564 !important;
    }

    .form-control:focus,
    .form-select:focus,
    input:focus,
    textarea:focus {
        background-color: #2b2c40 !important;
        border-color: #696cff !important;
        color: #d5d5e2 !important;
    }

    .form-control::placeholder,
    textarea::placeholder,
    input::placeholder {
        color: #7071a4 !important;
    }

    .form-label,
    label {
        color: #d5d5e2 !important;
    }

    /* Checkboxes & Radios */
    .form-check-input {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
    }

    .form-check-input:checked {
        background-color: #696cff !important;
        border-color: #696cff !important;
    }

    .form-check-input:focus {
        border-color: #696cff !important;
        box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.25) !important;
    }

    .form-switch .form-check-input {
        background-color: #444564 !important;
    }

    .form-switch .form-check-input:checked {
        background-color: #696cff !important;
    }

    /* FULL SELECT2 DARK MODE FIXES */
    .select2-container {
        max-width: 100% !important;
    }

    .select2-dropdown {
        background-color: #2b2c40 !important;
        border: 1px solid #444564 !important;
        max-width: 100vw !important;
    }

    /* Single and Multiple Selection Boxes */
    .select2-container--default .select2-selection--single,
    .select2-container--default .select2-selection--multiple {
        background-color: #2b2c40 !important;
        border: 1px solid #444564 !important;
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered,
    .select2-container--default .select2-selection--multiple .select2-selection__rendered {
        color: #d5d5e2 !important;
    }

    /* Options Base */
    .select2-container--default .select2-results__option {
        background-color: #2b2c40 !important;
        color: #d5d5e2 !important;
    }

    /* Hover / Focus */
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        background-color: rgba(105, 108, 255, 0.16) !important;
        color: #696cff !important;
    }

    /* Selected Item */
    .select2-container--default .select2-results__option[aria-selected="true"] {
        background-color: #696cff !important;
        color: #fff !important;
    }

    /* Multi-select selected chips (tags) */
    .select2-container--default .select2-selection--multiple .select2-selection__choice {
        background-color: rgba(105, 108, 255, 0.16) !important;
        color: #696cff !important;
        border: 1px solid rgba(105, 108, 255, 0.3) !important;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
        color: #696cff !important;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
        color: #ff3e1d !important;
    }

    /* Search Box inside dropdown (the one that opens below) */
    .select2-search--dropdown .select2-search__field {
        background-color: #232333 !important;
        color: #d5d5e2 !important;
        border: 1px solid #444564 !important;
    }

    /* Inline search inside multi-select (must blend with container) */
    .select2-container--default .select2-selection--multiple .select2-search__field {
        background-color: transparent !important;
        color: #d5d5e2 !important;
        border: none !important;
    }

    /* 5. TABLES & DATATABLES */
    .table,
    .dataTable {
        color: #d5d5e2 !important;
        --bs-table-border-color: #444564;
        background-color: #2b2c40 !important;
    }

    .table:not(.table-dark) th,
    .dataTable th {
        color: #d5d5e2 !important;
        background-color: rgba(124, 125, 182, 0.08) !important;
        border-color: #444564 !important;
    }

    .table:not(.table-dark) td,
    .dataTable td {
        color: #d5d5e2 !important;
        border-color: #444564 !important;
    }

    table.dataTable.no-footer {
        border-bottom-color: #444564 !important;
    }

    .layout-navbar,
    .navbar,
    .bg-navbar-theme,
    header {
        background-color: #1a1a2e !important;
        border-bottom-color: #444564 !important;
    }

    .navbar-detached {
        box-shadow: 0 0 0.375rem 0.25rem rgba(0, 0, 0, 0.15) !important;
    }

    .layout-navbar .nav-link,
    .layout-navbar i,
    .layout-navbar .navbar-brand,
    .navbar-text,
    .navbar .nav-link {
        color: #d5d5e2 !important;
    }

    .layout-navbar .nav-link:hover,
    .navbar .nav-link:hover {
        color: #a3a4cc !important;
    }

    /* 7. SIDEBAR & MENU */
    .menu-vertical,
    .menu-vertical .menu-link,
    .menu-vertical .menu-header,
    .layout-menu {
        background-color: #1a1a2e !important;
        color: #d5d5e2 !important;
    }

    .menu-vertical .menu-link,
    .menu-item>.menu-link {
        color: #a3a4cc !important;
    }

    .menu-vertical .menu-item.active>.menu-link {
        background-color: rgba(105, 108, 255, 0.16) !important;
        color: #696cff !important;
    }

    .menu-item:hover>.menu-link {
        color: #d5d5e2 !important;
    }

    /* 8. ACCORDIONS & DROPDOWNS */
    .accordion-item,
    .accordion-button {
        background-color: #2b2c40 !important;
        color: #d5d5e2 !important;
        border-color: #444564 !important;
    }

    .accordion-button:not(.collapsed) {
        background-color: rgba(105, 108, 255, 0.1) !important;
        color: #696cff !important;
    }

    .dropdown-menu {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4) !important;
    }

    .dropdown-item {
        color: #d5d5e2 !important;
    }

    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: rgba(105, 108, 255, 0.1) !important;
        color: #d5d5e2 !important;
    }

    /* 9. MODALS & DIALOGS */
    .modal-content {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
    }

    .modal-header,
    .modal-body,
    .modal-footer {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .modal-title {
        color: #d5d5e2 !important;
    }

    .btn-close {
        filter: invert(1) !important;
    }

    /* 10. ALERTS & BADGES */
    .alert {
        background-color: rgba(105, 108, 255, 0.1) !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .badge {
        background-color: #696cff !important;
        color: #fff !important;
    }

    /* 11. PAGINATION & BUTTONS */
    .page-link {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .page-link:hover {
        background-color: rgba(105, 108, 255, 0.1) !important;
        color: #d5d5e2 !important;
    }

    .page-item.active .page-link {
        background-color: #696cff !important;
        border-color: #696cff !important;
    }

    /* 12. BUTTONS */
    .btn {
        border-color: #444564 !important;
    }

    .btn-light {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #fff !important;
    }

    .btn-primary {
        background-color: #696cff !important;
        border-color: #696cff !important;
        color: #fff !important;
    }

    .btn-secondary {
        background-color: #8592a3 !important;
        border-color: #8592a3 !important;
        color: #fff !important;
    }

    .btn-success {
        background-color: #71dd37 !important;
        border-color: #71dd37 !important;
        color: #fff !important;
    }

    .btn-info {
        background-color: #03c3ec !important;
        border-color: #03c3ec !important;
        color: #fff !important;
    }

    .btn-warning {
        background-color: #ffab00 !important;
        border-color: #ffab00 !important;
        color: #fff !important;
    }

    .btn-danger {
        background-color: #ff3e1d !important;
        border-color: #ff3e1d !important;
        color: #fff !important;
    }

    .btn-dark {
        background-color: #233446 !important;
        border-color: #233446 !important;
        color: #fff !important;
    }

    .btn-gray {
        background-color: rgba(67, 89, 113, 0.1) !important;
        border-color: rgba(67, 89, 113, 0.1) !important;
        color: #a3a4cc !important;
    }

    .btn-light:hover {
        background-color: #3a3c57 !important;
        color: #fff !important;
    }

    /* 13. CUSTOM SEARCH BOXES */
    input[type="search"],
    .navbar-search-wrapper {
        background-color: #2b2c40 !important;
        color: #d5d5e2 !important;
    }

    /* 14. LIST GROUPS */
    .list-group-item {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .list-group-item:hover {
        background-color: rgba(105, 108, 255, 0.1) !important;
    }

    .list-group-item.active {
        background-color: #696cff !important;
        border-color: #696cff !important;
    }

    /* 15. TABS & NAV */
    .nav-tabs,
    .nav-tabs .nav-link {
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .nav-tabs .nav-link.active {
        background-color: #2b2c40 !important;
        border-color: #696cff !important;
        color: #696cff !important;
    }

    /* 16. PROGRESS BARS */
    .progress {
        background-color: rgba(124, 125, 182, 0.1) !important;
    }

    /* 17. TOAST & NOTIFICATIONS */
    .toast {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    .toast-header {
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    /* 18. BREADCRUMBS */
    .breadcrumb {
        background-color: transparent !important;
    }

    .breadcrumb-item,
    .breadcrumb-item.active {
        color: #d5d5e2 !important;
    }

    /* 19. CODE & PRE */
    code,
    pre {
        background-color: #2b2c40 !important;
        color: #a3a4cc !important;
        border-color: #444564 !important;
    }

    /* 20. HR DIVIDER */
    hr {
        border-color: #444564 !important;
    }

    /* 21. LINKS & TEXT UTILITIES */
    a {
        color: #a3a4cc !important;
    }

    a:hover {
        color: #fff !important;
    }

    .text-muted {
        color: #a3a4cc !important;
    }

    .text-body {
        color: #d5d5e2 !important;
    }

    /* 22. BORDERS & BG UTILITIES */
    .border {
        border-color: #444564 !important;
    }

    .bg-light {
        background-color: #2b2c40 !important;
    }

    /* 23. BOTTOM DRAWER */
    .bottom_drawer .header_bar {
        background: #1a3a73 !important;
        color: #d5d5e2 !important;
    }

    .bottom_drawer .body_area h2 {
        color: #d5d5e2 !important;
    }

    /* FOOTER FIX */
    .footer,
    .content-footer,
    .bg-footer-theme {
        background-color: #232333 !important;
        color: #a3a4cc !important;
    }

    .bg-label-primary {
        background-color: rgba(105, 108, 255, 0.16) !important;
        color: #696cff !important;
    }

    .bg-label-secondary {
        background-color: rgba(133, 146, 163, 0.16) !important;
        color: #8592a3 !important;
    }

    .bg-label-success {
        background-color: rgba(113, 221, 55, 0.16) !important;
        color: #71dd37 !important;
    }

    .bg-label-info {
        background-color: rgba(3, 195, 236, 0.16) !important;
        color: #03c3ec !important;
    }

    .bg-label-warning {
        background-color: rgba(255, 171, 0, 0.16) !important;
        color: #ffab00 !important;
    }

    .bg-label-danger {
        background-color: rgba(255, 62, 29, 0.16) !important;
        color: #ff3e1d !important;
    }

    .bg-label-dark {
        background-color: rgba(35, 52, 70, 0.16) !important;
        color: #fff !important;
    }

    .bg-label-gray {
        background-color: rgba(67, 89, 113, 0.16) !important;
        color: #a3a4cc !important;
    }

    /* Logo Switching */
    .app-brand-logo-light {
        display: none !important;
    }

    .app-brand-logo-dark {
        display: block !important;
    }

    /* ApexCharts Tooltip Dark Mode Fix */
    .apexcharts-tooltip {
        background: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
        box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4) !important;
    }

    .apexcharts-tooltip-title {
        background: #232333 !important;
        border-bottom: 1px solid #444564 !important;
        font-family: 'Public Sans', sans-serif !important;
        color: #d5d5e2 !important;
    }

    .apexcharts-tooltip-text {
        color: #d5d5e2 !important;
    }

    .apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {
        opacity: 1;
    }

    /* ApexCharts Axis Labels */
    .apexcharts-xaxis-label,
    .apexcharts-yaxis-label,
    .apexcharts-xaxis-title,
    .apexcharts-yaxis-title {
        fill: #a3a4cc !important;
        color: #a3a4cc !important;
    }

    .apexcharts-gridline {
        stroke: #444564 !important;
    }

    .apexcharts-legend-text {
        color: #a3a4cc !important;
    }

    /* Select2 Dropdown & Responsive Table Scrollbar */
    .select2-results__options,
    .table-responsive {
        scrollbar-width: thin;
        scrollbar-color: #444564 #2b2c40;
    }

    .select2-results__options::-webkit-scrollbar,
    .table-responsive::-webkit-scrollbar {
        width: 6px;
        height: 8px; /* For horizontal responsive scrollbars */
    }

    .select2-results__options::-webkit-scrollbar-track,
    .table-responsive::-webkit-scrollbar-track {
        background: #2b2c40;
    }

    .select2-results__options::-webkit-scrollbar-thumb,
    .table-responsive::-webkit-scrollbar-thumb {
        background-color: #444564;
        border-radius: 4px; /* Using 4px for better aesthetics on both dimensions */
    }

    .select2-results__options::-webkit-scrollbar-thumb:hover,
    .table-responsive::-webkit-scrollbar-thumb:hover {
        background-color: #696cff;
    }

    /* Trix Editor Toolbar & Content */
    trix-toolbar {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
    }

    trix-toolbar .trix-button-row {
        background-color: #2b2c40 !important;
    }

    trix-toolbar .trix-button-group {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
    }

    trix-toolbar .trix-button {
        background-color: transparent !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
        filter: invert(1) hue-rotate(180deg);
    }

    trix-toolbar .trix-button:not([disabled]):hover {
        background-color: rgba(0, 0, 0, 0.15) !important;
    }

    trix-toolbar .trix-button.trix-active {
        background-color: rgba(0, 0, 0, 0.25) !important;
    }

    trix-toolbar .trix-button[disabled] {
        opacity: 0.3 !important;
    }

    trix-toolbar .trix-button-group-spacer {
        background-color: transparent !important;
    }

    trix-toolbar .trix-dialog {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    trix-toolbar .trix-dialog .trix-input {
        background-color: #232333 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
        filter: none;
    }

    trix-toolbar .trix-dialog .trix-button--dialog {
        background-color: #444564 !important;
        color: #d5d5e2 !important;
        filter: none;
    }

    trix-editor {
        background-color: #2b2c40 !important;
        border-color: #444564 !important;
        color: #d5d5e2 !important;
    }

    /* Dark Mode Theme Adjustments for Table Context Classes */
    .table-light {
        --bs-table-bg: #323249;
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: #444564;
        --bs-table-striped-bg: rgba(255, 255, 255, 0.05);
    }

    .table-primary {
        --bs-table-bg: rgba(105, 108, 255, 0.16);
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: rgba(105, 108, 255, 0.2);
    }

    .table-secondary {
        --bs-table-bg: rgba(133, 146, 163, 0.16);
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: rgba(133, 146, 163, 0.2);
    }

    .table-success {
        --bs-table-bg: rgba(113, 221, 55, 0.16);
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: rgba(113, 221, 55, 0.2);
    }

    .table-info {
        --bs-table-bg: rgba(3, 195, 236, 0.16);
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: rgba(3, 195, 236, 0.2);
    }

    .table-warning {
        --bs-table-bg: rgba(255, 171, 0, 0.16);
        --bs-table-color: #d5d5e2;
        --bs-table-border-color: rgba(255, 171, 0, 0.2);
    }
}

/* Global: Pointer cursor for checkboxes, radios & labels */
.form-check-input,
.form-check-label,
.dt-checkboxes,
.dt-checkboxes-cell,
.dt-checkboxes-select-all,
.dt-checkboxes-select-all input[type="checkbox"] {
    cursor: pointer;
}

/* Default Logo Visibility (Light Mode) */
.app-brand-logo-dark {
    display: none !important;
}

.app-brand-logo-light {
    display: block !important;
}

/* Ensure body receives dark theme */
html[data-bs-theme="dark"] body {
    color: #d5d5e2 !important;
    background-color: #232333 !important;
}

/* Additional overrides for specificity */
[data-bs-theme="dark"] .bg-white {
    background-color: #2b2c40 !important;
    color: #d5d5e2 !important;
}

[data-bs-theme="dark"] .text-dark {
    color: #d5d5e2 !important;
}

[data-bs-theme="dark"] .text-secondary {
    color: #a3a4cc !important;
}

/* Keep Toasts in their original Bootstrap colors (no dark theme override) */
[data-bs-theme="dark"] .toast.bs-toast,
[data-bs-theme="dark"] .toast.bs-toast div,
[data-bs-theme="dark"] .toast.bs-toast span,
[data-bs-theme="dark"] .toast.bs-toast i,
[data-bs-theme="dark"] .toast.bs-toast p,
[data-bs-theme="dark"] .toast.bs-toast .toast-body,
[data-bs-theme="dark"] .toast.bs-toast .toast-header,
[data-bs-theme="dark"] .toast.bs-toast .toast-header div,
[data-bs-theme="dark"] .toast.bs-toast .toast-header i {
    color: #fff !important;
}

[data-bs-theme="dark"] .toast .btn-close,
[data-bs-theme="dark"] .bs-toast .btn-close {
    filter: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='150px' height='151px' viewBox='0 0 150 151' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpolygon id='path-1' points='131.251657 0 74.9933705 56.25 18.7483426 0 0 18.75 56.2450278 75 0 131.25 18.7483426 150 74.9933705 93.75 131.251657 150 150 131.25 93.7549722 75 150 18.75'%3E%3C/polygon%3E%3C/defs%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-225.000000, -250.000000)'%3E%3Cg transform='translate(225.000000, 250.500000)'%3E%3Cuse fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3Cuse fill-opacity='1' fill='%23fff' xlink:href='%23path-1'%3E%3C/use%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
}

[data-bs-theme="dark"] .bg-success.toast .toast-header .btn-close,
[data-bs-theme="dark"] .bg-success.bs-toast .toast-header .btn-close {
    background-color: #71dd37 !important;
    box-shadow: 0 0.1875rem 0.375rem 0 rgba(113, 221, 55, 0.4) !important;
}

[data-bs-theme="dark"] .bg-danger.toast .toast-header .btn-close,
[data-bs-theme="dark"] .bg-danger.bs-toast .toast-header .btn-close {
    background-color: #ff3e1d !important;
    box-shadow: 0 0.1875rem 0.375rem 0 rgba(255, 62, 29, 0.4) !important;
}

[data-bs-theme="dark"] .bg-warning.toast .toast-header .btn-close,
[data-bs-theme="dark"] .bg-warning.bs-toast .toast-header .btn-close {
    background-color: #ffab00 !important;
    box-shadow: 0 0.1875rem 0.375rem 0 rgba(255, 171, 0, 0.4) !important;
}

[data-bs-theme="dark"] .bg-info.toast .toast-header .btn-close,
[data-bs-theme="dark"] .bg-info.bs-toast .toast-header .btn-close {
    background-color: #03c3ec !important;
    box-shadow: 0 0.1875rem 0.375rem 0 rgba(3, 195, 236, 0.4) !important;
}

[data-bs-theme="dark"] .bg-primary.toast .toast-header .btn-close,
[data-bs-theme="dark"] .bg-primary.bs-toast .toast-header .btn-close {
    background-color: #696cff !important;
    box-shadow: 0 0.1875rem 0.375rem 0 rgba(105, 108, 255, 0.4) !important;
}

/* Force original bg-* colors on toasts in dark mode */
[data-bs-theme="dark"] .toast.bg-success {
    background-color: #71dd37 !important;
    border-color: #71dd37 !important;
}

[data-bs-theme="dark"] .toast.bg-danger {
    background-color: #ff3e1d !important;
    border-color: #ff3e1d !important;
}

[data-bs-theme="dark"] .toast.bg-warning {
    background-color: #ffab00 !important;
    border-color: #ffab00 !important;
}

[data-bs-theme="dark"] .toast.bg-info {
    background-color: #03c3ec !important;
    border-color: #03c3ec !important;
}

[data-bs-theme="dark"] .toast.bg-primary {
    background-color: #696cff !important;
    border-color: #696cff !important;
}

/* ApexCharts Dark Mode - SVG text fill overrides */
[data-bs-theme="dark"] .apexcharts-text,
[data-bs-theme="dark"] .apexcharts-yaxis-title-text,
[data-bs-theme="dark"] .apexcharts-xaxis-title-text,
[data-bs-theme="dark"] .apexcharts-yaxis-label,
[data-bs-theme="dark"] .apexcharts-xaxis-label,
[data-bs-theme="dark"] .apexcharts-legend-text {
    fill: #d5d5e2 !important;
    color: #d5d5e2 !important;
}

/* Explicit Active Highlight for dropdowns (Theme selector) */
.dropdown-item.active,
[data-bs-theme="dark"] .dropdown-item.active {
    background-color: rgba(105, 108, 255, 0.16) !important;
    color: #696cff !important;
    font-weight: 600;
}

[data-bs-theme="dark"] .menu-inner-shadow {
    display: none !important;
}

/* Dark Theme Custom Scrollbars (Tables & Charts) */
[data-bs-theme="dark"] .dataTables_scrollBody::-webkit-scrollbar,
[data-bs-theme="dark"] .card-body [style*="overflow"]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-bs-theme="dark"] .dataTables_scrollBody::-webkit-scrollbar-track,
[data-bs-theme="dark"] .card-body [style*="overflow"]::-webkit-scrollbar-track {
    background: #232333 !important;
}

[data-bs-theme="dark"] .dataTables_scrollBody::-webkit-scrollbar-thumb,
[data-bs-theme="dark"] .card-body [style*="overflow"]::-webkit-scrollbar-thumb {
    background: #444564 !important;
    border-radius: 4px;
}

[data-bs-theme="dark"] .dataTables_scrollBody::-webkit-scrollbar-thumb:hover,
[data-bs-theme="dark"] .card-body [style*="overflow"]::-webkit-scrollbar-thumb:hover {
    background: #696cff !important;
}

html:not([data-bs-theme="dark"]) .dataTables_scrollBody::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

html:not([data-bs-theme="dark"]) .dataTables_scrollBody::-webkit-scrollbar-track {
    background: #f5f5f9 !important;
}

html:not([data-bs-theme="dark"]) .dataTables_scrollBody::-webkit-scrollbar-thumb {
    background: #c9cdd4 !important;
    border-radius: 4px;
}

html:not([data-bs-theme="dark"]) .dataTables_scrollBody::-webkit-scrollbar-thumb:hover {
    background: #696cff !important;
}

/* Update Password Page Global Mobile Width Fixes (Light & Dark Themes) */
#user-password-update-form .select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* Global Dropdown containment */
.select2-dropdown {
    max-width: 100vw !important;
}

/* Fix for auth inputs text color in dark theme */
[data-bs-theme="dark"] .form-control {
  color: #fff !important;
}
[data-bs-theme="dark"] .form-control:focus {
  color: #fff !important;
}
[data-bs-theme="dark"] .authentication-wrapper .form-control:-webkit-autofill,
[data-bs-theme="dark"] .authentication-wrapper .form-control:-webkit-autofill:hover,
[data-bs-theme="dark"] .authentication-wrapper .form-control:-webkit-autofill:focus,
[data-bs-theme="dark"] .authentication-wrapper .form-control:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0px 1000px #2b2c40 inset !important;
  transition: background-color 5000s ease-in-out 0s;
}
[data-bs-theme="dark"] .authentication-wrapper .btn-primary,
[data-bs-theme="dark"] .authentication-wrapper .btn-primary:hover,
[data-bs-theme="dark"] .authentication-wrapper .btn-primary:focus,
[data-bs-theme="dark"] .authentication-wrapper .btn-primary:active {
  box-shadow: none !important;
}