/**
 * Genesis Budget - Dark Mode Stylesheet
 *
 * Complete dark mode styling for all UI components
 * Applied when [data-theme="dark"] or .dark-mode class is on html/body
 */

/* ========================================
   BASE DARK MODE STYLES
   ======================================== */

/* Apply background to html to prevent white flash on scroll */
/* Uses !important to override styles/style.css which sets background on html, body */
[data-theme="dark"],
html.dark-mode,
html[data-theme="dark"] {
    background-color: #0f172a !important;
    color-scheme: dark;
    min-height: 100%;
}

[data-theme="dark"] body,
body.dark-mode,
.dark-mode body,
html[data-theme="dark"] body {
    background-color: #0f172a !important;
    color: #e2e8f0;
    min-height: 100vh;
}

/* ========================================
   BOOTSTRAP OVERRIDES - DARK MODE
   ======================================== */

/* Navbar */
[data-theme="dark"] .navbar.bg-primary,
.dark-mode .navbar.bg-primary {
    background-color: #1e293b !important;
    border-bottom: 1px solid #334155;
}

[data-theme="dark"] .navbar-dark .navbar-nav .nav-link,
.dark-mode .navbar-dark .navbar-nav .nav-link {
    color: #94a3b8;
}

[data-theme="dark"] .navbar-dark .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-dark .navbar-nav .nav-link:focus,
.dark-mode .navbar-dark .navbar-nav .nav-link:hover,
.dark-mode .navbar-dark .navbar-nav .nav-link:focus {
    color: #f1f5f9;
}

[data-theme="dark"] .navbar-dark .navbar-nav .nav-link.active,
.dark-mode .navbar-dark .navbar-nav .nav-link.active {
    color: #ffffff;
}

