/**
 * E-Courier Dark Mode Theme
 * Based on Argon Theme
 * Professional dark mode with smooth transitions
 */

/* ==========================================================================
   Dark Mode CSS Variables
   ========================================================================== */
[data-theme="dark"] {
    /* Core Colors */
    --dark-bg-primary: #1a1d21;
    --dark-bg-secondary: #212529;
    --dark-bg-tertiary: #2d3238;
    --dark-bg-card: #252a2f;
    --dark-bg-input: #2d3238;
    --dark-bg-hover: #343a40;

    /* Text Colors */
    --dark-text-primary: #e9ecef;
    --dark-text-secondary: #adb5bd;
    --dark-text-muted: #6c757d;
    --dark-text-heading: #e9ecef;/*#f8f9fa*/

    /* Border Colors */
    --dark-border-color: #3d4449;
    --dark-border-light: #495057;

    /* Status Colors (slightly adjusted for dark mode) */
    /* Softer dark UI palette */
    --dark-primary: #2d3238;
    --dark-success: #34d399;
    --dark-info:    #60a5fa;
    --dark-warning: #fbbf24;
    --dark-danger:  #f87171;


    /* Links */
    --dark-link: #60a5fa;
    --dark-link-hover: #e9ecef;

    /* Shadows */
    --dark-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.4);
    --dark-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
    --dark-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.5);
}

/* ==========================================================================
   Transition Animations
   ========================================================================== */
