/* Hide default Django admin changelist title (e.g., “Select … to change”) */
#content > h1:first-of-type {
    display: none;
}
/* Updated color palette for light theme (default) */
:root {
    --primary-bg: #ffffff; /* White background */
    --primary-text: #1f2937; /* Dark text */
    /* Alias used by templates: keep both names in sync */
    --text-primary: var(--primary-text);
    /* Text color to use on accent backgrounds (e.g., header gradient) */
    --text-on-accent: #ffffff;
    --secondary-bg: #f8fafc; /* Light gray background */
    --secondary-text: #6b7280; /* Medium gray text */
    --accent-color: #3c4555e3; /* Blue accent */
    --progress-bg: #e5e7eb; /* Light progress bar background */
    --progress-fill: #3c4555e3; /* Blue progress bar fill */
    --secondary-slate: #f1f5f9; /* Very light gray for odd rows */
    --bg-light: #ffffff; /* White for even rows */
    --border-color: #e5e7eb; /* Light border */
    --table-header-bg: #f3f4f6; /* Light table header */
    --table-hover: #e0f2fe; /* Light blue hover */
    --input-bg: #ffffff; /* White input background */
    --input-border: #d1d5db; /* Light input border */
    --card-bg: #ffffff; /* White card background */
    --section-bg: #f8fafc; /* Light section background */
    --info-bg: #e8f4f8;
    --info-border: #0073aa;
    --warning-bg: #fff3cd;
    --warning-border: #ffeaa7;
    --danger-text: #b91c1c;
    --success-text: #047857;
    /* Admin index / base_site aliases */
    --surface: var(--card-bg);
    --t1: var(--primary-text);
    --t2: var(--secondary-text);
    --t3: #94a3b8;
    --muted-text: #94a3b8;
    --accent: var(--accent-color);
    --brand-1: var(--accent-color);
    --brand-2: color-mix(in srgb, var(--accent-color) 82%, #000 18%);
}

/* Dark theme variables */
[data-theme="dark"] {
    --primary-bg: #1f2937; /* Dark background */
    --primary-text: #ffffff; /* White text */
    /* Keep alias in dark mode as well */
    --text-primary: var(--primary-text);
    /* Ensure text-on-accent remains white in dark mode */
    --text-on-accent: #ffffff;
    --secondary-bg: #374151; /* Darker gray background */
    --secondary-text: #d1d5db; /* Light gray text */
    --accent-color: #3c4555e3; /* Light blue accent */
    --progress-bg: #4b5563; /* Dark progress bar background */
    --progress-fill: #3c4555e3; /* Light blue progress bar fill */
    --secondary-slate: #1f2937; /* Dark for odd rows */
    --bg-light: #252e3e; /* Darker for even rows */
    --border-color: #374151; /* Dark border */
    --table-header-bg: #374151; /* Dark table header */
    --table-hover: #374151; /* Dark hover */
    --input-bg: #1f2937; /* Dark input background */
    --input-border: #4b5563; /* Dark input border */
    --card-bg: #1f2937; /* Dark card background */
    --section-bg: #111827; /* Darker section background */
    --info-bg: rgba(14, 116, 144, 0.16);
    --info-border: #38bdf8;
    --warning-bg: rgba(161, 98, 7, 0.18);
    --warning-border: rgba(250, 204, 21, 0.45);
    --danger-text: #fca5a5;
    --success-text: #86efac;
    --t3: #94a3b8;
    --muted-text: #94a3b8;
}

/* Global theme transitions */
[data-theme="dark"] .changelist {
    background-color: var(--section-bg) !important;
    color: var(--primary-text) !important;
}

/* Enforce white text across dark theme to ensure readability. This forces
   any element that still uses hard-coded colors to inherit the dark
   theme's primary text color. Use cautiously but required per request. */
html[data-theme="dark"], body[data-theme="dark"] {
    color: var(--primary-text) !important;
}

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

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

[data-theme="dark"] #changelist table thead th {
    background-color: var(--table-header-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #changelist table tbody tr {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #changelist table tbody tr:nth-child(odd) {
    background-color: var(--secondary-slate) !important;
}

[data-theme="dark"] #changelist table tbody tr:hover {
    background-color: var(--table-hover) !important;
}

[data-theme="dark"] #changelist table tbody td {
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

/* Dark theme button styling — preserve accent and semantic action colors */
[data-theme="dark"] button.bg-blue-600,
[data-theme="dark"] .bg-blue-600 {
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent, #fff) !important;
}

