/* Theme System - Light and Dark Mode with Color Variants */

/* Light Mode - Default - Applied to :root and html */
:root,
html {
    --bg-primary: #f5f7fa;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f8f9fa;
    --text-primary: #2c3e50;
    --text-secondary: #6c757d;
    --text-muted: #95a5a6;
    --border-color: #e1e8ed;
    --shadow: rgba(0, 0, 0, 0.1);
    --shadow-hover: rgba(0, 0, 0, 0.15);
    
    /* Additional colors for compatibility */
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --danger-color: #ef4444;
    --info-color: #06b6d4;
    --secondary-color: #6c757d;
    
    /* Alert colors */
    --success-bg: #d4edda;
    --success-text: #155724;
    --success-border: #c3e6cb;
    --error-bg: #f8d7da;
    --error-text: #721c24;
    --error-border: #f5c6cb;
    --warning-bg: #fff3cd;
    --warning-text: #856404;
    --warning-border: #ffeaa7;
    --info-bg: #d1ecf1;
    --info-text: #0c5460;
    --info-border: #bee5eb;
}

/* Dark Mode */
[data-theme="dark"],
html[data-theme="dark"],
body[data-theme="dark"] {
    --bg-primary: #1a1d23;
    --bg-secondary: #242830;
    --bg-tertiary: #2d3139;
    --text-primary: #e4e6eb;
    --text-secondary: #b0b3b8;
    --text-muted: #8a8d91;
    --border-color: #3a3d44;
    --shadow: rgba(0, 0, 0, 0.3);
    --shadow-hover: rgba(0, 0, 0, 0.4);
    
    /* Adjusted colors for dark mode */
    --success-color: #34d399;
    --warning-color: #fbbf24;
    --danger-color: #f87171;
    --info-color: #22d3ee;
    --secondary-color: #9ca3af;
    
    /* Alert colors for dark mode */
    --success-bg: #1e4620;
    --success-text: #a3e4a8;
    --success-border: #2d5f2f;
    --error-bg: #4a1f1f;
    --error-text: #f5a3a3;
    --error-border: #6b2929;
    --warning-bg: #4a3f1f;
    --warning-text: #f5d99f;
    --warning-border: #6b5729;
    --info-bg: #1f3a4a;
    --info-text: #9fd9f5;
    --info-border: #29526b;
}

/* Color Themes - Blue (Default) */
:root[data-color="blue"] {
    --primary-color: #26378f;
    --primary-hover: #1e2b6f;
    --primary-light: #e8eaf6;
    --accent-color: #3f51b5;
}

/* Color Themes - Green */
:root[data-color="green"] {
    --primary-color: #2e7d32;
    --primary-hover: #1b5e20;
    --primary-light: #e8f5e9;
    --accent-color: #4caf50;
}

/* Color Themes - Purple */
:root[data-color="purple"] {
    --primary-color: #6a1b9a;
    --primary-hover: #4a148c;
    --primary-light: #f3e5f5;
    --accent-color: #9c27b0;
}

/* Color Themes - Red */
:root[data-color="red"] {
    --primary-color: #c62828;
    --primary-hover: #b71c1c;
    --primary-light: #ffebee;
    --accent-color: #f44336;
}

/* Color Themes - Orange */
:root[data-color="orange"] {
    --primary-color: #e65100;
    --primary-hover: #bf360c;
    --primary-light: #fff3e0;
    --accent-color: #ff9800;
}

/* Color Themes - Teal */
:root[data-color="teal"] {
    --primary-color: #00695c;
    --primary-hover: #004d40;
    --primary-light: #e0f2f1;
    --accent-color: #009688;
}

/* Color Themes - Pink */
:root[data-color="pink"] {
    --primary-color: #c2185b;
    --primary-hover: #880e4f;
    --primary-light: #fce4ec;
    --accent-color: #e91e63;
}

