/* Dark mode styles */
:root {
    --dark-bg: #121212;
    --dark-surface: #1e1e1e;
    --dark-surface-variant: #2d2d2d;
    --dark-text: #ffffff;
    --dark-text-secondary: #e0e0e0;
    --dark-text-muted: #b0b0b0;
    --dark-border: #404040;
    --dark-hover: #353535;
    --dark-shadow: rgba(0, 0, 0, 0.5);
    --dark-card-bg: #1e1e1e;
    --dark-card-hover: #252525;
}

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

body.dark-theme {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text) !important;
}

/* Enhanced dark mode coverage - removed overly aggressive border rule */

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

.dark-theme .navbar,
.dark-theme .footer,
.dark-theme .card,
.dark-theme .modal-content,
.dark-theme .dropdown-menu,
.dark-theme .list-group-item,
.dark-theme .table,
[data-theme="dark"] .navbar,
[data-theme="dark"] .footer,
[data-theme="dark"] .card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .table,
.dark-mode .navbar,
.dark-mode .footer,
.dark-mode .card,
.dark-mode .modal-content,
.dark-mode .dropdown-menu,
.dark-mode .list-group-item,
.dark-mode .table {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

/* Dashboard specific cards */
.dark-theme .stat-card,
.dark-theme .dashboard-card,
.dark-theme .info-card,
.dark-theme .metric-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .dashboard-card,
[data-theme="dark"] .info-card,
[data-theme="dark"] .metric-card,
.dark-mode .stat-card,
.dark-mode .dashboard-card,
.dark-mode .info-card,
.dark-mode .metric-card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

/* Force all cards to be dark - override inline styles */
.dark-theme .card,
[data-theme="dark"] .card,
.dark-mode .card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

/* Card headers - override bg-white */
.dark-theme .card-header,
[data-theme="dark"] .card-header,
.dark-mode .card-header {
    background-color: var(--dark-surface-variant) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

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

/* Card footers */
.dark-theme .card-footer,
[data-theme="dark"] .card-footer,
.dark-mode .card-footer {
    background-color: var(--dark-surface-variant) !important;
    border-color: var(--dark-border) !important;
}

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

/* Card body */
.dark-theme .card-body,
[data-theme="dark"] .card-body,
.dark-mode .card-body {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text-secondary) !important;
}

/* Insight cards and nested cards */
.dark-theme .insight-card,
.dark-theme .model-card,
.dark-theme .recommendation-card,
.dark-theme .action-card,
.dark-theme .quick-action-card,
[data-theme="dark"] .insight-card,
[data-theme="dark"] .model-card,
[data-theme="dark"] .recommendation-card,
[data-theme="dark"] .action-card,
[data-theme="dark"] .quick-action-card,
.dark-mode .insight-card,
.dark-mode .model-card,
.dark-mode .recommendation-card,
.dark-mode .action-card,
.dark-mode .quick-action-card {
    background-color: var(--dark-card-bg) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text) !important;
    padding: 1rem;
    border-radius: 8px;
}

/* Override any white backgrounds on cards */
.dark-theme .card.bg-white,
.dark-theme .bg-white.card,
[data-theme="dark"] .card.bg-white,
[data-theme="dark"] .bg-white.card,
.dark-mode .card.bg-white,
.dark-mode .bg-white.card {
    background-color: var(--dark-surface) !important;
}

/* Management cards (datasets, projects) */
.dark-theme .management-card,
.dark-theme .dataset-card,
.dark-theme .project-management-card,
.dark-theme .quick-link-card,
[data-theme="dark"] .management-card,
[data-theme="dark"] .dataset-card,
[data-theme="dark"] .project-management-card,
[data-theme="dark"] .quick-link-card,
.dark-mode .management-card,
.dark-mode .dataset-card,
.dark-mode .project-management-card,
.dark-mode .quick-link-card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

/* Quick link cards text */
.dark-theme .quick-link-card h5,
.dark-theme .quick-link-card p,
[data-theme="dark"] .quick-link-card h5,
[data-theme="dark"] .quick-link-card p,
.dark-mode .quick-link-card h5,
.dark-mode .quick-link-card p {
    color: var(--dark-text) !important;
}