[data-theme="dark"] button.bg-blue-600:hover,
[data-theme="dark"] .bg-blue-600:hover,
[data-theme="dark"] .hover\:bg-blue-600:hover,
[data-theme="dark"] .hover\:bg-blue-700:hover {
    background-color: color-mix(in srgb, var(--accent-color) 88%, #fff 12%) !important;
}

[data-theme="dark"] button.bg-blue-500,
[data-theme="dark"] .bg-blue-500 {
    background-color: var(--accent-color) !important;
}

[data-theme="dark"] button.bg-blue-500:hover,
[data-theme="dark"] .bg-blue-500:hover {
    background-color: color-mix(in srgb, var(--accent-color) 88%, #fff 12%) !important;
}

[data-theme="dark"] button.bg-green-500,
[data-theme="dark"] .bg-green-500,
[data-theme="dark"] button.bg-green-600,
[data-theme="dark"] .bg-green-600 {
    background-color: color-mix(in srgb, var(--success-text) 35%, var(--card-bg) 65%) !important;
    color: var(--success-text) !important;
}

[data-theme="dark"] button.bg-green-500:hover,
[data-theme="dark"] .bg-green-500:hover,
[data-theme="dark"] button.bg-green-600:hover,
[data-theme="dark"] .bg-green-600:hover,
[data-theme="dark"] .hover\:bg-green-600:hover,
[data-theme="dark"] .hover\:bg-green-700:hover {
    background-color: color-mix(in srgb, var(--success-text) 45%, var(--card-bg) 55%) !important;
}

[data-theme="dark"] button.bg-yellow-600,
[data-theme="dark"] .bg-yellow-600 {
    background-color: color-mix(in srgb, var(--warning-text, #fbbf24) 30%, var(--card-bg) 70%) !important;
    color: var(--warning-text, #fde68a) !important;
}

[data-theme="dark"] button.bg-red-600,
[data-theme="dark"] .bg-red-600 {
    background-color: color-mix(in srgb, var(--danger-text) 30%, var(--card-bg) 70%) !important;
    color: var(--danger-text) !important;
}

[data-theme="dark"] button.bg-yellow-600:hover,
[data-theme="dark"] .bg-yellow-600:hover,
[data-theme="dark"] .hover\:bg-yellow-600:hover,
[data-theme="dark"] .hover\:bg-yellow-700:hover {
    background-color: color-mix(in srgb, var(--warning-text, #fbbf24) 40%, var(--card-bg) 60%) !important;
}

[data-theme="dark"] button.bg-red-600:hover,
[data-theme="dark"] .bg-red-600:hover {
    background-color: color-mix(in srgb, var(--danger-text) 40%, var(--card-bg) 60%) !important;
    color: var(--danger-text) !important;
}

[data-theme="dark"] button.bg-gray-600,
[data-theme="dark"] .bg-gray-600 {
    background-color: #4b5563 !important;
}

[data-theme="dark"] button.bg-gray-600:hover,
[data-theme="dark"] .bg-gray-600:hover,
[data-theme="dark"] .hover\:bg-gray-600:hover,
[data-theme="dark"] .hover\:bg-gray-700:hover {
    background-color: #374151 !important;
}

[data-theme="dark"] button.bg-gray-200,
[data-theme="dark"] .bg-gray-200 {
    background-color: #374151 !important;
    color: var(--primary-text) !important;
}

[data-theme="dark"] button.bg-gray-200:hover,
[data-theme="dark"] .bg-gray-200:hover,
[data-theme="dark"] .hover\:bg-gray-300:hover {
    background-color: #4b5563 !important;
}

/* Dark theme input and form styling */
[data-theme="dark"] input.bg-white,
[data-theme="dark"] select.bg-white,
[data-theme="dark"] .bg-white {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

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

/* Dark theme sidebar */
[data-theme="dark"] #nav-sidebar {
    background-color: var(--card-bg) !important;
}

/* Dark theme main content backgrounds */
[data-theme="dark"] .bg-gray-50 {
    background-color: var(--secondary-bg) !important;
}

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

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

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

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

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

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

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

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

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

/* Dark theme specific overrides for any remaining white backgrounds */
[data-theme="dark"] * {
    scrollbar-width: thin;
    scrollbar-color: var(--secondary-bg) var(--card-bg);
}

[data-theme="dark"] *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

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

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

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

/* Dark theme banner/header styling */
[data-theme="dark"] .bg-gradient-to-r.from-blue-500.to-blue-600 {
    background: linear-gradient(to right, var(--secondary-bg), var(--card-bg)) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

#result_list {
    border-collapse: collapse;
    /* Allow table to grow wider than the viewport so horizontal scroll can appear */
    width: max-content;
    min-width: 100%;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.76rem;
    color: var(--primary-text);
    background-color: var(--card-bg);
    transition: background-color 0.3s ease, color 0.3s ease;
}

#result_list th {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0;
    background-color: var(--table-header-bg);
    color: var(--primary-text);
    font-weight: 700;
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid var(--border-color);
    z-index: 10; /* ensure header stays above body cells */
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

#result_list td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--border-color);
    color: var(--primary-text);
    font-weight: 500;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

#result_list td *,
#result_list th * {
    color: inherit;
}

#result_list td a,
#result_list th a {
    color: var(--primary-text);
}

#result_list td a:hover,
#result_list th a:hover {
    color: var(--accent-color);
}

#result_list tbody tr:nth-child(odd) {
    background-color: color-mix(in srgb, var(--card-bg) 86%, var(--secondary-slate) 14%);
}

#result_list tbody tr:nth-child(even) {
    background-color: color-mix(in srgb, var(--card-bg) 92%, var(--bg-light) 8%);
}

#result_list tbody tr:hover {
    background-color: color-mix(in srgb, var(--table-hover) 26%, var(--card-bg) 74%);
    cursor: pointer;
}

/* Remove excessive shadows and effects - Theme aware */
.enhanced-table-container {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    /* No scrolling here; .table-wrapper handles both axes */
    overflow: visible;
    background-color: var(--card-bg);
}

/* Ensure only the outer page shows scrollbars. The Django admin
   wraps the results table in a `.results` container with
   `overflow: auto`, which creates a second inner scrollbar.
   Override it so the table can overflow and the page handles
   scrolling (the bottom, outside bar), removing the inner one. */
.results,
#changelist .results {
    overflow: visible !important;
    max-width: none !important;
}

/* Some builds apply overflow on `.module` around the results; clear it too */
#changelist .module,
.module .results {
    overflow: visible !important;
}

/* Removed top sticky scrollbar to avoid duplicate horizontal bars */

/* Floating horizontal scrollbar (always visible, aligned to table) */
#floating-hscroll {
    position: fixed;
    bottom: 0;
    height: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    background:#111827;
    border-top: 1px solid var(--border-color);
    box-shadow: 0 -2px 6px rgba(0,0,0,0.06);
    z-index: 2000; /* below modal (10k), above content */
    display: none; /* toggled via JS when needed */
}
#floating-hscroll::-webkit-scrollbar { height: 12px; }
#floating-hscroll .inner { height: 1px; }

/* Light mode: make bottom horizontal scrollbar grey instead of white */
[data-theme="light"] #floating-hscroll {
    background: #f3f4f6; /* gray-100 */
    border-top-color: #e5e7eb; /* gray-200 */
    scrollbar-color: #9ca3af #e5e7eb; /* thumb gray-400 on track gray-200 (Firefox) */
}
[data-theme="light"] #floating-hscroll::-webkit-scrollbar-track {
    background-color: #e5e7eb; /* gray-200 */
}
[data-theme="light"] #floating-hscroll::-webkit-scrollbar-thumb {
    background-color: #9ca3af; /* gray-400 */
    border-radius: 8px;
    border: 2px solid #e5e7eb; /* blend with track */
}

/* Ensure headers and most cells don't wrap so the table can scroll horizontally */
#result_list th,
#result_list td {
    white-space: nowrap;
}
/* Allow long text fields to wrap to avoid extreme horizontal growth */
#result_list td.field-remarks,
#result_list td.field-notes,
#result_list td.field-rejection_reason {
    white-space: normal;
}

/* Remove heavy global button styling; rely on component classes */

/* Sidebar adjustments - Theme aware */
#nav-sidebar {
    background-color: var(--card-bg);
    border-right: 1px solid var(--border-color);
    transition: background-color 0.25s ease, border-color 0.25s ease, width 0.25s ease, transform 0.08s ease;
    /* More compact default wide width while still roomy for labels */
    width: 320px; /* balanced width for labels */
    min-width: 88px; /* allow compact-mode fallback */
    max-width: 60vw;
}

#nav-sidebar a {
    background: transparent !important; /* avoid global link backgrounds */
    color: var(--accent-color);
    text-decoration: none;
    padding: 6px 10px; /* compact spacing */
    font-size: 0.7rem; /* slightly smaller text */
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

#nav-sidebar a:hover {
    background-color: var(--secondary-bg);
    color: var(--primary-text);
    transition: background-color 0.15s ease, color 0.15s ease;
}

/* Compact headings and action button sizing inside sidebar */
#nav-sidebar .sidebar-heading {
    padding: 8px 10px;
    font-size: 0.7rem;
    margin-bottom: 6px;
}

#nav-sidebar .action-buttons {
    gap: 6px;
    display: flex;
    flex-wrap: wrap;
}

/* Utility: truncate long KPI/stat card text without expanding the card */
.kpi-truncate {
    display: block; /* ensure block-level for width computations */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100%;
}

/* KPI card content that is too long can opt into gentle marquee motion. */
.kpi-marquee {
    position: relative;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.kpi-marquee > .kpi-marquee-inner {
    display: inline-block;
    white-space: nowrap;
    transform: translateX(0);
}

.kpi-marquee.is-overflowing > .kpi-marquee-inner {
    animation: kpiMarqueeSlide var(--kpi-marquee-duration, 9s) ease-in-out infinite alternate;
}

@keyframes kpiMarqueeSlide {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-1 * var(--kpi-marquee-shift, 0px))); }
}

#nav-sidebar .action-btn {
    padding: 6px 8px;
    font-size: 10px;
    border-radius: 6px;
    background: transparent;
    border: 1px solid var(--input-border);
    color: var(--primary-text);
}

/* Collapsed (icon-only) sidebar for compact view */
#nav-sidebar.collapsed,
#nav-sidebar.sidebar-collapsed {
    width: 72px !important;
    overflow: visible;
}

#nav-sidebar.collapsed a {
    justify-content: center;
    padding: 8px 6px;
}

#nav-sidebar .nav-label { /* labels that can be hidden when collapsed */
    display: inline-block;
    transition: opacity 0.12s ease, width 0.12s ease;
    font-size: 0.7rem;
    line-height: 1.1;
}

