/* ===========================================
   THEME VARIABLES
   =========================================== */

:root {
    /* Light theme (default) */
    --bg-body: #f8f9fa;
    --bg-card: #ffffff;
    --bg-card-hover: #f8f9fa;
    --bg-input: #ffffff;
    --bg-table-header: #f8f9fa;
    --bg-table-row-hover: #f8f9fa;
    --bg-dropdown: #ffffff;
    --bg-nav: #ffffff;
    --bg-footer: #ffffff;
    --bg-light: #f8f9fa;
    --bg-secondary: #e9ecef;
    
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --text-muted: #6c757d;
    --text-link: #0d6efd;
    
    --border-color: #dee2e6;
    --border-color-light: #e9ecef;
    
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    
    /* Component-specific */
    --navbar-bg: #ffffff;
    --card-bg: #ffffff;
    --modal-bg: #ffffff;
    --table-striped-bg: rgba(0, 0, 0, 0.02);
    
    /* Bootstrap overrides */
    --bs-body-bg: #f8f9fa;
    --bs-body-color: #212529;
    --bs-secondary-bg: #e9ecef;
    --bs-tertiary-bg: #f8f9fa;
}

[data-theme="dark"] {
    /* Dark theme */
    --bg-body: #121416;
    --bg-card: #1e2125;
    --bg-card-hover: #2b3035;
    --bg-input: #2b3035;
    --bg-table-header: #2b3035;
    --bg-table-row-hover: #2b3035;
    --bg-dropdown: #1e2125;
    --bg-nav: #1e2125;
    --bg-footer: #1e2125;
    --bg-light: #1e2125;
    --bg-secondary: #2b3035;
    
    --text-primary: #e9ecef;
    --text-secondary: #adb5bd;
    --text-muted: #8b929a;
    --text-link: #6ea8fe;
    
    --border-color: #373b3f;
    --border-color-light: #2b3035;
    
    --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.4);
    --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.6);
    
    /* Component-specific */
    --navbar-bg: #1e2125;
    --card-bg: #1e2125;
    --modal-bg: #1e2125;
    --table-striped-bg: rgba(255, 255, 255, 0.02);
    
    /* Bootstrap overrides */
    --bs-body-bg: #121416;
    --bs-body-color: #e9ecef;
    --bs-secondary-bg: #2b3035;
    --bs-tertiary-bg: #1e2125;
}

/* ===========================================
   APPLY THEME VARIABLES - BASE
   =========================================== */

html {
    background-color: var(--bg-body);
}

body {
    background-color: var(--bg-body) !important;
    color: var(--text-primary);
}

/* ===========================================
   BOOTSTRAP UTILITY OVERRIDES FOR DARK MODE
   =========================================== */

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

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

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

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

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

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

/* ===========================================
   CARDS
   =========================================== */

.card {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}

.card:hover {
    background-color: var(--bg-card-hover);
}

/* Navigation */
.navbar {
    background-color: var(--navbar-bg) !important;
}

/* ===========================================
   NAVBAR - COMPREHENSIVE DARK MODE STYLES
   =========================================== */

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

[data-theme="dark"] .navbar.bg-white,
[data-theme="dark"] .navbar.bg-light {
    background-color: var(--navbar-bg) !important;
}

/* Brand and text */
[data-theme="dark"] .navbar-light .navbar-brand,
[data-theme="dark"] .navbar-light .navbar-brand:hover,
[data-theme="dark"] .navbar-light .navbar-brand:focus,
[data-theme="dark"] .navbar .navbar-brand {
    color: var(--text-primary) !important;
}

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

/* Nav links */
[data-theme="dark"] .navbar-light .navbar-nav .nav-link,
[data-theme="dark"] .navbar .navbar-nav .nav-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-light .navbar-nav .nav-link:focus,
[data-theme="dark"] .navbar .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar .navbar-nav .nav-link:focus {
    color: var(--text-link) !important;
}

[data-theme="dark"] .navbar-light .navbar-nav .nav-link.active,
[data-theme="dark"] .navbar .navbar-nav .nav-link.active {
    color: var(--text-link) !important;
}

