/* System-wide dark mode variables */
[data-bs-theme="dark"] {
  /* Base colors */
  --bs-body-bg: #121212;
  --bs-body-color: #e0e0e0;
  
  /* Component colors */
  --bs-card-bg: #1e1e1e;
  --bs-dropdown-bg: #252525;
  --bs-border-color: #444;
  
  /* Text colors */
  --bs-heading-color: #ffffff;
  --bs-link-color: #0096ff;
  --bs-link-hover-color: #fff;
  
  /* Button colors */
  --bs-primary: #3a6ea5;
  --bs-success: #2d8a4a;
}

/* Smooth transitions */
html {
  transition: background-color 0.3s ease, color 0.3s ease;
}

body,
.main-panel,
.tab-content,
.clearfix,
.steps,
.content,
.page-inner,
.container,
.container-fluid {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* === General layout and containers === */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .tab-content,
[data-bs-theme="dark"] .content,
[data-bs-theme="dark"] .page-inner,
[data-bs-theme="dark"] .container,
[data-bs-theme="dark"] .container-fluid {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

/* === Bootstrap & KaiAdmin components === */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .clearfix,
[data-bs-theme="dark"] .date-range-section,
[data-bs-theme="dark"] .steps,
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .modal-content {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

/* Card Header Specifics */
[data-bs-theme="dark"] .card-header {
  background-color: var(--bs-card-bg) !important;
  border-bottom-color: var(--bs-border-color) !important;
  color: var(--bs-body-color);
}

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

/* Buttons */
[data-bs-theme="dark"] .btn {
  transition: all 0.3s ease;
}

[data-bs-theme="dark"] .btn-action-group .btn {
  background-color: #2d2d2d;
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .btn-primary {
  background-color: var(--bs-primary);
  border-color: #2c5a8a;
}

[data-bs-theme="dark"] .btn-success {
  background-color: var(--bs-success);
  border-color: #25763d;
}

/* Form elements */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: #2d2d2d;
  border-color: #555;
  color: #fff;
}

[data-bs-theme="dark"] .input-group-text {
  background-color: #2d2d2d;
  border-color: #555;
  color: #fff;
}

/* Tables */
[data-bs-theme="dark"] .table {
  color: var(--bs-body-color);
  --bs-table-bg: transparent;
}

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
  background-color: #1f1f1f;
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .table-light {
  --bs-table-bg: #252525;
  --bs-table-color: #fff;
  --bs-table-border-color: var(--bs-border-color);
}

/* DataTables */
/* DataTables dark mode overrides */
[data-bs-theme="dark"] .dataTables_wrapper {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_length,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_filter,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_processing,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dataTables_wrapper table.dataTable {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dataTables_wrapper table.dataTable thead th,
[data-bs-theme="dark"] .dataTables_wrapper table.dataTable tbody td {
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

/* Pagination buttons hover state */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: white !important;
    background: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary) !important;
}

/* Current page button */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.current {
    color: white !important;
    background: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary) !important;
}

/* Disabled buttons */
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
[data-bs-theme="dark"] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: #666 !important;
    background: transparent !important;
}

/* Sorting icons */
[data-bs-theme="dark"] table.dataTable thead .sorting:after,
[data-bs-theme="dark"] table.dataTable thead .sorting_asc:after,
[data-bs-theme="dark"] table.dataTable thead .sorting_desc:after {
    color: var(--bs-body-color);
}


/* Images adjustment */
[data-bs-theme="dark"] img:not([data-no-filter]) {
  filter: brightness(0.85);
}

/* Links */
[data-bs-theme="dark"] a {
  color: #0096FF;
}

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

/* === Wizard styles === */
[data-bs-theme="dark"] .wizard > .steps > ul > li a {
  background-color: #2d2d2d;
  color: #e0e0e0;
  border: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] .wizard > .steps > ul > li.current a {
  background-color: var(--bs-primary);
  color: #fff;
}

[data-bs-theme="dark"] .wizard > .steps > ul > li.done a {
  background-color: #444;
  color: #cbd5e1;
}

[data-bs-theme="dark"] .wizard > .content {
  background-color: var(--bs-card-bg);
  color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] .wizard,
[data-bs-theme="dark"] .wizard > .content,
[data-bs-theme="dark"] .wizard > .content * {
  color: var(--bs-body-color) !important;
}

/* Utility classes */
[data-bs-theme="dark"] .text-muted {
  color: #a0a0a0 !important;
}

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

/* Fix for dropdown items */
[data-bs-theme="dark"] .dropdown-item {
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .dropdown-item:hover {
  background-color: #3a3a3a;
}

/* Select2 dark mode support */
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,
[data-bs-theme="dark"] .select2-container--default .select2-selection--single {
    background-color: #2d2d2d !important;
    color: #fff !important;
    border-color: #555 !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    background-color: #222 !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-selection__choice {
    background-color: #333 !important;
    color: #fff !important;
    border-color: #444 !important;
}

/* ===== jQuery Steps Dark Mode Overrides ===== */
[data-bs-theme="dark"] .steps {
  background-color: var(--bs-card-bg) !important;
}

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

[data-bs-theme="dark"] .steps .current a,
[data-bs-theme="dark"] .steps .current a:hover,
[data-bs-theme="dark"] .steps .current a:active {
  background: var(--bs-primary) !important;
  color: white !important;
}

[data-bs-theme="dark"] .steps .done a,
[data-bs-theme="dark"] .steps .done a:hover,
[data-bs-theme="dark"] .steps .done a:active {
  background: #333 !important;
  color: #ddd !important;
}

[data-bs-theme="dark"] .steps a,
[data-bs-theme="dark"] .steps a:hover,
[data-bs-theme="dark"] .steps a:active {
  background-color: #2d2d2d !important;
  color: #e0e0e0 !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .steps .number {
  color: white !important;
}

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

[data-bs-theme="dark"] .wizard > .actions a,
[data-bs-theme="dark"] .wizard > .actions a:hover,
[data-bs-theme="dark"] .wizard > .actions a:active {
  background-color: var(--bs-primary) !important;
  color: white !important;
}

/* ===== intl-tel-input Dark Mode ===== */
[data-bs-theme="dark"] .intl-tel-input {
  background-color: var(--bs-card-bg);
}

[data-bs-theme="dark"] .intl-tel-input .flag-container {
  background-color: #2d2d2d;
  border-right: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] .intl-tel-input input {
  background-color: #2d2d2d !important;
  color: var(--bs-body-color) !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .intl-tel-input .country-list {
  background-color: var(--bs-card-bg) !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .intl-tel-input .country-list .divider {
  border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .intl-tel-input .country-list .country {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .intl-tel-input .country-list .country.highlight {
  background-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .intl-tel-input .selected-flag .arrow {
  border-top-color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .intl-tel-input .iti__flag {
  box-shadow: none !important;
}

/* ===== Dropzone Dark Mode ===== */
[data-bs-theme="dark"] .dropzone {
  background-color: var(--bs-card-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview {
  background-color: #2d2d2d !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .dropzone .dz-message {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview .dz-details {
  background-color: #252525 !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview .dz-progress {
  background-color: #333 !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview .dz-error-message {
  background-color: #5c2a2a !important;
  color: #ffb3b3 !important;
  border-color: #7a3636 !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview .dz-success-mark svg,
[data-bs-theme="dark"] .dropzone .dz-preview .dz-error-mark svg {
  fill: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .dropzone .dz-preview:hover .dz-image img {
  filter: brightness(0.7) !important;
}

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

[data-bs-theme="dark"] .form-check-label {
    color: var(--bs-body-color) !important; /* Uses your theme's light text color */
}

/* ===== Flatpickr Dark Mode Overrides ===== */
[data-bs-theme="dark"] .flatpickr-input {
    background-color: #2d2d2d !important;
    border-color: #555 !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .flatpickr-calendar {
    background-color: #252525 !important;
    border-color: #444 !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

[data-bs-theme="dark"] .flatpickr-month,
[data-bs-theme="dark"] .flatpickr-weekdays,
[data-bs-theme="dark"] .flatpickr-weekday {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    fill: #e0e0e0 !important;
}

[data-bs-theme="dark"] .flatpickr-day {
    color: #e0e0e0 !important;
    background-color: transparent !important;
}

[data-bs-theme="dark"] .flatpickr-day:hover {
    background-color: #3a3a3a !important;
    border-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .flatpickr-day.today {
    border-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .flatpickr-day.selected,
[data-bs-theme="dark"] .flatpickr-day.selected:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: white !important;
}

[data-bs-theme="dark"] .flatpickr-day.inRange,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.inRange,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.inRange,
[data-bs-theme="dark"] .flatpickr-day.today.inRange,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay.today.inRange,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay.today.inRange,
[data-bs-theme="dark"] .flatpickr-day:hover,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay:hover,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay:hover,
[data-bs-theme="dark"] .flatpickr-day:focus,
[data-bs-theme="dark"] .flatpickr-day.prevMonthDay:focus,
[data-bs-theme="dark"] .flatpickr-day.nextMonthDay:focus {
    background-color: #3a3a3a !important;
    border-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .flatpickr-time input,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-time-separator,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm {
    color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .flatpickr-time input:hover,
[data-bs-theme="dark"] .flatpickr-time .flatpickr-am-pm:hover {
    background-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .numInputWrapper span.arrowUp:after {
    border-bottom-color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .numInputWrapper span.arrowDown:after {
    border-top-color: #e0e0e0 !important;
}
/* Add this to your theme manager CSS */
[data-bs-theme="dark"] .alert {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .alert-info {
  --bs-alert-color: #cce5ff;
  --bs-alert-bg: #1a2a3a;
  --bs-alert-border-color: #2a4a6a;
  --bs-alert-link-color: #e0e0e0;
}

[data-bs-theme="dark"] .alert small {
  color: var(--bs-alert-color);
}

[data-bs-theme="dark"] .alert i {
  color: var(--bs-alert-color);
}

/* ===== Flatpickr Month/Year Navigation Dark Mode Fix ===== */
[data-bs-theme="dark"] .flatpickr-current-month {
    color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .flatpickr-current-month input.cur-year,
[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
    border: 1px solid #444 !important;
}

[data-bs-theme="dark"] .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year:hover {
    background-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .flatpickr-monthDropdown-month {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .flatpickr-monthDropdown-month:hover {
    background-color: #3a3a3a !important;
}

[data-bs-theme="dark"] .flatpickr-monthDropdown-months:focus,
[data-bs-theme="dark"] .flatpickr-current-month input.cur-year:focus {
    outline: none;
    border-color: var(--bs-primary) !important;
}

/* Navigation arrows */
[data-bs-theme="dark"] .flatpickr-prev-month,
[data-bs-theme="dark"] .flatpickr-next-month {
    color: #e0e0e0 !important;
    fill: #e0e0e0 !important;
}

[data-bs-theme="dark"] .flatpickr-prev-month:hover,
[data-bs-theme="dark"] .flatpickr-next-month:hover {
    color: var(--bs-primary) !important;
    fill: var(--bs-primary) !important;
}

/* Week numbers */
[data-bs-theme="dark"] .flatpickr-weeknumber {
    background-color: #252525 !important;
    color: #e0e0e0 !important;
}

/* Timepicker */
[data-bs-theme="dark"] .flatpickr-time {
    border-top: 1px solid #444 !important;
}

[data-bs-theme="dark"] .flatpickr-calendar.arrowTop:before,
[data-bs-theme="dark"] .flatpickr-calendar.arrowTop:after {
    border-bottom-color: #252525 !important;
}

[data-bs-theme="dark"] .flatpickr-calendar.arrowBottom:before,
[data-bs-theme="dark"] .flatpickr-calendar.arrowBottom:after {
    border-top-color: #252525 !important;
}

[data-bs-theme="dark"] .chart-container {
    position: relative;
    height: 300px;
}

[data-bs-theme="dark"] canvas.chartjs-render-monitor {
    filter: brightness(0.85) contrast(1.1);
}

/* Chart.js tooltip and text colors */
/* === Chart.js Dark Mode Overrides === */
[data-bs-theme="dark"] .chartjs-render-monitor {
  filter: brightness(0.85) contrast(1.1); /* Slight boost for visibility */
}

[data-bs-theme="dark"] .chartjs-tooltip {
  background-color: rgba(30, 30, 30, 0.95) !important;
  border: 1px solid var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

/* Legend text */
[data-bs-theme="dark"] .chartjs-legend li span,
[data-bs-theme="dark"] .chartjs-legend li {
  color: var(--bs-body-color) !important;
}

/* Custom tick labels (if you render them as DOM nodes with plugins) */
[data-bs-theme="dark"] .chartjs-tick {
  color: var(--bs-body-color) !important;
}


/* ===== Dynamic Table Rows Dark Mode Fix ===== */
[data-bs-theme="dark"] #details-body .detail-row {
  background-color: var(--bs-table-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] #details-body .detail-row td {
  background-color: var(--bs-table-bg) !important;
  color: var(--bs-body-color) !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] #details-body .form-select,
[data-bs-theme="dark"] #details-body .form-control {
  background-color: #2d2d2d !important;
  border-color: #555 !important;
  color: #fff !important;
}

[data-bs-theme="dark"] #details-body .form-select:focus,
[data-bs-theme="dark"] #details-body .form-control:focus {
  background-color: #2d2d2d !important;
  border-color: var(--bs-primary) !important;
  color: #fff !important;
  box-shadow: 0 0 0 0.2rem rgba(58, 110, 165, 0.25) !important;
}

[data-bs-theme="dark"] #details-body .input-group-text {
  background-color: #3a3a3a !important;
  border-color: #555 !important;
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] #details-body .btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
}

[data-bs-theme="dark"] #details-body .btn-outline-danger:hover {
  background-color: var(--bs-btn-hover-bg) !important;
  border-color: var(--bs-btn-hover-border-color) !important;
  color: var(--bs-btn-hover-color) !important;
}

[data-bs-theme="light"] .card-category {
  color: #212121;
}

[data-bs-theme="dark"] .card-category {
  color: var(--bs-body-color) !important;
}
/* Fix for Card-Stats in Dark Mode === */
[data-bs-theme="dark"] .card.card-stats {
  background-color: var(--bs-card-bg) !important;
  color: var(--bs-body-color) !important;
  border: 1px solid var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .card.card-stats .numbers .card-title,
[data-bs-theme="dark"] .card.card-stats .numbers .card-category {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .card.card-stats .icon-sm {
  background-color: #2d2d2d !important; 
  color: var(--bs-body-color) !important;
}


[data-bs-theme="dark"] a {
    color: #0196b1 !important;
}

[data-bs-theme="dark"] a:hover {
    color: #017a90 !important;
}


[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--bs-card-bg) !important;
    color: var(--bs-body-color) !important;
    border-top-color: var(--bs-border-color) !important;
    border-left-color: var(--bs-border-color) !important;
    border-right-color: var(--bs-border-color) !important;
    border-bottom-color: #0196b1 !important;
}

[data-bs-theme="dark"] .nav-tabs .nav-link:not(.active) {
    color: #0196b1 !important;
    background-color: transparent !important;
    border-color: transparent !important;
}


[data-bs-theme="dark"] .list-group-item-action {
    color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .list-group-item-action:hover {
    background-color: #2d2d2d !important;
    color: #0196b1 !important;
}