#nav-sidebar.collapsed .nav-label {
    opacity: 0;
    width: 0;
    display: none;
}

/* show tooltips for collapsed icon-only items */
#nav-sidebar.collapsed a[title] {
    position: relative;
}

#nav-sidebar.collapsed a[title]:hover::after {
    content: attr(title);
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    background: var(--card-bg);
    color: var(--primary-text);
    border: 1px solid var(--border-color);
    padding: 6px 8px;
    border-radius: 6px;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    z-index: 9999;
}

/* Adjust headings & section separators to be denser */
#nav-sidebar .section { padding: 6px 6px; }
#nav-sidebar h2, #nav-sidebar .sidebar-heading { margin: 0 0 6px 0; font-size: 0.7rem; }

/* Make details/summary more compact */
#nav-sidebar details summary {
    padding: 8px 10px;
    font-size: 0.7rem;
}
#nav-sidebar details div { padding: 6px 10px; }

/* Responsive: ensure collapsed behavior on small screens remains slide-in */
@media (max-width: 1024px) {
    #nav-sidebar { width: 280px; }
    #nav-sidebar.collapsed { transform: translateX(-100%); width: 280px; }
}

/* Collapsed (icons-only) sidebar */
#nav-sidebar.sidebar-collapsed {
    width: 72px !important;
    min-width: 72px !important;
}

#nav-sidebar.sidebar-collapsed .sidebar-heading {
    display: none; /* hide the heading to save space */
}

#nav-sidebar.sidebar-collapsed .mobile-menu-btn {
    display: none;
}


/* ------------------------------------------------------------------
   Denial-specific compact and color-friendly enhancements
   - Provides explicit .denial-wide / .denial-compact semantics
   - Hides labels in compact mode and centers icons
   - Improves hover, focus and accessible contrast
   ------------------------------------------------------------------ */

/* Wide and compact class targets used by template JS */
#nav-sidebar.denial-wide { width: 320px !important; }
#nav-sidebar.denial-compact { width: 5.5rem !important; overflow: visible; }

/* Icon + label helpers so compact mode can hide labels cleanly */
#nav-sidebar .nav-item { display: flex; align-items: center; gap: 10px; }
#nav-sidebar .nav-icon { width: 28px; text-align: center; color: var(--accent-color); }
#nav-sidebar .nav-label { display: inline-block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Hide textual labels and headings in compact mode */
body.denial-page #nav-sidebar.denial-compact .nav-label,
body.denial-page #nav-sidebar.denial-compact .sidebar-heading,
body.denial-page #nav-sidebar.denial-compact .action-btn span.label {
    display: none !important;
}

/* Make compact items centered and larger to improve tap targets */
body.denial-page #nav-sidebar.denial-compact a { justify-content: center; padding: 12px 6px; }
body.denial-page #nav-sidebar.denial-compact .nav-icon { font-size: 1.05rem; }

/* Slightly darker hover for better contrast */
#nav-sidebar a:hover { background-color: color-mix(in srgb, var(--secondary-bg) 80%, rgba(0,0,0,0.03)); }

/* Focus states for keyboard navigation */
#nav-sidebar a:focus { outline: 3px solid color-mix(in srgb, var(--accent-color) 70%, #000 30%); outline-offset: 2px; }

/* Ensure content margin aligns with wide/compact states (kept as defensive fallback) */
body.denial-page .denial-content { margin-left: 320px !important; }
body.denial-page .denial-content.denial-compact { margin-left: 5.5rem !important; }

/* Slightly soften sidebar background to visually separate from content */
#nav-sidebar { background-color: color-mix(in srgb, var(--card-bg) 88%, #f8fafc 12%); }

#nav-sidebar.sidebar-collapsed a {
    padding: 8px 6px;
    text-align: center;
}

#nav-sidebar.sidebar-collapsed a .nav-label {
    display: none; /* hide text labels */
}

#nav-sidebar.sidebar-collapsed .fa-fw {
    margin-right: 0 !important;
}

#nav-sidebar .nav-icon {
    width: 28px;
    text-align: center;
}

/* Ensure details summary compact appearance */
#nav-sidebar details summary {
    padding: 10px 8px;
    gap: 8px;
}

#nav-sidebar details[open] > summary {
    background: var(--secondary-slate);
}

/* Truncate long labels */
#nav-sidebar a span {
    display: inline-block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------------------------------------------------------------
   Workbook tables: bold headers, readable size, compact-but-comfortable
   Shared across denial / collection / coding / provider / generic (AR, payment, …)
   --------------------------------------------------------------- */
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) {
    --wb-table-font-size: 0.8125rem;       /* 13px — readable, not cramped */
    --wb-table-header-size: 0.8125rem;
    --wb-table-py: 0.45rem;                /* ~7px vertical */
    --wb-table-px: 0.65rem;                /* ~10px horizontal */
    --wb-table-header-weight: 700;
    --wb-table-cell-weight: 500;
    --wb-table-line-height: 1.3;
    /* Legacy denial var aliases */
    --denial-table-font-size: var(--wb-table-font-size);
    --denial-table-header-size: var(--wb-table-header-size);
    --denial-table-py: var(--wb-table-py);
    --denial-table-px: var(--wb-table-px);
}

:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: var(--wb-table-font-size);
}

:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list th {
    font-size: var(--wb-table-header-size) !important;
    font-weight: var(--wb-table-header-weight) !important;
    padding: var(--wb-table-py) var(--wb-table-px) !important;
    line-height: var(--wb-table-line-height);
    letter-spacing: 0.015em;
    white-space: nowrap;
}

:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list td {
    font-size: var(--wb-table-font-size) !important;
    font-weight: var(--wb-table-cell-weight);
    padding: var(--wb-table-py) var(--wb-table-px) !important;
    line-height: var(--wb-table-line-height);
    vertical-align: middle;
}

:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list td input,
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list td select,
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list td textarea,
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list td a,
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list a.assign-inline,
:is(
  body.denial-page,
  body.collection-page,
  body.missingslip-page,
  body.providerreviews-page,
  body.generic-workbook-page,
  body.payment-page
) #result_list a.claim-id-link {
    font-size: inherit !important;
    font-family: inherit !important;
}

/* Missing-slips wrapper tables (same token scale) */
body.missingslip-page .enhanced-table-container .table-wrapper th,
body.missingslip-page .enhanced-table-container .table-wrapper td {
    padding: var(--wb-table-py) var(--wb-table-px) !important;
    font-size: var(--wb-table-font-size) !important;
    line-height: var(--wb-table-line-height);
    vertical-align: middle;
}
body.missingslip-page .enhanced-table-container .table-wrapper th {
    font-weight: var(--wb-table-header-weight) !important;
}

/* Denial: First (checkbox) column tighter */
body.denial-page #result_list th:first-child,
body.denial-page #result_list td:first-child {
    width: 36px;
    text-align: center;
    padding-left: 6px;
    padding-right: 6px;
}
/* Numeric columns right-aligned for readability in dense layout */
body.denial-page #result_list td.field-chg,
body.denial-page #result_list td.field-netpmt,
body.denial-page #result_list td.field-contract,
body.denial-page #result_list td.field-netreceivable {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* Center a few categorical/short columns */
body.denial-page #result_list td.field-aging_display,
body.denial-page #result_list td.field-follow_up_delay {
    text-align: center;
}
/* Make sticky columns keep dense padding too (if present) */
body.denial-page #result_list th:nth-child(1),
body.denial-page #result_list th:nth-child(2),
body.denial-page #result_list td:nth-child(1),
body.denial-page #result_list td:nth-child(2) {
    padding-top: var(--denial-table-py, 6px);
    padding-bottom: var(--denial-table-py, 6px);
}