/* Color Themes - Indigo */
:root[data-color="indigo"] {
    --primary-color: #283593;
    --primary-hover: #1a237e;
    --primary-light: #e8eaf6;
    --accent-color: #3f51b5;
}

/* Color Themes - Cyan */
:root[data-color="cyan"] {
    --primary-color: #0097a7;
    --primary-hover: #00838f;
    --primary-light: #e0f7fa;
    --accent-color: #00bcd4;
}

/* Color Themes - Amber */
:root[data-color="amber"] {
    --primary-color: #ff6f00;
    --primary-hover: #e65100;
    --primary-light: #fff8e1;
    --accent-color: #ffa726;
}

/* Color Themes - Brown */
:root[data-color="brown"] {
    --primary-color: #5d4037;
    --primary-hover: #3e2723;
    --primary-light: #efebe9;
    --accent-color: #795548;
}

/* Color Themes - Deep Purple */
:root[data-color="deep-purple"] {
    --primary-color: #4a148c;
    --primary-hover: #311b92;
    --primary-light: #ede7f6;
    --accent-color: #673ab7;
}

/* Apply theme colors to elements - with !important for override */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Text colors */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary) !important;
}

p {
    color: var(--text-primary) !important;
}

span:not(.btn span):not(.btn-primary span):not(.btn-success span):not(.btn-danger span):not(.btn-warning span):not(.category-header span):not(.average-cell span):not(.summary-header span):not(.summary-total span), 
div:not(.btn):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.category-header):not(.average-cell):not(.summary-header):not(.summary-total):not(.objective-order-badge) {
    color: var(--text-primary);
}

/* Force white text in specific table cells */
.category-header,
.category-header *,
.average-header,
.average-header *,
.average-cell,
.average-cell *,
.summary-header,
.summary-header *,
.summary-total,
.summary-total * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

small {
    color: var(--text-secondary) !important;
}

a:not(.btn):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning) {
    color: var(--primary-color);
    transition: color 0.3s ease;
}

a:not(.btn):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):hover {
    color: var(--primary-hover);
}

/* Header */
.header {
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 2px 4px var(--shadow);
}

.logo-text {
    color: var(--text-primary) !important;
}

/* Navigation - Higher specificity to ensure override */
.navbar .nav-links a {
    color: var(--text-primary);
}

.navbar .nav-links a:hover {
    background: var(--bg-tertiary);
    color: var(--primary-color);
}

.navbar .nav-links a.active,
.nav-links a.active {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}

/* Tabs */
.tabs,
.tab-buttons {
    border-bottom: 2px solid var(--border-color);
}

.tabs a,
.tab-buttons a,
.tab-button {
    color: var(--text-secondary);
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

.tabs a:hover,
.tab-buttons a:hover,
.tab-button:hover {
    color: var(--primary-color);
    background: var(--bg-tertiary);
}

.tabs a.active,
.tab-buttons a.active,
.tab-button.active {
    color: var(--primary-color);
    background: var(--bg-tertiary);
    border-bottom-color: var(--primary-color);
    font-weight: 600;
}

/* Cards */
.modern-card,
.card,
.settings-panel,
.stat-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 8px var(--shadow);
    color: var(--text-primary);
}

.modern-card h3,
.card h3,
.settings-panel h3,
.stat-card h3 {
    color: var(--text-primary);
}

.modern-card p,
.card p,
.settings-panel p,
.stat-card p {
    color: var(--text-secondary);
}

.modern-card-header,
.card-header {
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.modern-card-header h3,
.card-header h3 {
    color: var(--text-primary);
}

.modern-card-title,
.card-title {
    color: var(--text-primary);
}

.modern-card:hover,
.card:hover {
    box-shadow: 0 4px 12px var(--shadow-hover);
}

/* Dashboard specific */
.dashboard-header h1 {
    color: var(--text-primary);
}

.dashboard-header p {
    color: var(--text-secondary);
}

.card-value {
    color: var(--text-primary);
}

.card p {
    color: var(--text-secondary);
}

/* Forms */
.form-control,
.form-control select,
.form-control input,
.form-control textarea,
select.form-control,
input.form-control,
textarea.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="file"],
select,
textarea {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
    background: var(--bg-secondary);
    border-color: var(--primary-color);
    color: var(--text-primary);
    outline: none;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--text-muted);
}

