/*
 * Dark Mode Purple Theme Override
 * Based on #28243d color palette
 * Color scheme:
 * - Very dark: #1a1628 (preloader)
 * - Dark: #28243d (main background, sidebar, navbar, content, headers, footers)
 * - Medium: #312d4b (cards, tables, modals)
 * - Medium-light: #524867 (hover states)
 * - Light: #675a7c (borders/highlights)
 */

/* Base dark mode background - Main Dark Purple */
.dark-mode {
    background-color: #28243d !important;
}

/* Preloader - Very Dark Purple */
.dark-mode .preloader {
    background-color: #1a1628 !important;
}

/* Very Dark Grey -> Very Dark Purple */
/* Original: #060708, #121416, #171a1d, #1d2124, #222629, #292d32, #2b3035, #2d3238 */
.dark-mode [style*="background-color: #060708"],
.dark-mode [style*="background-color: #121416"],
.dark-mode [style*="background-color: #171a1d"],
.dark-mode [style*="background-color: #1d2124"],
.dark-mode [style*="background-color: #222629"],
.dark-mode [style*="background-color: #292d32"],
.dark-mode [style*="background-color: #2b3035"],
.dark-mode [style*="background-color: #2d3238"] {
    background-color: #1a1628 !important;
}

/* Dark Greys -> Main Dark Purple (#28243d) */
/* Original: #313539, #343a40, #373d44, #3a4047, #3d444b, #3f474e */
.dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
.dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
    background-color: #28243d !important;
    border-bottom: none !important;
}

/* Layout navbar fixed dark mode overrides */
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
.layout-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
    background-color: #28243d !important;
    border-bottom: none !important;
}

/* Responsive sidebar dark backgrounds */
@media (min-width: 576px) {
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
    .layout-sm-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
        background-color: #28243d !important;
        border-bottom: none !important;
    }
}

@media (min-width: 768px) {
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
    .layout-md-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
        background-color: #28243d !important;
        border-bottom: none !important;
    }
}

@media (min-width: 992px) {
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
    .layout-lg-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
        background-color: #28243d !important;
        border-bottom: none !important;
    }
}

@media (min-width: 1200px) {
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-primary .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-secondary .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-success .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-info .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-warning .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-danger .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-light .brand-link:not([class*="navbar"]),
    .layout-xl-navbar-fixed .dark-mode .wrapper .sidebar-dark-dark .brand-link:not([class*="navbar"]) {
        background-color: #28243d !important;
        border-bottom: none !important;
    }
}

/* Medium Dark Greys -> Medium Purple */
/* Original: #4b545c, #545b62, #5a6268 */
.dark-mode .bg-dark,
.dark-mode .card-dark,
.dark-mode .alert-dark {
    background-color: #312d4b !important;
}

/* Medium Greys -> Medium-Light Purple */
/* Original: #596167, #60686f, #636b72, #656d75 */
.dark-mode .table-dark,
.dark-mode .table-dark th,
.dark-mode .table-dark td {
    background-color: #524867 !important;
}

/* Light Greys -> Light Purple */
/* Original: #6c757d, #757f88, #78828a, #868e96, #88939e */
.dark-mode .bg-secondary,
.dark-mode .card-secondary,
.dark-mode .alert-secondary {
    background-color: #675a7c !important;
}

/* Additional common elements */
/* Sidebar, navbar, and content all use main dark purple */
.dark-mode .main-sidebar,
.dark-mode .sidebar {
    background-color: #28243d !important;
    box-shadow: none !important;
}

.dark-mode .content-wrapper {
    background-color: #28243d !important;
}

.dark-mode .card,
.dark-mode .card-body {
    background-color: #312d4b !important;
    border-radius: 0.25rem !important;
}

.dark-mode .card-header {
    background-color: #312d4b !important;
    border-bottom: none !important;
}

.dark-mode .card-footer {
    background-color: #312d4b !important;
    border-top: none !important;
}