/* Smooth width transitions */
#nav-sidebar {
    transition: width 200ms ease, min-width 200ms ease, background-color 150ms ease;
}

/* Mobile slide-in behavior for left admin sidebar */
@media (max-width: 1024px) {
    #nav-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 280px;
        max-width: 85vw;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        z-index: 9996;
    }
    #nav-sidebar.show {
        transform: translateX(0);
    }
}

/* Modal adjustments - Theme aware */
#progress-modal {
    background-color: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 20px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Input styling - Theme aware */
#result_list td textarea,
#result_list td input[name*="remarks"] {
    /* Increased size: doubled width and height for better editing comfort */
    width: 350px !important;
    max-width: 350px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 4px 6px !important;
    font-size: 0.8125rem !important;
    line-height: 1.2 !important;
    resize: vertical !important;
    border: 1px solid var(--input-border) !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

#result_list td input,
#result_list td select,
#result_list td textarea {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border: 1px solid var(--input-border) !important;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Missing Slip: Complete checkbox disabled until Claim ID exists (UI gate only). */
body.missingslip-page #result_list td.field-is_completed input[type="checkbox"]:disabled,
body.missingslip-page #result_list td.field-is_completed input.wb-complete-disabled-no-claim,
#result_list td.field-is_completed input[type="checkbox"]:disabled.wb-complete-disabled-no-claim {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

body.missingslip-page #result_list td.field-is_completed:has(input:disabled) {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Header styling - Theme aware */
#header {
    background-color: var(--card-bg);
    color: var(--text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Admin shell hero owns its own palette — do not inherit #header light text/bg */
#header:has(.crm-hero),
#header #branding:has(.crm-hero) {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
}

/* Page-level Denial header override for templates that use Tailwind utility classes
   (e.g., Missing Slips). This enforces the Denial workbook gradient and text color
   so pages using utility classes still match the canonical palette. */
.denial-header {
    background: linear-gradient(90deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 72%, #000 28%)) !important;
    color: var(--text-on-accent) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12) !important;
    border-bottom: 1px solid var(--border-color) !important;
}
.denial-header .text-blue-100,
.denial-header p,
.denial-header h1,
.denial-header h2,
.denial-header h3,
.denial-header h4 {
    color: color-mix(in srgb, var(--text-on-accent) 86%, #e6f2ff 14%) !important; /* slightly muted white/blue to match Denial workbook */
}

/* High-specificity override: ensure admin header user-tools inherit the theme-aware text color
   This defeats Django admin base.css defaults that force white text in some selectors. */
#header #user-tools,
#header #user-tools a,
#header #user-tools button,
#header .theme-toggle {
    color: var(--text-primary) !important;
}

.breadcrumbs {
    background-color: transparent !important;
    color: var(--primary-text) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
    padding: 0 !important;
    margin: 0 !important;
}