/* Cards */
[data-theme="dark"] .card,
.dark-mode .card {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .card-header,
.dark-mode .card-header {
    background-color: #334155;
    border-bottom-color: #475569;
    color: #f1f5f9;
}

[data-theme="dark"] .card-footer,
.dark-mode .card-footer {
    background-color: #334155;
    border-top-color: #475569;
}

/* Tables */
[data-theme="dark"] .table,
.dark-mode .table {
    color: #e2e8f0;
    --bs-table-bg: #1e293b;
    --bs-table-border-color: #334155;
    --bs-table-striped-bg: #263345;
    --bs-table-hover-bg: #334155;
}

[data-theme="dark"] .table thead th,
.dark-mode .table thead th {
    background-color: #334155;
    color: #f1f5f9;
    border-bottom-color: #475569;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > *,
.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: #263345;
    color: #e2e8f0;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > *,
.dark-mode .table-hover > tbody > tr:hover > * {
    background-color: #334155;
    color: #f1f5f9;
}

/* Forms */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
.dark-mode .form-control,
.dark-mode .form-select {
    background-color: #1e293b;
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
.dark-mode .form-control:focus,
.dark-mode .form-select:focus {
    background-color: #263345;
    border-color: #6366f1;
    color: #f1f5f9;
    box-shadow: 0 0 0 0.25rem rgba(99, 102, 241, 0.25);
}

[data-theme="dark"] .form-control::placeholder,
.dark-mode .form-control::placeholder {
    color: #64748b;
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-select:disabled,
.dark-mode .form-control:disabled,
.dark-mode .form-control[readonly],
.dark-mode .form-select:disabled {
    background-color: #334155;
    color: #94a3b8;
}

[data-theme="dark"] .form-label,
.dark-mode .form-label {
    color: #e2e8f0;
}

[data-theme="dark"] .form-text,
.dark-mode .form-text {
    color: #94a3b8;
}

[data-theme="dark"] .input-group-text,
.dark-mode .input-group-text {
    background-color: #334155;
    border-color: #475569;
    color: #e2e8f0;
}

/* Form Check (checkboxes, radios, switches) */
[data-theme="dark"] .form-check-input,
.dark-mode .form-check-input {
    background-color: #1e293b;
    border-color: #475569;
}

[data-theme="dark"] .form-check-input:checked,
.dark-mode .form-check-input:checked {
    background-color: #6366f1;
    border-color: #6366f1;
}

[data-theme="dark"] .form-check-label,
.dark-mode .form-check-label {
    color: #e2e8f0;
}

/* Buttons */
[data-theme="dark"] .btn-outline-primary,
.dark-mode .btn-outline-primary {
    color: #818cf8;
    border-color: #818cf8;
}

[data-theme="dark"] .btn-outline-primary:hover,
.dark-mode .btn-outline-primary:hover {
    background-color: #6366f1;
    border-color: #6366f1;
    color: #ffffff;
}

[data-theme="dark"] .btn-outline-secondary,
.dark-mode .btn-outline-secondary {
    color: #94a3b8;
    border-color: #64748b;
}

[data-theme="dark"] .btn-outline-secondary:hover,
.dark-mode .btn-outline-secondary:hover {
    background-color: #475569;
    border-color: #475569;
    color: #f1f5f9;
}

[data-theme="dark"] .btn-light,
.dark-mode .btn-light {
    background-color: #334155;
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .btn-light:hover,
.dark-mode .btn-light:hover {
    background-color: #475569;
    border-color: #64748b;
    color: #f1f5f9;
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu,
.dark-mode .dropdown-menu {
    background-color: #1e293b;
    border-color: #334155;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .dropdown-item,
.dark-mode .dropdown-item {
    color: #e2e8f0;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus {
    background-color: #334155;
    color: #f1f5f9;
}

[data-theme="dark"] .dropdown-item.active,
.dark-mode .dropdown-item.active {
    background-color: #4f46e5;
    color: #ffffff;
}

[data-theme="dark"] .dropdown-divider,
.dark-mode .dropdown-divider {
    border-top-color: #334155;
}

[data-theme="dark"] .dropdown-header,
.dark-mode .dropdown-header {
    color: #94a3b8;
}

/* Modals */
[data-theme="dark"] .modal-content,
.dark-mode .modal-content {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .modal-header,
.dark-mode .modal-header {
    border-bottom-color: #334155;
}

[data-theme="dark"] .modal-footer,
.dark-mode .modal-footer {
    border-top-color: #334155;
}

[data-theme="dark"] .modal-title,
.dark-mode .modal-title {
    color: #f1f5f9;
}

[data-theme="dark"] .btn-close,
.dark-mode .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Alerts */
[data-theme="dark"] .alert-primary,
.dark-mode .alert-primary {
    background-color: rgba(99, 102, 241, 0.15);
    border-color: rgba(99, 102, 241, 0.3);
    color: #a5b4fc;
}

[data-theme="dark"] .alert-success,
.dark-mode .alert-success {
    background-color: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.3);
    color: #6ee7b7;
}

[data-theme="dark"] .alert-warning,
.dark-mode .alert-warning {
    background-color: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.3);
    color: #fcd34d;
}

[data-theme="dark"] .alert-danger,
.dark-mode .alert-danger {
    background-color: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
    color: #fca5a5;
}

[data-theme="dark"] .alert-info,
.dark-mode .alert-info {
    background-color: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
}

/* Badges */
[data-theme="dark"] .badge.bg-light,
.dark-mode .badge.bg-light {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .badge.bg-secondary,
.dark-mode .badge.bg-secondary {
    background-color: #475569 !important;
}

/* Warning badges - softer amber for dark mode */
[data-theme="dark"] .badge.bg-warning,
.dark-mode .badge.bg-warning {
    background-color: #92400e !important;
    color: #fef3c7 !important;
}

[data-theme="dark"] .badge.bg-warning.text-dark,
.dark-mode .badge.bg-warning.text-dark {
    color: #fef3c7 !important;
}

/* List Groups */
[data-theme="dark"] .list-group-item,
.dark-mode .list-group-item {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .list-group-item:hover,
.dark-mode .list-group-item:hover {
    background-color: #263345;
}

[data-theme="dark"] .list-group-item.active,
.dark-mode .list-group-item.active {
    background-color: #4f46e5;
    border-color: #4f46e5;
}

/* Progress bars */
[data-theme="dark"] .progress,
.dark-mode .progress {
    background-color: #334155;
}

/* Pagination */
[data-theme="dark"] .page-link,
.dark-mode .page-link {
    background-color: #1e293b;
    border-color: #334155;
    color: #818cf8;
}

[data-theme="dark"] .page-link:hover,
.dark-mode .page-link:hover {
    background-color: #334155;
    border-color: #475569;
    color: #a5b4fc;
}

[data-theme="dark"] .page-item.active .page-link,
.dark-mode .page-item.active .page-link {
    background-color: #4f46e5;
    border-color: #4f46e5;
}

[data-theme="dark"] .page-item.disabled .page-link,
.dark-mode .page-item.disabled .page-link {
    background-color: #1e293b;
    border-color: #334155;
    color: #64748b;
}

/* Accordion */
[data-theme="dark"] .accordion-item,
.dark-mode .accordion-item {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .accordion-button,
.dark-mode .accordion-button {
    background-color: #1e293b;
    color: #e2e8f0;
}

[data-theme="dark"] .accordion-button:not(.collapsed),
.dark-mode .accordion-button:not(.collapsed) {
    background-color: #263345;
    color: #f1f5f9;
}

[data-theme="dark"] .accordion-body,
.dark-mode .accordion-body {
    background-color: #1e293b;
}

/* Nav tabs and pills */
[data-theme="dark"] .nav-tabs,
.dark-mode .nav-tabs {
    border-bottom-color: #334155;
}

[data-theme="dark"] .nav-tabs .nav-link,
.dark-mode .nav-tabs .nav-link {
    color: #94a3b8;
}

[data-theme="dark"] .nav-tabs .nav-link:hover,
.dark-mode .nav-tabs .nav-link:hover {
    border-color: #475569 #475569 #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .nav-tabs .nav-link.active,
.dark-mode .nav-tabs .nav-link.active {
    background-color: #1e293b;
    border-color: #334155 #334155 #1e293b;
    color: #f1f5f9;
}

[data-theme="dark"] .nav-pills .nav-link,
.dark-mode .nav-pills .nav-link {
    color: #94a3b8;
}

[data-theme="dark"] .nav-pills .nav-link.active,
.dark-mode .nav-pills .nav-link.active {
    background-color: #4f46e5;
    color: #ffffff;
}

/* Breadcrumbs */
[data-theme="dark"] .breadcrumb,
.dark-mode .breadcrumb {
    background-color: #1e293b;
}

[data-theme="dark"] .breadcrumb-item a,
.dark-mode .breadcrumb-item a {
    color: #818cf8;
}

[data-theme="dark"] .breadcrumb-item.active,
.dark-mode .breadcrumb-item.active {
    color: #94a3b8;
}

/* ========================================
   TEXT UTILITIES - DARK MODE
   ======================================== */

[data-theme="dark"] .text-muted,
.dark-mode .text-muted {
    color: #94a3b8 !important;
}

[data-theme="dark"] .text-dark,
.dark-mode .text-dark {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .text-secondary,
.dark-mode .text-secondary {
    color: #94a3b8 !important;
}

[data-theme="dark"] .text-body,
.dark-mode .text-body {
    color: #e2e8f0 !important;
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item),
.dark-mode a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #818cf8;
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
.dark-mode a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: #a5b4fc;
}

/* ========================================
   BACKGROUND UTILITIES - DARK MODE
   ======================================== */

[data-theme="dark"] .bg-white,
.dark-mode .bg-white {
    background-color: #1e293b !important;
}

[data-theme="dark"] .bg-light,
.dark-mode .bg-light {
    background-color: #263345 !important;
}

[data-theme="dark"] .bg-body,
.dark-mode .bg-body {
    background-color: #0f172a !important;
}

/* ========================================
   BORDER UTILITIES - DARK MODE
   ======================================== */

[data-theme="dark"] .border,
.dark-mode .border {
    border-color: #334155 !important;
}

[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end,
.dark-mode .border-top,
.dark-mode .border-bottom,
.dark-mode .border-start,
.dark-mode .border-end {
    border-color: #334155 !important;
}

[data-theme="dark"] hr,
.dark-mode hr {
    border-color: #334155;
    opacity: 1;
}

/* ========================================
   SHADOW UTILITIES - DARK MODE
   ======================================== */

[data-theme="dark"] .shadow,
[data-theme="dark"] .shadow-sm,
[data-theme="dark"] .shadow-lg,
.dark-mode .shadow,
.dark-mode .shadow-sm,
.dark-mode .shadow-lg {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.4) !important;
}

/* ========================================
   GENESIS BUDGET SPECIFIC - DARK MODE
   ======================================== */

/* Main container and page wrapper */
[data-theme="dark"] main,
[data-theme="dark"] main.container,
[data-theme="dark"] main.container-fluid,
.dark-mode main,
.dark-mode main.container,
.dark-mode main.container-fluid {
    background-color: #0f172a;
    color: #e2e8f0;
}

/* Bootstrap containers */
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .container-sm,
[data-theme="dark"] .container-md,
[data-theme="dark"] .container-lg,
[data-theme="dark"] .container-xl,
[data-theme="dark"] .container-xxl,
.dark-mode .container,
.dark-mode .container-fluid,
.dark-mode .container-sm,
.dark-mode .container-md,
.dark-mode .container-lg,
.dark-mode .container-xl,
.dark-mode .container-xxl {
    background-color: transparent;
}

/* Page header */
[data-theme="dark"] .page-header,
.dark-mode .page-header {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .page-header h1,
.dark-mode .page-header h1 {
    color: #818cf8;
}

[data-theme="dark"] .page-header p,
.dark-mode .page-header p {
    color: #94a3b8;
}

/* Search filter bar (my_budgets.php) */
[data-theme="dark"] .search-filter-bar,
.dark-mode .search-filter-bar {
    background-color: #1e293b;
    border-color: #334155;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .search-filter-bar .search-box input,
.dark-mode .search-filter-bar .search-box input {
    background-color: #0f172a;
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .search-filter-bar .search-box input:focus,
.dark-mode .search-filter-bar .search-box input:focus {
    border-color: #6366f1;
}

[data-theme="dark"] .search-filter-bar .search-box i,
.dark-mode .search-filter-bar .search-box i {
    color: #94a3b8;
}

[data-theme="dark"] .filter-btn,
.dark-mode .filter-btn {
    background-color: #334155;
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .filter-btn:hover,
[data-theme="dark"] .filter-btn.active,
.dark-mode .filter-btn:hover,
.dark-mode .filter-btn.active {
    background-color: #6366f1;
    border-color: #6366f1;
    color: #ffffff;
}

/* Goal stats (dashboard.php) */
[data-theme="dark"] .goal-stats,
.dark-mode .goal-stats {
    background-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .goal-stats span,
.dark-mode .goal-stats span {
    color: #94a3b8;
}

[data-theme="dark"] .goal-stats strong,
.dark-mode .goal-stats strong {
    color: #f1f5f9;
}

/* Envelope card (my_spending.php) */
[data-theme="dark"] .envelope-card,
.dark-mode .envelope-card {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .envelope-card:hover,
.dark-mode .envelope-card:hover {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .envelope-card.overspent,
.dark-mode .envelope-card.overspent {
    background-color: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
}

[data-theme="dark"] .envelope-card .name,
.dark-mode .envelope-card .name {
    color: #f1f5f9;
}

[data-theme="dark"] .envelope-card .details,
.dark-mode .envelope-card .details {
    color: #94a3b8;
}

/* Recurring list container (my_spending.php) */
[data-theme="dark"] #recurring-list-container,
.dark-mode #recurring-list-container {
    background-color: transparent;
    color: #e2e8f0;
}

/* Container with py-5 padding - ensure transparent background */
[data-theme="dark"] .container.py-5,
[data-theme="dark"] .container-fluid.py-5,
.dark-mode .container.py-5,
.dark-mode .container-fluid.py-5 {
    background-color: transparent;
}

/* Filter bar (styles/style.css) */
[data-theme="dark"] .filter-bar,
.dark-mode .filter-bar {
    background-color: #1e293b;
    border-color: #334155;
}

/* Transaction filters (my_spending.php) */
[data-theme="dark"] .transaction-filters,
.dark-mode .transaction-filters {
    background-color: transparent;
}

[data-theme="dark"] .transaction-filters .form-control,
[data-theme="dark"] .transaction-filters .form-select,
.dark-mode .transaction-filters .form-control,
.dark-mode .transaction-filters .form-select {
    background-color: #1e293b;
    border-color: #475569;
    color: #e2e8f0;
}

/* Form card (styles/style.css) */
[data-theme="dark"] .form-card,
.dark-mode .form-card {
    background-color: #1e293b;
    border-color: #334155;
}

/* Form section */
[data-theme="dark"] .form-section,
.dark-mode .form-section {
    border-bottom-color: #334155;
}

[data-theme="dark"] .form-section-title,
.dark-mode .form-section-title {
    color: #818cf8;
}

/* Empty state */
[data-theme="dark"] .empty-state,
.dark-mode .empty-state {
    border-color: #475569;
    color: #e2e8f0;
}

[data-theme="dark"] .empty-state-icon,
.dark-mode .empty-state-icon {
    color: #64748b;
}

[data-theme="dark"] .empty-state h4,
.dark-mode .empty-state h4 {
    color: #f1f5f9;
}

[data-theme="dark"] .empty-state p,
.dark-mode .empty-state p {
    color: #94a3b8;
}

/* Data tables */
[data-theme="dark"] .data-table,
.dark-mode .data-table {
    border-color: #334155;
}

[data-theme="dark"] .data-table th,
.dark-mode .data-table th {
    background-color: #334155;
    border-color: #475569;
    color: #f1f5f9;
}

[data-theme="dark"] .data-table td,
.dark-mode .data-table td {
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .data-table tbody tr:hover,
.dark-mode .data-table tbody tr:hover {
    background-color: #263345;
}

/* Chart container */
[data-theme="dark"] .chart-container,
.dark-mode .chart-container {
    background-color: #1e293b;
}

[data-theme="dark"] .chart-title,
.dark-mode .chart-title {
    color: #818cf8;
}

/* Calendar */
[data-theme="dark"] .calendar-day,
.dark-mode .calendar-day {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .calendar-day.today,
.dark-mode .calendar-day.today {
    outline-color: #6366f1;
}

[data-theme="dark"] .calendar-event,
.dark-mode .calendar-event {
    background-color: #334155;
}

[data-theme="dark"] .calendar-event:hover,
.dark-mode .calendar-event:hover {
    background-color: #475569;
}

/* Auth pages (login/register) */
[data-theme="dark"] .auth-card,
.dark-mode .auth-card {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .auth-header,
.dark-mode .auth-header {
    background-color: #4f46e5;
}

[data-theme="dark"] .auth-footer,
.dark-mode .auth-footer {
    background-color: #334155;
    border-top-color: #475569;
}

/* Settings page navigation */
[data-theme="dark"] .settings-nav .nav-link,
.dark-mode .settings-nav .nav-link {
    color: #94a3b8;
}

[data-theme="dark"] .settings-nav .nav-link:hover,
.dark-mode .settings-nav .nav-link:hover {
    background-color: #263345;
    color: #818cf8;
}

[data-theme="dark"] .settings-nav .nav-link.active,
.dark-mode .settings-nav .nav-link.active {
    background-color: rgba(99, 102, 241, 0.15);
    color: #818cf8;
}

/* Settings cards */
[data-theme="dark"] .settings-card,
.dark-mode .settings-card {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .settings-card .card-header,
.dark-mode .settings-card .card-header {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

/* Info rows */
[data-theme="dark"] .info-row,
.dark-mode .info-row {
    border-bottom-color: #334155;
}

[data-theme="dark"] .info-label,
.dark-mode .info-label {
    color: #94a3b8;
}

/* Dashboard widgets */
[data-theme="dark"] .stat-card,
[data-theme="dark"] .widget-card,
.dark-mode .stat-card,
.dark-mode .widget-card {
    background-color: #1e293b;
    border-color: #334155;
}

/* Budget cards */
[data-theme="dark"] .budget-card,
.dark-mode .budget-card {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .budget-card:hover,
.dark-mode .budget-card:hover {
    background-color: #263345;
}

/* Transaction tables */
[data-theme="dark"] .transaction-row,
.dark-mode .transaction-row {
    border-bottom-color: #334155;
}

[data-theme="dark"] .transaction-row:hover,
.dark-mode .transaction-row:hover {
    background-color: #263345;
}

/* Charts - Chart.js */
[data-theme="dark"] canvas,
.dark-mode canvas {
    filter: brightness(0.95);
}

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

[data-theme="dark"] ::-webkit-scrollbar-track,
.dark-mode ::-webkit-scrollbar-track {
    background: #1e293b;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb,
.dark-mode ::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover,
.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ========================================
   LOADER & TOAST - DARK MODE
   ======================================== */

[data-theme="dark"] .gb-loader-overlay,
.dark-mode .gb-loader-overlay {
    background-color: rgba(15, 23, 42, 0.9);
}

[data-theme="dark"] .gb-toast,
.dark-mode .gb-toast {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

/* ========================================
   CHART.JS DARK MODE CONFIGURATION
   ======================================== */

[data-theme="dark"] .chart-container,
.dark-mode .chart-container {
    --chart-text-color: #94a3b8;
    --chart-grid-color: #334155;
    --chart-tooltip-bg: #1e293b;
    --chart-tooltip-text: #f1f5f9;
}

/* ========================================
   PRINT - ALWAYS LIGHT MODE
   ======================================== */

@media print {
    [data-theme="dark"],
    .dark-mode {
        background-color: #ffffff !important;
        color: #000000 !important;
    }

    [data-theme="dark"] .card,
    [data-theme="dark"] .table,
    .dark-mode .card,
    .dark-mode .table {
        background-color: #ffffff !important;
        color: #000000 !important;
        border-color: #dee2e6 !important;
    }
}

/* ========================================
   FOOTER - DARK MODE
   ======================================== */

[data-theme="dark"] footer.bg-dark,
.dark-mode footer.bg-dark {
    background-color: #0f172a !important;
    border-top: 1px solid #1e293b;
}

[data-theme="dark"] footer .text-white-50,
.dark-mode footer .text-white-50 {
    color: #64748b !important;
}

[data-theme="dark"] footer .text-white-50:hover,
.dark-mode footer .text-white-50:hover {
    color: #94a3b8 !important;
}

[data-theme="dark"] footer hr.bg-secondary,
.dark-mode footer hr.bg-secondary {
    background-color: #334155 !important;
    opacity: 1;
}

/* ========================================
   DASHBOARD SPECIFIC - DARK MODE
   ======================================== */

/* Card header with bg-dark - make text more readable */
[data-theme="dark"] .card-header.bg-dark,
.dark-mode .card-header.bg-dark {
    background-color: #1e293b !important;
    border-bottom-color: #334155;
}

[data-theme="dark"] .card-header.bg-dark.text-white,
.dark-mode .card-header.bg-dark.text-white {
    color: #f1f5f9 !important;
}

/* Calendar cells */
[data-theme="dark"] .calendar-cell,
.dark-mode .calendar-cell {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

/* Ledger header */
[data-theme="dark"] .ledger-header,
.dark-mode .ledger-header {
    background-color: #1e293b;
    color: #e2e8f0;
}

[data-theme="dark"] .ledger-header.text-danger,
.dark-mode .ledger-header.text-danger {
    color: #fca5a5 !important;
}

/* Event names - ensure readable */
[data-theme="dark"] .event-name,
[data-theme="dark"] .calendar-event .event-name,
.dark-mode .event-name,
.dark-mode .calendar-event .event-name {
    color: #f1f5f9;
}

/* ========================================
   VIEW/EDIT BUDGET - DARK MODE
   ======================================== */

/* Quicken content */
[data-theme="dark"] .quicken-content,
.dark-mode .quicken-content {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

/* Quicken summary */
[data-theme="dark"] .quicken-summary,
.dark-mode .quicken-summary {
    background-color: #334155;
    border-color: #475569;
    color: #e2e8f0;
}

/* Summary item */
[data-theme="dark"] .summary-item,
.dark-mode .summary-item {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .summary-item label,
[data-theme="dark"] .summary-item span,
.dark-mode .summary-item label,
.dark-mode .summary-item span {
    color: #94a3b8;
}

[data-theme="dark"] .summary-item strong,
[data-theme="dark"] .summary-item .value,
.dark-mode .summary-item strong,
.dark-mode .summary-item .value {
    color: #f1f5f9;
}

/* Column cards (col-md-6 mb-4 pattern) */
[data-theme="dark"] .col-md-6.mb-4 > .card,
[data-theme="dark"] .col-lg-6.mb-4 > .card,
.dark-mode .col-md-6.mb-4 > .card,
.dark-mode .col-lg-6.mb-4 > .card {
    background-color: #1e293b;
    border-color: #334155;
}

/* ========================================
   SNOWBALL/AVALANCHE - DARK MODE
   ======================================== */

[data-theme="dark"] .debt-card,
.dark-mode .debt-card {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .debt-summary,
.dark-mode .debt-summary {
    background-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .payoff-schedule,
.dark-mode .payoff-schedule {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .payoff-month,
.dark-mode .payoff-month {
    background-color: #263345;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .strategy-card,
.dark-mode .strategy-card {
    background-color: #1e293b;
    border-color: #334155;
}

[data-theme="dark"] .strategy-card.active,
[data-theme="dark"] .strategy-card.selected,
.dark-mode .strategy-card.active,
.dark-mode .strategy-card.selected {
    border-color: #6366f1;
    background-color: rgba(99, 102, 241, 0.1);
}

/* ========================================
   TABLE RESPONSIVE - DARK MODE
   ======================================== */

/* Ensure all table text is readable in dark mode */
[data-theme="dark"] .table-responsive,
.dark-mode .table-responsive {
    background-color: transparent;
}

[data-theme="dark"] .table-responsive .table,
.dark-mode .table-responsive .table {
    color: #e2e8f0;
}

[data-theme="dark"] .table-responsive .table td,
[data-theme="dark"] .table-responsive .table th,
.dark-mode .table-responsive .table td,
.dark-mode .table-responsive .table th {
    color: #e2e8f0;
    border-color: #334155;
}

[data-theme="dark"] .table-responsive .table tbody tr,
.dark-mode .table-responsive .table tbody tr {
    color: #e2e8f0;
}

[data-theme="dark"] .table-responsive .table tbody tr:hover,
.dark-mode .table-responsive .table tbody tr:hover {
    background-color: #263345;
    color: #f1f5f9;
}

/* Table text that might be hard to read */
[data-theme="dark"] .table .text-muted,
.dark-mode .table .text-muted {
    color: #94a3b8 !important;
}

[data-theme="dark"] .table .text-dark,
.dark-mode .table .text-dark {
    color: #e2e8f0 !important;
}

/* ========================================
   INVESTMENTS PAGE - DARK MODE
   ======================================== */

[data-theme="dark"] .investment-card,
.dark-mode .investment-card {
    background-color: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}

[data-theme="dark"] .investment-summary,
.dark-mode .investment-summary {
    background-color: #334155;
    color: #e2e8f0;
}

/* ========================================
   HEADER/NAVBAR ADMIN - DARK MODE
   ======================================== */

/* Admin button - make it less bright */
[data-theme="dark"] .navbar .btn-warning,
.dark-mode .navbar .btn-warning {
    background-color: #854d0e;
    border-color: #a16207;
    color: #fef3c7;
}

[data-theme="dark"] .navbar .btn-warning:hover,
.dark-mode .navbar .btn-warning:hover {
    background-color: #a16207;
    border-color: #ca8a04;
    color: #fefce8;
}

[data-theme="dark"] .navbar .btn-warning.text-dark,
.dark-mode .navbar .btn-warning.text-dark {
    color: #fef3c7 !important;
}

/* Admin dropdown menu items - improve readability */
[data-theme="dark"] .dropdown-menu .dropdown-item.text-primary,
.dark-mode .dropdown-menu .dropdown-item.text-primary {
    color: #818cf8 !important;
}

[data-theme="dark"] .dropdown-menu .dropdown-item.text-primary:hover,
.dark-mode .dropdown-menu .dropdown-item.text-primary:hover {
    color: #a5b4fc !important;
    background-color: #334155;
}

[data-theme="dark"] .dropdown-menu .dropdown-header,
.dark-mode .dropdown-menu .dropdown-header {
    color: #94a3b8;
}

[data-theme="dark"] .dropdown-menu .dropdown-header strong,
.dark-mode .dropdown-menu .dropdown-header strong {
    color: #e2e8f0;
}

/* Display name in navbar */
[data-theme="dark"] .navbar .btn-outline-light,
.dark-mode .navbar .btn-outline-light {
    color: #e2e8f0;
    border-color: #475569;
}

[data-theme="dark"] .navbar .btn-outline-light:hover,
.dark-mode .navbar .btn-outline-light:hover {
    background-color: #334155;
    border-color: #64748b;
    color: #f1f5f9;
}

/* ========================================
   VIEW_BUDGET.PHP - QUICKEN STYLES DARK MODE
   ======================================== */

/* Main quicken container */
[data-theme="dark"] .quicken-container,
.dark-mode .quicken-container {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

/* Quicken toolbar */
[data-theme="dark"] .quicken-toolbar,
.dark-mode .quicken-toolbar {
    background-color: #334155 !important;
    border-bottom-color: #475569 !important;
}

/* Quicken content area */
[data-theme="dark"] .quicken-content,
.dark-mode .quicken-content {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
}

/* Quicken summary section - the container with stat cards */
[data-theme="dark"] .quicken-summary,
.dark-mode .quicken-summary {
    background: #263345 !important;
    border-color: #334155 !important;
}

/* Summary items (stat cards) - MAIN FIX for white backgrounds */
[data-theme="dark"] .summary-item,
.dark-mode .summary-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .summary-item h6,
.dark-mode .summary-item h6 {
    color: #94a3b8 !important;
}

[data-theme="dark"] .summary-item h3,
.dark-mode .summary-item h3 {
    color: #f1f5f9 !important;
}

/* Preserve the colored amounts */
[data-theme="dark"] .summary-item h3.income,
.dark-mode .summary-item h3.income {
    color: #4ade80 !important;
}

[data-theme="dark"] .summary-item h3.bills,
.dark-mode .summary-item h3.bills {
    color: #60a5fa !important;
}

[data-theme="dark"] .summary-item h3.debts,
.dark-mode .summary-item h3.debts {
    color: #f87171 !important;
}

[data-theme="dark"] .summary-item h3.goals,
.dark-mode .summary-item h3.goals {
    color: #c084fc !important;
}

[data-theme="dark"] .summary-item h3.unallocated,
.dark-mode .summary-item h3.unallocated {
    color: #fbbf24 !important;
}

/* Quicken sections */
[data-theme="dark"] .quicken-section,
.dark-mode .quicken-section {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

[data-theme="dark"] .quicken-section-content,
.dark-mode .quicken-section-content {
    background-color: #1e293b !important;
}

/* Mobile scroll indicator */
[data-theme="dark"] .quicken-section-content::after,
.dark-mode .quicken-section-content::after {
    background: linear-gradient(to left, rgba(30, 41, 59, 0.9), transparent) !important;
}

/* Quicken tables */
[data-theme="dark"] .quicken-table,
.dark-mode .quicken-table {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .quicken-table th,
.dark-mode .quicken-table th {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
    border-bottom-color: #475569 !important;
}

[data-theme="dark"] .quicken-table td,
.dark-mode .quicken-table td {
    color: #e2e8f0 !important;
    border-bottom-color: #334155 !important;
}

[data-theme="dark"] .quicken-table tr:hover,
.dark-mode .quicken-table tr:hover {
    background-color: #334155 !important;
}

[data-theme="dark"] .quicken-table .total-row,
.dark-mode .quicken-table .total-row {
    background-color: #334155 !important;
    border-top-color: #475569 !important;
}

[data-theme="dark"] .quicken-table .total-row:hover,
.dark-mode .quicken-table .total-row:hover {
    background-color: #3d4f66 !important;
}

/* Chart container */
[data-theme="dark"] .quicken-content .chart-container,
.dark-mode .quicken-content .chart-container {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

/* ========================================
   EDIT_BUDGET.PHP - QUICKEN SECTION HEADERS DARK MODE
   ======================================== */

/* Quicken section headers - base style */
[data-theme="dark"] .quicken-section-header,
.dark-mode .quicken-section-header {
    border-bottom-color: #475569 !important;
}

/* Income section header - green tint */
[data-theme="dark"] .quicken-section-header.income,
.dark-mode .quicken-section-header.income {
    background-color: rgba(34, 197, 94, 0.15) !important;
    color: #4ade80 !important;
}

/* Bills section header - blue tint */
[data-theme="dark"] .quicken-section-header.bills,
.dark-mode .quicken-section-header.bills {
    background-color: rgba(59, 130, 246, 0.15) !important;
    color: #60a5fa !important;
}

/* Debts section header - red tint */
[data-theme="dark"] .quicken-section-header.debts,
.dark-mode .quicken-section-header.debts {
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
}

/* Goals section header - orange tint - MAIN FIX */
[data-theme="dark"] .quicken-section-header.goals,
.dark-mode .quicken-section-header.goals {
    background-color: rgba(249, 115, 22, 0.15) !important;
    color: #fb923c !important;
}

/* Budget cards (income, bill, debt, goal cards) */
[data-theme="dark"] .budget-card,
.dark-mode .budget-card {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .budget-card:hover,
.dark-mode .budget-card:hover {
    background-color: #263345 !important;
    border-color: #475569 !important;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3) !important;
}

/* Budget card colored borders */
[data-theme="dark"] .budget-card.income,
.dark-mode .budget-card.income {
    border-left-color: #4ade80 !important;
}

[data-theme="dark"] .budget-card.bill,
.dark-mode .budget-card.bill {
    border-left-color: #60a5fa !important;
}

[data-theme="dark"] .budget-card.debt,
.dark-mode .budget-card.debt {
    border-left-color: #f87171 !important;
}

[data-theme="dark"] .budget-card.goal,
.dark-mode .budget-card.goal {
    border-left-color: #fb923c !important;
}

/* Budget card content */
[data-theme="dark"] .budget-card .card-title,
.dark-mode .budget-card .card-title {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .budget-card .card-amount,
.dark-mode .budget-card .card-amount {
    color: #e2e8f0 !important;
}

[data-theme="dark"] .budget-card .card-detail,
.dark-mode .budget-card .card-detail {
    color: #94a3b8 !important;
}

/* Add card (dashed border placeholder) */
[data-theme="dark"] .add-card,
.dark-mode .add-card {
    background-color: transparent !important;
    border-color: #475569 !important;
    color: #94a3b8 !important;
}

[data-theme="dark"] .add-card:hover,
.dark-mode .add-card:hover {
    background-color: rgba(99, 102, 241, 0.1) !important;
    border-color: #6366f1 !important;
    color: #818cf8 !important;
}

/* Card grid */
[data-theme="dark"] .card-grid,
.dark-mode .card-grid {
    background-color: transparent !important;
}

/* Action buttons bar (Save/Cancel footer) - MAIN FIX */
[data-theme="dark"] .action-buttons,
.dark-mode .action-buttons {
    background-color: #1e293b !important;
    border-top-color: #334155 !important;
}

/* Cancel button in action bar */
[data-theme="dark"] .btn-cancel,
.dark-mode .btn-cancel {
    background-color: #475569 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .btn-cancel:hover,
.dark-mode .btn-cancel:hover {
    background-color: #64748b !important;
    color: #f1f5f9 !important;
}

/* ========================================
   MY_SPENDING.PHP - RECURRING TRANSACTIONS DARK MODE
   ======================================== */

/* Recurring item - MAIN FIX for white background */
[data-theme="dark"] .recurring-item,
.dark-mode .recurring-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .recurring-item:hover,
.dark-mode .recurring-item:hover {
    background-color: #263345 !important;
}

/* Recurring item text colors */
[data-theme="dark"] .recurring-item .recurring-name,
[data-theme="dark"] .recurring-item h6,
[data-theme="dark"] .recurring-item .fw-bold,
.dark-mode .recurring-item .recurring-name,
.dark-mode .recurring-item h6,
.dark-mode .recurring-item .fw-bold {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .recurring-item .recurring-details,
[data-theme="dark"] .recurring-item .text-muted,
[data-theme="dark"] .recurring-item small,
.dark-mode .recurring-item .recurring-details,
.dark-mode .recurring-item .text-muted,
.dark-mode .recurring-item small {
    color: #94a3b8 !important;
}

/* Recurring item buttons */
[data-theme="dark"] .recurring-item .btn-outline-primary,
.dark-mode .recurring-item .btn-outline-primary {
    color: #818cf8 !important;
    border-color: #818cf8 !important;
    background-color: transparent !important;
}

[data-theme="dark"] .recurring-item .btn-outline-primary:hover,
.dark-mode .recurring-item .btn-outline-primary:hover {
    background-color: #6366f1 !important;
    color: #ffffff !important;
}

[data-theme="dark"] .recurring-item .btn-outline-success,
.dark-mode .recurring-item .btn-outline-success {
    color: #4ade80 !important;
    border-color: #4ade80 !important;
    background-color: transparent !important;
}

[data-theme="dark"] .recurring-item .btn-outline-success:hover,
.dark-mode .recurring-item .btn-outline-success:hover {
    background-color: #22c55e !important;
    color: #ffffff !important;
}

[data-theme="dark"] .recurring-item .btn-outline-danger,
.dark-mode .recurring-item .btn-outline-danger {
    color: #f87171 !important;
    border-color: #f87171 !important;
    background-color: transparent !important;
}

[data-theme="dark"] .recurring-item .btn-outline-danger:hover,
.dark-mode .recurring-item .btn-outline-danger:hover {
    background-color: #ef4444 !important;
    color: #ffffff !important;
}

/* Recurring fields border */
[data-theme="dark"] #recurring-fields,
.dark-mode #recurring-fields {
    border-left-color: #6366f1 !important;
}

/* ========================================
   ADMIN TRACKING PAGE - DARK MODE
   ======================================== */

/* Geo detail cards (location cards) - MAIN FIX for white backgrounds */
[data-theme="dark"] .geo-detail-card,
.dark-mode .geo-detail-card {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .geo-detail-card:hover,
.dark-mode .geo-detail-card:hover {
    background-color: #263345 !important;
    border-color: #6366f1 !important;
}

[data-theme="dark"] .geo-detail-card h6,
.dark-mode .geo-detail-card h6 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .geo-detail-card .text-muted,
[data-theme="dark"] .geo-detail-card small,
.dark-mode .geo-detail-card .text-muted,
.dark-mode .geo-detail-card small {
    color: #94a3b8 !important;
}

/* Section cards in tracking */
[data-theme="dark"] .section-card,
.dark-mode .section-card {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

[data-theme="dark"] .section-card .card-header,
.dark-mode .section-card .card-header {
    background-color: #334155 !important;
    border-bottom-color: #475569 !important;
    color: #f1f5f9 !important;
}

/* Info badge in tracking */
[data-theme="dark"] .info-badge,
.dark-mode .info-badge {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
}

/* Keyword tags */
[data-theme="dark"] .keyword-tag,
.dark-mode .keyword-tag {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
    border-color: #475569 !important;
}

/* Table light headers in tracking */
[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light th,
[data-theme="dark"] thead.table-light,
.dark-mode .table-light,
.dark-mode .table-light th,
.dark-mode thead.table-light {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
}

/* Stat cards in tracking */
[data-theme="dark"] .stat-card,
.dark-mode .stat-card {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

/* ========================================
   CALENDAR PAYMENT MODULE - DARK MODE
   ======================================== */

/* Calendar table headers */
[data-theme="dark"] .calendar-table th,
.dark-mode .calendar-table th {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

/* Calendar cells - main fix for white backgrounds */
[data-theme="dark"] .calendar-cell,
.dark-mode .calendar-cell {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

/* Date number inside cells - had white background */
[data-theme="dark"] .date-number,
.dark-mode .date-number {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
}

/* Current date highlighting */
[data-theme="dark"] .current-date,
.dark-mode .current-date {
    background-color: rgba(99, 102, 241, 0.2) !important;
}

/* Calendar events container */
[data-theme="dark"] .calendar-events,
.dark-mode .calendar-events {
    background-color: transparent !important;
}

/* Calendar event items - base styling */
[data-theme="dark"] .calendar-event,
.dark-mode .calendar-event {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .calendar-event:hover,
.dark-mode .calendar-event:hover {
    background-color: #475569 !important;
    filter: brightness(1.1);
}

/* Bill events */
[data-theme="dark"] .bill-event,
.dark-mode .bill-event {
    background-color: rgba(23, 162, 184, 0.3) !important;
    border-left-color: #17a2b8 !important;
    color: #a5f3fc !important;
}

/* Debt events */
[data-theme="dark"] .debt-event,
.dark-mode .debt-event {
    background-color: rgba(220, 53, 69, 0.3) !important;
    border-left-color: #dc3545 !important;
    color: #fca5a5 !important;
}

/* Paid events */
[data-theme="dark"] .paid-event,
.dark-mode .paid-event {
    background-color: rgba(40, 167, 69, 0.3) !important;
    border-left-color: #28a745 !important;
    color: #86efac !important;
}

/* Event name text - ensure readable */
[data-theme="dark"] .event-name,
[data-theme="dark"] .calendar-event .event-name,
.dark-mode .event-name,
.dark-mode .calendar-event .event-name {
    color: #f1f5f9 !important;
}

/* Paid stamp */
[data-theme="dark"] .paid-stamp,
.dark-mode .paid-stamp {
    background-color: rgba(40, 167, 69, 0.9) !important;
    color: #ffffff !important;
}

/* Calendar wrapper scroll indicator */
[data-theme="dark"] .calendar-wrapper::after,
.dark-mode .calendar-wrapper::after {
    background: linear-gradient(90deg, transparent 0%, #1e293b 20%, #1e293b 80%, transparent 100%) !important;
    color: #94a3b8 !important;
}

/* Ledger container */
[data-theme="dark"] .ledger-container,
.dark-mode .ledger-container {
    background-color: transparent !important;
}

/* Ledger section */
[data-theme="dark"] .ledger-section,
.dark-mode .ledger-section {
    background-color: transparent !important;
}

/* Ledger header */
[data-theme="dark"] .ledger-header,
.dark-mode .ledger-header {
    background-color: transparent !important;
    color: #e2e8f0 !important;
    border-bottom-color: #334155 !important;
}

[data-theme="dark"] .ledger-header.text-danger,
.dark-mode .ledger-header.text-danger {
    color: #fca5a5 !important;
}

[data-theme="dark"] .ledger-header.text-warning,
.dark-mode .ledger-header.text-warning {
    color: #fcd34d !important;
}

/* Ledger items - main fix for white backgrounds */
[data-theme="dark"] .ledger-item,
.dark-mode .ledger-item {
    background-color: #334155 !important;
    border-color: #475569 !important;
    color: #e2e8f0 !important;
}

[data-theme="dark"] .ledger-item:hover,
.dark-mode .ledger-item:hover {
    background-color: #475569 !important;
    color: #f1f5f9 !important;
}

[data-theme="dark"] .ledger-item h6,
.dark-mode .ledger-item h6 {
    color: #f1f5f9 !important;
}

[data-theme="dark"] .overdue-section .ledger-item,
.dark-mode .overdue-section .ledger-item {
    border-left-color: #dc3545 !important;
}

[data-theme="dark"] .due-soon-section .ledger-item,
.dark-mode .due-soon-section .ledger-item {
    border-left-color: #ffc107 !important;
}

/* Amount badge */
[data-theme="dark"] .amount-badge,
.dark-mode .amount-badge {
    background-color: #1e293b !important;
    border-color: #475569 !important;
    color: #f1f5f9 !important;
}

/* Payment modal info fields */
[data-theme="dark"] .payment-info,
.dark-mode .payment-info {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

/* Payment modal - form control display */
[data-theme="dark"] #paymentModal .form-control.payment-info,
.dark-mode #paymentModal .form-control.payment-info {
    background-color: #334155 !important;
    color: #f1f5f9 !important;
}

/* Card header with bg-warning in calendar */
[data-theme="dark"] .card-header.bg-warning,
.dark-mode .card-header.bg-warning {
    background-color: #854d0e !important;
    color: #fef3c7 !important;
}

[data-theme="dark"] .card-header.bg-warning.text-dark,
.dark-mode .card-header.bg-warning.text-dark {
    color: #fef3c7 !important;
}

/* Calendar table - bordered table fix */
[data-theme="dark"] .calendar-table.table-bordered,
[data-theme="dark"] .calendar-table.table-bordered th,
[data-theme="dark"] .calendar-table.table-bordered td,
.dark-mode .calendar-table.table-bordered,
.dark-mode .calendar-table.table-bordered th,
.dark-mode .calendar-table.table-bordered td {
    border-color: #334155 !important;
}

/* ========================================
   SMOOTH THEME TRANSITIONS
   ======================================== */

html {
    transition: background-color 0.3s ease, color 0.3s ease;
}

body,
.card,
.table,
.form-control,
.form-select,
.dropdown-menu,
.modal-content,
.alert,
.list-group-item,
.navbar {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