/* Override colored cards to match standard cards */
.dark-mode .card-primary,
.dark-mode .card-primary .card-header,
.dark-mode .card-secondary,
.dark-mode .card-secondary .card-header,
.dark-mode .card-success,
.dark-mode .card-success .card-header,
.dark-mode .card-info,
.dark-mode .card-info .card-header,
.dark-mode .card-warning,
.dark-mode .card-warning .card-header,
.dark-mode .card-danger,
.dark-mode .card-danger .card-header,
.dark-mode .card-light,
.dark-mode .card-light .card-header,
.dark-mode .card-dark,
.dark-mode .card-dark .card-header {
    background-color: #312d4b !important;
    border-color: #675a7c !important;
}

/* Small boxes (info widgets) */
.dark-mode .small-box {
    background-color: #312d4b !important;
    color: #e8e0f5 !important;
}

.dark-mode .small-box .icon {
    color: rgba(232, 224, 245, 0.15) !important;
}

.dark-mode .small-box > .small-box-footer {
    background-color: rgba(0, 0, 0, 0.1) !important;
    color: #e8e0f5 !important;
}

/* Info boxes */
.dark-mode .info-box {
    background-color: #312d4b !important;
    color: #e8e0f5 !important;
}

.dark-mode .info-box-icon {
    background-color: rgba(103, 90, 124, 0.3) !important;
}

.dark-mode .info-box-text,
.dark-mode .info-box-number {
    color: #e8e0f5 !important;
}

.dark-mode .modal-content {
    background-color: #312d4b !important;
}

.dark-mode .modal-header,
.dark-mode .modal-footer {
    background-color: #28243d !important;
    border-color: #675a7c !important;
}

.dark-mode .dropdown-menu {
    background-color: #312d4b !important;
}

.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus {
    background-color: #524867 !important;
}

.dark-mode .nav-tabs {
    border-color: #675a7c !important;
}

.dark-mode .nav-tabs .nav-link {
    background-color: #28243d !important;
}

.dark-mode .nav-tabs .nav-link.active {
    background-color: #312d4b !important;
    border-color: #675a7c !important;
}

.dark-mode .table {
    background-color: #312d4b !important;
    color: #e8e0f5;
}

.dark-mode .table thead th {
    background-color: #28243d !important;
    border-color: #675a7c !important;
}

.dark-mode .table td,
.dark-mode .table th {
    border-color: #675a7c !important;
}

.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(103, 90, 124, 0.1) !important;
}

.dark-mode .table-hover tbody tr:hover {
    background-color: #524867 !important;
}

.dark-mode .form-control,
.dark-mode .form-select {
    background-color: #28243d !important;
    border-color: #675a7c !important;
    color: #e8e0f5;
}

.dark-mode .form-control:focus,
.dark-mode .form-select:focus {
    background-color: #312d4b !important;
    border-color: #8c57ff !important;
    box-shadow: 0 0 0 0.2rem rgba(140, 87, 255, 0.25) !important;
}

.dark-mode .input-group-text {
    background-color: #28243d !important;
    border-color: #675a7c !important;
    color: #e8e0f5;
}

/* Action buttons - Primary color */
.dark-mode .btn-primary {
    background-color: #8c57ff !important;
    border-color: #8c57ff !important;
    color: #e8e0f5 !important;
}

.dark-mode .btn-primary:hover,
.dark-mode .btn-primary:focus,
.dark-mode .btn-primary:active {
    background-color: #7a3ff0 !important;
    border-color: #7a3ff0 !important;
    color: #e8e0f5 !important;
}

.dark-mode .btn-secondary {
    background-color: #524867 !important;
    border-color: #675a7c !important;
}

.dark-mode .btn-secondary:hover {
    background-color: #675a7c !important;
}

.dark-mode .btn-dark {
    background-color: #28243d !important;
    border-color: #312d4b !important;
}

.dark-mode .btn-dark:hover {
    background-color: #312d4b !important;
}

/* Navbar uses main dark purple */
.dark-mode .navbar-dark,
.dark-mode .main-header {
    background-color: #28243d !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.dark-mode .main-footer {
    background-color: #28243d !important;
    border-top: 1px solid #675a7c !important;
}

.dark-mode .breadcrumb {
    background-color: #312d4b !important;
}

.dark-mode .breadcrumb-item + .breadcrumb-item::before {
    color: #675a7c;
}

.dark-mode .breadcrumb-item.active {
    color: #8c57ff !important;
}