/* Breadcrumb bar: glass strip under hero — no solid white slab */
.breadcrumbs-bar {
    display: block;
    position: relative;
    z-index: 30;
    color: var(--primary-text, #0f172a) !important;
    background:
      linear-gradient(
        180deg,
        color-mix(in srgb, var(--brand-2, #161d31) 10%, transparent),
        color-mix(in srgb, var(--bg, #f1f5f9) 42%, transparent)
      ) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--border-color, #e2e8f0) 55%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

html[data-theme="dark"] .breadcrumbs-bar {
    background:
      linear-gradient(
        180deg,
        color-mix(in srgb, var(--brand-2, #11152c) 55%, transparent),
        color-mix(in srgb, var(--bg, #0b1220) 35%, transparent)
      ) !important;
    border-bottom-color: color-mix(in srgb, var(--border-color, #334155) 45%, transparent);
    color: var(--primary-text, #e5e7eb) !important;
}

/* Dashboard: let live background read through the strip */
body.dashboard .breadcrumbs-bar {
    background: color-mix(in srgb, var(--bg, #f1f5f9) 28%, transparent) !important;
    border-bottom-color: color-mix(in srgb, var(--border-color, #e2e8f0) 35%, transparent);
}

html[data-theme="dark"] body.dashboard .breadcrumbs-bar {
    background: color-mix(in srgb, var(--bg, #0b1220) 32%, transparent) !important;
}

.breadcrumbs-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0.4rem 1rem;
    box-sizing: border-box;
    min-height: 2.25rem;
}

.breadcrumbs-bar__trail {
    min-width: 0;
    flex: 1 1 auto;
}

.breadcrumbs-bar .breadcrumbs {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: color-mix(in srgb, var(--primary-text, #0f172a) 55%, transparent);
}

.breadcrumbs-logout-form {
    display: inline-flex;
    margin: 0;
    flex: 0 0 auto;
    position: relative;
    z-index: 5;
}

.breadcrumbs-logout-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--border-color, #cbd5e1) 70%, transparent);
    background: color-mix(in srgb, var(--surface, #fff) 35%, transparent);
    color: color-mix(in srgb, var(--primary-text, #334155) 88%, transparent);
    font-family: inherit;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: none;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.breadcrumbs-logout-btn:hover {
    background: color-mix(in srgb, #ef4444 12%, transparent);
    border-color: color-mix(in srgb, #ef4444 35%, transparent);
    color: #b91c1c;
    transform: none;
    box-shadow: none;
}

html[data-theme="dark"] .breadcrumbs-logout-btn {
    background: color-mix(in srgb, #0f172a 40%, transparent);
    border-color: color-mix(in srgb, #64748b 40%, transparent);
    color: #cbd5e1;
}

html[data-theme="dark"] .breadcrumbs-logout-btn:hover {
    background: color-mix(in srgb, #ef4444 18%, transparent);
    border-color: color-mix(in srgb, #f87171 40%, transparent);
    color: #fecaca;
}

.breadcrumbs-logout-btn:active {
    transform: none;
    box-shadow: none;
}

.breadcrumbs-logout-btn:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--accent, #2563eb) 55%, transparent);
    outline-offset: 2px;
}

/* Breadcrumbs: keep links subtle and theme-aware, avoid button look */
.breadcrumbs a {
    background: transparent !important;
    color: color-mix(in srgb, var(--primary-text) 62%, transparent) !important;
    text-decoration: none !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}
.breadcrumbs a:hover {
    color: var(--accent, var(--primary-text)) !important;
    text-decoration: underline !important;
    filter: none !important;
}

/* Table action buttons can use explicit classes; avoid styling all links as buttons */
#result_list button {
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
    border: none;
    padding: 5px 10px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
#result_list button:hover {
    filter: brightness(0.9);
}

/* Ensure assign/action anchors in result_list receive the same treatment
   as buttons. These are rendered as <a class="button assign-inline">Assign</a>
   from various admin helpers. We add high-specificity rules so they remain
   consistent across light and dark themes and keep accessible text color. */
#result_list a.assign-inline,
#result_list a.button.assign-inline,
#result_list a.assign-inline.button,
#result_list a.assign-inline:link,
#result_list a.assign-inline:visited {
    display: inline-block !important;
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
    border: 1px solid var(--accent-color) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 0.8125rem !important;
    line-height: 1 !important;
}

#result_list a.assign-inline:hover,
#result_list a.button.assign-inline:hover {
    /* Slightly darker on hover for affordance; keep within theme accent */
    filter: brightness(0.95) !important;
}

/* Dark-theme explicit override to defeat other dark-mode button fallbacks
   that make buttons appear muted. This keeps the accent color visible and
   text readable (white) when html/body are switched to dark theme. */
html[data-theme="dark"] #result_list a.assign-inline,
body[data-theme="dark"] #result_list a.assign-inline,
html[data-theme="dark"] #result_list a.button.assign-inline,
body[data-theme="dark"] #result_list a.button.assign-inline {
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
    border-color: var(--accent-color) !important;
}

/* Small utility: ensure assign-inline anchors outside of #result_list (e.g., toolbar)
   also inherit these rules when present */
a.assign-inline,
a.button.assign-inline {
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
    border: 1px solid var(--accent-color) !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

#result_list th {
    background-color: var(--table-header-bg) !important;
    color: var(--primary-text) !important;
    font-weight: 700;
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/***** Hide default Django list_editable save buttons *****/
.paginator input[name="_save"],
#changelist-form > div input[name="_save"],
#changelist form input[type=submit][name="_save"],
input[type=submit][name="_save"][value="Save"],
input[type=submit][name="_save"][value="Save changes"] {
  display: none !important;
}

#result_list td:nth-child(1) {
    background-color: inherit !important;
}

/* Claim ID link: theme-aware pill */
a.claim-id-link {
    background: var(--card-bg) !important;
    color: var(--accent-color) !important;
    border: 1px solid var(--accent-color) !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    /* Increased font-size for better readability in denial workbook table */
    font-size: 0.7rem !important;
    box-shadow: none !important;
}
a.claim-id-link:hover {
    background: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
}

/* FORCE CLAIM ID COLUMN BACKGROUND TO INHERIT ROW STRIPES */
td.field-claim_id_link {
    background: transparent !important;
}

/* REMOVE ANY DARK BACKGROUNDS FROM CLAIM ID CELLS */
#result_list tbody tr td:nth-child(11) {
    background: transparent !important;
}

#result_list tbody tr td:nth-child(12) {
    background: transparent !important;
}

/* Additional scope for claim-id-link across admin containers */
#changelist-form a.claim-id-link,
.results a.claim-id-link,
#result_list a.claim-id-link,
table a.claim-id-link {
    background: var(--card-bg) !important;
    color: var(--accent-color) !important;
    border: 1px solid var(--accent-color) !important;
    /* Match the primary rule's font-size so all contexts are consistent */
    font-size: 0.8125rem !important;
}

/* Search form input styling - Theme aware */
#advanced-search-form input[type="text"],
#advanced-search-form select,
form input[type="text"],
form select {
    background-color: var(--input-bg) !important;
    background: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Ensure Tailwind gradient utility used in Missing Slips matches Denial palette
   (pages that add `body.denial-page` should use the Denial accent variable)
   This overrides classes like: class="bg-gradient-to-r from-blue-600 to-blue-800" */
body.denial-page .bg-gradient-to-r.from-blue-600.to-blue-800 {
    background: linear-gradient(to right,
    var(--accent-color) 0%,
    color-mix(in srgb, var(--accent-color) 78%, var(--bg-dark-fallback, #0b1220) 22%) 100%) !important;
    color: var(--text-on-accent) !important; /* keep header text readable */
}
body.denial-page .bg-gradient-to-r.from-blue-600.to-blue-800 .text-white,
body.denial-page .bg-gradient-to-r.from-blue-600.to-blue-800 h1,
body.denial-page .bg-gradient-to-r.from-blue-600.to-blue-800 p {
    color: var(--text-on-accent) !important;
}

#advanced-search-form input[type="text"]::placeholder,
form input[type="text"]::placeholder {
    color: var(--secondary-text) !important;
    transition: color 0.3s ease;
}

/* Override any Django admin form styling - Theme aware */
.form-row input,
.form-row select,
div input,
div select {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Theme switcher: fixed corner control — never covers breadcrumbs / logout */
#theme-toggle {
    position: fixed;
    top: auto;
    right: 1.25rem;
    bottom: 1.25rem;
    left: auto;
    /* Raise above overlays/drawers (9997/9998) and other high z-index UI elements */
    z-index: 10001;
    background-color: var(--accent-color);
    color: var(--text-on-accent);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    pointer-events: auto; /* ensure clicks are delivered */
}

/* Admin home hero uses an inline switch — do not float it */
.crm-hero #theme-toggle,
.crm-hero .theme-switch {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 44px !important;
    height: 28px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transform: none !important;
}

#theme-toggle:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.crm-hero #theme-toggle:hover,
.crm-hero .theme-switch:hover {
    transform: none !important;
}

#theme-toggle i {
    font-size: 18px;
}

/* --- Global data cell reset to ensure row striping always visible (last resort) --- */
#result_list tbody td { 
    background-color: inherit !important; /* inherit alternating row */
}

/* Extra specificity for claim id cell (adds both class + positional fallback) */
#result_list tbody td.field-claim_id_link,
#result_list tbody tr td.field-claim_id_link,
#result_list tbody tr td[data-field="claim_id_link"],
#result_list tbody tr td:nth-child(11),
#result_list tbody tr td:nth-child(12) { 
    background-color: inherit !important;
    background: inherit !important;
}

/* Nuclear option - force all claim ID related elements to inherit background */
#result_list .field-claim_id_link,
#result_list .field-claim_id_link *,
#result_list td:has(.claim-id-link),
#result_list tbody tr:nth-child(odd) td:nth-child(11),
#result_list tbody tr:nth-child(odd) td:nth-child(12),
#result_list tbody tr:nth-child(even) td:nth-child(11),
#result_list tbody tr:nth-child(even) td:nth-child(12) {
    background-color: transparent !important;
    background: transparent !important;
}

/* Compact quick actions toolbar */
.quick-actions {
    background-color: var(--secondary-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.5rem;
}
.quick-actions .btn-quiet {
    background: transparent !important;
    color: var(--primary-text) !important;
    border: 1px solid var(--border-color) !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    border-radius: 0.375rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
}
.quick-actions .btn-quiet:hover {
    background: var(--card-bg) !important;
}
.quick-actions .icon {
    font-size: 0.85rem;
}

/* ===================================================================
   Modern Quick Filters Styling with Light/Dark Mode Support
   =================================================================== */

/* Define quick filter color scheme (added to root) */
:root {
    --qf-label-color: #6b7280;
    --qf-label-weight: 600;
    --qf-label-size: 0.8125rem;
    --qf-option-bg: #ffffff;
    --qf-option-border: #d1d5db;
    --qf-option-text: #4a535f;
    --qf-option-hover-bg: #ffffff;
    --qf-option-hover-border: #9ca3af;
    --qf-option-selected-bg: #627680;
    --qf-option-selected-text: #ffffff;
    --qf-option-selected-border: #6e7f86;
    --qf-option-padding-y: 0.375rem;
    --qf-option-padding-x: 0.75rem;
    --qf-gap: 0.5rem;
    --qf-border-radius: 0.375rem;
    --qf-transition: all 0.15s ease;
    --qf-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] {
    --qf-label-color: #d1d5db;
    --qf-option-bg: #252e3e;
    --qf-option-border: #4b5563;
    --qf-option-text: #f0f4f8;
    --qf-option-hover-bg: #374151;
    --qf-option-hover-border: #6b7280;
    --qf-option-selected-bg: #5e717a;
    --qf-option-selected-text: #ffffff;
    --qf-option-selected-border: #576369;
    --qf-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Quick Filters Container */
#inline-filters-container,
.inline-filters-container {
    padding: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    background: var(--card-bg);
    margin-bottom: 1rem;
}

[data-theme="dark"] #inline-filters-container,
[data-theme="dark"] .inline-filters-container {
    background: var(--card-bg);
    border-color: var(--border-color);
}

/* Filter Group Container */
.inline-filter-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    border: none;
    padding: 0;
    background: transparent;
    border-radius: var(--qf-border-radius);
}

/* Filter Label */
.inline-filter-label {
    font-size: var(--qf-label-size);
    font-weight: var(--qf-label-weight);
    color: var(--qf-label-color);
    margin-bottom: 0.5rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

/* Filter Options Container */
.inline-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--qf-gap);
    align-items: center;
}

/* Collapsed quick-filter chips (beats .filter-option { display: … !important } in workbook templates) */
.filter-option.qf-option-hidden {
    display: none !important;
}

/* Individual Filter Option Button */
.filter-option {
    display: inline-block;
    padding: var(--qf-option-padding-y) var(--qf-option-padding-x);
    border: 1.5px solid var(--qf-option-border);
    border-radius: var(--qf-border-radius);
    background: var(--qf-option-bg) !important;
    background-color: var(--qf-option-bg) !important;
    color: var(--qf-option-text) !important;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none !important;
    cursor: pointer;
    transition: var(--qf-transition);
    box-shadow: none;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
    white-space: nowrap;
}

/* Filter Option Hover State */
.filter-option:hover {
    background: var(--qf-option-hover-bg) !important;
    background-color: var(--qf-option-hover-bg) !important;
    border-color: var(--qf-option-hover-border) !important;
    box-shadow: none;
    transform: translateY(-1px);
}

/* Filter Option Active/Focus State */
.filter-option:focus {
    outline: none;
    border-color: var(--qf-option-selected-border) !important;
    box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1);
}

/* Filter Option Selected State */
.filter-option.selected {
    background: var(--qf-option-selected-bg) !important;
    background-color: var(--qf-option-selected-bg) !important;
    color: var(--qf-option-selected-text) !important;
    border-color: var(--qf-option-selected-border) !important;
    font-weight: 600;
    box-shadow: none;
}

.filter-option.selected:hover {
    background: var(--qf-option-selected-bg) !important;
    border-color: var(--qf-option-selected-border) !important;
    box-shadow: none;
    transform: translateY(-1px);
}

/* "All" Option Special Styling */
.filter-option.all-option {
    font-weight: 600;
    opacity: 0.85;
    border-style: dashed;
}

.filter-option.all-option:hover {
    opacity: 1;
}

/* Workbook changelist: capped bulk selection (100 / 200) — sibling of div.actions */
.wb-bulk-selection-prompt .wb-bulk-selection-label {
  font-weight: 600;
}

.wb-bulk-selection-prompt {
    margin: 4px 0 8px;
    padding: 0 12px;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--secondary-text, #64748b);
}

.wb-bulk-selection-link {
    appearance: none;
    border: none;
    background: transparent;
    color: var(--link-fg, #2563eb);
    font-size: inherit;
    font-weight: 600;
    padding: 0 4px;
    cursor: pointer;
    text-decoration: underline;
}

.wb-bulk-selection-link:hover,
.wb-bulk-selection-link:focus-visible {
    color: var(--accent-color, #1d4ed8);
}

.wb-bulk-selection-link:disabled {
    opacity: 0.6;
    cursor: wait;
}

.wb-bulk-selection-clear {
    margin-left: 4px;
}

.filter-option.all-option.selected {
    background: var(--qf-option-hover-bg) !important;
    background-color: var(--qf-option-hover-bg) !important;
    color: var(--qf-option-text) !important;
    border-color: var(--qf-option-border) !important;
    border-style: dashed;
    opacity: 1;
    box-shadow: var(--qf-shadow-sm);
    font-weight: 600;
}


/* Apply Filters Button - Modern Styling */
#quick-filters-apply {
    display: inline-block;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
    padding: 0.625rem 1.25rem;
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    color: #ffffff;
    border: none;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(107, 114, 128, 0.25);
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
}

#quick-filters-apply:hover {
    background: linear-gradient(135deg, #4b5563 0%, #6b7280 100%);
    box-shadow: 0 4px 16px rgba(107, 114, 128, 0.35);
    transform: translateY(-2px);
}

#quick-filters-apply:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.2), 0 4px 16px rgba(107, 114, 128, 0.35);
}

#quick-filters-apply:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(107, 114, 128, 0.25);
}

#quick-filters-apply:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Dark theme button adjustments */
[data-theme="dark"] #quick-filters-apply {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    box-shadow: 0 2px 8px rgba(107, 114, 128, 0.4);
}

[data-theme="dark"] #quick-filters-apply:hover {
    box-shadow: 0 4px 16px rgba(107, 114, 128, 0.5);
}

[data-theme="dark"] #quick-filters-apply:focus {
    box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.3), 0 4px 16px rgba(107, 114, 128, 0.5);
}

/* ------------------------------------------------------------------
   Quick filter drawer: Active selections panel (pending, pre-Apply)
   Canonical markup from qf_inline_filters_phase_b.js (QFcreateDrawerActiveFiltersShell)
   ------------------------------------------------------------------ */
.inline-filter-active-wrap {
    margin-bottom: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.06) 0%, var(--card-bg) 42%);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

[data-theme="dark"] .inline-filter-active-wrap {
    background: linear-gradient(180deg, rgba(14, 165, 233, 0.12) 0%, var(--card-bg) 50%);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.inline-filter-active-header {
    padding: 0.5rem 0.65rem 0.35rem;
    border-bottom: 1px solid var(--border-color);
    background: rgba(255, 255, 255, 0.55);
}

[data-theme="dark"] .inline-filter-active-header {
    background: rgba(15, 23, 42, 0.35);
}

.inline-filter-active-title-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}

.inline-filter-active-icon {
    color: #0284c7;
    font-size: 0.75rem;
    flex: 0 0 auto;
}

[data-theme="dark"] .inline-filter-active-icon {
    color: #38bdf8;
}

.inline-filter-active-title {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0c4a6e;
    flex: 1 1 auto;
    min-width: 0;
}

[data-theme="dark"] .inline-filter-active-title {
    color: #bae6fd;
}

.inline-filter-active-count {
    flex: 0 0 auto;
    min-width: 1.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: #0ea5e9;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

.inline-filter-active-count.is-empty {
    background: var(--secondary-bg);
    color: var(--secondary-text);
    border: 1px solid var(--border-color);
}

.inline-filter-active-hint {
    margin: 0.25rem 0 0;
    font-size: 0.68rem;
    line-height: 1.35;
    color: var(--secondary-text);
}

.inline-filter-active-scroll {
    max-height: 9.5rem;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #94a3b8 transparent;
}

.inline-filter-active-scroll::-webkit-scrollbar {
    width: 6px;
}

.inline-filter-active-scroll::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

.inline-filter-active {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.45rem 0.55rem 0.5rem;
}

.inline-filter-active-empty,
.no-active-filters {
    padding: 0.35rem 0.15rem;
    font-size: 0.75rem;
    font-style: italic;
    color: var(--secondary-text);
    text-align: center;
}

.inline-filter-active-group {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.35rem 0.4rem;
    border-radius: 0.375rem;
    background: var(--secondary-bg);
    border: 1px solid var(--border-color);
}

.inline-filter-active-group-label {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--secondary-text);
    line-height: 1.2;
}

.inline-filter-active-group-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
}

.active-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 100%;
    padding: 0.2rem 0.45rem 0.2rem 0.55rem;
    border-radius: 999px;
    background: #ffffff;
    color: #0c4a6e;
    border: 1px solid #7dd3fc;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.25;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    box-shadow: 0 1px 2px rgba(14, 165, 233, 0.08);
}

[data-theme="dark"] .active-filter-chip {
    background: rgba(15, 23, 42, 0.65);
    color: #e0f2fe;
    border-color: rgba(56, 189, 248, 0.45);
}

.active-filter-chip .af-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 12rem;
}

.active-filter-chip .af-remove {
    flex: 0 0 auto;
    font-size: 0.85rem;
    line-height: 1;
    opacity: 0.65;
    margin-left: 0.1rem;
}

.active-filter-chip:hover,
.active-filter-chip:focus-visible {
    background: #fef2f2;
    border-color: #f87171;
    color: #991b1b;
    outline: none;
}

.active-filter-chip:hover .af-remove,
.active-filter-chip:focus-visible .af-remove {
    opacity: 1;
}

[data-theme="dark"] .active-filter-chip:hover,
[data-theme="dark"] .active-filter-chip:focus-visible {
    background: rgba(127, 29, 29, 0.35);
    border-color: #f87171;
    color: #fecaca;
}

/* ------------------------------------------------------------------
   Active Filters box & pill styling
   Moved from inline JS/template styles into CSS for reuse and themeability
   ------------------------------------------------------------------ */
#active-filters-box {
    display: none; /* shown by JS when active filters exist */
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.375rem;
    margin: 0.25rem 0;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    border: none;
    background: transparent;
    color: var(--primary-text);
    font-size: 0.8rem;
}

/* Override: when JS sets display:flex or display:block, keep it row-based */
#active-filters-box[style*="display:flex"],
#active-filters-box[style*="display: flex"],
#active-filters-box[style*="display:block"],
#active-filters-box[style*="display: block"] {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.375rem;
}

[data-theme="dark"] #active-filters-box {
    background: transparent;
}

#active-filters-box .active-filters-title {
    margin-right: 0.25rem;
    color: #10b981;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.7rem;
    white-space: nowrap;
}

#active-filters-list {
    margin-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
    max-height: 4.5rem;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    flex: 1 1 auto;
    min-width: 0;
}

#active-filters-list::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

#active-filters-list::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

.active-filter-pill {
    display: inline-flex;
    align-items: center;
    background: rgba(16, 185, 129, 0.12);
    border: 1px solid rgba(16, 185, 129, 0.4);
    color: #065f46;
    padding: 0.1rem 0.45rem;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
    transition: all 0.15s ease;
}

[data-theme="dark"] .active-filter-pill {
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.4);
    color: #6ee7b7;
}

.active-filter-pill:hover {
    background: rgba(16, 185, 129, 0.22);
    border-color: #10b981;
}

#active-filters-clear {
    margin-left: 0.25rem;
    background: transparent;
    color: #6b7280;
    border: 1px solid var(--border-color);
    border-radius: 9999px;
    padding: 0.1rem 0.5rem;
    font-size: 0.65rem;
    font-weight: 600;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.15s ease;
    white-space: nowrap;
}

#active-filters-clear:hover {
    background: var(--secondary-bg);
    color: var(--primary-text);
    border-color: var(--primary-text);
}

#active-filters-clear:active {
    transform: scale(0.97);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Right-side Search & Filter Drawer */
.search-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 9997;
}
.search-filter-overlay.show { opacity: 1; pointer-events: auto; }

.search-filter-drawer {
    position: fixed;
    top: 0;
    right: 0;
    height: 100dvh;
    width: min(700px, 100vw);
    background: var(--card-bg);
    border-left: 1px solid var(--border-color);
    box-shadow: -8px 0 24px rgba(0,0,0,0.15);
    transform: translateX(100%);
    transition: transform 0.25s ease;
    z-index: 9998;
    display: flex;
    flex-direction: column;
}
.search-filter-drawer.open { transform: translateX(0%); }
.search-filter-drawer .drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border-color);
    background: var(--secondary-bg);
    color: var(--primary-text);
}
.search-filter-drawer .drawer-body {
    overflow: auto;
    padding: 12px;
}

.search-filter-drawer,
.search-filter-drawer .drawer-body,
.search-filter-drawer .drawer-header,
.search-filter-drawer form,
.search-filter-drawer .bg-gray-50,
.search-filter-drawer .bg-white,
.search-filter-drawer .bg-blue-50,
.search-filter-drawer .bg-slate-50,
.search-filter-drawer .rounded-lg,
.search-filter-drawer .rounded-md,
.search-filter-drawer .rounded-xl {
    color: var(--primary-text);
}

.search-filter-drawer input,
.search-filter-drawer select,
.search-filter-drawer textarea,
.search-filter-drawer button,
.search-filter-drawer .form-control,
.search-filter-drawer .bg-white,
.search-filter-drawer .text-gray-800,
.search-filter-drawer .text-gray-700,
.search-filter-drawer .text-gray-600,
.search-filter-drawer .border-gray-200,
.search-filter-drawer .border-gray-300,
.search-filter-drawer .border-t,
.search-filter-drawer .border {
    background-color: var(--input-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--input-border) !important;
}

.search-filter-drawer .drawer-header,
.search-filter-drawer #advanced-search-container,
.search-filter-drawer #filters-section > div,
.search-filter-drawer .bg-gray-50 {
    background-color: var(--secondary-bg) !important;
    color: var(--primary-text) !important;
    border-color: var(--border-color) !important;
}

.search-filter-drawer input::placeholder,
.search-filter-drawer textarea::placeholder,
.placeholder-gray-500::placeholder {
    color: var(--secondary-text) !important;
}

.search-filter-drawer .text-white {
    color: var(--text-on-accent) !important;
}

.search-filter-drawer .bg-gray-200 {
    background-color: var(--secondary-bg) !important;
}

.search-filter-drawer .bg-gray-600,
.search-filter-drawer .bg-gray-700,
.search-filter-drawer .bg-blue-600,
.search-filter-drawer .bg-blue-700 {
    background-color: var(--accent-color) !important;
    color: var(--text-on-accent) !important;
    border-color: var(--accent-color) !important;
}

.search-filter-drawer .bg-gray-600:hover,
.search-filter-drawer .bg-gray-700:hover,
.search-filter-drawer .bg-blue-600:hover,
.search-filter-drawer .bg-blue-700:hover,
.search-filter-drawer .hover\:bg-gray-700:hover,
.search-filter-drawer .hover\:bg-blue-700:hover,
.search-filter-drawer .hover\:bg-gray-300:hover {
    filter: brightness(0.92);
}

.module,
.help,
.inline-group,
.aligned .form-row,
.submit-row {
    color: var(--primary-text);
}

[data-theme="dark"] .module,
[data-theme="dark"] .help,
[data-theme="dark"] .inline-group,
[data-theme="dark"] .submit-row,
[data-theme="dark"] .aligned .form-row {
    background-color: var(--card-bg);
    border-color: var(--border-color);
    color: var(--primary-text);
}

[data-theme="dark"] .help,
[data-theme="dark"] .help h2,
[data-theme="dark"] .help h3,
[data-theme="dark"] .help h4,
[data-theme="dark"] .help li,
[data-theme="dark"] .help p,
[data-theme="dark"] .help code {
    color: var(--primary-text) !important;
}

[data-theme="dark"] .help code {
    background-color: var(--secondary-bg);
    border: 1px solid var(--border-color);
    padding: 0.1rem 0.35rem;
    border-radius: 0.25rem;
}

/* Freeze first and second columns while horizontally scrolling */
#result_list th:nth-child(1),
#result_list td:nth-child(1) {
    position: sticky;
    left: 0;
    z-index: 30; /* above other cells */
}

#result_list th:nth-child(2),
#result_list td:nth-child(2) {
    position: sticky;
    left: var(--sticky-col-1, 0px); /* width of first column */
    z-index: 29;
}

