/* =====================================================================
   Dark theme — overrides for colors that are hard-coded in other sheets
   (everything token-based already follows design_tokens.css).
   Loaded last; every rule is scoped to <html data-theme="dark">.
   Print pages don't extend base.html, so they always stay light.
   ===================================================================== */

/* ---- Page background & navbar (main.css) ---- */
[data-theme="dark"] body {
    background:
        radial-gradient(1100px 620px at 88% -8%, rgba(18, 176, 122, 0.10), transparent 58%),
        radial-gradient(880px 520px at -8% 112%, rgba(232, 180, 33, 0.05), transparent 55%),
        linear-gradient(170deg, #0c1613 0%, #0e1a16 55%, #0b1512 100%);
    background-attachment: fixed;
    color: var(--color-text);
}
[data-theme="dark"] .navbar {
    background: rgba(16, 32, 26, 0.82) !important;
    border-bottom-color: rgba(18, 176, 122, 0.22);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .navbar:hover { background: rgba(18, 38, 31, 0.9) !important; }
[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar .nav-link { color: var(--color-heading); }
[data-theme="dark"] .navbar .badge.bg-danger { box-shadow: 0 0 0 2px rgba(20, 34, 29, 0.9); }
[data-theme="dark"] .navbar-toggler { border-color: var(--color-border-strong); }
@media (max-width: 991.98px) {
    [data-theme="dark"] .navbar { background: rgba(16, 32, 26, 0.96) !important; }
}

/* ---- Bootstrap surfaces ---- */
[data-theme="dark"] .table {
    --bs-table-bg: var(--color-surface);
    --bs-table-color: var(--color-text);
    --bs-table-hover-bg: var(--color-surface-alt);
    --bs-table-hover-color: var(--color-text);
    --bs-table-striped-bg: var(--color-bg-strong);
    --bs-table-border-color: var(--color-border);
}
[data-theme="dark"] .card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .popover:not(.items-qv-popover) {
    background-color: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}
[data-theme="dark"] .dropdown-item { color: var(--color-text); }
[data-theme="dark"] .dropdown-divider { border-color: var(--color-border); }
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: var(--color-bg-strong);
    color: var(--color-text);
    border-color: var(--color-border-strong);
}
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus,
[data-theme="dark"] form input:focus,
[data-theme="dark"] .mx-auto input:focus { background-color: var(--color-surface-alt); color: var(--color-text); }
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly]:not(.js-jdp),
[data-theme="dark"] .form-select:disabled { background-color: var(--color-surface-alt); color: var(--color-muted); }
[data-theme="dark"] .form-control::placeholder { color: #6f857b; }
[data-theme="dark"] .text-muted { color: var(--color-muted) !important; }
[data-theme="dark"] .table-light { --bs-table-bg: var(--color-surface-alt); --bs-table-color: var(--color-heading); }
[data-theme="dark"] .alert-success { background: var(--color-success-soft); color: #9be8c6; border-color: #1d5240; }
[data-theme="dark"] .alert-danger { background: var(--color-danger-soft); color: #fecdd3; border-color: #6b2232; }
[data-theme="dark"] .alert-warning { background: var(--color-warning-soft); color: #fde68a; border-color: #6a5418; }
[data-theme="dark"] .alert-info { background: var(--color-info-soft); color: #a7f3eb; border-color: #1c5a54; }
[data-theme="dark"] .page-link { background-color: var(--color-surface); color: var(--color-primary-dark); border-color: var(--color-border); }
[data-theme="dark"] .page-item.disabled .page-link { background-color: var(--color-surface-alt); color: var(--color-muted); }
[data-theme="dark"] .btn-close { filter: invert(1) grayscale(1) brightness(1.6); }
[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom { border-color: var(--color-border) !important; }

/* ---- Dashboard (dashboard_task_first.css) ---- */
[data-theme="dark"] .action-button,
[data-theme="dark"] .list-item {
    background: rgba(20, 34, 29, 0.78);
    border-color: rgba(18, 176, 122, 0.16);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    color: var(--color-text);
}
[data-theme="dark"] .action-button:hover,
[data-theme="dark"] .list-item:hover { background: rgba(18, 176, 122, 0.12); }

/* ---- Lists (list_styles.css) ---- */
[data-theme="dark"] .table tbody tr:nth-of-type(even) { background-color: transparent; }
[data-theme="dark"] .table .btn-outline-secondary { color: var(--color-text); border-color: var(--color-border-strong); }
[data-theme="dark"] .pagination .page-item.disabled .page-link { color: var(--color-muted); }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    [data-theme="dark"] .list-toolbar { background: rgba(20, 34, 29, 0.96); }
}

/* ---- Detail pages (detail_styles.css) ---- */
[data-theme="dark"] .info-group p { border-right-color: var(--color-border); }
[data-theme="dark"] .summary-chip span,
[data-theme="dark"] .status-card__meta,
[data-theme="dark"] .receipt-history__details,
[data-theme="dark"] .receipt-history__audit small { color: var(--color-muted); }
[data-theme="dark"] .summary-chip small { color: #7a9187; }
[data-theme="dark"] .receipt-history__audit { color: var(--color-text); }
[data-theme="dark"] .status-card { background: var(--color-surface); }
[data-theme="dark"] .summary-chip--highlight { background: linear-gradient(135deg, rgba(232, 180, 33, 0.14), var(--color-surface)); }
[data-theme="dark"] .order-actions-container .bottom-actions { border-top-color: var(--color-border); }
[data-theme="dark"] .order-actions-container .cancel-form { background-color: var(--color-danger-soft); }
[data-theme="dark"] .order-actions-container .cancel-form .form-control { background-color: var(--color-bg-strong); border-color: #6b2232; }
[data-theme="dark"] .order-actions-container .btn-dark { background-color: #e2e8f0; border-color: #e2e8f0; color: #0f172a; }
[data-theme="dark"] .order-actions-container .btn-secondary { background-color: #3a4d45; border-color: #3a4d45; color: var(--color-text); }

/* ---- Forms (form_styles.css, components_modern.css) ---- */
[data-theme="dark"] .text-danger { background-color: transparent; color: #fda4af !important; }
[data-theme="dark"] .glass-strong { background: rgba(20, 34, 29, 0.92); }

/* ---- Autocomplete dropdown (auto_complete_styles.css) ---- */
[data-theme="dark"] .autocomplete-results { background: var(--color-surface); border: 1px solid var(--color-border); }

/* ---- Jalali date picker (jalali_datepicker_theme.css + persian-datepicker lib) ---- */
[data-theme="dark"] .jalali-date-input,
[data-theme="dark"] .jalali-date-input:focus-visible { background-color: var(--color-bg-strong); color: var(--color-text); }
[data-theme="dark"] jdp-container { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border); }
[data-theme="dark"] jdp-container .jdp-year,
[data-theme="dark"] jdp-container .jdp-month,
[data-theme="dark"] jdp-container .jdp-btn-empty { background: var(--color-bg-strong); color: var(--color-text); }
[data-theme="dark"] jdp-container .jdp-day,
[data-theme="dark"] jdp-container .jdp-day-name { color: var(--color-text); }
[data-theme="dark"] .datepicker-plot-area {
    background-color: var(--color-surface) !important;
    color: var(--color-text);
    border-color: var(--color-border) !important;
    box-shadow: var(--shadow-md) !important;
}
[data-theme="dark"] .datepicker-plot-area * { color: var(--color-text); }
[data-theme="dark"] .datepicker-plot-area .datepicker-navigator,
[data-theme="dark"] .datepicker-plot-area .toolbox,
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td span,
[data-theme="dark"] .datepicker-plot-area .datepicker-month-view .month-item,
[data-theme="dark"] .datepicker-plot-area .datepicker-year-view .year-item { background-color: transparent !important; }
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td span:hover,
[data-theme="dark"] .datepicker-plot-area .datepicker-month-view .month-item:hover,
[data-theme="dark"] .datepicker-plot-area .datepicker-year-view .year-item:hover { background-color: var(--color-primary-tint) !important; }
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td.selected span,
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td.today span { background-color: var(--color-primary) !important; color: #fff !important; }
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td.disabled span,
[data-theme="dark"] .datepicker-plot-area .datepicker-day-view .table-days td.other-month span { color: #55695f !important; }

/* ---- Quick view popover (main.css) ---- */
[data-theme="dark"] .items-qv-popover { --bs-popover-bg: rgba(20, 38, 31, 0.9); }

/* ---- Logos & images on dark ---- */
[data-theme="dark"] .navbar-brand .logo { filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5)) brightness(1.05); }