/* Dropdown toggles in navbar */
[data-theme="dark"] .navbar .dropdown-toggle {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .navbar .dropdown-toggle:hover,
[data-theme="dark"] .navbar .dropdown-toggle:focus {
    color: var(--text-link) !important;
}

/* Toggler (hamburger menu) */
[data-theme="dark"] .navbar-light .navbar-toggler,
[data-theme="dark"] .navbar .navbar-toggler {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .navbar-light .navbar-toggler-icon,
[data-theme="dark"] .navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ===========================================
   NAVBAR DROPDOWNS - DARK MODE
   =========================================== */

[data-theme="dark"] .navbar .dropdown-menu {
    background-color: var(--bg-dropdown) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow) !important;
}

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

[data-theme="dark"] .navbar .dropdown-item:hover,
[data-theme="dark"] .navbar .dropdown-item:focus {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .navbar .dropdown-item.active,
[data-theme="dark"] .navbar .dropdown-item:active {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-link) !important;
}

[data-theme="dark"] .navbar .dropdown-item.text-danger {
    color: #f87171 !important;
}

[data-theme="dark"] .navbar .dropdown-item.text-danger:hover {
    background-color: rgba(239, 68, 68, 0.15) !important;
    color: #fca5a5 !important;
}

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

/* Avatar dropdown header (user name/email section) */
[data-theme="dark"] .navbar .dropdown-menu .border-bottom {
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .navbar .dropdown-menu .fw-semibold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .navbar .dropdown-menu .text-muted,
[data-theme="dark"] .navbar .dropdown-menu small.text-muted {
    color: var(--text-muted) !important;
}

/* Dropdown icons */
[data-theme="dark"] .navbar .dropdown-item i,
[data-theme="dark"] .navbar .dropdown-item .bi {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .navbar .dropdown-item:hover i,
[data-theme="dark"] .navbar .dropdown-item:hover .bi {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .navbar .dropdown-item.text-danger i,
[data-theme="dark"] .navbar .dropdown-item.text-danger .bi {
    color: #f87171 !important;
}

/* ===========================================
   PUBLIC NAVBAR - DARK MODE
   =========================================== */

.public-navbar {
    background-color: var(--navbar-bg) !important;
}

[data-theme="dark"] .public-navbar {
    background-color: var(--navbar-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .public-navbar .navbar-brand,
[data-theme="dark"] .public-navbar .navbar-text {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .public-navbar .nav-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .public-navbar .nav-link:hover {
    color: var(--text-link) !important;
}

[data-theme="dark"] .public-navbar .dropdown-menu {
    background-color: var(--bg-dropdown) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .public-navbar .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .public-navbar .dropdown-item:hover {
    background-color: var(--bg-card-hover) !important;
}

/* ===========================================
   PLATFORM NAVBAR - THEME SUPPORT
   =========================================== */

.platform-navbar {
    background-color: var(--navbar-bg) !important;
}

.platform-navbar .navbar-brand,
.platform-navbar .navbar-text {
    color: var(--text-primary) !important;
}

.platform-navbar .nav-link {
    color: var(--text-primary) !important;
}

.platform-navbar .nav-link:hover {
    color: var(--text-link) !important;
}

[data-theme="dark"] .platform-navbar {
    background-color: var(--navbar-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .platform-navbar .navbar-brand,
[data-theme="dark"] .platform-navbar .navbar-text {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .platform-navbar .nav-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .platform-navbar .nav-link:hover {
    color: var(--text-link) !important;
}

[data-theme="dark"] .platform-navbar .dropdown-menu {
    background-color: var(--bg-dropdown) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .platform-navbar .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .platform-navbar .dropdown-item:hover {
    background-color: var(--bg-card-hover) !important;
}

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

[data-theme="dark"] .platform-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ===========================================
   THEME SWITCHER BUTTON - DARK MODE
   =========================================== */

[data-theme="dark"] .theme-toggle-btn {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .theme-toggle-btn:hover {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-primary) !important;
}

/* ===========================================
   BUTTON VARIANTS IN NAVBAR - DARK MODE
   =========================================== */

[data-theme="dark"] .navbar .btn-outline-primary {
    color: #6ea8fe !important;
    border-color: #6ea8fe !important;
}

[data-theme="dark"] .navbar .btn-outline-primary:hover {
    background-color: rgba(13, 110, 253, 0.2) !important;
    color: #9ec5fe !important;
}

[data-theme="dark"] .navbar .btn-outline-secondary {
    color: var(--text-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .navbar .btn-outline-secondary:hover {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-primary) !important;
}

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

[data-theme="dark"] .navbar .btn-link:hover {
    color: var(--text-link) !important;
}

/* Tables */
.table {
    --bs-table-bg: var(--bg-card);
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: var(--border-color);
    --bs-table-striped-bg: var(--table-striped-bg);
    --bs-table-hover-bg: var(--bg-table-row-hover);
}

.table-light {
    --bs-table-bg: var(--bg-table-header);
    --bs-table-color: var(--text-primary);
}

/* Table row state colors - dark mode */
[data-theme="dark"] .table-danger {
    --bs-table-bg: rgba(220, 53, 69, 0.15);
    --bs-table-color: #f8d7da;
    --bs-table-border-color: rgba(220, 53, 69, 0.3);
}

[data-theme="dark"] .table-warning {
    --bs-table-bg: rgba(255, 193, 7, 0.12);
    --bs-table-color: #fff3cd;
    --bs-table-border-color: rgba(255, 193, 7, 0.25);
}

[data-theme="dark"] .table-secondary {
    --bs-table-bg: rgba(108, 117, 125, 0.15);
    --bs-table-color: #adb5bd;
    --bs-table-border-color: rgba(108, 117, 125, 0.3);
}

[data-theme="dark"] .table-success {
    --bs-table-bg: rgba(25, 135, 84, 0.15);
    --bs-table-color: #d1e7dd;
    --bs-table-border-color: rgba(25, 135, 84, 0.3);
}

[data-theme="dark"] .table-info {
    --bs-table-bg: rgba(13, 202, 240, 0.12);
    --bs-table-color: #cff4fc;
    --bs-table-border-color: rgba(13, 202, 240, 0.25);
}

/* Forms */
.form-control,
.form-select {
    background-color: var(--bg-input);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.form-control:focus,
.form-select:focus {
    background-color: var(--bg-input);
    color: var(--text-primary);
}

.form-control::placeholder {
    color: var(--text-muted);
}

.input-group-text {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-secondary);
}

/* Dropdowns */
.dropdown-menu {
    background-color: var(--bg-dropdown);
    border-color: var(--border-color);
}

.dropdown-item {
    color: var(--text-primary);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bg-card-hover);
    color: var(--text-primary);
}

/* Modals */
.modal-content {
    background-color: var(--modal-bg);
    border-color: var(--border-color);
}

.modal-header,
.modal-footer {
    border-color: var(--border-color);
}

/* Alerts - keep Bootstrap colors but adjust for dark mode */
[data-theme="dark"] .alert-light {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* List groups */
.list-group-item {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.list-group-item-action:hover {
    background-color: var(--bg-card-hover);
}

/* Borders */
.border {
    border-color: var(--border-color) !important;
}

.border-top,
.border-bottom {
    border-color: var(--border-color) !important;
}

/* Text utilities */
.text-muted {
    color: var(--text-muted) !important;
}

/* Footer */
.footer {
    background-color: var(--bg-footer);
    border-color: var(--border-color) !important;
}

/* ===========================================
   FOOTER - COMPREHENSIVE DARK MODE STYLES
   =========================================== */

[data-theme="dark"] .footer {
    background-color: var(--bg-footer) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .footer .container,
[data-theme="dark"] .footer .container-fluid,
[data-theme="dark"] .footer .container-xl {
    background-color: transparent !important;
}

[data-theme="dark"] .footer .row {
    background-color: transparent !important;
}

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

[data-theme="dark"] .footer a {
    color: var(--text-secondary) !important;
    text-decoration: none;
}

[data-theme="dark"] .footer a:hover {
    color: var(--text-link) !important;
}

[data-theme="dark"] .footer .list-inline-item {
    color: var(--text-secondary);
}

[data-theme="dark"] .footer span {
    color: var(--text-muted);
}

[data-theme="dark"] .footer .col-md-4,
[data-theme="dark"] .footer .col-md-5,
[data-theme="dark"] .footer .col-md-3 {
    background-color: transparent !important;
}

/* Feature cards on public site */
.feature-card {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}

.hero-card {
    background-color: var(--bg-card);
}

.cta-card {
    background-color: var(--bg-card);
}

/* Breadcrumbs */
.breadcrumb {
    background-color: transparent;
}

/* Page specific - bg-light sections */
[data-theme="dark"] .bg-light {
    background-color: var(--bg-card) !important;
}

/* Code/pre blocks */
[data-theme="dark"] pre,
[data-theme="dark"] code {
    background-color: #2b3035;
    color: #e9ecef;
}

/* ===========================================
   THEME SWITCHER BUTTON
   =========================================== */

.theme-switcher {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem;
    background-color: var(--bg-input);
    border: 1px solid var(--border-color);
    border-radius: 2rem;
}

.theme-switcher button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 50%;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.15s ease;
}

.theme-switcher button:hover {
    color: var(--text-primary);
    background-color: var(--bg-card-hover);
}

.theme-switcher button.active {
    background-color: var(--bg-card);
    color: var(--text-primary);
    box-shadow: var(--shadow-sm);
}

/* Simple dropdown toggle for nav */
.theme-toggle-btn {
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    padding: 0.375rem 0.5rem;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.theme-toggle-btn:hover {
    background-color: var(--bg-card-hover);
    color: var(--text-primary);
}

/* ===========================================
   COMPREHENSIVE DARK MODE OVERRIDES
   =========================================== */

[data-theme="dark"] {
    color-scheme: dark;
}

/* Main containers and wrappers */
[data-theme="dark"] main,
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .container-xl,
[data-theme="dark"] .container-lg,
[data-theme="dark"] .container-md,
[data-theme="dark"] .container-sm {
    background-color: transparent;
    color: var(--text-primary);
}

/* Page shell and content wrappers */
[data-theme="dark"] .page-shell {
    background-color: transparent;
}

/* Sections with py-5 bg-light pattern (common in public pages) */
[data-theme="dark"] section.bg-light,
[data-theme="dark"] .section-spaced.bg-light {
    background-color: var(--bg-card) !important;
}

/* Divs with explicit backgrounds */
[data-theme="dark"] div[class*="bg-white"],
[data-theme="dark"] .bg-white {
    background-color: var(--bg-card) !important;
}

[data-theme="dark"] div[class*="bg-light"],
[data-theme="dark"] .bg-light {
    background-color: var(--bg-light) !important;
}

/* Card variants */
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
    border-color: var(--border-color);
}

/* Shadow cards (common pattern) */
[data-theme="dark"] .shadow-sm,
[data-theme="dark"] .shadow {
    box-shadow: var(--shadow) !important;
}

/* Table variants */
[data-theme="dark"] .table-responsive {
    background-color: var(--bg-card);
}

[data-theme="dark"] .table {
    color: var(--text-primary);
}

[data-theme="dark"] .table > :not(caption) > * > * {
    border-color: var(--border-color);
}

/* Only apply dark background/text to rows WITHOUT any color classes */
[data-theme="dark"] .table > :not(caption) > tr:not(.table-danger):not(.table-warning):not(.table-success):not(.table-info):not(.table-primary):not(.table-secondary):not([class*="bg-"]):not([class*="text-primary"]):not([class*="text-success"]):not([class*="text-danger"]):not([class*="text-warning"]):not([class*="text-info"]):not([class*="text-white"]):not([style*="background"]):not([style*="color"]) > * {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

/* ===========================================
   FORCE TEXT COLORS ON CELLS - HIGHEST PRIORITY
   These rules use attribute selectors for maximum specificity
   =========================================== */

/* Any row with text-danger class - force red text on all cells */
[data-theme="dark"] .table tr[class*="text-danger"] > td,
[data-theme="dark"] .table tr[class*="text-danger"] > th,
[data-theme="dark"] .table tbody tr[class*="text-danger"] > td,
[data-theme="dark"] .table tbody tr[class*="text-danger"] > th {
    color: #f87171 !important;
}

/* Any row with text-success class - force green text on all cells */
[data-theme="dark"] .table tr[class*="text-success"] > td,
[data-theme="dark"] .table tr[class*="text-success"] > th,
[data-theme="dark"] .table tbody tr[class*="text-success"] > td,
[data-theme="dark"] .table tbody tr[class*="text-success"] > th {
    color: #4ade80 !important;
}

/* Any row with text-warning class - force amber text on all cells */
[data-theme="dark"] .table tr[class*="text-warning"] > td,
[data-theme="dark"] .table tr[class*="text-warning"] > th,
[data-theme="dark"] .table tbody tr[class*="text-warning"] > td,
[data-theme="dark"] .table tbody tr[class*="text-warning"] > th {
    color: #fbbf24 !important;
}

/* Any row with text-primary class - force purple text on all cells */
[data-theme="dark"] .table tr[class*="text-primary"] > td,
[data-theme="dark"] .table tr[class*="text-primary"] > th,
[data-theme="dark"] .table tbody tr[class*="text-primary"] > td,
[data-theme="dark"] .table tbody tr[class*="text-primary"] > th {
    color: #818cf8 !important;
}

/* Any row with text-info class - force cyan text on all cells */
[data-theme="dark"] .table tr[class*="text-info"] > td,
[data-theme="dark"] .table tr[class*="text-info"] > th,
[data-theme="dark"] .table tbody tr[class*="text-info"] > td,
[data-theme="dark"] .table tbody tr[class*="text-info"] > th {
    color: #38bdf8 !important;
}

/* Any row with text-white class - force white text on all cells */
[data-theme="dark"] .table tr[class*="text-white"] > td,
[data-theme="dark"] .table tr[class*="text-white"] > th,
[data-theme="dark"] .table tbody tr[class*="text-white"] > td,
[data-theme="dark"] .table tbody tr[class*="text-white"] > th {
    color: #fff !important;
}

/* Any row with text-dark class */
[data-theme="dark"] .table tr[class*="text-dark"]:not([class*="text-warning"]) > td,
[data-theme="dark"] .table tr[class*="text-dark"]:not([class*="text-warning"]) > th {
    color: #1f2937 !important;
}

/* ===========================================
   FORCE BACKGROUND COLORS ON CELLS - HIGHEST PRIORITY
   =========================================== */

/* Any row with bg-warning class - force amber background */
[data-theme="dark"] .table tr[class*="bg-warning"] > td,
[data-theme="dark"] .table tr[class*="bg-warning"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-warning"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-warning"] > th {
    background-color: #d97706 !important;
    background: #d97706 !important;
}

/* Any row with bg-danger class - force red background */
[data-theme="dark"] .table tr[class*="bg-danger"] > td,
[data-theme="dark"] .table tr[class*="bg-danger"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-danger"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-danger"] > th {
    background-color: #dc2626 !important;
    background: #dc2626 !important;
}

/* Any row with bg-success class - force green background */
[data-theme="dark"] .table tr[class*="bg-success"] > td,
[data-theme="dark"] .table tr[class*="bg-success"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-success"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-success"] > th {
    background-color: #059669 !important;
    background: #059669 !important;
}

/* Any row with bg-primary class - force purple background */
[data-theme="dark"] .table tr[class*="bg-primary"] > td,
[data-theme="dark"] .table tr[class*="bg-primary"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-primary"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-primary"] > th {
    background-color: #4f46e5 !important;
    background: #4f46e5 !important;
}

/* Any row with bg-info class - force cyan background */
[data-theme="dark"] .table tr[class*="bg-info"] > td,
[data-theme="dark"] .table tr[class*="bg-info"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-info"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-info"] > th {
    background-color: #0891b2 !important;
    background: #0891b2 !important;
}

/* Any row with bg-secondary class - force gray background */
[data-theme="dark"] .table tr[class*="bg-secondary"] > td,
[data-theme="dark"] .table tr[class*="bg-secondary"] > th,
[data-theme="dark"] .table tbody tr[class*="bg-secondary"] > td,
[data-theme="dark"] .table tbody tr[class*="bg-secondary"] > th {
    background-color: #4b5563 !important;
    background: #4b5563 !important;
}

/* Any row with bg-light class - force light background */
[data-theme="dark"] .table tr[class*="bg-light"]:not([class*="bg-primary"]) > td,
[data-theme="dark"] .table tr[class*="bg-light"]:not([class*="bg-primary"]) > th {
    background-color: var(--bg-secondary) !important;
    background: var(--bg-secondary) !important;
}

/* ===========================================
   PRESERVE CUSTOM ROW STYLES IN TABLES
   Tables with metric-based colors or status colors
   =========================================== */

/* Rows with bg-primary class */
[data-theme="dark"] tr.bg-primary,
[data-theme="dark"] tr.bg-primary > td,
[data-theme="dark"] tr.bg-primary > th {
    background-color: #4f46e5 !important;
    color: #fff !important;
}

/* Rows with bg-secondary class */
[data-theme="dark"] tr.bg-secondary,
[data-theme="dark"] tr.bg-secondary > td,
[data-theme="dark"] tr.bg-secondary > th {
    background-color: #4b5563 !important;
    color: #fff !important;
}

/* Rows with bg-success class */
[data-theme="dark"] tr.bg-success,
[data-theme="dark"] tr.bg-success > td,
[data-theme="dark"] tr.bg-success > th {
    background-color: #059669 !important;
    color: #fff !important;
}

/* Rows with bg-danger class */
[data-theme="dark"] tr.bg-danger,
[data-theme="dark"] tr.bg-danger > td,
[data-theme="dark"] tr.bg-danger > th {
    background-color: #dc2626 !important;
    color: #fff !important;
}

/* Rows with bg-warning class */
[data-theme="dark"] tr.bg-warning,
[data-theme="dark"] tr.bg-warning > td,
[data-theme="dark"] tr.bg-warning > th {
    background-color: #d97706 !important;
    color: #1f2937 !important;
}

/* Rows with bg-info class */
[data-theme="dark"] tr.bg-info,
[data-theme="dark"] tr.bg-info > td,
[data-theme="dark"] tr.bg-info > th {
    background-color: #0891b2 !important;
    color: #fff !important;
}

/* Rows with bg-light class */
[data-theme="dark"] tr.bg-light,
[data-theme="dark"] tr.bg-light > td,
[data-theme="dark"] tr.bg-light > th {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Rows with bg-dark class */
[data-theme="dark"] tr.bg-dark,
[data-theme="dark"] tr.bg-dark > td,
[data-theme="dark"] tr.bg-dark > th {
    background-color: #1f2937 !important;
    color: #fff !important;
}

/* Rows with bg-white class */
[data-theme="dark"] tr.bg-white,
[data-theme="dark"] tr.bg-white > td,
[data-theme="dark"] tr.bg-white > th {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* ===========================================
   TEXT COLOR CLASSES ON TABLE ROWS
   High specificity to override dark mode defaults
   =========================================== */

/* Rows with text-primary class */
[data-theme="dark"] tr.text-primary,
[data-theme="dark"] tr.text-primary > td,
[data-theme="dark"] tr.text-primary > th,
[data-theme="dark"] .table > tbody > tr.text-primary,
[data-theme="dark"] .table > tbody > tr.text-primary > td,
[data-theme="dark"] .table > tbody > tr.text-primary > th,
[data-theme="dark"] .table > :not(caption) > tr.text-primary > * {
    color: #818cf8 !important;
}

/* Rows with text-success class */
[data-theme="dark"] tr.text-success,
[data-theme="dark"] tr.text-success > td,
[data-theme="dark"] tr.text-success > th,
[data-theme="dark"] .table > tbody > tr.text-success,
[data-theme="dark"] .table > tbody > tr.text-success > td,
[data-theme="dark"] .table > tbody > tr.text-success > th,
[data-theme="dark"] .table > :not(caption) > tr.text-success > * {
    color: #4ade80 !important;
}

/* Rows with text-danger class */
[data-theme="dark"] tr.text-danger,
[data-theme="dark"] tr.text-danger > td,
[data-theme="dark"] tr.text-danger > th,
[data-theme="dark"] .table > tbody > tr.text-danger,
[data-theme="dark"] .table > tbody > tr.text-danger > td,
[data-theme="dark"] .table > tbody > tr.text-danger > th,
[data-theme="dark"] .table > :not(caption) > tr.text-danger > * {
    color: #f87171 !important;
}

/* Rows with text-warning class */
[data-theme="dark"] tr.text-warning,
[data-theme="dark"] tr.text-warning > td,
[data-theme="dark"] tr.text-warning > th,
[data-theme="dark"] .table > tbody > tr.text-warning,
[data-theme="dark"] .table > tbody > tr.text-warning > td,
[data-theme="dark"] .table > tbody > tr.text-warning > th,
[data-theme="dark"] .table > :not(caption) > tr.text-warning > * {
    color: #fbbf24 !important;
}

/* Rows with text-info class */
[data-theme="dark"] tr.text-info,
[data-theme="dark"] tr.text-info > td,
[data-theme="dark"] tr.text-info > th,
[data-theme="dark"] .table > tbody > tr.text-info,
[data-theme="dark"] .table > tbody > tr.text-info > td,
[data-theme="dark"] .table > tbody > tr.text-info > th,
[data-theme="dark"] .table > :not(caption) > tr.text-info > * {
    color: #38bdf8 !important;
}

/* Rows with text-white class */
[data-theme="dark"] tr.text-white,
[data-theme="dark"] tr.text-white > td,
[data-theme="dark"] tr.text-white > th,
[data-theme="dark"] .table > tbody > tr.text-white,
[data-theme="dark"] .table > tbody > tr.text-white > td,
[data-theme="dark"] .table > tbody > tr.text-white > th,
[data-theme="dark"] .table > :not(caption) > tr.text-white > * {
    color: #fff !important;
}

/* Rows with text-dark class */
[data-theme="dark"] tr.text-dark,
[data-theme="dark"] tr.text-dark > td,
[data-theme="dark"] tr.text-dark > th,
[data-theme="dark"] .table > tbody > tr.text-dark,
[data-theme="dark"] .table > tbody > tr.text-dark > td,
[data-theme="dark"] .table > tbody > tr.text-dark > th,
[data-theme="dark"] .table > :not(caption) > tr.text-dark > * {
    color: var(--text-primary) !important;
}

/* Rows with text-muted class */
[data-theme="dark"] tr.text-muted,
[data-theme="dark"] tr.text-muted > td,
[data-theme="dark"] tr.text-muted > th,
[data-theme="dark"] .table > tbody > tr.text-muted,
[data-theme="dark"] .table > tbody > tr.text-muted > td,
[data-theme="dark"] .table > tbody > tr.text-muted > th,
[data-theme="dark"] .table > :not(caption) > tr.text-muted > * {
    color: var(--text-muted) !important;
}

/* Rows with text-secondary class */
[data-theme="dark"] tr.text-secondary,
[data-theme="dark"] tr.text-secondary > td,
[data-theme="dark"] tr.text-secondary > th,
[data-theme="dark"] .table > tbody > tr.text-secondary,
[data-theme="dark"] .table > tbody > tr.text-secondary > td,
[data-theme="dark"] .table > tbody > tr.text-secondary > th,
[data-theme="dark"] .table > :not(caption) > tr.text-secondary > * {
    color: #9ca3af !important;
}

/* Rows with text-light class */
[data-theme="dark"] tr.text-light,
[data-theme="dark"] tr.text-light > td,
[data-theme="dark"] tr.text-light > th,
[data-theme="dark"] .table > tbody > tr.text-light,
[data-theme="dark"] .table > tbody > tr.text-light > td,
[data-theme="dark"] .table > tbody > tr.text-light > th,
[data-theme="dark"] .table > :not(caption) > tr.text-light > * {
    color: #e9ecef !important;
}

/* ===========================================
   COMBINED BACKGROUND + TEXT COLOR CLASSES
   Text color class should override the default text from bg class
   =========================================== */

/* bg-warning with various text colors */
[data-theme="dark"] tr.bg-warning.text-danger,
[data-theme="dark"] tr.bg-warning.text-danger > td,
[data-theme="dark"] tr.bg-warning.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-danger > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-warning.text-primary,
[data-theme="dark"] tr.bg-warning.text-primary > td,
[data-theme="dark"] tr.bg-warning.text-primary > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-primary > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-primary > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #818cf8 !important;
}

[data-theme="dark"] tr.bg-warning.text-success,
[data-theme="dark"] tr.bg-warning.text-success > td,
[data-theme="dark"] tr.bg-warning.text-success > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-success > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-success > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #4ade80 !important;
}

[data-theme="dark"] tr.bg-warning.text-info,
[data-theme="dark"] tr.bg-warning.text-info > td,
[data-theme="dark"] tr.bg-warning.text-info > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-info > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-info > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #38bdf8 !important;
}

[data-theme="dark"] tr.bg-warning.text-white,
[data-theme="dark"] tr.bg-warning.text-white > td,
[data-theme="dark"] tr.bg-warning.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-white > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #fff !important;
}

[data-theme="dark"] tr.bg-warning.text-dark,
[data-theme="dark"] tr.bg-warning.text-dark > td,
[data-theme="dark"] tr.bg-warning.text-dark > th,
[data-theme="dark"] .table > tbody > tr.bg-warning.text-dark > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-warning.text-dark > * {
    background-color: #d97706 !important;
    background: #d97706 !important;
    color: #1f2937 !important;
}

/* bg-light with various text colors */
[data-theme="dark"] tr.bg-light.text-danger,
[data-theme="dark"] tr.bg-light.text-danger > td,
[data-theme="dark"] tr.bg-light.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-light.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-light.text-danger > * {
    background-color: var(--bg-secondary) !important;
    background: var(--bg-secondary) !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-light.text-primary,
[data-theme="dark"] tr.bg-light.text-primary > td,
[data-theme="dark"] tr.bg-light.text-primary > th,
[data-theme="dark"] .table > tbody > tr.bg-light.text-primary > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-light.text-primary > * {
    background-color: var(--bg-secondary) !important;
    background: var(--bg-secondary) !important;
    color: #818cf8 !important;
}

[data-theme="dark"] tr.bg-light.text-success,
[data-theme="dark"] tr.bg-light.text-success > td,
[data-theme="dark"] tr.bg-light.text-success > th,
[data-theme="dark"] .table > tbody > tr.bg-light.text-success > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-light.text-success > * {
    background-color: var(--bg-secondary) !important;
    background: var(--bg-secondary) !important;
    color: #4ade80 !important;
}

[data-theme="dark"] tr.bg-light.text-warning,
[data-theme="dark"] tr.bg-light.text-warning > td,
[data-theme="dark"] tr.bg-light.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-light.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-light.text-warning > * {
    background-color: var(--bg-secondary) !important;
    background: var(--bg-secondary) !important;
    color: #fbbf24 !important;
}

/* bg-primary with various text colors */
[data-theme="dark"] tr.bg-primary.text-danger,
[data-theme="dark"] tr.bg-primary.text-danger > td,
[data-theme="dark"] tr.bg-primary.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-primary.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-primary.text-danger > * {
    background-color: #4f46e5 !important;
    background: #4f46e5 !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-primary.text-warning,
[data-theme="dark"] tr.bg-primary.text-warning > td,
[data-theme="dark"] tr.bg-primary.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-primary.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-primary.text-warning > * {
    background-color: #4f46e5 !important;
    background: #4f46e5 !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.bg-primary.text-white,
[data-theme="dark"] tr.bg-primary.text-white > td,
[data-theme="dark"] tr.bg-primary.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-primary.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-primary.text-white > * {
    background-color: #4f46e5 !important;
    background: #4f46e5 !important;
    color: #fff !important;
}

/* bg-success with various text colors */
[data-theme="dark"] tr.bg-success.text-danger,
[data-theme="dark"] tr.bg-success.text-danger > td,
[data-theme="dark"] tr.bg-success.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-success.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-success.text-danger > * {
    background-color: #059669 !important;
    background: #059669 !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-success.text-warning,
[data-theme="dark"] tr.bg-success.text-warning > td,
[data-theme="dark"] tr.bg-success.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-success.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-success.text-warning > * {
    background-color: #059669 !important;
    background: #059669 !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.bg-success.text-white,
[data-theme="dark"] tr.bg-success.text-white > td,
[data-theme="dark"] tr.bg-success.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-success.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-success.text-white > * {
    background-color: #059669 !important;
    background: #059669 !important;
    color: #fff !important;
}

/* bg-danger with various text colors */
[data-theme="dark"] tr.bg-danger.text-warning,
[data-theme="dark"] tr.bg-danger.text-warning > td,
[data-theme="dark"] tr.bg-danger.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-danger.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-danger.text-warning > * {
    background-color: #dc2626 !important;
    background: #dc2626 !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.bg-danger.text-white,
[data-theme="dark"] tr.bg-danger.text-white > td,
[data-theme="dark"] tr.bg-danger.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-danger.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-danger.text-white > * {
    background-color: #dc2626 !important;
    background: #dc2626 !important;
    color: #fff !important;
}

/* bg-info with various text colors */
[data-theme="dark"] tr.bg-info.text-danger,
[data-theme="dark"] tr.bg-info.text-danger > td,
[data-theme="dark"] tr.bg-info.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-info.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-info.text-danger > * {
    background-color: #0891b2 !important;
    background: #0891b2 !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-info.text-warning,
[data-theme="dark"] tr.bg-info.text-warning > td,
[data-theme="dark"] tr.bg-info.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-info.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-info.text-warning > * {
    background-color: #0891b2 !important;
    background: #0891b2 !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.bg-info.text-white,
[data-theme="dark"] tr.bg-info.text-white > td,
[data-theme="dark"] tr.bg-info.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-info.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-info.text-white > * {
    background-color: #0891b2 !important;
    background: #0891b2 !important;
    color: #fff !important;
}

/* bg-secondary with various text colors */
[data-theme="dark"] tr.bg-secondary.text-danger,
[data-theme="dark"] tr.bg-secondary.text-danger > td,
[data-theme="dark"] tr.bg-secondary.text-danger > th,
[data-theme="dark"] .table > tbody > tr.bg-secondary.text-danger > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-secondary.text-danger > * {
    background-color: #4b5563 !important;
    background: #4b5563 !important;
    color: #f87171 !important;
}

[data-theme="dark"] tr.bg-secondary.text-warning,
[data-theme="dark"] tr.bg-secondary.text-warning > td,
[data-theme="dark"] tr.bg-secondary.text-warning > th,
[data-theme="dark"] .table > tbody > tr.bg-secondary.text-warning > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-secondary.text-warning > * {
    background-color: #4b5563 !important;
    background: #4b5563 !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.bg-secondary.text-white,
[data-theme="dark"] tr.bg-secondary.text-white > td,
[data-theme="dark"] tr.bg-secondary.text-white > th,
[data-theme="dark"] .table > tbody > tr.bg-secondary.text-white > td,
[data-theme="dark"] .table > :not(caption) > tr.bg-secondary.text-white > * {
    background-color: #4b5563 !important;
    background: #4b5563 !important;
    color: #fff !important;
}

/* Bootstrap background color classes - general (not on tr) */
[data-theme="dark"] .bg-primary {
    background-color: #4f46e5 !important;
}

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

[data-theme="dark"] .bg-success {
    background-color: #059669 !important;
}

[data-theme="dark"] .bg-danger {
    background-color: #dc2626 !important;
}

[data-theme="dark"] .bg-warning {
    background-color: #d97706 !important;
}

[data-theme="dark"] .bg-info {
    background-color: #0891b2 !important;
}

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

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

/* Ensure text is readable on colored backgrounds */
[data-theme="dark"] .bg-primary,
[data-theme="dark"] .bg-secondary,
[data-theme="dark"] .bg-success,
[data-theme="dark"] .bg-danger,
[data-theme="dark"] .bg-info,
[data-theme="dark"] .bg-dark {
    color: #fff !important;
}

[data-theme="dark"] .bg-warning,
[data-theme="dark"] .bg-light {
    color: #1f2937 !important;
}

[data-theme="dark"] .table-light > * {
    background-color: var(--bg-table-header) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .table-hover > tbody > tr:not(.table-danger):not(.table-warning):not(.table-success):not(.table-info):not(.table-primary):not(.table-secondary):not([class*="bg-"]):not([class*="text-primary"]):not([class*="text-success"]):not([class*="text-danger"]):not([class*="text-warning"]):not([class*="text-info"]):not([class*="text-white"]):not([style*="background"]):hover > * {
    background-color: var(--bg-table-row-hover) !important;
    color: var(--text-primary);
}

/* Hover states for colored rows - slightly adjust brightness */
[data-theme="dark"] .table-hover > tbody > tr.bg-primary:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-secondary:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-success:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-danger:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-warning:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-info:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-light:hover > *,
[data-theme="dark"] .table-hover > tbody > tr.bg-dark:hover > * {
    filter: brightness(1.15);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd):not(.table-danger):not(.table-warning):not(.table-success):not(.table-info):not(.table-primary):not(.table-secondary):not([class*="bg-"]):not([style*="background"]) > * {
    background-color: var(--table-striped-bg);
}

[data-theme="dark"] .table-secondary > * {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* Fix table-striped rows having white background in dark mode */
/* Bootstrap 5.1 uses box-shadow inset for table backgrounds, so we need to override --bs-table-accent-bg */
[data-theme="dark"] .table {
    --bs-table-bg: var(--bg-card);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-striped-color: var(--text-primary);
    --bs-table-hover-bg: var(--bg-table-row-hover);
    --bs-table-hover-color: var(--text-primary);
}

[data-theme="dark"] .table > :not(caption) > * > * {
    background-color: var(--bg-card) !important;
    box-shadow: none !important;
    color: var(--text-primary);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, 0.03) !important;
    box-shadow: none !important;
}

/* Tables inside cards need extra specificity */
[data-theme="dark"] .card .table > :not(caption) > * > * {
    background-color: var(--bg-card) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .card .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, 0.03) !important;
    box-shadow: none !important;
}

/* Table header styling in dark mode */
[data-theme="dark"] .table > thead > tr > th,
[data-theme="dark"] .card .table > thead > tr > th {
    background-color: var(--bg-table-header) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

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

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: var(--bg-input) !important;
    border-color: #6ea8fe !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-control[readonly],
[data-theme="dark"] .form-select:disabled {
    background-color: var(--bg-secondary) !important;
    color: var(--text-muted) !important;
}

[data-theme="dark"] .form-label,
[data-theme="dark"] label {
    color: var(--text-primary);
}

[data-theme="dark"] .form-text {
    color: var(--text-muted);
}

[data-theme="dark"] .form-check-input {
    background-color: var(--bg-input);
    border-color: var(--border-color);
}

[data-theme="dark"] .input-group-text {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

/* Buttons - mostly keep Bootstrap colors but fix outlines */
[data-theme="dark"] .btn-outline-secondary {
    color: var(--text-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-light {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

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

/* Links */
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item) {
    color: var(--text-link);
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.list-group-item):hover {
    color: #9ec5fe;
}

/* Pagination */
[data-theme="dark"] .page-link {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-link);
}

[data-theme="dark"] .page-link:hover {
    background-color: var(--bg-card-hover);
    border-color: var(--border-color);
    color: var(--text-link);
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

[data-theme="dark"] .page-item.disabled .page-link {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-muted);
}

/* Breadcrumbs */
[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-muted);
}

[data-theme="dark"] .breadcrumb-item.active {
    color: var(--text-muted);
}

/* Alerts */
[data-theme="dark"] .alert {
    border-color: var(--border-color);
}

/* Nav tabs and pills */
[data-theme="dark"] .nav-tabs {
    border-color: var(--border-color);
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: var(--text-secondary);
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
    border-color: var(--border-color);
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--bg-card);
    border-color: var(--border-color) var(--border-color) var(--bg-card);
    color: var(--text-primary);
}

/* Accordion */
[data-theme="dark"] .accordion-item {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .accordion-button {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--bg-card-hover);
    color: var(--text-primary);
}

[data-theme="dark"] .accordion-button::after {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Progress bars */
[data-theme="dark"] .progress {
    background-color: var(--bg-secondary);
}

/* Tooltips & Popovers */
[data-theme="dark"] .tooltip-inner {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .popover {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .popover-header {
    background-color: var(--bg-card-hover);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .popover-body {
    color: var(--text-primary);
}

/* Offcanvas */
[data-theme="dark"] .offcanvas {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .offcanvas-header {
    border-color: var(--border-color);
}

/* Select2 dropdown */
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection__rendered {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection__placeholder {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    background-color: var(--bg-dropdown);
    border-color: var(--border-color);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-results__option {
    color: var(--text-primary);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted {
    background-color: var(--bg-card-hover);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-search__field {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-search--dropdown .select2-search__field {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection__clear {
    color: var(--text-muted) !important;
}

/* Store selection tiles */
[data-theme="dark"] .store-card {
    background-color: var(--bg-card) !important;
}

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

[data-theme="dark"] .store-card.current-store {
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.1) 0%, rgba(13, 110, 253, 0.15) 100%) !important;
}

/* Rounded circle backgrounds (like avatars, icons) */
[data-theme="dark"] .rounded-circle.bg-primary.bg-opacity-10 {
    background-color: rgba(13, 110, 253, 0.2) !important;
}

[data-theme="dark"] .bg-opacity-10 {
    --bs-bg-opacity: 0.2 !important;
}

/* Generic rounded backgrounds */
[data-theme="dark"] .rounded.bg-light {
    background-color: var(--bg-secondary) !important;
}

/* Hero and feature sections on public pages */
[data-theme="dark"] .page-hero {
    background: linear-gradient(140deg, var(--bg-card), var(--bg-card-hover), var(--bg-card)) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow) !important;
}

[data-theme="dark"] .page-hero::before {
    background: radial-gradient(circle, rgba(124, 58, 237, 0.15), transparent 65%) !important;
    opacity: 0.5;
}

[data-theme="dark"] .page-hero::after {
    background: radial-gradient(circle, rgba(20, 184, 166, 0.12), transparent 70%) !important;
    opacity: 0.5;
}

[data-theme="dark"] .hero-card {
    background: linear-gradient(160deg, var(--bg-card), var(--bg-card-hover)) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .feature-card {
    background: linear-gradient(180deg, var(--bg-card), var(--bg-card-hover)) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .feature-card::before {
    opacity: 0.7;
}

[data-theme="dark"] .cta-card {
    background: linear-gradient(120deg, var(--bg-card), var(--bg-card-hover), var(--bg-card)) !important;
    border-color: rgba(124, 58, 237, 0.3) !important;
    box-shadow: var(--shadow) !important;
}

/* ===========================================
   PUBLIC SITE - COMPREHENSIVE DARK MODE
   =========================================== */

/* Remove light background gradients on public site */
[data-theme="dark"] .public-site {
    background-image: 
        radial-gradient(circle at top left, rgba(124, 58, 237, 0.08), transparent 55%),
        radial-gradient(circle at 20% 20%, rgba(99, 102, 241, 0.06), transparent 45%),
        radial-gradient(circle at 85% 15%, rgba(20, 184, 166, 0.06), transparent 50%) !important;
    background-color: var(--bg-body) !important;
}

[data-theme="dark"] .public-site main::before {
    background: radial-gradient(circle at 15% 40%, rgba(31, 79, 216, 0.1), transparent 55%),
        radial-gradient(circle at 85% 30%, rgba(124, 58, 237, 0.1), transparent 50%) !important;
    opacity: 0.4 !important;
}

[data-theme="dark"] .public-site main::after {
    background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.02) 30%, transparent 30%, transparent 100%),
        linear-gradient(45deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.02) 25%, transparent 25%, transparent 100%) !important;
    opacity: 0.3 !important;
}

/* Public navbar dark mode */
[data-theme="dark"] .public-navbar {
    background: linear-gradient(90deg, rgba(31, 79, 216, 0.1), rgba(124, 58, 237, 0.1), rgba(20, 184, 166, 0.08)) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .public-navbar .navbar-brand,
[data-theme="dark"] .public-navbar .nav-link {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .public-navbar .nav-link:hover,
[data-theme="dark"] .public-navbar .navbar-brand:hover {
    color: #818cf8 !important;
}

/* Public footer dark mode */
[data-theme="dark"] .public-site .footer {
    background: linear-gradient(90deg, rgba(31, 79, 216, 0.08), rgba(124, 58, 237, 0.08), rgba(20, 184, 166, 0.06)) !important;
    border-top-color: var(--border-color) !important;
}

/* Eyebrow text */
[data-theme="dark"] .eyebrow {
    color: #a78bfa !important;
}

/* Text colors on public pages */
[data-theme="dark"] .public-site h1,
[data-theme="dark"] .public-site h2,
[data-theme="dark"] .public-site h3,
[data-theme="dark"] .public-site h4,
[data-theme="dark"] .public-site h5,
[data-theme="dark"] .public-site h6,
[data-theme="dark"] .public-site .display-1,
[data-theme="dark"] .public-site .display-2,
[data-theme="dark"] .public-site .display-3,
[data-theme="dark"] .public-site .display-4,
[data-theme="dark"] .public-site .display-5,
[data-theme="dark"] .public-site .display-6 {
    color: var(--text-primary) !important;
}

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

[data-theme="dark"] .public-site .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .public-site p {
    color: var(--text-secondary);
}

/* Feature card content */
[data-theme="dark"] .feature-card h5,
[data-theme="dark"] .feature-card h6,
[data-theme="dark"] .feature-card .fw-semibold {
    color: var(--text-primary) !important;
}

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

/* Hero card content */
[data-theme="dark"] .hero-card h5,
[data-theme="dark"] .hero-card h6,
[data-theme="dark"] .hero-card .fw-semibold {
    color: var(--text-primary) !important;
}

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

/* CTA card content */
[data-theme="dark"] .cta-card h2,
[data-theme="dark"] .cta-card h3,
[data-theme="dark"] .cta-card h4,
[data-theme="dark"] .cta-card .fw-bold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .cta-card p,
[data-theme="dark"] .cta-card .lead {
    color: var(--text-secondary) !important;
}

/* Page hero content */
[data-theme="dark"] .page-hero h1,
[data-theme="dark"] .page-hero h2,
[data-theme="dark"] .page-hero .display-4,
[data-theme="dark"] .page-hero .display-5,
[data-theme="dark"] .page-hero .display-6,
[data-theme="dark"] .page-hero .fw-bold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .page-hero p,
[data-theme="dark"] .page-hero .lead {
    color: var(--text-secondary) !important;
}

/* Public site buttons */
[data-theme="dark"] .public-site .btn-primary {
    background-image: linear-gradient(135deg, #4f46e5, #7c3aed) !important;
    border-color: transparent !important;
    box-shadow: 0 0.5rem 1rem rgba(79, 70, 229, 0.3) !important;
}

[data-theme="dark"] .public-site .btn-primary:hover {
    background-image: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
}

[data-theme="dark"] .public-site .btn-outline-primary {
    color: #818cf8 !important;
    border-color: #818cf8 !important;
}

[data-theme="dark"] .public-site .btn-outline-primary:hover {
    background-color: rgba(99, 102, 241, 0.2) !important;
    color: #a5b4fc !important;
}

/* Section backgrounds */
[data-theme="dark"] .public-site section.bg-light,
[data-theme="dark"] .public-site .section-spaced.bg-light {
    background-color: var(--bg-card) !important;
}

[data-theme="dark"] .public-site .py-5.bg-light {
    background-color: var(--bg-card) !important;
}

/* Cards inside public site */
[data-theme="dark"] .public-site .card {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .public-site .card-body {
    background-color: transparent !important;
}

[data-theme="dark"] .public-site .card h5,
[data-theme="dark"] .public-site .card h6,
[data-theme="dark"] .public-site .card .fw-semibold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .public-site .card p {
    color: var(--text-secondary) !important;
}

/* Image placeholders */
[data-theme="dark"] .public-site .bg-light.rounded.border {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

/* Icons on public pages */
[data-theme="dark"] .public-site .bi.text-primary {
    color: #818cf8 !important;
}

[data-theme="dark"] .public-site .bi.text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .public-site .bi.text-warning {
    color: #fbbf24 !important;
}

[data-theme="dark"] .public-site .bi.text-danger {
    color: #f87171 !important;
}

[data-theme="dark"] .public-site .bi.text-info {
    color: #38bdf8 !important;
}

[data-theme="dark"] .public-site .bi.text-muted {
    color: var(--text-muted) !important;
}

/* Display icons */
[data-theme="dark"] .public-site .display-1.text-primary,
[data-theme="dark"] .public-site .display-4.text-primary {
    color: #818cf8 !important;
}

[data-theme="dark"] .public-site .display-1.text-success,
[data-theme="dark"] .public-site .display-4.text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .public-site .display-1.text-warning,
[data-theme="dark"] .public-site .display-4.text-warning {
    color: #fbbf24 !important;
}

[data-theme="dark"] .public-site .display-1.text-danger,
[data-theme="dark"] .public-site .display-4.text-danger {
    color: #f87171 !important;
}

[data-theme="dark"] .public-site .display-1.text-info,
[data-theme="dark"] .public-site .display-4.text-info {
    color: #38bdf8 !important;
}

/* Pricing card specific */
[data-theme="dark"] .public-site .card.border-primary {
    border-color: #6366f1 !important;
}

[data-theme="dark"] .public-site .card .display-3.text-primary {
    color: #818cf8 !important;
}

[data-theme="dark"] .public-site .card .text-primary {
    color: #818cf8 !important;
}

/* Shadow cards */
[data-theme="dark"] .public-site .shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .public-site .shadow-sm {
    box-shadow: var(--shadow-sm) !important;
}

/* HR and dividers */
[data-theme="dark"] .public-site hr {
    border-color: var(--border-color) !important;
    opacity: 1 !important;
}

/* Lists */
[data-theme="dark"] .public-site ul li,
[data-theme="dark"] .public-site ol li {
    color: var(--text-secondary);
}

[data-theme="dark"] .public-site .list-unstyled li {
    color: var(--text-secondary);
}

/* Small text */
[data-theme="dark"] .public-site small {
    color: var(--text-muted);
}

[data-theme="dark"] .public-site .small {
    color: var(--text-muted);
}

/* Links in public site */
[data-theme="dark"] .public-site a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #818cf8 !important;
}

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

/* Check icons */
[data-theme="dark"] .public-site .bi-check-circle-fill.text-success {
    color: #4ade80 !important;
}

/* Strong/bold text */
[data-theme="dark"] .public-site strong {
    color: var(--text-primary);
}

/* Horizontal rules */
[data-theme="dark"] hr {
    border-color: var(--border-color);
    opacity: 1;
}

/* Dropdown dividers */
[data-theme="dark"] .dropdown-divider {
    border-color: var(--border-color);
}

/* Image placeholder boxes (from features page) */
[data-theme="dark"] .text-center.p-5.bg-light.rounded.border {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .text-center.p-5.bg-white.rounded.border {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

/* Fix specific eyebrow text */
[data-theme="dark"] .eyebrow {
    color: var(--text-secondary);
}

/* Fix lead text */
[data-theme="dark"] .lead {
    color: var(--text-secondary);
}

/* Fix h1-h6 headings */
[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4, 
[data-theme="dark"] h5, 
[data-theme="dark"] h6,
[data-theme="dark"] .h1, 
[data-theme="dark"] .h2, 
[data-theme="dark"] .h3, 
[data-theme="dark"] .h4, 
[data-theme="dark"] .h5, 
[data-theme="dark"] .h6 {
    color: var(--text-primary);
}

/* Fix fw-bold, fw-semibold text */
[data-theme="dark"] .fw-bold,
[data-theme="dark"] .fw-semibold {
    color: inherit;
}

/* ===========================================
   DARK MODE - REMOVE/REDUCE ROUNDED CORNERS
   =========================================== */

/* Tables - remove rounded corners in dark mode */
[data-theme="dark"] .table-enhanced {
    border-radius: 0 !important;
}

[data-theme="dark"] .table-responsive {
    border-radius: 0 !important;
}

/* Cards - reduce rounded corners in dark mode */
[data-theme="dark"] .card {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .card-header:first-child {
    border-radius: 0.2rem 0.2rem 0 0 !important;
}

[data-theme="dark"] .card-footer:last-child {
    border-radius: 0 0 0.2rem 0.2rem !important;
}

/* List groups inside cards */
[data-theme="dark"] .card .list-group-item:first-child {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

[data-theme="dark"] .card .list-group-item:last-child {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Standalone list groups */
[data-theme="dark"] .list-group {
    border-radius: 0.25rem !important;
}

/* Form controls - slightly reduce rounding */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group > .form-control,
[data-theme="dark"] .input-group > .form-select {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

[data-theme="dark"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Buttons - slightly reduce rounding */
[data-theme="dark"] .btn {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .btn-group > .btn {
    border-radius: 0 !important;
}

[data-theme="dark"] .btn-group > .btn:first-child {
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important;
}

[data-theme="dark"] .btn-group > .btn:last-child {
    border-top-right-radius: 0.25rem !important;
    border-bottom-right-radius: 0.25rem !important;
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
    border-radius: 0.25rem !important;
}

/* Alerts */
[data-theme="dark"] .alert {
    border-radius: 0.25rem !important;
}

/* Badges - keep some rounding */
[data-theme="dark"] .badge {
    border-radius: 0.2rem !important;
}

[data-theme="dark"] .badge.rounded-pill {
    border-radius: 50rem !important;
}

/* Modals */
[data-theme="dark"] .modal-content {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .modal-header {
    border-top-left-radius: 0.2rem !important;
    border-top-right-radius: 0.2rem !important;
}

[data-theme="dark"] .modal-footer {
    border-bottom-left-radius: 0.2rem !important;
    border-bottom-right-radius: 0.2rem !important;
}

/* Progress bars */
[data-theme="dark"] .progress {
    border-radius: 0.15rem !important;
}

/* KPI cards */
[data-theme="dark"] .kpi-card {
    border-radius: 0.25rem !important;
}

/* Store cards */
[data-theme="dark"] .store-card {
    border-radius: 0.25rem !important;
}

/* Feature cards on public pages */
[data-theme="dark"] .feature-card {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .hero-card {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .cta-card {
    border-radius: 0.25rem !important;
}

/* Images */
[data-theme="dark"] .rounded {
    border-radius: 0.25rem !important;
}

[data-theme="dark"] .rounded-3 {
    border-radius: 0.25rem !important;
}

/* Keep full rounding for circles and pills */
[data-theme="dark"] .rounded-circle {
    border-radius: 50% !important;
}

[data-theme="dark"] .rounded-pill {
    border-radius: 50rem !important;
}

/* ===========================================
   SALES DASHBOARD DARK MODE
   =========================================== */

/* KPI Cards */
[data-theme="dark"] .kpi-card {
    background: linear-gradient(180deg, var(--bg-card), var(--bg-card-hover)) !important;
    box-shadow: var(--shadow-sm) !important;
}

[data-theme="dark"] .kpi-card:hover {
    box-shadow: var(--shadow) !important;
}

[data-theme="dark"] .kpi-label {
    color: var(--text-muted) !important;
}

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

/* Standard table with table-light header */
[data-theme="dark"] .table thead.table-light,
[data-theme="dark"] .table thead.table-light th,
[data-theme="dark"] .table thead.table-light tr {
    background-color: var(--bg-table-header) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

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

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

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

/* Table enhanced styles */
[data-theme="dark"] .table-enhanced {
    background: var(--bg-card) !important;
    box-shadow: var(--shadow-sm) !important;
}

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

[data-theme="dark"] .table-enhanced th,
[data-theme="dark"] .table-enhanced td {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* IMPORTANT: Preserve colored table rows (Bootstrap contextual classes) */
/* These must NOT be overridden by dark mode - they indicate status */
/* Using darker, more saturated colors for dark mode */

[data-theme="dark"] .table-danger,
[data-theme="dark"] .table-danger > td,
[data-theme="dark"] .table-danger > th,
[data-theme="dark"] tr.table-danger,
[data-theme="dark"] tr.table-danger > td,
[data-theme="dark"] tr.table-danger > th,
[data-theme="dark"] .table > tbody > tr.table-danger,
[data-theme="dark"] .table > tbody > tr.table-danger > td,
[data-theme="dark"] .table > tbody > tr.table-danger > th,
[data-theme="dark"] .table > :not(caption) > tr.table-danger > *,
[data-theme="dark"] .table-hover > tbody > tr.table-danger > td {
    --bs-table-bg: #4a1a1d !important;
    --bs-table-color: #f8d7da !important;
    --bs-table-accent-bg: #4a1a1d !important;
    background-color: #4a1a1d !important;
    background: #4a1a1d !important;
    color: #f8d7da !important;
    border-color: #6b2428 !important;
}

[data-theme="dark"] .table-warning,
[data-theme="dark"] .table-warning > td,
[data-theme="dark"] .table-warning > th,
[data-theme="dark"] tr.table-warning,
[data-theme="dark"] tr.table-warning > td,
[data-theme="dark"] tr.table-warning > th,
[data-theme="dark"] .table > tbody > tr.table-warning,
[data-theme="dark"] .table > tbody > tr.table-warning > td,
[data-theme="dark"] .table > tbody > tr.table-warning > th,
[data-theme="dark"] .table > :not(caption) > tr.table-warning > *,
[data-theme="dark"] .table-hover > tbody > tr.table-warning > td {
    --bs-table-bg: #4a3a10 !important;
    --bs-table-color: #fff3cd !important;
    --bs-table-accent-bg: #4a3a10 !important;
    background-color: #4a3a10 !important;
    background: #4a3a10 !important;
    color: #fff3cd !important;
    border-color: #665215 !important;
}

[data-theme="dark"] .table-success,
[data-theme="dark"] .table-success > td,
[data-theme="dark"] .table-success > th,
[data-theme="dark"] tr.table-success,
[data-theme="dark"] tr.table-success > td,
[data-theme="dark"] tr.table-success > th,
[data-theme="dark"] .table > tbody > tr.table-success,
[data-theme="dark"] .table > tbody > tr.table-success > td,
[data-theme="dark"] .table > tbody > tr.table-success > th,
[data-theme="dark"] .table > :not(caption) > tr.table-success > *,
[data-theme="dark"] .table-hover > tbody > tr.table-success > td {
    --bs-table-bg: #143326 !important;
    --bs-table-color: #d1e7dd !important;
    --bs-table-accent-bg: #143326 !important;
    background-color: #143326 !important;
    background: #143326 !important;
    color: #d1e7dd !important;
    border-color: #1e4a38 !important;
}

[data-theme="dark"] .table-info,
[data-theme="dark"] .table-info > td,
[data-theme="dark"] .table-info,
[data-theme="dark"] .table-info > td,
[data-theme="dark"] .table-info > th,
[data-theme="dark"] tr.table-info,
[data-theme="dark"] tr.table-info > td,
[data-theme="dark"] tr.table-info > th,
[data-theme="dark"] .table > tbody > tr.table-info,
[data-theme="dark"] .table > tbody > tr.table-info > td,
[data-theme="dark"] .table > tbody > tr.table-info > th,
[data-theme="dark"] .table > :not(caption) > tr.table-info > *,
[data-theme="dark"] .table-hover > tbody > tr.table-info > td {
    --bs-table-bg: #0d3840 !important;
    --bs-table-color: #cff4fc !important;
    --bs-table-accent-bg: #0d3840 !important;
    background-color: #0d3840 !important;
    background: #0d3840 !important;
    color: #cff4fc !important;
    border-color: #155058 !important;
}

[data-theme="dark"] .table-primary,
[data-theme="dark"] .table-primary > td,
[data-theme="dark"] .table-primary > th,
[data-theme="dark"] tr.table-primary,
[data-theme="dark"] tr.table-primary > td,
[data-theme="dark"] tr.table-primary > th,
[data-theme="dark"] .table > tbody > tr.table-primary,
[data-theme="dark"] .table > tbody > tr.table-primary > td,
[data-theme="dark"] .table > tbody > tr.table-primary > th,
[data-theme="dark"] .table > :not(caption) > tr.table-primary > *,
[data-theme="dark"] .table-hover > tbody > tr.table-primary > td {
    --bs-table-bg: #1a2d4a !important;
    --bs-table-color: #cfe2ff !important;
    --bs-table-accent-bg: #1a2d4a !important;
    background-color: #1a2d4a !important;
    background: #1a2d4a !important;
    color: #cfe2ff !important;
    border-color: #264066 !important;
}

[data-theme="dark"] .table-secondary,
[data-theme="dark"] .table-secondary > td,
[data-theme="dark"] .table-secondary > th,
[data-theme="dark"] tr.table-secondary,
[data-theme="dark"] tr.table-secondary > td,
[data-theme="dark"] tr.table-secondary > th,
[data-theme="dark"] .table > tbody > tr.table-secondary,
[data-theme="dark"] .table > tbody > tr.table-secondary > td,
[data-theme="dark"] .table > tbody > tr.table-secondary > th,
[data-theme="dark"] .table > :not(caption) > tr.table-secondary > *,
[data-theme="dark"] .table-hover > tbody > tr.table-secondary > td {
    --bs-table-bg: #2d3238 !important;
    --bs-table-color: #e2e3e5 !important;
    --bs-table-accent-bg: #2d3238 !important;
    background-color: #2d3238 !important;
    background: #2d3238 !important;
    color: #e2e3e5 !important;
    border-color: #3d444c !important;
}

[data-theme="dark"] .table-light,
[data-theme="dark"] .table-light > td,
[data-theme="dark"] .table-light > th,
[data-theme="dark"] tr.table-light,
[data-theme="dark"] tr.table-light > td,
[data-theme="dark"] tr.table-light > th,
[data-theme="dark"] .table > tbody > tr.table-light,
[data-theme="dark"] .table > tbody > tr.table-light > td,
[data-theme="dark"] .table > tbody > tr.table-light > th,
[data-theme="dark"] .table > :not(caption) > tr.table-light > * {
    --bs-table-bg: #2b3035 !important;
    --bs-table-color: #e9ecef !important;
    --bs-table-accent-bg: #2b3035 !important;
    background-color: #2b3035 !important;
    background: #2b3035 !important;
    color: #e9ecef !important;
    border-color: #3d444c !important;
}

/* Hover states for colored rows - slightly lighter */
[data-theme="dark"] .table-hover tbody tr.table-danger:hover > * {
    background-color: #5c2024 !important;
    background: #5c2024 !important;
}

[data-theme="dark"] .table-hover tbody tr.table-warning:hover > * {
    background-color: #5c4814 !important;
    background: #5c4814 !important;
}

[data-theme="dark"] .table-hover tbody tr.table-success:hover > * {
    background-color: #1a4030 !important;
    background: #1a4030 !important;
}

[data-theme="dark"] .table-hover tbody tr.table-info:hover > * {
    background-color: #124550 !important;
    background: #124550 !important;
}

[data-theme="dark"] .table-hover tbody tr.table-primary:hover > * {
    background-color: #23395c !important;
    background: #23395c !important;
}

[data-theme="dark"] .table-hover tbody tr.table-secondary:hover > * {
    background-color: #383e45 !important;
    background: #383e45 !important;
}

[data-theme="dark"] .table-hover tbody tr.table-light:hover > * {
    background-color: #353b42 !important;
    background: #353b42 !important;
}

/* Preserve custom metric background colors (inline styles from VehicleMetricHelpers) */
/* These rows have background-color set via inline styles or custom classes */
[data-theme="dark"] tr[style*="background-color"],
[data-theme="dark"] tr[style*="background:"] {
    /* Keep the inline background color but ensure text is readable */
}

[data-theme="dark"] tr[style*="background-color"] td,
[data-theme="dark"] tr[style*="background:"] td {
    /* Don't override the background, just ensure it stays */
    background-color: inherit !important;
}

/* For metric colors that use Bootstrap color classes on rows */
[data-theme="dark"] tr.bg-danger-subtle,
[data-theme="dark"] tr.bg-danger-subtle > td {
    background-color: #4a1a1d !important;
    color: #f8d7da !important;
}

[data-theme="dark"] tr.bg-warning-subtle,
[data-theme="dark"] tr.bg-warning-subtle > td {
    background-color: #4a3a10 !important;
    color: #fff3cd !important;
}

[data-theme="dark"] tr.bg-success-subtle,
[data-theme="dark"] tr.bg-success-subtle > td {
    background-color: #143326 !important;
    color: #d1e7dd !important;
}

[data-theme="dark"] tr.bg-info-subtle,
[data-theme="dark"] tr.bg-info-subtle > td {
    background-color: #0d3840 !important;
    color: #cff4fc !important;
}

[data-theme="dark"] tr.bg-primary-subtle,
[data-theme="dark"] tr.bg-primary-subtle > td {
    background-color: #1a2d4a !important;
    color: #cfe2ff !important;
}

/* Non-colored table rows should use dark background */
[data-theme="dark"] .table-enhanced tbody tr:not(.table-danger):not(.table-warning):not(.table-success):not(.table-info):not(.table-primary):not(.table-secondary):not([class*="bg-"]):not([style*="background"]):hover {
    background: var(--bg-table-row-hover) !important;
}

[data-theme="dark"] .table-enhanced tbody tr.selected:not(.table-danger):not(.table-warning):not(.table-success):not(.table-info):not(.table-primary):not(.table-secondary) {
    background: var(--bg-card-hover) !important;
}

/* Collapse rows (detail rows in sales table) */
[data-theme="dark"] .collapse td,
[data-theme="dark"] tr.collapse td {
    background-color: var(--bg-card) !important;
}

[data-theme="dark"] tr.collapse td.bg-white {
    background-color: var(--bg-card-hover) !important;
}

/* Card headers with colored backgrounds */
[data-theme="dark"] .card-header.bg-primary {
    background-color: #0d6efd !important;
}

[data-theme="dark"] .card-header.bg-secondary {
    background-color: #495057 !important;
}

[data-theme="dark"] .card-header.bg-light {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .card-header.bg-light h6,
[data-theme="dark"] .card-header.bg-light .h6 {
    color: var(--text-primary) !important;
}

/* Progress bars in objectives */
[data-theme="dark"] .progress,
[data-theme="dark"] .thin-progress {
    background-color: var(--bg-secondary) !important;
}

/* Objectives container */
[data-theme="dark"] .objectives-container {
    color: var(--text-primary);
}

[data-theme="dark"] .objectives-container .fw-semibold {
    color: var(--text-primary);
}

/* List group items in pending sales */
[data-theme="dark"] .list-group-flush .list-group-item {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-flush .list-group-item .fw-semibold {
    color: var(--text-primary);
}

/* Nested tables inside collapse */
[data-theme="dark"] .collapse .table,
[data-theme="dark"] tr.collapse .table {
    background-color: var(--bg-card) !important;
}

[data-theme="dark"] .collapse .table thead th,
[data-theme="dark"] tr.collapse .table thead th {
    background-color: var(--bg-table-header) !important;
}

[data-theme="dark"] .collapse .table tbody td,
[data-theme="dark"] tr.collapse .table tbody td {
    background-color: transparent !important;
}

/* Strong text in tables */
[data-theme="dark"] .table strong,
[data-theme="dark"] .table-enhanced strong {
    color: var(--text-primary);
}

/* Small text in tables */
[data-theme="dark"] .table small,
[data-theme="dark"] .table-enhanced small {
    color: var(--text-muted);
}

/* Sales display page */
[data-theme="dark"] .sales-display {
    background: radial-gradient(circle at top, var(--bg-card), var(--bg-body)) !important;
    border-color: var(--border-color) !important;
    box-shadow: var(--shadow) !important;
}

[data-theme="dark"] .sales-display-container {
    background-color: var(--bg-body) !important;
}

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

[data-theme="dark"] .sales-display .card-body {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .sales-display .card-title,
[data-theme="dark"] .sales-display h4,
[data-theme="dark"] .sales-display h5,
[data-theme="dark"] .sales-display h6,
[data-theme="dark"] .sales-display .h4,
[data-theme="dark"] .sales-display .h5,
[data-theme="dark"] .sales-display .h6 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .sales-display-vehicle {
    color: var(--text-primary);
}

/* Vehicle metric colors - keep the colored backgrounds but adjust for dark mode */
[data-theme="dark"] [style*="background-color: rgb"] {
    /* Metrics with inline background colors need some opacity adjustment */
    opacity: 0.9;
}

/* Date inputs */
[data-theme="dark"] input[type="date"] {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
    color-scheme: dark;
}

/* ===========================================
   MAKE READY DASHBOARD DARK MODE
   =========================================== */

[data-theme="dark"] .mr-display-alert {
    background-color: rgba(255, 193, 7, 0.15) !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
}

[data-theme="dark"] #make-ready-display {
    color: var(--text-primary);
}

/* ===========================================
   DIGITAL ADVERTISEMENT DISPLAY DARK MODE
   =========================================== */

[data-theme="dark"] .digital-display-container {
    background-color: var(--bg-body) !important;
}

/* ===========================================
   USER PROFILE / ACCOUNT PAGES DARK MODE
   =========================================== */

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

/* Identity pages */
[data-theme="dark"] .identity-page {
    background-color: var(--bg-body);
}

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

/* ===========================================
   AUTH / LOGIN PAGES - DARK MODE
   =========================================== */

[data-theme="dark"] .auth-page {
    background-color: var(--bg-body) !important;
}

[data-theme="dark"] .auth-container {
    background-color: transparent !important;
}

/* Login card */
[data-theme="dark"] .login-card {
    background-color: var(--bg-card) !important;
    box-shadow: var(--shadow-lg) !important;
    border: 1px solid var(--border-color);
}

/* Login visual/banner area */
[data-theme="dark"] .login-visual {
    background: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

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

/* Form elements in login */
[data-theme="dark"] .login-card .form-control,
[data-theme="dark"] .login-card .form-select {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .login-card .form-control:focus,
[data-theme="dark"] .login-card .form-select:focus {
    background-color: var(--bg-input) !important;
    border-color: #6366f1 !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(99, 102, 241, 0.25) !important;
}

[data-theme="dark"] .login-card .form-control::placeholder {
    color: var(--text-muted) !important;
}

/* Floating labels */
[data-theme="dark"] .login-card .form-floating > label {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .login-card .form-floating > .form-control:focus ~ label,
[data-theme="dark"] .login-card .form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: var(--text-secondary) !important;
}

/* Checkboxes */
[data-theme="dark"] .login-card .form-check-input {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .login-card .form-check-input:checked {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

[data-theme="dark"] .login-card .form-check-label {
    color: var(--text-primary) !important;
}

/* Password toggle icon */
[data-theme="dark"] .login-card .password-toggle {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .login-card .password-toggle:hover {
    color: var(--text-primary) !important;
}

/* Links */
[data-theme="dark"] .login-card a {
    color: #818cf8 !important;
}

[data-theme="dark"] .login-card a:hover {
    color: #a5b4fc !important;
}

/* Buttons */
[data-theme="dark"] .login-card .btn-primary {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

[data-theme="dark"] .login-card .btn-primary:hover {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
}

/* Validation messages */
[data-theme="dark"] .login-card .text-danger {
    color: #f87171 !important;
}

/* Caps warning */
[data-theme="dark"] .login-card .caps-warning {
    color: #f87171 !important;
}

/* Text */
[data-theme="dark"] .login-card h1,
[data-theme="dark"] .login-card h2,
[data-theme="dark"] .login-card h3,
[data-theme="dark"] .login-card h4,
[data-theme="dark"] .login-card h5,
[data-theme="dark"] .login-card h6 {
    color: var(--text-primary) !important;
}

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

[data-theme="dark"] .login-card .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .login-card .text-center {
    color: var(--text-secondary);
}

/* ===========================================
   OTHER AUTH PAGES (Register, Forgot Password, etc.)
   =========================================== */

/* General auth card styling (for pages that may use different class names) */
[data-theme="dark"] .auth-page .card {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .auth-page .card-body {
    background-color: transparent !important;
}

[data-theme="dark"] .auth-page .card-header {
    background-color: var(--bg-card-hover) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .auth-page .card-footer {
    background-color: var(--bg-card-hover) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .auth-page h1,
[data-theme="dark"] .auth-page h2,
[data-theme="dark"] .auth-page h3,
[data-theme="dark"] .auth-page h4 {
    color: var(--text-primary) !important;
}

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

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

[data-theme="dark"] .auth-page a {
    color: #818cf8 !important;
}

[data-theme="dark"] .auth-page a:hover {
    color: #a5b4fc !important;
}

[data-theme="dark"] .auth-page .form-control,
[data-theme="dark"] .auth-page .form-select {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .auth-page .form-control:focus,
[data-theme="dark"] .auth-page .form-select:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 0.2rem rgba(99, 102, 241, 0.25) !important;
}

[data-theme="dark"] .auth-page .form-floating > label {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .auth-page .btn-primary {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

[data-theme="dark"] .auth-page .btn-primary:hover {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
}

[data-theme="dark"] .auth-page .btn-outline-primary {
    color: #818cf8 !important;
    border-color: #818cf8 !important;
}

[data-theme="dark"] .auth-page .btn-outline-primary:hover {
    background-color: rgba(99, 102, 241, 0.2) !important;
    color: #a5b4fc !important;
}

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

[data-theme="dark"] .auth-page .alert-info {
    background-color: rgba(56, 189, 248, 0.1) !important;
    color: #7dd3fc !important;
}

[data-theme="dark"] .auth-page .alert-success {
    background-color: rgba(74, 222, 128, 0.1) !important;
    color: #86efac !important;
}

[data-theme="dark"] .auth-page .alert-warning {
    background-color: rgba(251, 191, 36, 0.1) !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .auth-page .alert-danger {
    background-color: rgba(248, 113, 113, 0.1) !important;
    color: #fca5a5 !important;
}

/* Account Manage pages - sidebar nav */
[data-theme="dark"] .nav-pills .nav-link {
    color: var(--text-primary);
}

[data-theme="dark"] .nav-pills .nav-link:hover {
    color: var(--text-link);
    background-color: var(--bg-card-hover);
}

[data-theme="dark"] .nav-pills .nav-link.active {
    background-color: #0d6efd;
    color: #fff;
}

/* Page title and section headers */
[data-theme="dark"] .page-title {
    color: var(--text-primary) !important;
}

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

/* Border utilities in dark mode */
[data-theme="dark"] .border-top {
    border-top-color: var(--border-color) !important;
}

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

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

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

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

/* Table responsive wrapper - ensure dark background */
[data-theme="dark"] .table-responsive,
[data-theme="dark"] .platform-table-responsive {
    background-color: var(--bg-card) !important;
}

/* Card containing tables - ensure consistent dark background */
[data-theme="dark"] .card .table-responsive,
[data-theme="dark"] .card .platform-table-responsive {
    background-color: transparent !important;
}

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

/* Table within cards - no extra backgrounds */
[data-theme="dark"] .card > .table-responsive,
[data-theme="dark"] .card > .table,
[data-theme="dark"] .card .table {
    background-color: var(--bg-card) !important;
    --bs-table-bg: var(--bg-card) !important;
}

[data-theme="dark"] .card > .table-responsive > .table,
[data-theme="dark"] .card > .platform-table-responsive > .table {
    background-color: var(--bg-card) !important;
    --bs-table-bg: var(--bg-card) !important;
}

/* ===========================================
   MISC COMPONENT DARK MODE FIXES
   =========================================== */


/* ===========================================
   APP HOME PAGE - DARK MODE
   =========================================== */

/* Welcome Banner */
[data-theme="dark"] .welcome-banner {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(124, 58, 237, 0.1)) !important;
    border-color: rgba(99, 102, 241, 0.3) !important;
}

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

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

[data-theme="dark"] .welcome-banner .text-muted {
    color: var(--text-muted) !important;
}

/* Icon boxes in quick actions */
[data-theme="dark"] .icon-box {
    opacity: 0.9;
}

[data-theme="dark"] .icon-box.bg-primary-subtle {
    background-color: rgba(99, 102, 241, 0.2) !important;
    color: #818cf8 !important;
}

[data-theme="dark"] .icon-box.bg-success-subtle {
    background-color: rgba(74, 222, 128, 0.2) !important;
    color: #4ade80 !important;
}

[data-theme="dark"] .icon-box.bg-warning-subtle {
    background-color: rgba(251, 191, 36, 0.2) !important;
    color: #fbbf24 !important;
}

[data-theme="dark"] .icon-box.bg-danger-subtle {
    background-color: rgba(248, 113, 113, 0.2) !important;
    color: #f87171 !important;
}

[data-theme="dark"] .icon-box.bg-info-subtle {
    background-color: rgba(56, 189, 248, 0.2) !important;
    color: #38bdf8 !important;
}

[data-theme="dark"] .icon-box.bg-secondary-subtle {
    background-color: rgba(156, 163, 175, 0.2) !important;
    color: #9ca3af !important;
}

/* List group items in quick actions */
[data-theme="dark"] .list-group-item {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item-action:hover,
[data-theme="dark"] .list-group-item-action:focus {
    background-color: var(--bg-card-hover) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item .fw-semibold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .list-group-item small.text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .list-group-item .bi.text-muted {
    color: var(--text-muted) !important;
}

/* Vendor cards */
[data-theme="dark"] .vendor-card {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .vendor-card:hover {
    background-color: var(--bg-card-hover) !important;
    box-shadow: var(--shadow) !important;
}

[data-theme="dark"] .vendor-card .card-body {
    background-color: transparent !important;
}

[data-theme="dark"] .vendor-card .fw-semibold,
[data-theme="dark"] .vendor-card .fw-bold {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .vendor-card small.text-muted {
    color: var(--text-muted) !important;
}

/* Subtle background utilities */
[data-theme="dark"] .bg-primary-subtle {
    background-color: rgba(99, 102, 241, 0.15) !important;
}

[data-theme="dark"] .bg-success-subtle {
    background-color: rgba(74, 222, 128, 0.15) !important;
}

[data-theme="dark"] .bg-warning-subtle {
    background-color: rgba(251, 191, 36, 0.15) !important;
}

[data-theme="dark"] .bg-danger-subtle {
    background-color: rgba(248, 113, 113, 0.15) !important;
}

[data-theme="dark"] .bg-info-subtle {
    background-color: rgba(56, 189, 248, 0.15) !important;
}

[data-theme="dark"] .bg-secondary-subtle {
    background-color: rgba(156, 163, 175, 0.15) !important;
}

/* Text color utilities for subtle backgrounds */
[data-theme="dark"] .text-primary {
    color: #818cf8 !important;
}

[data-theme="dark"] .text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .text-warning {
    color: #fbbf24 !important;
}

[data-theme="dark"] .text-danger {
    color: #f87171 !important;
}

[data-theme="dark"] .text-info {
    color: #38bdf8 !important;
}

/* Keep btn text colors correct */
[data-theme="dark"] .btn-primary {
    color: #fff !important;
}

[data-theme="dark"] .btn-success {
    color: #fff !important;
}

[data-theme="dark"] .btn-danger {
    color: #fff !important;
}

[data-theme="dark"] .btn-warning {
    color: #000 !important;
}

[data-theme="dark"] .btn-info {
    color: #000 !important;
}

/* Jumbotron-style sections */
[data-theme="dark"] .jumbotron,
[data-theme="dark"] .py-5.bg-light {
    background-color: var(--bg-card) !important;
}

/* Container backgrounds that might be white */
[data-theme="dark"] .container.bg-white,
[data-theme="dark"] .container-fluid.bg-white {
    background-color: var(--bg-card) !important;
}

/* Well-style containers */
[data-theme="dark"] .well,
[data-theme="dark"] .p-3.bg-light,
[data-theme="dark"] .p-4.bg-light,
[data-theme="dark"] .p-5.bg-light {
    background-color: var(--bg-card) !important;
}

/* Fix any remaining white backgrounds */
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color: #ffffff"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background: #ffffff"] {
    background-color: var(--bg-card) !important;
}

/* Scrollbars for dark mode (webkit browsers) */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

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

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

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

/* ===========================================
   FINAL OVERRIDE: TEXT COLORS ON TABLE ROWS
   These MUST be at the end of the file to override everything
   Excludes badges so they keep their own styling
   =========================================== */

[data-theme="dark"] tr.text-danger td:not(.badge),
[data-theme="dark"] tr.text-danger th:not(.badge),
[data-theme="dark"] tr.text-danger td *:not(.badge),
[data-theme="dark"] table tr.text-danger td:not(.badge),
[data-theme="dark"] table tbody tr.text-danger td:not(.badge),
[data-theme="dark"] .table tr.text-danger td:not(.badge),
[data-theme="dark"] .table tbody tr.text-danger td:not(.badge) {
    color: #f87171 !important;
}

[data-theme="dark"] tr.text-success td:not(.badge),
[data-theme="dark"] tr.text-success th:not(.badge),
[data-theme="dark"] tr.text-success td *:not(.badge),
[data-theme="dark"] table tr.text-success td:not(.badge),
[data-theme="dark"] table tbody tr.text-success td:not(.badge),
[data-theme="dark"] .table tr.text-success td:not(.badge),
[data-theme="dark"] .table tbody tr.text-success td:not(.badge) {
    color: #4ade80 !important;
}

[data-theme="dark"] tr.text-warning td:not(.badge),
[data-theme="dark"] tr.text-warning th:not(.badge),
[data-theme="dark"] tr.text-warning td *:not(.badge),
[data-theme="dark"] table tr.text-warning td:not(.badge),
[data-theme="dark"] table tbody tr.text-warning td:not(.badge),
[data-theme="dark"] .table tr.text-warning td:not(.badge),
[data-theme="dark"] .table tbody tr.text-warning td:not(.badge) {
    color: #fbbf24 !important;
}

[data-theme="dark"] tr.text-primary td:not(.badge),
[data-theme="dark"] tr.text-primary th:not(.badge),
[data-theme="dark"] tr.text-primary td *:not(.badge),
[data-theme="dark"] table tr.text-primary td:not(.badge),
[data-theme="dark"] table tbody tr.text-primary td:not(.badge),
[data-theme="dark"] .table tr.text-primary td:not(.badge),
[data-theme="dark"] .table tbody tr.text-primary td:not(.badge) {
    color: #818cf8 !important;
}

[data-theme="dark"] tr.text-info td:not(.badge),
[data-theme="dark"] tr.text-info th:not(.badge),
[data-theme="dark"] tr.text-info td *:not(.badge),
[data-theme="dark"] table tr.text-info td:not(.badge),
[data-theme="dark"] table tbody tr.text-info td:not(.badge),
[data-theme="dark"] .table tr.text-info td:not(.badge),
[data-theme="dark"] .table tbody tr.text-info td:not(.badge) {
    color: #38bdf8 !important;
}

[data-theme="dark"] tr.text-white td:not(.badge),
[data-theme="dark"] tr.text-white th:not(.badge),
[data-theme="dark"] tr.text-white td *:not(.badge),
[data-theme="dark"] table tr.text-white td:not(.badge),
[data-theme="dark"] table tbody tr.text-white td:not(.badge),
[data-theme="dark"] .table tr.text-white td:not(.badge),
[data-theme="dark"] .table tbody tr.text-white td:not(.badge) {
    color: #fff !important;
}

[data-theme="dark"] tr.text-dark td:not(.badge),
[data-theme="dark"] tr.text-dark th:not(.badge),
[data-theme="dark"] tr.text-dark td *:not(.badge),
[data-theme="dark"] table tr.text-dark td:not(.badge),
[data-theme="dark"] table tbody tr.text-dark td:not(.badge),
[data-theme="dark"] .table tr.text-dark td:not(.badge),
[data-theme="dark"] .table tbody tr.text-dark td:not(.badge) {
    color: #1f2937 !important;
}

[data-theme="dark"] tr.text-secondary td:not(.badge),
[data-theme="dark"] tr.text-secondary th:not(.badge),
[data-theme="dark"] tr.text-secondary td *:not(.badge),
[data-theme="dark"] table tr.text-secondary td:not(.badge),
[data-theme="dark"] table tbody tr.text-secondary td:not(.badge),
[data-theme="dark"] .table tr.text-secondary td:not(.badge),
[data-theme="dark"] .table tbody tr.text-secondary td:not(.badge) {
    color: #9ca3af !important;
}

[data-theme="dark"] tr.text-muted td:not(.badge),
[data-theme="dark"] tr.text-muted th:not(.badge),
[data-theme="dark"] tr.text-muted td *:not(.badge),
[data-theme="dark"] table tr.text-muted td:not(.badge),
[data-theme="dark"] table tbody tr.text-muted td:not(.badge),
[data-theme="dark"] .table tr.text-muted td:not(.badge),
[data-theme="dark"] .table tbody tr.text-muted td:not(.badge) {
    color: var(--text-muted) !important;
}

/* Ensure badges always keep their intended text color */
[data-theme="dark"] tr .badge,
[data-theme="dark"] td .badge,
[data-theme="dark"] th .badge {
    color: inherit;
}

[data-theme="dark"] .badge.bg-primary,
[data-theme="dark"] .badge.bg-secondary,
[data-theme="dark"] .badge.bg-success,
[data-theme="dark"] .badge.bg-danger,
[data-theme="dark"] .badge.bg-info,
[data-theme="dark"] .badge.bg-dark {
    color: #fff !important;
}

[data-theme="dark"] .badge.bg-warning,
[data-theme="dark"] .badge.bg-light {
    color: #1f2937 !important;
}

/* Fix for bg-light.text-dark badges in dark mode - need light text on dark background */
[data-theme="dark"] .badge.bg-light.text-dark {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

/* ===========================================
   PLATFORM AREA - DARK MODE MOBILE ENHANCEMENTS
   =========================================== */

/* Platform health card gradient background */
[data-theme="dark"] .platform-health-card {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(124, 58, 237, 0.08)) !important;
}

/* Platform mobile navbar collapse */
[data-theme="dark"] .platform-navbar .navbar-collapse {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

/* Platform table mobile cards */
[data-theme="dark"] .platform-table tbody tr {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .platform-table tbody td {
    background: transparent !important;
    color: var(--text-primary) !important;
}

/* Platform alerts in dark mode */
[data-theme="dark"] .alert-warning {
    background-color: rgba(255, 193, 7, 0.12) !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
    color: #fcd34d !important;
}

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

[data-theme="dark"] .alert-danger {
    background-color: rgba(220, 53, 69, 0.12) !important;
    border-color: rgba(220, 53, 69, 0.3) !important;
    color: #fca5a5 !important;
}

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

[data-theme="dark"] .alert-info {
    background-color: rgba(13, 202, 240, 0.12) !important;
    border-color: rgba(13, 202, 240, 0.25) !important;
    color: #7dd3fc !important;
}

/* Platform alert icon colors */
[data-theme="dark"] .platform-alert-icon.text-warning {
    color: #fcd34d !important;
}

[data-theme="dark"] .platform-alert-icon.text-danger {
    color: #fca5a5 !important;
}

/* Platform metadata text */
[data-theme="dark"] .platform-meta {
    color: var(--text-muted) !important;
}

/* Platform tabs */
[data-theme="dark"] .platform-tabs .nav-link {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .platform-tabs .nav-link:hover {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .platform-tabs .nav-link.active {
    color: var(--text-link) !important;
    border-color: var(--text-link) !important;
}