/* Header backgrounds must be solid; body cells inherit row stripe */
#result_list th:nth-child(1),
#result_list th:nth-child(2) {
    background-color: var(--table-header-bg) !important;
}
#result_list td:nth-child(1),
#result_list td:nth-child(2) {
    background-color: inherit !important; /* keep striping for sticky cells */
}

/* Subtle divider to indicate pinned columns */
#result_list th:nth-child(1),
#result_list td:nth-child(1) {
    box-shadow: 1px 0 0 color-mix(in srgb, var(--border-color) 75%, transparent 25%);
}
#result_list th:nth-child(2),
#result_list td:nth-child(2) {
    box-shadow: 1px 0 0 color-mix(in srgb, var(--border-color) 65%, transparent 35%);
}

/* ------------------------------------------------------------------
   High-specificity overrides for Django admin pagination and buttons
   Ensure page numbers, paginator links and admin add/edit buttons
   use the canonical accent color (var(--accent-color)). This file is
   loaded after admin CSS so we add !important to be defensive.
   ------------------------------------------------------------------ */

/* Pagination links and current page */
.paginator a,
.paginator span.current,
.paginator .step-links a,
.paginator .step-links span,
.pagination a,
.pagination span,
.nav-pagination a,
.nav-pagination span,
div.paginator a,
div.paginator span {
    color:#F8FAFC !important;
    border-color: #F8FAFC!important;
}