label {
    color: var(--text-primary);
}

/* Tables */
.modern-table,
.data-table {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

.modern-table thead,
.data-table thead {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.modern-table thead th,
.data-table thead th {
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color);
}

.modern-table tbody tr,
.data-table tbody tr {
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.modern-table tbody td,
.data-table tbody td {
    color: var(--text-primary);
}

.modern-table tbody tr:hover,
.data-table tbody tr:hover {
    background: var(--bg-tertiary);
}

/* Sidebar */
.sidebar {
    background: linear-gradient(135deg, #26378f, #1a2870) !important;
    border-right: 1px solid rgba(255,255,255,0.1) !important;
    color: white !important;
}

.sidebar * {
    color: white !important;
}

.sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    color: white !important;
}

.sidebar-header h3 {
    color: white !important;
}

.sidebar-header i {
    color: #fbbf24 !important;
}

.sidebar-menu a,
.sidebar-link {
    color: rgba(255,255,255,0.8) !important;
}

.sidebar-menu a span,
.sidebar-link span {
    color: rgba(255,255,255,0.8) !important;
}

.sidebar-menu a i,
.sidebar-link i {
    color: rgba(255,255,255,0.8) !important;
}

.sidebar-menu a:hover,
.sidebar-menu a.active,
.sidebar-link:hover,
.sidebar-link.active {
    background: rgba(255,255,255,0.15) !important;
    color: white !important;
}

.sidebar-menu a:hover span,
.sidebar-menu a.active span,
.sidebar-link:hover span,
.sidebar-link.active span {
    color: white !important;
}

.sidebar-menu a:hover i,
.sidebar-menu a.active i,
.sidebar-link:hover i,
.sidebar-link.active i {
    color: white !important;
}

.sidebar-footer {
    color: white !important;
    border-top: 1px solid rgba(255,255,255,0.1) !important;
}

.sidebar-footer small {
    color: white !important;
}

/* Alerts */
.alert {
    border: 1px solid var(--border-color);
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.alert-success {
    background: rgba(16, 185, 129, 0.1);
    border-color: var(--success-color);
    color: var(--success-color);
}

.alert-error,
.alert-danger {
    background: rgba(239, 68, 68, 0.1);
    border-color: var(--danger-color);
    color: var(--danger-color);
}

.alert-warning {
    background: rgba(245, 158, 11, 0.1);
    border-color: var(--warning-color);
    color: var(--warning-color);
}

.alert-info {
    background: var(--primary-light);
    color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Badges */
.badge {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.badge-primary {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.badge-success {
    background: var(--success-color);
    color: white;
}

.badge-danger {
    background: var(--danger-color);
    color: white;
}

.badge-warning {
    background: var(--warning-color);
    color: white;
}

.badge-secondary {
    background: var(--bg-tertiary);
    color: var(--text-secondary);
}

/* Settings rows */
.settings-row {
    border-bottom: 1px solid var(--border-color);
    color: var(--text-primary);
}

.settings-row strong {
    color: var(--text-primary);
}

.settings-section-title {
    color: var(--text-primary);
    border-bottom: 2px solid var(--border-color);
}

/* Stats */
.stat-label {
    color: var(--text-secondary);
}

.stat-value {
    color: var(--text-primary);
}

.stat-icon {
    background: var(--primary-light);
    color: var(--primary-color);
}

/* User role badges */
.user-role-badge {
    background: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
}

.user-role-badge.super-admin,
.user-role-badge.super-admin * {
    background: var(--danger-color) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
}

.user-role-badge.head-officer,
.user-role-badge.head-officer *,
.user-role-badge.head_officer,
.user-role-badge.head_officer * {
    background: var(--primary-color) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
}

.user-role-badge.manager,
.user-role-badge.manager * {
    background: var(--info-color) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
}

.user-role-badge.staff,
.user-role-badge.staff * {
    background: var(--success-color) !important;
    color: white !important;
    -webkit-text-fill-color: white !important;
}

/* Modals */
.modal,
[id$="Modal"] {
    background: rgba(0, 0, 0, 0.5);
}

.modal .modern-card,
.modal .card {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* Theme Toggle Button */
.theme-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.theme-toggle:hover {
    background: var(--primary-light);
    border-color: var(--primary-color);
}

.theme-toggle i {
    font-size: 1.2rem;
    color: var(--primary-color);
}

/* Dark mode specific adjustments */
[data-theme="dark"] .logo-icon {
    background: var(--primary-color);
    color: white;
}

[data-theme="dark"] .user-avatar {
    background: var(--primary-color);
    color: white;
}

[data-theme="dark"] .badge {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

[data-theme="dark"] .badge-primary {
    background: var(--primary-color);
    color: white;
}

/* Buttons - REMOVED: Conflicting with database theme system
   Database theme styles from theme_settings_tbl now control button appearance
   See: includes/theme_loader.php and customize_button_colors.php
*/

/* Only keep non-conflicting button base styles */
.btn {
    transition: all 0.3s ease;
}

/* Remove all button color overrides - let database theme system handle it */

/* Smooth transitions for theme changes */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Color picker preview */
.color-option {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.3s ease;
}

.color-option:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 8px var(--shadow);
}

.color-option.active {
    border-color: var(--text-primary);
    box-shadow: 0 0 0 2px var(--bg-secondary), 0 0 0 4px var(--primary-color);
}

.color-option.blue { background: #26378f; }
.color-option.green { background: #2e7d32; }
.color-option.purple { background: #6a1b9a; }
.color-option.red { background: #c62828; }
.color-option.orange { background: #e65100; }
.color-option.teal { background: #00695c; }

/* Color picker preview */
.color-option {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid transparent;
    transition: all 0.3s ease;
}

.color-option:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 8px var(--shadow);
}

.color-option.active {
    border-color: var(--text-primary);
    box-shadow: 0 0 0 2px var(--bg-secondary), 0 0 0 4px var(--primary-color);
}

.color-option.blue { background: #26378f; }
.color-option.green { background: #2e7d32; }
.color-option.purple { background: #6a1b9a; }
.color-option.red { background: #c62828; }
.color-option.orange { background: #e65100; }
.color-option.teal { background: #00695c; }

/* NEW Color Themes - Added for Enhanced Theme System */

/* Color Themes - Pink */
:root[data-color="pink"] {
    --primary-color: #e91e63;
    --primary-hover: #c2185b;
    --primary-light: #fce4ec;
    --accent-color: #f06292;
}

/* Color Themes - Indigo */
:root[data-color="indigo"] {
    --primary-color: #3949ab;
    --primary-hover: #283593;
    --primary-light: #e8eaf6;
    --accent-color: #5c6bc0;
}

/* Color Themes - Cyan */
:root[data-color="cyan"] {
    --primary-color: #0097a7;
    --primary-hover: #00838f;
    --primary-light: #e0f7fa;
    --accent-color: #00bcd4;
}

/* Color Themes - Amber */
:root[data-color="amber"] {
    --primary-color: #ff8f00;
    --primary-hover: #ff6f00;
    --primary-light: #fff8e1;
    --accent-color: #ffc107;
}

/* Color Themes - Brown */
:root[data-color="brown"] {
    --primary-color: #5d4037;
    --primary-hover: #4e342e;
    --primary-light: #efebe9;
    --accent-color: #795548;
}

/* Color Themes - Deep Purple */
:root[data-color="deep-purple"] {
    --primary-color: #512da8;
    --primary-hover: #4527a0;
    --primary-light: #ede7f6;
    --accent-color: #673ab7;
}

/* Add color preview circles for new colors */
.color-option.pink { background: #e91e63; }
.color-option.indigo { background: #3949ab; }
.color-option.cyan { background: #0097a7; }
.color-option.amber { background: #ff8f00; }
.color-option.brown { background: #5d4037; }
.color-option.deep-purple { background: #512da8; }

/* Theme Preview Cards */
.theme-preview-card {
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 1.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    background: var(--bg-secondary);
}

.theme-preview-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px var(--shadow-hover);
    border-color: var(--primary-color);
}

.theme-preview-card.active {
    border-color: var(--primary-color);
    border-width: 3px;
    box-shadow: 0 0 0 3px var(--primary-light);
}

.theme-preview-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.theme-preview-color {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.theme-preview-info h4 {
    margin: 0;
    font-size: 1.1rem;
    color: var(--text-primary);
}

.theme-preview-info p {
    margin: 0.25rem 0 0 0;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.theme-preview-samples {
    display: flex;
    gap: 0.5rem;
    margin-top: 1rem;
}

.theme-preview-sample {
    flex: 1;
    height: 40px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
}


/* ============================================
   DARK MODE - COMPREHENSIVE REPORT & TABLE STYLES
   ============================================ */

/* Report Tables - Excel-like tables */
[data-theme="dark"] .excel-table,
[data-theme="dark"] .report-table,
[data-theme="dark"] .comparison-table,
[data-theme="dark"] .hierarchical-table {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .excel-table thead,
[data-theme="dark"] .report-table thead,
[data-theme="dark"] .comparison-table thead,
[data-theme="dark"] .hierarchical-table thead {
    background: var(--bg-tertiary);
}

[data-theme="dark"] .excel-table thead th,
[data-theme="dark"] .report-table thead th,
[data-theme="dark"] .comparison-table thead th,
[data-theme="dark"] .hierarchical-table thead th {
    background: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--border-color);
}

[data-theme="dark"] .excel-table tbody td,
[data-theme="dark"] .report-table tbody td,
[data-theme="dark"] .comparison-table tbody td,
[data-theme="dark"] .hierarchical-table tbody td {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .excel-table tbody tr:hover td,
[data-theme="dark"] .report-table tbody tr:hover td,
[data-theme="dark"] .comparison-table tbody tr:hover td,
[data-theme="dark"] .hierarchical-table tbody tr:hover td {
    background: var(--bg-tertiary);
}

/* Excel Cell Inputs */
[data-theme="dark"] .excel-cell,
[data-theme="dark"] .excel-textarea,
[data-theme="dark"] .excel-select {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .excel-cell:hover {
    background: var(--bg-tertiary);
}

[data-theme="dark"] .excel-cell:focus {
    background: var(--bg-tertiary);
    border-color: var(--primary-color);
}

[data-theme="dark"] .excel-cell.has-value {
    color: var(--success-color);
}

/* Category and Subcategory Rows */
[data-theme="dark"] .category-row,
[data-theme="dark"] .category-header {
    background: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--border-color);
}

[data-theme="dark"] .subcategory-row,
[data-theme="dark"] .subcategory-header {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color);
}

/* Average and Summary Cells */
[data-theme="dark"] .average-cell,
[data-theme="dark"] .average-header,
[data-theme="dark"] .summary-header,
[data-theme="dark"] .summary-total {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}

/* Report Cards */
[data-theme="dark"] .report-card,
[data-theme="dark"] .metric-card,
[data-theme="dark"] .stat-card {
    background: var(--bg-secondary);
    border-color: var(--border-color);
    box-shadow: 0 2px 8px var(--shadow);
}

[data-theme="dark"] .report-card:hover,
[data-theme="dark"] .metric-card:hover,
[data-theme="dark"] .stat-card:hover {
    box-shadow: 0 4px 12px var(--shadow-hover);
}

/* Chart Containers */
[data-theme="dark"] .chart-container,
[data-theme="dark"] .chart-wrapper {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] canvas {
    background: var(--bg-secondary);
}

/* Filters and Controls */
[data-theme="dark"] .filters,
[data-theme="dark"] .filter-group,
[data-theme="dark"] .controls {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .filter-label {
    color: var(--text-primary);
}

/* Badges and Tags */
[data-theme="dark"] .badge {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .badge-primary {
    background: var(--primary-color);
    color: #ffffff;
    border-color: var(--primary-color);
}

[data-theme="dark"] .badge-success {
    background: var(--success-color);
    color: #ffffff;
}

[data-theme="dark"] .badge-warning {
    background: var(--warning-color);
    color: #1a1d23;
}

[data-theme="dark"] .badge-danger {
    background: var(--danger-color);
    color: #ffffff;
}

/* Alerts */
[data-theme="dark"] .alert {
    background: var(--bg-tertiary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .alert-success {
    background: var(--success-bg);
    border-color: var(--success-border);
    color: var(--success-text);
}

[data-theme="dark"] .alert-error,
[data-theme="dark"] .alert-danger {
    background: var(--error-bg);
    border-color: var(--error-border);
    color: var(--error-text);
}

[data-theme="dark"] .alert-warning {
    background: var(--warning-bg);
    border-color: var(--warning-border);
    color: var(--warning-text);
}

[data-theme="dark"] .alert-info {
    background: var(--info-bg);
    border-color: var(--info-border);
    color: var(--info-text);
}

/* Modals */
[data-theme="dark"] .modal {
    background: rgba(0, 0, 0, 0.8);
}

[data-theme="dark"] .modal-content {
    background: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .modal-header {
    background: var(--bg-tertiary);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .modal-header h3 {
    color: var(--text-primary);
}

[data-theme="dark"] .modal-footer {
    background: var(--bg-tertiary);
    border-top-color: var(--border-color);
}

[data-theme="dark"] .modal-close {
    color: var(--text-primary);
}

[data-theme="dark"] .modal-close:hover {
    color: var(--danger-color);
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
    background: var(--bg-secondary);
    border-color: var(--border-color);
    box-shadow: 0 4px 12px var(--shadow);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background: var(--bg-tertiary);
    color: var(--primary-color);
}

[data-theme="dark"] .dropdown-divider {
    border-top-color: var(--border-color);
}

/* Sidebar */
[data-theme="dark"] .app-sidebar {
    background: var(--bg-secondary);
    border-right-color: var(--border-color);
}

[data-theme="dark"] .sidebar-menu .nav-link {
    color: var(--text-primary);
}

[data-theme="dark"] .sidebar-menu .nav-link:hover {
    background: var(--bg-tertiary);
    color: var(--primary-color);
}

[data-theme="dark"] .sidebar-menu .nav-link.active {
    background: var(--primary-color);
    color: #ffffff;
}

/* Header */
[data-theme="dark"] .app-header {
    background: var(--bg-secondary);
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .header-logo {
    color: var(--text-primary);
}

[data-theme="dark"] .user-menu {
    color: var(--text-primary);
}

/* Pagination */
[data-theme="dark"] .pagination {
    background: var(--bg-secondary);
}

[data-theme="dark"] .pagination a,
[data-theme="dark"] .pagination span {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .pagination a:hover {
    background: var(--primary-color);
    color: #ffffff;
}

[data-theme="dark"] .pagination .active {
    background: var(--primary-color);
    color: #ffffff;
}

/* Breadcrumbs */
[data-theme="dark"] .breadcrumb {
    background: var(--bg-tertiary);
    color: var(--text-secondary);
}

[data-theme="dark"] .breadcrumb a {
    color: var(--primary-color);
}

/* Progress Bars */
[data-theme="dark"] .progress {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .progress-bar {
    background: var(--primary-color);
}

/* Tooltips */
[data-theme="dark"] .tooltip {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 8px var(--shadow);
}

/* Loading Indicators */
[data-theme="dark"] .spinner,
[data-theme="dark"] .loading {
    border-color: var(--border-color);
    border-top-color: var(--primary-color);
}

[data-theme="dark"] .save-indicator {
    background: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
    box-shadow: 0 4px 12px var(--shadow);
}

/* YoY Reports Specific */
[data-theme="dark"] .yoy-table,
[data-theme="dark"] .comparison-table {
    background: var(--bg-secondary);
}

[data-theme="dark"] .yoy-increase {
    color: var(--success-color);
}

[data-theme="dark"] .yoy-decrease {
    color: var(--danger-color);
}

[data-theme="dark"] .yoy-neutral {
    color: var(--text-secondary);
}

/* Dashboard Cards */
[data-theme="dark"] .card-owner,
[data-theme="dark"] .card-category {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .card-header-secondary,
[data-theme="dark"] .card-header-category {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}

/* Task Management */
[data-theme="dark"] .task-row {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .task-row:hover {
    background: var(--bg-tertiary);
}

/* Settings Panels */
[data-theme="dark"] .settings-row {
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .settings-row strong {
    color: var(--text-primary);
}

[data-theme="dark"] .settings-row span {
    color: var(--text-secondary);
}

/* Code and Pre blocks */
[data-theme="dark"] code,
[data-theme="dark"] pre {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* Scrollbars (Webkit browsers) */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-tertiary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 6px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Select Dropdowns */
[data-theme="dark"] select option {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* Date Inputs */
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

/* File Inputs */
[data-theme="dark"] input[type="file"]::file-selector-button {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] input[type="file"]::file-selector-button:hover {
    background: var(--primary-color);
    color: #ffffff;
}

/* Trend Indicators */
[data-theme="dark"] .trend-up {
    color: var(--success-color);
}

[data-theme="dark"] .trend-down {
    color: var(--danger-color);
}

[data-theme="dark"] .trend-neutral {
    color: var(--text-secondary);
}

/* Info Boxes */
[data-theme="dark"] .info-box,
[data-theme="dark"] .quick-guide {
    background: var(--bg-tertiary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

/* Grid Layouts */
[data-theme="dark"] .grid-2,
[data-theme="dark"] .grid-3,
[data-theme="dark"] .grid-4 {
    gap: 1.5rem;
}

/* Ensure text visibility in all contexts */
[data-theme="dark"] .text-primary {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .text-secondary {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* Weekly/Monthly Report Specific */
[data-theme="dark"] .week-selector,
[data-theme="dark"] .month-selector {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .date-range-display {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* Chart.js Dark Mode Adjustments */
[data-theme="dark"] .chartjs-render-monitor {
    background: var(--bg-secondary) !important;
}

/* Ensure proper contrast for all interactive elements */
[data-theme="dark"] button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning) {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] button:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):hover {
    background: var(--primary-color);
    color: #ffffff;
}

/* Table wrapper for horizontal scroll */
[data-theme="dark"] .excel-table-wrapper,
[data-theme="dark"] .table-wrapper {
    background: var(--bg-secondary);
    border-color: var(--border-color);
}

/* Ensure icons are visible */
[data-theme="dark"] i.fas,
[data-theme="dark"] i.far,
[data-theme="dark"] i.fab {
    color: inherit;
}

/* Special handling for white text that should stay white */
[data-theme="dark"] .category-header *,
[data-theme="dark"] .average-cell *,
[data-theme="dark"] .summary-header *,
[data-theme="dark"] .summary-total *,
[data-theme="dark"] .card-header-secondary *,
[data-theme="dark"] .card-header-category * {
    color: #ffffff !important;
}
