/*
 * dark-theme.css
 * Global dark mode for Payment Voucher System.
 * Applied when <html> has class "dark-mode".
 * Mirrors the dashboard dark palette throughout all pages.
 */

/* ── Design tokens ─────────────────────────────────────────── */
html.dark-mode {
    --dm-bg:          #0f1117;
    --dm-surface:     #161b26;
    --dm-surface-2:   #1c2233;
    --dm-surface-3:   #222840;
    --dm-border:      rgba(255,255,255,0.07);
    --dm-border-2:    rgba(255,255,255,0.12);
    --dm-text:        #8b93a3;
    --dm-text-strong: #dde1ea;
    --dm-text-muted:  #5a6375;
    --dm-accent:      #4f7cff;
    --dm-accent-soft: rgba(79,124,255,0.13);
    --dm-success:     #10b981;
    --dm-warning:     #f59e0b;
    --dm-danger:      #ef4444;
    --dm-input-bg:    #1c2233;
    --dm-radius:      10px;
}

/* ── Base ──────────────────────────────────────────────────── */
html.dark-mode,
html.dark-mode body {
    background-color: var(--dm-bg) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Cards / Panels ────────────────────────────────────────── */
html.dark-mode .card,
html.dark-mode .form-section,
html.dark-mode .table-section,
html.dark-mode .btn-toolbar,
html.dark-mode .modal-content,
html.dark-mode .dropdown-menu {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .card-header,
html.dark-mode .modal-header,
html.dark-mode .modal-footer {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .card-body,
html.dark-mode .modal-body {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Tables ────────────────────────────────────────────────── */
html.dark-mode .table {
    --bs-table-bg: var(--dm-surface);
    --bs-table-striped-bg: var(--dm-surface-2);
    --bs-table-hover-bg: var(--dm-surface-3);
    --bs-table-border-color: var(--dm-border);
    color: var(--dm-text-strong) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .table th,
html.dark-mode .table td {
    background-color: inherit !important;
    color: inherit !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .table thead th,
html.dark-mode .table-dark th {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .table-hover tbody tr:hover td {
    background-color: var(--dm-surface-3) !important;
}

/* ── Forms ─────────────────────────────────────────────────── */
/* Use html.dark-mode body prefix for higher specificity to beat
   inline <style> blocks on individual pages */
html.dark-mode body .form-control,
html.dark-mode body .form-select,
html.dark-mode body .form-check-input,
html.dark-mode body input[type="text"],
html.dark-mode body input[type="password"],
html.dark-mode body input[type="email"],
html.dark-mode body input[type="number"],
html.dark-mode body input[type="date"],
html.dark-mode body input[type="tel"],
html.dark-mode body input[type="search"],
html.dark-mode body textarea,
html.dark-mode body select {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode body .form-control:focus,
html.dark-mode body .form-select:focus,
html.dark-mode body input:focus,
html.dark-mode body textarea:focus,
html.dark-mode body select:focus {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-accent) !important;
    box-shadow: 0 0 0 0.2rem rgba(79,124,255,0.2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode body .form-control::placeholder,
html.dark-mode body input::placeholder,
html.dark-mode body textarea::placeholder {
    color: var(--dm-text-muted) !important;
    opacity: 1 !important;
}

html.dark-mode body .form-control:disabled,
html.dark-mode body input:disabled,
html.dark-mode body input[readonly] {
    background-color: var(--dm-surface-3) !important;
    color: var(--dm-text) !important;
    opacity: 0.7 !important;
}

html.dark-mode body .form-label,
html.dark-mode body label {
    color: var(--dm-text-strong) !important;
}

html.dark-mode body select option {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .input-group-text {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text) !important;
}

html.dark-mode label,
html.dark-mode .form-label {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .form-text,
html.dark-mode small {
    color: var(--dm-text) !important;
}

/* ── Choices.js (typeahead) ────────────────────────────────── */
html.dark-mode .choices__inner {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .choices__list--dropdown,
html.dark-mode .choices__list[aria-expanded] {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
}

/* All items inside the dropdown list */
html.dark-mode .choices__list--dropdown .choices__item,
html.dark-mode .choices__list[aria-expanded] .choices__item {
    color: var(--dm-text-strong) !important;
    background-color: var(--dm-surface-2) !important;
}

/* Selected / highlighted state */
html.dark-mode .choices__item--choice:hover,
html.dark-mode .choices__item--choice.is-highlighted {
    background-color: var(--dm-accent-soft) !important;
    color: var(--dm-accent) !important;
}

/* Selected item shown inside the input box (single) */
html.dark-mode .choices__list--single .choices__item {
    color: var(--dm-text-strong) !important;
}

/* Multi-select tags */
html.dark-mode .choices__list--multiple .choices__item {
    background-color: var(--dm-accent-soft) !important;
    border-color: var(--dm-accent) !important;
    color: var(--dm-accent) !important;
}

/* Placeholder text */
html.dark-mode .choices__placeholder {
    color: var(--dm-text) !important;
    opacity: 1 !important;
}

/* Search field inside the dropdown */
html.dark-mode .choices__input {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
    border-color: var(--dm-border-2) !important;
}

/* "No results" / "No choices" notice */
html.dark-mode .choices__list--dropdown .choices__notice {
    color: var(--dm-text) !important;
    background-color: var(--dm-surface-2) !important;
}

/* ── Navigation / Topbar ───────────────────────────────────── */
html.dark-mode .top-navbar,
html.dark-mode .btn-toolbar {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .btn-toolbar h2,
html.dark-mode .btn-toolbar h5,
html.dark-mode .top-navbar-title {
    color: var(--dm-text-strong) !important;
}

/* ── Badges ────────────────────────────────────────────────── */
html.dark-mode .badge.bg-light {
    background-color: var(--dm-surface-3) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Alerts ────────────────────────────────────────────────── */
html.dark-mode .alert-success {
    background-color: rgba(16,185,129,0.12) !important;
    border-color: rgba(16,185,129,0.25) !important;
    color: #6ee7b7 !important;
}

html.dark-mode .alert-danger {
    background-color: rgba(239,68,68,0.12) !important;
    border-color: rgba(239,68,68,0.25) !important;
    color: #fca5a5 !important;
}

html.dark-mode .alert-warning {
    background-color: rgba(245,158,11,0.12) !important;
    border-color: rgba(245,158,11,0.25) !important;
    color: #fcd34d !important;
}

html.dark-mode .alert-info {
    background-color: rgba(14,165,233,0.12) !important;
    border-color: rgba(14,165,233,0.25) !important;
    color: #7dd3fc !important;
}

/* ── Buttons ────────────────────────────────────────────────── */
html.dark-mode .btn-light,
html.dark-mode .btn-outline-light {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .btn-outline-secondary {
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text) !important;
}
html.dark-mode .btn-outline-secondary:hover {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .btn-secondary {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Pagination ────────────────────────────────────────────── */
html.dark-mode .pagination .page-link {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text) !important;
}

html.dark-mode .pagination .page-item.active .page-link {
    background-color: var(--dm-accent) !important;
    border-color: var(--dm-accent) !important;
    color: #fff !important;
}

html.dark-mode .pagination .page-item.disabled .page-link {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

/* ── List groups ───────────────────────────────────────────── */
html.dark-mode .list-group-item {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Headings / Text ───────────────────────────────────────── */
html.dark-mode h1, html.dark-mode h2, html.dark-mode h3,
html.dark-mode h4, html.dark-mode h5, html.dark-mode h6 {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .text-muted {
    color: var(--dm-text) !important;
}

html.dark-mode .text-dark {
    color: var(--dm-text-strong) !important;
}

html.dark-mode hr {
    border-color: var(--dm-border) !important;
    opacity: 1 !important;
}

/* ── Section labels / borders ──────────────────────────────── */
html.dark-mode .table-section h5,
html.dark-mode .form-section h5 {
    border-bottom-color: var(--dm-border) !important;
}

/* ── Dropdown menus ────────────────────────────────────────── */
html.dark-mode .dropdown-menu {
    background-color: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
}

html.dark-mode .dropdown-item {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .dropdown-item:hover,
html.dark-mode .dropdown-item:focus {
    background-color: var(--dm-accent-soft) !important;
    color: var(--dm-accent) !important;
}

html.dark-mode .dropdown-divider {
    border-color: var(--dm-border) !important;
}

/* ── Login page specific ───────────────────────────────────── */
html.dark-mode .login-card,
html.dark-mode .login-box {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* ── Scrollbar ─────────────────────────────────────────────── */
html.dark-mode ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
html.dark-mode ::-webkit-scrollbar-track {
    background: var(--dm-bg);
}
html.dark-mode ::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.1);
    border-radius: 3px;
}
html.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.2);
}

/* ── SweetAlert2 dark override ─────────────────────────────── */
html.dark-mode .swal2-popup {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-strong) !important;
    border: 1px solid var(--dm-border-2) !important;
}

html.dark-mode .swal2-title,
html.dark-mode .swal2-html-container,
html.dark-mode .swal2-content {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .swal2-input,
html.dark-mode .swal2-select,
html.dark-mode .swal2-textarea {
    background-color: var(--dm-input-bg) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .swal2-footer {
    background-color: var(--dm-surface-2) !important;
    border-top-color: var(--dm-border) !important;
}

/* ── Dark mode toggle button ───────────────────────────────── */
.dm-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--dm-border, rgba(255,255,255,0.07));
    background: none;
    color: var(--sb-text, #7c8494);
    cursor: pointer;
    font-size: 0.82rem;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    flex-shrink: 0;
}

.dm-toggle:hover {
    color: var(--dm-text-strong, #dde1ea);
    border-color: rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.05);
}

html.dark-mode .dm-toggle {
    color: #fbbf24;
    border-color: rgba(251,191,36,0.3);
}

html.dark-mode .dm-toggle:hover {
    background: rgba(251,191,36,0.08);
}

/* =================================================================
   PAGE-SPECIFIC OVERRIDES
   ================================================================= */

/* ── Shared: main-content background ──────────────────────────── */
html.dark-mode .main-content {
    background-color: var(--dm-bg) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Shared: inline style colour overrides ────────────────────── */
html.dark-mode [style*="color: #1a252f"],
html.dark-mode [style*="color:#1a252f"],
html.dark-mode [style*="color: #2c3e50"],
html.dark-mode [style*="color:#2c3e50"] {
    color: var(--dm-text-strong) !important;
}

html.dark-mode [style*="background: linear-gradient(to bottom, #ffffff"],
html.dark-mode [style*="background: linear-gradient(135deg, #ffffff"],
html.dark-mode [style*="background-color: #ffffff"],
html.dark-mode [style*="background-color:#ffffff"],
html.dark-mode [style*="background: #ffffff"],
html.dark-mode [style*="background:#ffffff"] {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode [style*="border: 1px solid #e9ecef"],
html.dark-mode [style*="border-bottom: 1px solid #e9ecef"] {
    border-color: var(--dm-border) !important;
}

/* ── all-payments.php & payment-report.php & cheque-monitoring ── */

/* Body background */
html.dark-mode body {
    background-color: var(--dm-bg) !important;
}

/* Main content area */
html.dark-mode .main-content {
    background-color: var(--dm-bg) !important;
}

html.dark-mode .container-fluid {
    color: var(--dm-text-strong) !important;
}

/* Top navbar */
html.dark-mode .top-navbar {
    background: var(--dm-surface) !important;
    border-bottom-color: var(--dm-border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

html.dark-mode .top-navbar h4,
html.dark-mode .top-navbar h5 {
    color: var(--dm-text-strong) !important;
}

/* Filter card */
html.dark-mode .filter-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
}

html.dark-mode .filter-card h5,
html.dark-mode .filter-card h5 * {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .filter-card .form-label {
    color: var(--dm-text-strong) !important;
}

/* Table wrapper */
html.dark-mode .table-responsive {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* Table body rows */
html.dark-mode .table tbody tr {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .table tbody tr:hover,
html.dark-mode .cheque-row:hover {
    background-color: var(--dm-surface-2) !important;
    transform: none !important;
}

/* Table cells */
html.dark-mode .table td {
    color: var(--dm-text-strong) !important;
    border-bottom-color: var(--dm-border) !important;
}

/* Table th — these pages use a dark gradient already, keep it but fix text */
html.dark-mode .table th,
html.dark-mode .table thead th {
    background: linear-gradient(135deg, #1a2233 0%, #222d42 100%) !important;
    color: #dde1ea !important;
    border-color: var(--dm-border) !important;
}

/* payment-report: stat cards (card-p1..p4) — keep their gradient icons, only fix text */
html.dark-mode .stats-card.card-p1,
html.dark-mode .stats-card.card-p2,
html.dark-mode .stats-card.card-p3,
html.dark-mode .stats-card.card-p4 {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .stats-card .stat-value,
html.dark-mode .stats-card .stat-sub {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .stats-card .stat-label {
    color: var(--dm-text) !important;
}

/* cheque-monitoring: days colour indicators stay, just ensure body text is readable */
html.dark-mode .days-positive { color: #34d399 !important; }
html.dark-mode .days-zero     { color: #fbbf24 !important; }
html.dark-mode .days-negative { color: #f87171 !important; }

/* cheque-monitoring: stats cards (pending/upcoming/due-today/overdue/total/cleared/cancelled)
   keep gradient icons, only fix white card background */
html.dark-mode .stats-card.pending,
html.dark-mode .stats-card.upcoming,
html.dark-mode .stats-card.due-today,
html.dark-mode .stats-card.overdue,
html.dark-mode .stats-card.total,
html.dark-mode .stats-card.cleared,
html.dark-mode .stats-card.cancelled {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* ── cheque-monitoring: table container card ─────────────────── */
html.dark-mode .table-container {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}

html.dark-mode .table-container h5 {
    color: var(--dm-text-strong) !important;
}


/* ── cheque-monitoring: inline remarks input in table ────────── */
html.dark-mode .remarks-input {
    background: var(--dm-input-bg) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text-strong) !important;
}

html.dark-mode .remarks-input:focus {
    border-color: var(--dm-accent) !important;
    box-shadow: 0 0 0 2px rgba(79,124,255,0.15) !important;
}

html.dark-mode .remarks-input::placeholder {
    color: var(--dm-text-muted) !important;
}

/* ── cheque-monitoring: summary cards section ────────────────── */
html.dark-mode .summary-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.35) !important;
}

html.dark-mode .summary-card:hover {
    border-color: var(--dm-accent) !important;
}

html.dark-mode .summary-header {
    border-bottom-color: var(--dm-border) !important;
}

html.dark-mode .summary-header h6 {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .summary-item {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .summary-item:hover {
    border-color: var(--dm-accent) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4) !important;
}

html.dark-mode .summary-label {
    color: var(--dm-text) !important;
}

html.dark-mode .summary-amount {
    background: rgba(79,124,255,0.12) !important;
    color: #7aa3ff !important;
}

html.dark-mode .status-breakdown {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .status-breakdown-title {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .status-breakdown-title i {
    color: var(--dm-accent) !important;
}

/* Status grid items */
html.dark-mode .status-item {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-border-2) !important;
}

html.dark-mode .status-item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.45) !important;
}

html.dark-mode .status-number {
    color: inherit !important;
}

html.dark-mode .status-label {
    color: var(--dm-text) !important;
}

html.dark-mode .status-amount {
    background: rgba(79,124,255,0.12) !important;
    color: #7aa3ff !important;
}

/* Native <select> option elements inherit browser chrome — force dark */
html.dark-mode select option {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
}

/* Bootstrap outline buttons inside dark mode (filter area) */
html.dark-mode .btn-outline-secondary {
    color: var(--dm-text) !important;
    border-color: var(--dm-border-2) !important;
}

html.dark-mode .btn-outline-secondary:hover {
    background-color: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
}

/* ── cheque-monitoring: quick-filter section ─────────────────── */
html.dark-mode .quick-filter-section {
    background: var(--dm-surface-2) !important;
    border-left-color: var(--dm-accent) !important;
}

html.dark-mode .quick-filter-section label {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .quick-filter-btn {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text) !important;
    box-shadow: none !important;
}

html.dark-mode .quick-filter-btn:hover {
    border-color: var(--dm-accent) !important;
    color: var(--dm-accent) !important;
    background: var(--dm-surface-3) !important;
}

html.dark-mode .quick-filter-btn.active {
    background: linear-gradient(135deg, #4f7cff 0%, #3b5fd4 100%) !important;
    border-color: #4f7cff !important;
    color: #fff !important;
}

/* ── Shared: container-fluid bg ──────────────────────────────── */
html.dark-mode .container-fluid {
    background-color: transparent !important;
}

/* ── cheque-monitoring.php & payment-report.php: stat cards ───── */
html.dark-mode .stats-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}

html.dark-mode .stats-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.45) !important;
    border-color: var(--dm-border-2) !important;
}

html.dark-mode .stats-card .stat-value {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .stats-card .stat-label {
    color: var(--dm-text) !important;
}

html.dark-mode .stats-card .stat-amount {
    color: var(--dm-text) !important;
}

/* stat-cards that have their own gradient bg (report page) keep gradients — only override white ones */
html.dark-mode .stats-card:not([class*="card-p"]):not(.pending):not(.upcoming):not(.due-today):not(.overdue):not(.total):not(.cleared):not(.cancelled) {
    background: var(--dm-surface) !important;
}

/* ── cheque-monitoring.php: stat trend badges ─────────────────── */
html.dark-mode .stats-card .stat-trend.positive {
    background: rgba(16,185,129,0.15) !important;
    color: #6ee7b7 !important;
}

html.dark-mode .stats-card .stat-trend.negative {
    background: rgba(239,68,68,0.15) !important;
    color: #fca5a5 !important;
}

/* ── cheque-monitoring.php: quick filter section ─────────────── */
html.dark-mode .quick-filter-section {
    background: var(--dm-surface-2) !important;
    border-left-color: var(--dm-accent) !important;
}

html.dark-mode .quick-filter-section label,
html.dark-mode .quick-filter-section label * {
    color: var(--dm-text-strong) !important;
}

html.dark-mode .quick-filter-btn {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border-2) !important;
    color: var(--dm-text) !important;
    box-shadow: none !important;
}

html.dark-mode .quick-filter-btn:hover {
    background: var(--dm-surface-3) !important;
    border-color: var(--dm-accent) !important;
    color: var(--dm-accent) !important;
}

html.dark-mode .quick-filter-btn.active {
    background: linear-gradient(135deg, #4f7cff 0%, #3b5fd4 100%) !important;
    border-color: #4f7cff !important;
    color: #fff !important;
}

/* ── cheque-monitoring.php: table wrapper cards ───────────────── */
html.dark-mode .table-section,
html.dark-mode .cheque-table-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

/* ── cheque-monitoring.php: top navbar ───────────────────────── */
html.dark-mode .top-navbar {
    background: var(--dm-surface) !important;
    border-bottom-color: var(--dm-border) !important;
}

html.dark-mode .top-navbar h4,
html.dark-mode .top-navbar h5 {
    color: var(--dm-text-strong) !important;
}

/* ── payment_form.php: CSS variable overrides ────────────────── */
html.dark-mode {
    --form-bg:       #0f1117;
    --card-bg:       #161b26;
    --card-border:   rgba(255,255,255,0.07);
    --card-shadow:   0 10px 24px rgba(0,0,0,0.4);
    --muted-text:    #8b93a3;
    --heading-text:  #dde1ea;
}

html.dark-mode body {
    background: var(--dm-bg) !important;
}

html.dark-mode .form-section {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .form-section h5 {
    color: var(--dm-text-strong) !important;
    border-bottom-color: var(--dm-border) !important;
}

/* ── payment_form.php: particular & bank rows ────────────────── */
html.dark-mode .particular-row,
html.dark-mode .bank-row {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .particular-row:hover,
html.dark-mode .bank-row:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.4) !important;
}

/* ── payment_form.php: total summary ─────────────────────────── */
html.dark-mode .total-summary {
    background: var(--dm-surface-2) !important;
    border-color: var(--dm-border) !important;
}

/* ── payment_form.php: check preview ─────────────────────────── */
html.dark-mode .check-preview {
    background: var(--dm-surface-2) !important;
    border-color: rgba(79,124,255,0.25) !important;
}

/* ── payment_form.php: sticky toolbar ────────────────────────── */
html.dark-mode .btn-toolbar {
    background: rgba(22,27,38,0.96) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.4) !important;
}

html.dark-mode .btn-toolbar h2 {
    color: var(--dm-text-strong) !important;
}

/* ── all-payments.php: inline card styles ────────────────────── */
html.dark-mode .card[style*="border: 1px solid #e9ecef"],
html.dark-mode .card[style*="border:1px solid #e9ecef"] {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .card-header[style*="background: linear-gradient"] {
    background: var(--dm-surface-2) !important;
    border-bottom-color: var(--dm-border) !important;
}

html.dark-mode .card-header h5[style*="color: #1a252f"],
html.dark-mode .card-header h5[style*="color:#1a252f"] {
    color: var(--dm-text-strong) !important;
}

/* ── payment-report.php: report output area ──────────────────── */
html.dark-mode #reportOutput,
html.dark-mode .report-card {
    background: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-strong) !important;
}

/* ── Shared: form-label hardcoded colours ────────────────────── */
html.dark-mode .form-label {
    color: var(--dm-text-strong) !important;
}

/* ── Shared: table thead dark gradient override ──────────────── */
html.dark-mode .table thead th[style],
html.dark-mode .table thead th {
    background: var(--dm-surface-2) !important;
    color: var(--dm-text-strong) !important;
    border-color: var(--dm-border) !important;
}

html.dark-mode .table tbody tr:hover td {
    background-color: var(--dm-surface-3) !important;
}