.paginator a:hover,
.pagination a:hover,
.paginator .step-links a:hover,
.paginator .step-links span:hover {
    color: #fff !important;
    background: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

/* Make the current page visually highlighted with accent color */
.paginator span.current,
.pagination span.current,
.paginator .current {
    background: var(--accent-color) !important;
    color: #fff !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

/* Admin object-tools / addlink / action buttons (top-right add/edit links) */
.object-tools .addlink,
a.addlink,
#changelist-form .addlink,
#changelist .addlink,
#changelist .object-tools a,
#content .object-tools a,
.object-tools a,
.module .object-tools a {
    background: var(--accent-color) !important;
    color: #ffffff !important;
    border: 1px solid var(--accent-color) !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
}

.object-tools .addlink:hover,
a.addlink:hover,
#changelist .object-tools a:hover {
    filter: brightness(0.95) !important;
}

/* Header and submit-row buttons (forms inside changelist) */
#changelist-form input[type=submit],
#changelist-form .submit-row input[type=submit],
.submit-row input[type=submit],
input[type=submit].default,
button.addlink,
.submit-row .button,
.button.addlink {
    background: var(--accent-color) !important;
    color: #fff !important;
    border: 1px solid var(--accent-color) !important;
}

/* Ensure small paginator controls (step-links) use accent color for links */
.paginator .step-links a,
.paginator .step-links span {
    color: var(--accent-color) !important;
}

/* Defensive: any remaining anchor used as a control should prefer accent color */
a.button, a.btn, a[role="button"], .btn-quiet, .btn {
    color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}


/* ------------------------------------------------------------------
   Special Filter Group Styling - Financial Range & Follow-up Date
   ------------------------------------------------------------------ */

/* Financial Range Group */
.financial-range-group {
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    margin-top: 1rem;
}

.financial-range-group .inline-filter-label {
    color: #7c3aed;
    font-weight: 700;
}

.financial-range-group .inline-filter-options {
    gap: 0.75rem;
}

/* Follow-up Date Group */
.follow-up-date-group {
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    margin-top: 1rem;
}

.follow-up-date-group .inline-filter-label {
    color: #f59e0b;
    font-weight: 700;
}

.follow-up-options {
    flex-wrap: wrap;
}

/* ------------------------------------------------------------------
   Responsive Design - Quick Filters
   ------------------------------------------------------------------ */

/* Tablet and smaller screens */
@media (max-width: 768px) {
    .inline-filter-group {
        margin-bottom: 0.75rem;
    }

    .inline-filter-options {
        gap: 0.375rem;
    }

    .filter-option {
        font-size: 0.8125rem;
        padding: var(--qf-option-padding-y) 0.625rem;
    }

    #quick-filters-apply {
        width: 100%;
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }

    #active-filters-box {
        margin: 0.2rem 0;
        padding: 0.2rem 0.375rem;
        font-size: 0.75rem;
    }

    .active-filter-pill {
        padding: 0.1rem 0.4rem;
        font-size: 0.68rem;
    }
}