.dark-theme .quick-link-card:hover,
[data-theme="dark"] .quick-link-card:hover,
.dark-mode .quick-link-card:hover {
    background-color: var(--dark-card-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3) !important;
}

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

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

/* Card spans - be more selective */
.dark-theme .card span:not(.badge):not(.btn):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6),
[data-theme="dark"] .card span:not(.badge):not(.btn):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6),
.dark-mode .card span:not(.badge):not(.btn):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6) {
    color: var(--dark-text-secondary) !important;
}

/* Buttons in dark mode - keep outline buttons with transparent bg */
.dark-theme .btn-outline-primary,
.dark-theme .btn-outline-secondary,
[data-theme="dark"] .btn-outline-primary,
[data-theme="dark"] .btn-outline-secondary,
.dark-mode .btn-outline-primary,
.dark-mode .btn-outline-secondary {
    background-color: transparent !important;
    border-color: var(--user-accent-color, #0d6efd) !important;
    color: var(--user-accent-color, #0d6efd) !important;
}

/* Pricing page specific dark mode */
.dark-theme .pricing-card,
[data-theme="dark"] .pricing-card,
.dark-mode .pricing-card {
    background: var(--dark-card-bg) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .pricing-card:hover,
[data-theme="dark"] .pricing-card:hover,
.dark-mode .pricing-card:hover {
    background: var(--dark-card-hover) !important;
}

.dark-theme .pricing-header,
[data-theme="dark"] .pricing-header,
.dark-mode .pricing-header {
    background: var(--dark-surface-variant) !important;
    color: var(--dark-text) !important;
}

.dark-theme .pricing-features li,
[data-theme="dark"] .pricing-features li,
.dark-mode .pricing-features li {
    color: var(--dark-text-secondary) !important;
}

.dark-theme .trial-banner,
[data-theme="dark"] .trial-banner,
.dark-mode .trial-banner {
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.2), rgba(99, 102, 241, 0.2)) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .addon-card,
.dark-theme .special-program-card,
[data-theme="dark"] .addon-card,
[data-theme="dark"] .special-program-card,
.dark-mode .addon-card,
.dark-mode .special-program-card {
    background: var(--dark-card-bg) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .popular-badge,
[data-theme="dark"] .popular-badge,
.dark-mode .popular-badge {
    background: linear-gradient(135deg, #ff6b6b, #ee5a6f) !important;
    color: white !important;
}

.dark-theme .discount-badge,
[data-theme="dark"] .discount-badge,
.dark-mode .discount-badge {
    background: linear-gradient(135deg, #51cf66, #37b24d) !important;
    color: white !important;
}

.dark-theme .nav-link,
.dark-theme .navbar-brand,
.dark-theme h1, .dark-theme h2, .dark-theme h3,
.dark-theme h4, .dark-theme h5, .dark-theme h6,
.dark-theme .card-title, .dark-theme .card-text,
.dark-theme .list-group-item,
[data-theme="dark"] .nav-link,
[data-theme="dark"] .navbar-brand,
[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"] .card-title, [data-theme="dark"] .card-text,
[data-theme="dark"] .list-group-item,
.dark-mode .nav-link,
.dark-mode .navbar-brand,
.dark-mode h1, .dark-mode h2, .dark-mode h3,
.dark-mode h4, .dark-mode h5, .dark-mode h6,
.dark-mode .card-title, .dark-mode .card-text,
.dark-mode .list-group-item {
    color: var(--dark-text) !important;
}

/* More specific text color rules */
.dark-theme p,
.dark-theme label,
.dark-theme small,
[data-theme="dark"] p,
[data-theme="dark"] label,
[data-theme="dark"] small,
.dark-mode p,
.dark-mode label,
.dark-mode small {
    color: var(--dark-text-secondary) !important;
}

/* Ensure spans inherit proper color */
.dark-theme span:not(.badge):not(.btn):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning),
[data-theme="dark"] span:not(.badge):not(.btn):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning),
.dark-mode span:not(.badge):not(.btn):not(.text-primary):not(.text-success):not(.text-danger):not(.text-warning) {
    color: inherit;
}

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

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

.dark-mode .btn-soft-primary {
    background-color: rgba(79, 70, 229, 0.2);
}

.dark-mode .feature-card,
.dark-mode .upload-card {
    background: rgba(45, 45, 45, 0.8);
    border-color: var(--dark-border);
}

.dark-mode .feature-card:hover,
.dark-mode .upload-card:hover {
    background: rgba(53, 53, 53, 0.9);
    box-shadow: 0 8px 32px var(--dark-shadow);
}

.dark-mode .form-control,
.dark-mode .form-select {
    background-color: var(--dark-surface);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

.dark-mode .form-control:focus,
.dark-mode .form-select:focus {
    background-color: var(--dark-hover);
    border-color: var(--primary);
    color: var(--dark-text);
}

.dark-mode .table {
    color: var(--dark-text);
}

.dark-mode .table-hover tbody tr:hover {
    background-color: var(--dark-hover);
}

/* Ensure buttons maintain accent color in dark mode */
.dark-theme .btn-primary,
[data-theme="dark"] .btn-primary,
.dark-mode .btn-primary {
    background-color: var(--user-accent-color, #0d6efd) !important;
    border-color: var(--user-accent-color, #0d6efd) !important;
    color: white !important;
}

.dark-theme .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:hover,
.dark-mode .btn-outline-primary:hover {
    background-color: var(--user-accent-color, #0d6efd) !important;
    border-color: var(--user-accent-color, #0d6efd) !important;
    color: white !important;
}

/* Alerts and notifications */
.dark-theme .alert,
[data-theme="dark"] .alert,
.dark-mode .alert {
    background-color: var(--dark-surface-variant) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

.dark-theme .alert-light,
[data-theme="dark"] .alert-light,
.dark-mode .alert-light {
    background-color: var(--dark-surface-variant) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-secondary) !important;
}

.dark-theme .alert-warning,
[data-theme="dark"] .alert-warning,
.dark-mode .alert-warning {
    background-color: rgba(255, 193, 7, 0.2) !important;
    border-color: rgba(255, 193, 7, 0.4) !important;
    color: #ffc107 !important;
}

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

.dark-theme .alert-success,
[data-theme="dark"] .alert-success,
.dark-mode .alert-success {
    background-color: rgba(25, 135, 84, 0.2) !important;
    border-color: rgba(25, 135, 84, 0.4) !important;
    color: #198754 !important;
}

.dark-theme .alert-info,
[data-theme="dark"] .alert-info,
.dark-mode .alert-info {
    background-color: rgba(13, 202, 240, 0.2) !important;
    border-color: rgba(13, 202, 240, 0.4) !important;
    color: #0dcaf0 !important;
}

/* Alert links should be brighter */
.dark-theme .alert a,
[data-theme="dark"] .alert a,
.dark-mode .alert a {
    color: inherit !important;
    font-weight: 600;
    text-decoration: underline;
}

/* Badges */
.dark-theme .badge,
[data-theme="dark"] .badge,
.dark-mode .badge {
    background-color: var(--dark-surface-variant) !important;
    color: var(--dark-text) !important;
}

.dark-theme .badge-success,
[data-theme="dark"] .badge-success,
.dark-mode .badge-success {
    background-color: rgba(25, 135, 84, 0.3) !important;
    color: #198754 !important;
}

.dark-theme .badge-warning,
[data-theme="dark"] .badge-warning,
.dark-mode .badge-warning {
    background-color: rgba(255, 193, 7, 0.3) !important;
    color: #ffc107 !important;
}

.dark-theme .badge-danger,
[data-theme="dark"] .badge-danger,
.dark-mode .badge-danger {
    background-color: rgba(220, 53, 69, 0.3) !important;
    color: #dc3545 !important;
}

/* Main content area */
.dark-theme .main-content,
[data-theme="dark"] .main-content,
.dark-mode .main-content {
    background-color: var(--dark-bg) !important;
    color: var(--dark-text) !important;
}

/* User dropdown menu */
.dark-theme .user-menu,
.dark-theme .dropdown-menu,
[data-theme="dark"] .user-menu,
[data-theme="dark"] .dropdown-menu,
.dark-mode .user-menu,
.dark-mode .dropdown-menu {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

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

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

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

/* Dashboard hero section */
.dark-theme .hero-section,
.dark-theme .dashboard-header,
[data-theme="dark"] .hero-section,
[data-theme="dark"] .dashboard-header,
.dark-mode .hero-section,
.dark-mode .dashboard-header {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important;
    color: white !important;
}

.dark-theme .hero-section *,
.dark-theme .dashboard-header *,
[data-theme="dark"] .hero-section *,
[data-theme="dark"] .dashboard-header *,
.dark-mode .hero-section *,
.dark-mode .dashboard-header * {
    color: white !important;
}

/* Recent activity section */
.dark-theme .activity-item,
.dark-theme .recent-activity,
[data-theme="dark"] .activity-item,
[data-theme="dark"] .recent-activity,
.dark-mode .activity-item,
.dark-mode .recent-activity {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

/* Project cards at bottom */
.dark-theme .project-card,
[data-theme="dark"] .project-card,
.dark-mode .project-card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

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

.dark-theme .progress-bar,
[data-theme="dark"] .progress-bar,
.dark-mode .progress-bar {
    background-color: var(--user-accent-color, #0d6efd) !important;
}

/* Icons should maintain their color */
.dark-theme .fa,
.dark-theme .fas,
.dark-theme .far,
.dark-theme .fab,
[data-theme="dark"] .fa,
[data-theme="dark"] .fas,
[data-theme="dark"] .far,
[data-theme="dark"] .fab,
.dark-mode .fa,
.dark-mode .fas,
.dark-mode .far,
.dark-mode .fab {
    color: inherit;
}

/* Model recommendation badges */
.dark-theme .badge-dark,
[data-theme="dark"] .badge-dark,
.dark-mode .badge-dark {
    background-color: var(--dark-surface-variant) !important;
    color: var(--dark-text) !important;
}

.dark-theme .badge-primary,
[data-theme="dark"] .badge-primary,
.dark-mode .badge-primary {
    background-color: var(--user-accent-color, #0d6efd) !important;
    color: white !important;
}

.dark-theme .badge-info,
[data-theme="dark"] .badge-info,
.dark-mode .badge-info {
    background-color: rgba(13, 202, 240, 0.3) !important;
    color: #0dcaf0 !important;
}

/* Analysis selection cards */
.dark-theme .analysis-card,
.dark-theme .model-option-card,
.dark-theme .algorithm-card,
[data-theme="dark"] .analysis-card,
[data-theme="dark"] .model-option-card,
[data-theme="dark"] .algorithm-card,
.dark-mode .analysis-card,
.dark-mode .model-option-card,
.dark-mode .algorithm-card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

.dark-theme .analysis-card:hover,
.dark-theme .model-option-card:hover,
.dark-theme .algorithm-card:hover,
[data-theme="dark"] .analysis-card:hover,
[data-theme="dark"] .model-option-card:hover,
[data-theme="dark"] .algorithm-card:hover,
.dark-mode .analysis-card:hover,
.dark-mode .model-option-card:hover,
.dark-mode .algorithm-card:hover {
    background-color: var(--dark-card-hover) !important;
    border-color: var(--user-accent-color, #0d6efd) !important;
}

/* Accordion and collapsible sections */
.dark-theme .accordion-item,
[data-theme="dark"] .accordion-item,
.dark-mode .accordion-item {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .accordion-button,
[data-theme="dark"] .accordion-button,
.dark-mode .accordion-button {
    background-color: var(--dark-surface-variant) !important;
    color: var(--dark-text) !important;
}

.dark-theme .accordion-button:not(.collapsed),
[data-theme="dark"] .accordion-button:not(.collapsed),
.dark-mode .accordion-button:not(.collapsed) {
    background-color: var(--dark-hover) !important;
    color: var(--dark-text) !important;
}

.dark-theme .accordion-body,
[data-theme="dark"] .accordion-body,
.dark-mode .accordion-body {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text-secondary) !important;
}

/* Dataset stats */
.dark-theme .dataset-stats,
.dark-theme .stat-item,
[data-theme="dark"] .dataset-stats,
[data-theme="dark"] .stat-item,
.dark-mode .dataset-stats,
.dark-mode .stat-item {
    color: var(--dark-text-secondary) !important;
}

.dark-theme .dataset-stats .text-info,
[data-theme="dark"] .dataset-stats .text-info,
.dark-mode .dataset-stats .text-info {
    color: #0dcaf0 !important;
}

/* Radio buttons and checkboxes in analysis selection */
.dark-theme .form-check-input,
[data-theme="dark"] .form-check-input,
.dark-mode .form-check-input {
    background-color: var(--dark-surface-variant) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .form-check-label,
[data-theme="dark"] .form-check-label,
.dark-mode .form-check-label {
    color: var(--dark-text-secondary) !important;
}

/* Visualization configuration */
.dark-theme .config-section,
.dark-theme .chart-config,
[data-theme="dark"] .config-section,
[data-theme="dark"] .chart-config,
.dark-mode .config-section,
.dark-mode .chart-config {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

/* Step indicators */
.dark-theme .step-indicator,
[data-theme="dark"] .step-indicator,
.dark-mode .step-indicator {
    background-color: var(--user-accent-color, #0d6efd) !important;
    color: white !important;
}

/* Results page */
.dark-theme .results-container,
.dark-theme .metrics-card,
.dark-theme .plot-container,
[data-theme="dark"] .results-container,
[data-theme="dark"] .metrics-card,
[data-theme="dark"] .plot-container,
.dark-mode .results-container,
.dark-mode .metrics-card,
.dark-mode .plot-container {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

/* Section headers with gradients */
.dark-theme .section-header,
.dark-theme .metrics-header,
.dark-theme .viz-header,
[data-theme="dark"] .section-header,
[data-theme="dark"] .metrics-header,
[data-theme="dark"] .viz-header,
.dark-mode .section-header,
.dark-mode .metrics-header,
.dark-mode .viz-header {
    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%) !important;
    color: white !important;
}

/* Content sections below headers */
.dark-theme .metrics-section,
.dark-theme .visualization-section,
.dark-theme .results-section,
.dark-theme .results-card-body,
[data-theme="dark"] .metrics-section,
[data-theme="dark"] .visualization-section,
[data-theme="dark"] .results-section,
[data-theme="dark"] .results-card-body,
.dark-mode .metrics-section,
.dark-mode .visualization-section,
.dark-mode .results-section,
.dark-mode .results-card-body {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text-secondary) !important;
}

/* Results card wrapper */
.dark-theme .results-card,
[data-theme="dark"] .results-card,
.dark-mode .results-card {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

/* Metric stat cards */
.dark-theme .metric-stat,
.dark-theme .stat-box,
.dark-theme .metric-card,
[data-theme="dark"] .metric-stat,
[data-theme="dark"] .stat-box,
[data-theme="dark"] .metric-card,
.dark-mode .metric-stat,
.dark-mode .stat-box,
.dark-mode .metric-card {
    background-color: var(--dark-card-bg) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

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

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

/* Chart/plot backgrounds */
.dark-theme .plot-area,
.dark-theme .chart-container,
.dark-theme canvas,
[data-theme="dark"] .plot-area,
[data-theme="dark"] .chart-container,
.dark-mode .plot-area,
.dark-mode .chart-container {
    background-color: white !important;
}

/* Plot wrapper - keep dark */
.dark-theme .plot-wrapper,
[data-theme="dark"] .plot-wrapper,
.dark-mode .plot-wrapper {
    background-color: var(--dark-surface) !important;
    padding: 1rem;
    border-radius: 8px;
}

/* Dark mode transitions */
body,
.navbar,
.footer,
.card,
.modal-content,
.form-control,
.form-select,
.feature-card,
.upload-card {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