.dark-mode .pagination .page-link {
    background-color: #312d4b !important;
    border-color: #675a7c !important;
    color: #e8e0f5;
}

.dark-mode .pagination .page-link:hover {
    background-color: #524867 !important;
}

.dark-mode .pagination .page-item.active .page-link {
    background-color: #8c57ff !important;
    border-color: #8c57ff !important;
    color: #e8e0f5 !important;
}

.dark-mode .pagination .page-item.disabled .page-link {
    background-color: #28243d !important;
    border-color: #312d4b !important;
}

/* Bootstrap alerts with purple backgrounds */
.dark-mode .alert-dark {
    background-color: #28243d !important;
    border-color: #312d4b !important;
    color: #e8e0f5;
}

/* DataTables styling */
.dark-mode table.dataTable {
    background-color: #312d4b !important;
}

.dark-mode table.dataTable thead th,
.dark-mode table.dataTable thead td {
    background-color: #28243d !important;
    border-bottom-color: #675a7c !important;
}

.dark-mode .dataTables_wrapper .dataTables_length,
.dark-mode .dataTables_wrapper .dataTables_filter,
.dark-mode .dataTables_wrapper .dataTables_info,
.dark-mode .dataTables_wrapper .dataTables_paginate {
    color: #e8e0f5;
}

.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button {
    background-color: #312d4b !important;
    border-color: #675a7c !important;
    color: #e8e0f5 !important;
}

.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background-color: #524867 !important;
    color: #e8e0f5 !important;
}

.dark-mode .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background-color: #8c57ff !important;
    color: #e8e0f5 !important;
    border-color: #8c57ff !important;
}

/* Sidebar navigation */
.dark-mode .nav-sidebar .nav-link {
    color: #e8e0f5;
}

.dark-mode .nav-sidebar .nav-link:hover {
    background-color: #312d4b !important;
}

.dark-mode .nav-sidebar .nav-link.active {
    background-color: #8c57ff !important;
    color: #e8e0f5 !important;
}

.dark-mode .nav-sidebar .nav-treeview .nav-link {
    background-color: rgba(103, 90, 124, 0.05) !important;
}

.dark-mode .nav-sidebar .nav-treeview .nav-link:hover {
    background-color: #312d4b !important;
}

/* Override rgba grey backgrounds */
.dark-mode [style*="background-color: rgba(52, 58, 64"] {
    background-color: rgba(40, 36, 61, 0.9) !important;
}

/* Root variables override */
.dark-mode :root {
    --gray: #675a7c;
    --gray-dark: #28243d;
    --secondary: #675a7c;
    --dark: #28243d;
}

/* Text color adjustments for readability */
.dark-mode {
    color: #e8e0f5;
}

.dark-mode .text-dark {
    color: #e8e0f5 !important;
}

.dark-mode .text-muted {
    color: #9c8fb1 !important;
}

.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6,
.dark-mode p,
.dark-mode span,
.dark-mode div,
.dark-mode label,
.dark-mode a {
    color: #e8e0f5;
}

/* Border colors */
.dark-mode .border,
.dark-mode .border-top,
.dark-mode .border-bottom,
.dark-mode .border-left,
.dark-mode .border-right {
    border-color: #675a7c !important;
}

/* Scrollbar styling for webkit browsers */
.dark-mode ::-webkit-scrollbar {
    background-color: #28243d;
}

.dark-mode ::-webkit-scrollbar-thumb {
    background-color: #524867;
    border-radius: 4px;
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
    background-color: #675a7c;
}

/* Login page styling */
.dark-mode .login-card-body,
.dark-mode .login-box .card,
.dark-mode .register-card-body,
.dark-mode .register-box .card {
    border-radius: 1rem !important;
}

.dark-mode .login-box .card-body,
.dark-mode .register-box .card-body {
    background-color: #312d4b !important;
}

.dark-mode .login-box .form-control,
.dark-mode .register-box .form-control {
    border-radius: 0.5rem !important;
}

.dark-mode .login-box .input-group-text,
.dark-mode .register-box .input-group-text {
    border-radius: 0.5rem !important;
}

.dark-mode .login-box .btn,
.dark-mode .register-box .btn {
    border-radius: 0.5rem !important;
}
