/**
 * Global dark-mode fixes — replaces hard-coded light surfaces with theme tokens.
 * Loaded after variables.css on all dashboard and admin pages.
 */

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

[data-theme="dark"] .main-content,
[data-theme="dark"] .dashboard-main,
[data-theme="dark"] .admin-main-content,
[data-theme="dark"] .page-content {
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* Bootstrap surfaces */
[data-theme="dark"] .card,
[data-theme="dark"] .card-admin,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .admin-card,
[data-theme="dark"] .hub-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .panel-card,
[data-theme="dark"] .content-card,
[data-theme="dark"] .form-section,
[data-theme="dark"] .table-container,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu {
    background: var(--bg-card) !important;
    color: var(--text-primary);
    border-color: var(--border-color) !important;
}

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

[data-theme="dark"] .table,
[data-theme="dark"] .admin-table {
    color: var(--text-primary);
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: var(--border-color);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
    --bs-table-hover-bg: rgba(79, 184, 255, 0.08);
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .admin-table thead th {
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="datetime-local"] {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(79, 184, 255, 0.15);
}

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

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

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

[data-theme="dark"] .section-title,
[data-theme="dark"] .page-title,
[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);
}

[data-theme="dark"] .top-nav,
[data-theme="dark"] .admin-top-nav {
    background: var(--bg-navbar);
    border-color: var(--border-color);
}

[data-theme="dark"] .nav-dropdown-content,
[data-theme="dark"] .notifications-dropdown-content,
[data-theme="dark"] .profile-dropdown-content {
    background: var(--bg-card);
    border-color: var(--border-color);
    box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .notification-item:hover {
    background: var(--bg-secondary);
}

[data-theme="dark"] .notification-item.unread {
    background: color-mix(in srgb, var(--primary) 12%, var(--bg-card));
    border-left-color: var(--primary);
}

[data-theme="dark"] .notification-item.unread:hover {
    background: color-mix(in srgb, var(--primary) 18%, var(--bg-card));
}

[data-theme="dark"] .notif-row,
[data-theme="dark"] .notif-card,
[data-theme="dark"] .notif-toolbar,
[data-theme="dark"] .notif-filter-bar,
[data-theme="dark"] .notif-empty-state {
    background: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .notif-row.unread {
    background: color-mix(in srgb, var(--primary) 10%, var(--bg-card));
}

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

[data-theme="dark"] .notif-btn-secondary:hover,
[data-theme="dark"] .btn-admin-secondary:hover {
    background: var(--bg-tertiary);
    color: var(--primary);
}

[data-theme="dark"] .alert-warning {
    background: rgba(245, 158, 11, 0.12);
    color: #fcd34d;
    border-color: rgba(245, 158, 11, 0.35);
}

[data-theme="dark"] .alert-info {
    background: rgba(79, 184, 255, 0.12);
    color: #93c5fd;
    border-color: rgba(79, 184, 255, 0.35);
}

[data-theme="dark"] .alert-danger {
    background: rgba(239, 68, 68, 0.12);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.35);
}

[data-theme="dark"] .alert-success {
    background: rgba(16, 185, 129, 0.12);
    color: #6ee7b7;
    border-color: rgba(16, 185, 129, 0.35);
}

[data-theme="dark"] .chart-container,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .metrics-chart-wrap {
    background: var(--bg-card);
    border-color: var(--border-color);
}

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

[data-theme="dark"] .pagination .page-link:hover,
[data-theme="dark"] .pagination .page-item.active .page-link {
    background: var(--primary);
    color: var(--text-light);
    border-color: var(--primary);
}

[data-theme="dark"] .list-group-item {
    background: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .list-group-item-action:hover {
    background: var(--bg-secondary);
}

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

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

[data-theme="dark"] .empty-state,
[data-theme="dark"] .no-data-state {
    color: var(--text-muted);
}

[data-theme="dark"] hr,
[data-theme="dark"] .divider {
    border-color: var(--border-color);
    opacity: 1;
}

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

[data-theme="dark"] .feeds-card,
[data-theme="dark"] .feed-post-card,
[data-theme="dark"] .sidebar-widget {
    background: var(--bg-card);
    border-color: var(--border-color);
}

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

[data-theme="dark"] .admin-sidebar,
[data-theme="dark"] .dashboard-sidebar {
    background: var(--gradient-sidebar);
}

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

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