html.dark-mode-transition,
html.dark-mode-transition *,
html.dark-mode-transition *::before,
html.dark-mode-transition *::after {
    transition: background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* ==========================================================================
   Body & Main Containers
   ========================================================================== */
[data-theme="dark"] body {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .main-content {
    background-color: var(--dark-bg-primary) !important;
}

[data-theme="dark"] #panel {
    background-color: var(--dark-bg-primary) !important;
}

/* ==========================================================================
   Navigation - Top Navbar
   ========================================================================== */
[data-theme="dark"] .navbar-top {
    background-color: var(--dark-bg-secondary) !important;
    border-bottom-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .navbar-top.bg-primary {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .navbar-dark .navbar-nav .nav-link {
    color: var(--dark-text-primary) !important;
    transition: all 0.2s ease-in-out !important;
}

[data-theme="dark"] .navbar-dark .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-dark .navbar-nav .nav-link:focus {
    color: var(--primary) !important;
    background-color: var(--dark-bg-hover) !important;
    border-radius: 0.375rem !important;
}

[data-theme="dark"] .argon-nav {
    background-color: var(--dark-bg-secondary) !important;
}

[data-theme="dark"] .argon-nav .nav-link {
    color: var(--dark-text-primary) !important;
    transition: all 0.2s ease-in-out !important;
}

[data-theme="dark"] .argon-nav .nav-link:hover,
[data-theme="dark"] .argon-nav .nav-link:focus {
    background-color: var(--dark-bg-hover) !important;
    border-radius: 0.375rem !important;
}

[data-theme="dark"] .argon-nav .sidenav-toggler-line {
    background-color: var(--dark-text-primary) !important;
}

/* Top navbar nav-item hover effects */
[data-theme="dark"] .navbar-top .nav-item .nav-link {
    transition: all 0.2s ease-in-out !important;
    border-radius: 0.375rem !important;
}

[data-theme="dark"] .navbar-top .nav-item .nav-link:hover,
[data-theme="dark"] .navbar-top .nav-item .nav-link:focus {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .navbar-top .nav-item .nav-link:hover i,
[data-theme="dark"] .navbar-top .nav-item .nav-link:hover .toggle-icon {
    color: var(--dark-link) !important;
}

[data-theme="dark"] .navbar .navbar-nav .nav-item.active .nav-link:not(.btn),
[data-theme="dark"] .navbar .navbar-nav .nav-item .nav-link:not(.btn):focus,
[data-theme="dark"] .navbar .navbar-nav .nav-item .nav-link:not(.btn):hover,
[data-theme="dark"] .navbar .navbar-nav .nav-item .nav-link:not(.btn):active {
    background-color: var(--dark-bg-hover) !important;
    color: var(--dark-link) !important;
}

/* Avatar hover effect */
[data-theme="dark"] .navbar-top .nav-item .avatar {
    transition: transform 0.2s ease-in-out !important;
}

[data-theme="dark"] .navbar-top .nav-item:hover .avatar {
    transform: scale(1.05) !important;
}

/* Badge hover */
[data-theme="dark"] .navbar-top .nav-item .badge:hover {
    opacity: 0.85 !important;
}

/* ==========================================================================
   Sidebar / Side Navigation
   ========================================================================== */
[data-theme="dark"] .sidenav,
[data-theme="dark"] .sidenav.navbar-vertical {
    background-color: var(--dark-bg-secondary) !important;
    border-right-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .sidenav .navbar-brand {
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .sidenav .nav-link {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .sidenav .nav-link:hover,
[data-theme="dark"] .sidenav .nav-link.active {
    color: var(--dark-text-primary) !important;
    background-color: var(--dark-bg-hover) !important;
}

[data-theme="dark"] .sidenav .nav-link i,
[data-theme="dark"] .sidenav .nav-link .ni {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .sidenav .nav-link:hover i,
[data-theme="dark"] .sidenav .nav-link.active i {
    color: var(--dark-link) !important;
}

[data-theme="dark"] .sidenav-header {
    border-bottom-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .sidenav .navbar-heading {
    color: var(--dark-text-muted) !important;
}

[data-theme="dark"] .sidebar .nav li > a,
[data-theme="dark"] .off-canvas-sidebar .nav li > a {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .sidebar .nav i,
[data-theme="dark"] .off-canvas-sidebar .nav i {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .sidebar .user a,
[data-theme="dark"] .off-canvas-sidebar .user a {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .bg-secondary {
    background-color: var(--dark-bg-secondary) !important;
}

/* Scrollbar in sidebar */
[data-theme="dark"] .scrollbar-inner > .scroll-element .scroll-bar {
    background-color: var(--dark-border-light) !important;
}

/* ==========================================================================
   Cards
   ========================================================================== */
[data-theme="dark"] .card {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
    box-shadow: var(--dark-shadow-sm) !important;
}

[data-theme="dark"] .card-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom-color: var(--dark-border-color) !important;
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .card-footer {
    background-color: var(--dark-bg-tertiary) !important;
    border-top-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .card-body {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .card-title {
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .card-subtitle {
    color: var(--dark-text-secondary) !important;
}

/* Card stats */
[data-theme="dark"] .card-stats .card-body {
    background-color: var(--dark-bg-card) !important;
}

/* ==========================================================================
   Tables
   ========================================================================== */
[data-theme="dark"] .table {
    color: var(--dark-text-primary) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .table thead th {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom-color: var(--dark-border-color) !important;
    color: var(--dark-text-heading) !important;
}

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

[data-theme="dark"] .table-hover tbody tr:hover {
    background-color: var(--dark-bg-hover) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) {
    background-color: var(--dark-bg-card) !important;
}

/* Table striped with list-group-item */
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) .list-group-item {
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) .list-group-item {
    background-color: var(--dark-bg-card) !important;
}

/* Table hover with list-group-item */
[data-theme="dark"] .table-striped tbody tr:hover .list-group-item,
[data-theme="dark"] .table-hover tbody tr:hover .list-group-item {
    background-color: rgba(94, 114, 228, 0.2) !important;
}

[data-theme="dark"] .table-striped tbody tr:hover,
[data-theme="dark"] .table-hover tbody tr:hover {
    background-color: rgba(94, 114, 228, 0.2) !important;
}

/* Row Alert - Fragile/Important packages (red tint) */
[data-theme="dark"] .table-striped tbody tr.row-alert,
[data-theme="dark"] .table-striped tbody tr.row-alert:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr.row-alert:nth-of-type(even),
[data-theme="dark"] .table-hover tbody tr.row-alert,
[data-theme="dark"] tbody tr.row-alert {
    background-color: rgba(220, 53, 69, 0.25) !important;
}

[data-theme="dark"] .table-striped tbody tr.row-alert .list-group-item,
[data-theme="dark"] .table-hover tbody tr.row-alert .list-group-item,
[data-theme="dark"] tbody tr.row-alert .list-group-item {
    background-color: rgba(220, 53, 69, 0.25) !important;
}

/* Row Warning (yellow/orange tint) */
[data-theme="dark"] .table-striped tbody tr.row-warning,
[data-theme="dark"] .table-striped tbody tr.row-warning:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr.row-warning:nth-of-type(even),
[data-theme="dark"] .table-hover tbody tr.row-warning,
[data-theme="dark"] tbody tr.row-warning {
    background-color: rgba(255, 193, 7, 0.2) !important;
}

[data-theme="dark"] tbody tr.row-warning .list-group-item {
    background-color: rgba(255, 193, 7, 0.2) !important;
}

/* Row Success (green tint) */
[data-theme="dark"] .table-striped tbody tr.row-success,
[data-theme="dark"] .table-striped tbody tr.row-success:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr.row-success:nth-of-type(even),
[data-theme="dark"] .table-hover tbody tr.row-success,
[data-theme="dark"] tbody tr.row-success {
    background-color: rgba(40, 167, 69, 0.2) !important;
}

[data-theme="dark"] tbody tr.row-success .list-group-item {
    background-color: rgba(40, 167, 69, 0.2) !important;
}

/* Row Info (blue tint) */
[data-theme="dark"] .table-striped tbody tr.row-info,
[data-theme="dark"] .table-striped tbody tr.row-info:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr.row-info:nth-of-type(even),
[data-theme="dark"] .table-hover tbody tr.row-info,
[data-theme="dark"] tbody tr.row-info {
    background-color: rgba(23, 162, 184, 0.2) !important;
}

[data-theme="dark"] tbody tr.row-info .list-group-item {
    background-color: rgba(23, 162, 184, 0.2) !important;
}

/* Row Danger (dark red tint) */
[data-theme="dark"] .table-striped tbody tr.row-danger,
[data-theme="dark"] .table-striped tbody tr.row-danger:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr.row-danger:nth-of-type(even),
[data-theme="dark"] .table-hover tbody tr.row-danger,
[data-theme="dark"] tbody tr.row-danger {
    background-color: rgba(220, 53, 69, 0.3) !important;
}

[data-theme="dark"] tbody tr.row-danger .list-group-item {
    background-color: rgba(220, 53, 69, 0.3) !important;
}

/* Double striped table - alternating pairs */
[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-3),
[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-2) {
    background-color: rgba(94, 114, 228, 0.1) !important;
}

[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-1),
[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n) {
    background-color: var(--dark-bg-card) !important;
}

[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-3) .list-group-item,
[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-2) .list-group-item {
    background-color: rgba(94, 114, 228, 0.1) !important;
}

[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n-1) .list-group-item,
[data-theme="dark"] .table-striped-double tbody tr:nth-child(4n) .list-group-item {
    background-color: var(--dark-bg-card) !important;
}

/* Double striped row alert override */
[data-theme="dark"] .table-striped-double tbody tr.row-alert,
[data-theme="dark"] .table-striped-double tbody tr.row-alert .list-group-item {
    background-color: rgba(220, 53, 69, 0.1) !important;
}

/* Bootstrap table contextual classes */
[data-theme="dark"] .table-primary,
[data-theme="dark"] .table-primary > th,
[data-theme="dark"] .table-primary > td {
    background-color: rgba(94, 114, 228, 0.2) !important;
}

[data-theme="dark"] .table-secondary,
[data-theme="dark"] .table-secondary > th,
[data-theme="dark"] .table-secondary > td {
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .table-success,
[data-theme="dark"] .table-success > th,
[data-theme="dark"] .table-success > td {
    background-color: rgba(40, 167, 69, 0.2) !important;
    color: #6cb879 !important;
}

[data-theme="dark"] .table-danger,
[data-theme="dark"] .table-danger > th,
[data-theme="dark"] .table-danger > td {
    background-color: rgba(220, 53, 69, 0.2) !important;
    color: #d99199 !important;
}

[data-theme="dark"] .table-warning,
[data-theme="dark"] .table-warning > th,
[data-theme="dark"] .table-warning > td {
    background-color: rgba(255, 193, 7, 0.2) !important;
    color: #d4bf7a !important;
}

[data-theme="dark"] .table-info,
[data-theme="dark"] .table-info > th,
[data-theme="dark"] .table-info > td {
    background-color: rgba(23, 162, 184, 0.2) !important;
    color: #4fc4d9 !important;
}

[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light > th,
[data-theme="dark"] .table-light > td {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .table-dark,
[data-theme="dark"] .table-dark > th,
[data-theme="dark"] .table-dark > td {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

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

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

[data-theme="dark"] .table-responsive {
    background-color: var(--dark-bg-card) !important;
}

/* ==========================================================================
   Forms & Inputs
   ========================================================================== */
[data-theme="dark"] .form-control {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

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

[data-theme="dark"] .form-control::placeholder {
    color: var(--dark-text-muted) !important;
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly] {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-muted) !important;
}

[data-theme="dark"] .input-group-text {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .custom-select {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] label {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .form-group label {
    color: var(--dark-text-secondary) !important;
}

/* Custom file input */
[data-theme="dark"] .custom-file-label {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .custom-file-label::after {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* Checkbox and radio */
[data-theme="dark"] .custom-control-label::before {
    /*background-color: var(--dark-bg-input) !important;*/
    border-color: var(--dark-border-color) !important;
}

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

[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .select2-dropdown {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
}

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

[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--primary) !important;
    color: #fff !important;
}

[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field{
    color: var(--dark-text-primary) !important;
}

/* ==========================================================================
   Dropdowns
   ========================================================================== */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
    box-shadow: var(--dark-shadow) !important;
}

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

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

[data-theme="dark"] .dropdown-item.active,
[data-theme="dark"] .dropdown-item:active {
    background-color: var(--primary) !important;
    color: #fff !important;
}

[data-theme="dark"] .dropdown-header {
    color: var(--dark-text-muted) !important;
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .dropdown-divider {
    border-top-color: var(--dark-border-color) !important;
}

/* ==========================================================================
   Modals
   ========================================================================== */
[data-theme="dark"] .modal-content {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .modal-header {
    border-bottom-color: var(--dark-border-color) !important;
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .modal-header .modal-title {
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .modal-header .close {
    color: var(--dark-text-primary) !important;
    text-shadow: none !important;
}

[data-theme="dark"] .modal-body {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .modal-footer {
    border-top-color: var(--dark-border-color) !important;
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .modal-backdrop {
    background-color: #000 !important;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
[data-theme="dark"] .btn-primary {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-primary:hover {
    background-color: var(--dark-bg-hover) !important;
    border-color: var(--dark-border-light) !important;
}

[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary.focus {
    background-color: var(--dark-bg-hover) !important;
    border-color: var(--dark-link) !important;
    box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.25) !important;
}

[data-theme="dark"] .btn-primary:active,
[data-theme="dark"] .btn-primary.active {
    background-color: var(--dark-bg-hover) !important;
    border-color: var(--dark-link) !important;
}

[data-theme="dark"] .btn-primary:disabled,
[data-theme="dark"] .btn-primary.disabled {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-muted) !important;
    opacity: 0.65 !important;
}

[data-theme="dark"] .btn-outline-primary {
    border-color: var(--dark-link) !important;
    color: var(--dark-link) !important;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: var(--dark-link) !important;
    border-color: var(--dark-link) !important;
    color: #1a1d21 !important;
}

[data-theme="dark"] .btn-outline-btn-primary {
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-outline-btn-primary:hover {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}



[data-theme="dark"] .btn-secondary {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-secondary:hover {
    background-color: var(--dark-bg-hover) !important;
    border-color: var(--dark-border-light) !important;
}

[data-theme="dark"] .btn-outline-secondary {
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-light {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-white {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-white:hover {
    background-color: var(--dark-bg-hover) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .btn-warning {
    background-color: var(--dark-warning) !important;
    border-color: var(--dark-warning) !important;
    color: #1a1d21 !important;
}

[data-theme="dark"] .btn-warning:hover {
    background-color: #e5a922 !important;
    border-color: #e5a922 !important;
}

[data-theme="dark"] .btn-outline-warning {
    border-color: var(--dark-warning) !important;
    color: var(--dark-warning) !important;
}

[data-theme="dark"] .btn-outline-warning:hover {
    background-color: var(--dark-warning) !important;
    color: #1a1d21 !important;
}

[data-theme="dark"] .btn-link {
    color: var(--dark-link) !important;
}

[data-theme="dark"] .btn-link:hover {
    color: var(--dark-link-hover) !important;
}

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

[data-theme="dark"] .alert-secondary {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .alert-light {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* ==========================================================================
   Badges
   ========================================================================== */
[data-theme="dark"] .badge-secondary {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .badge-light {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* ==========================================================================
   List Groups
   ========================================================================== */
[data-theme="dark"] .list-group-item {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .list-group-item:hover {
    background-color: var(--dark-bg-hover) !important;
}

[data-theme="dark"] .list-group-item.active {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

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

/* ==========================================================================
   Nav Pills & Tabs
   ========================================================================== */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .nav-tabs .nav-link {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) var(--dark-border-color) var(--dark-bg-card) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .nav-pills .nav-link {
    border: 1px solid var(--dark-border-color) !important;
    background-color: var(--dark-bg-tertiary) !important;

    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .nav-pills .nav-link:hover {
    background-color: var(--dark-bg-hover) !important;
}

[data-theme="dark"] .nav-pills .nav-link.active,
[data-theme="dark"] .nav-pills .show > .nav-link {
    background-color: var(--dark-bg-hover) !important;
    color: var(--dark-link) !important;
}

[data-theme="dark"] .tab-content {
    background-color: var(--dark-bg-card) !important;
}

/* ==========================================================================
   Pagination
   ========================================================================== */
[data-theme="dark"] .page-link {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .page-link:hover {
    background-color: var(--dark-bg-hover) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-muted) !important;
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
[data-theme="dark"] .breadcrumb {
    background-color: var(--dark-bg-tertiary) !important;
}

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

[data-theme="dark"] .breadcrumb-item a {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .breadcrumb-item.active {
    color: var(--dark-text-muted) !important;
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
    color: var(--dark-text-muted) !important;
}

/* ==========================================================================
   Progress Bars
   ========================================================================== */
[data-theme="dark"] .progress {
    background-color: var(--dark-bg-tertiary) !important;
}

/* ==========================================================================
   Tooltips & Popovers
   ========================================================================== */
[data-theme="dark"] .tooltip-inner {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .popover {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .popover-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom-color: var(--dark-border-color) !important;
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .popover-body {
    color: var(--dark-text-primary) !important;
}

/* ==========================================================================
   Footer
   ========================================================================== */
[data-theme="dark"] .footer {
    background-color: var(--dark-bg-secondary) !important;
    border-top-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .footer a {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .footer a:hover {
    color: var(--primary) !important;
}

/* ==========================================================================
   Text & Typography
   ========================================================================== */
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6,
[data-theme="dark"] .h1, [data-theme="dark"] .h2, [data-theme="dark"] .h3,
[data-theme="dark"] .h4, [data-theme="dark"] .h5, [data-theme="dark"] .h6 {
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] p {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .text-primary {
    color: var(--dark-link) !important;
}

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

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

[data-theme="dark"] .text-body {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .text-black-50 {
    color: var(--dark-text-muted) !important;
}

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

[data-theme="dark"] a {
    color: var(--dark-link) !important;
}

[data-theme="dark"] a:hover {
    color: var(--dark-link-hover) !important;
}

/* Reset link colors in specific contexts */
[data-theme="dark"] .nav-link,
[data-theme="dark"] .btn {
    color: inherit !important;
}


/* ==========================================================================
   Background Utilities
   ========================================================================== */
[data-theme="dark"] .bg-white {
    background-color: var(--dark-bg-card) !important;
}

[data-theme="dark"] .bg-light {
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .bg-dark {
    background-color: var(--dark-bg-primary) !important;
}

[data-theme="dark"] .bg-default {
    background-color: var(--dark-bg-secondary) !important;
}

/* ==========================================================================
   Border Utilities
   ========================================================================== */
[data-theme="dark"] .border {
    border-color: var(--dark-border-color) !important;
}

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

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

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

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

/* ==========================================================================
   Shadows
   ========================================================================== */
[data-theme="dark"] .shadow {
    box-shadow: var(--dark-shadow) !important;
}

[data-theme="dark"] .shadow-sm {
    box-shadow: var(--dark-shadow-sm) !important;
}

[data-theme="dark"] .shadow-lg {
    box-shadow: var(--dark-shadow-lg) !important;
}

/* ==========================================================================
   Specific Module Components
   ========================================================================== */

/* Ticket/Chat components */
[data-theme="dark"] .ticket-aside-area .list-group-item.active {
    background-color: var(--dark-bg-hover) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .ticket-aside-area .list-group-item.new {
    background-color: rgba(40, 167, 69, 0.2) !important;
}

[data-theme="dark"] .chat-box {
    background-color: var(--dark-bg-primary) !important;
}

[data-theme="dark"] .message.sent {
    background-color: rgba(40, 167, 69, 0.3) !important;
}

[data-theme="dark"] .message.received {
    background-color: var(--dark-bg-tertiary) !important;
}

/* Timeline */
[data-theme="dark"] .timeline::before {
    background-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .timeline-step {
    background-color: var(--dark-bg-card) !important;
}

/* Global search */
[data-theme="dark"] .global-search .form-control {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}
[data-theme="dark"] .navbar-search-light .input-group{
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;

    color: var(--dark-text-primary) !important;
}

/* DataTables */
[data-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper .dataTables_processing,
[data-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .dataTables_wrapper .dataTables_filter input {
    background-color: var(--dark-bg-input) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

/* Calendar components */
[data-theme="dark"] .fc-theme-standard td,
[data-theme="dark"] .fc-theme-standard th {
    border-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .fc-theme-standard .fc-scrollgrid {
    border-color: var(--dark-border-color) !important;
}

/* Avatar */
[data-theme="dark"] .avatar {
    background-color: var(--dark-bg-tertiary) !important;
}

/* Sidebar toggler */
[data-theme="dark"] .sidenav-toggler-inner .sidenav-toggler-line {
    background-color: var(--dark-text-secondary) !important;
}

/* Header with gradient */
[data-theme="dark"] .header-body {
    background-color: var(--dark-bg-secondary) !important;
}

/* Scrollbar styling for webkit browsers */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--dark-bg-primary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--dark-border-light);
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--dark-text-muted);
}

/* ==========================================================================
   Dark Mode Toggle Button Styles
   ========================================================================== */
.dark-mode-toggle {
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dark-mode-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.dark-mode-toggle .toggle-icon {
    font-size: 1.1rem;
    transition: transform 0.3s ease;
}

.dark-mode-toggle:hover .toggle-icon {
    transform: rotate(15deg);
}

[data-theme="dark"] .dark-mode-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

/* Hide appropriate icon based on theme */
.dark-mode-toggle .fa-moon {
    display: inline-block;
}

.dark-mode-toggle .fa-sun {
    display: none;
}

[data-theme="dark"] .dark-mode-toggle .fa-moon {
    display: none;
}

[data-theme="dark"] .dark-mode-toggle .fa-sun {
    display: inline-block;
    color: #d9a406;
}

/* ==========================================================================
   Public Pages - Transparent Navbar
   ========================================================================== */
[data-theme="dark"] .navbar-transparent {
    background-color: transparent !important;
}

[data-theme="dark"] .navbar-transparent .nav-link {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .navbar-transparent .sidenav-toggler-line {
    background-color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .bg-custom-one {
    background-color: var(--dark-bg-primary) !important;
}

/* Public page wrappers */
[data-theme="dark"] .wrapper-full-page {
    background-color: var(--dark-bg-primary) !important;
}

/* ==========================================================================
   Additional UI Components
   ========================================================================== */

/* Accordion */
[data-theme="dark"] .accordion .card-header {
    background-color: var(--dark-bg-tertiary) !important;
}

[data-theme="dark"] .accordion .card-body {
    background-color: var(--dark-bg-card) !important;
}

/* Toast notifications */
[data-theme="dark"] .toast {
    background-color: var(--dark-bg-card) !important;
    border-color: var(--dark-border-color) !important;
}

[data-theme="dark"] .toast-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom-color: var(--dark-border-color) !important;
    color: var(--dark-text-heading) !important;
}

[data-theme="dark"] .toast-body {
    color: var(--dark-text-primary) !important;
}

/* Spinners */
[data-theme="dark"] .spinner-border,
[data-theme="dark"] .spinner-grow {
    color: var(--primary) !important;
}

/* Empty states */
[data-theme="dark"] .empty-state,
[data-theme="dark"] .no-data {
    color: var(--dark-text-muted) !important;
}

/* Code blocks */
[data-theme="dark"] code {
    background-color: var(--dark-bg-tertiary) !important;
    color: #c93579 !important;
}

[data-theme="dark"] pre {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
    color: var(--dark-text-primary) !important;
}

/* Jumbotron */
[data-theme="dark"] .jumbotron {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* Blockquote */
[data-theme="dark"] blockquote {
    border-left-color: var(--primary) !important;
    color: var(--dark-text-secondary) !important;
}

/* Figure captions */
[data-theme="dark"] figcaption {
    color: var(--dark-text-muted) !important;
}

/* Well / Panel backgrounds */
[data-theme="dark"] .well,
[data-theme="dark"] .panel {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border-color) !important;
}

/* Argon specific gradient header */
[data-theme="dark"] .min-height-300.bg-primary {
    background: linear-gradient(180deg, var(--primary) 0%, var(--dark-bg-secondary) 100%) !important;
}

/* Profile/account header areas */
[data-theme="dark"] .header.bg-primary {
    background-color: var(--dark-bg-secondary) !important;
}

/* Stat cards with colored backgrounds */
[data-theme="dark"] .bg-gradient-primary {
    background: linear-gradient(87deg, var(--primary) 0, var(--dark-bg-secondary) 100%) !important;
}

/* ==========================================================================
   Print Styles - Disable dark mode for printing
   ========================================================================== */
@media print {
    [data-theme="dark"] body,
    [data-theme="dark"] .main-content,
    [data-theme="dark"] .card,
    [data-theme="dark"] .table {
        background-color: #fff !important;
        color: #000 !important;
    }
}