/* Mobile screens */
@media (max-width: 480px) {
    .inline-filter-group {
        margin-bottom: 0.5rem;
    }

    .inline-filter-label {
        font-size: 0.75rem;
        margin-bottom: 0.375rem;
    }

    .inline-filter-options {
        gap: 0.25rem;
    }

    .filter-option {
        font-size: 0.75rem;
        padding: 0.3125rem 0.5rem;
        border-radius: 0.25rem;
    }

    #quick-filters-apply {
        width: 100%;
        padding: 0.625rem;
        font-size: 0.8125rem;
        margin-bottom: 0.75rem;
    }

    #active-filters-box {
        margin: 0.15rem 0;
        padding: 0.2rem 0.375rem;
        font-size: 0.75rem;
    }

    .active-filter-pill {
        padding: 0.08rem 0.35rem;
        font-size: 0.65rem;
    }

    #active-filters-clear {
        margin-left: 0.25rem;
        padding: 0.08rem 0.35rem;
        font-size: 0.6rem;
    }

    .active-filters-title {
        font-size: 0.65rem !important;
    }
}

/* ------------------------------------------------------------------
   Map Django admin CSS variables to the project's accent color
   This helps when vendor CSS defines --secondary and uses it for
   headers, buttons and paginator controls. We override those vars
   so vendor rules pick up the desired color without modifying them.
   ------------------------------------------------------------------ */

/* Light theme / default */
:root {
    --secondary: var(--accent-color) !important;
    --button-bg: var(--accent-color) !important;
    --button-hover-bg: color-mix(in srgb, var(--accent-color) 88%, #000 12%) !important;
    --link-fg: var(--accent-color) !important;
    --header-bg: var(--accent-color) !important;
    --object-tools-bg: var(--accent-color) !important;
    --object-tools-hover-bg: color-mix(in srgb, var(--accent-color) 88%, #000 12%) !important;
}

/* Dark theme mapping when admin uses html[data-theme="light"] / :root elsewhere */
html[data-theme="light"] {
    --secondary: var(--accent-color) !important;
    --button-bg: var(--accent-color) !important;
    --button-hover-bg: color-mix(in srgb, var(--accent-color) 78%, #000 22%) !important;
    --link-fg: var(--accent-color) !important;
    --header-bg: var(--accent-color) !important;
}

#sf-drawer input[type="text"],
#sf-drawer input[type="search"],
#sf-drawer select,
#sf-drawer textarea {
    background-color: var(--input-bg, #fff) !important;
    color: var(--primary-text, #1f2937) !important;
    border-color: var(--input-border, #d1d5db) !important;
}

#sf-drawer input::placeholder {
    color: var(--secondary-text, #6b7280) !important;
    opacity: 0.85;
}

#theme-toggle:focus-visible {
    outline: 2px solid var(--accent-color, #2563eb);
    outline-offset: 3px;
}

[data-theme="dark"] .status-badge,
[data-theme="dark"] .priority-badge,
[data-theme="dark"] .status-unassigned,
[data-theme="dark"] .status-assigned,
[data-theme="dark"] .status-in_progress,
[data-theme="dark"] .status-completed {
    color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

