/**
 * Modo escuro — páginas com CSS legado ou ajustes finos
 * Gráficos, Squads, Melhores, Lista de provas (/matches), Hub da prova, Resultados (totals)
 */

/* ========== GRÁFICOS ========== */
html.match-theme-dark .match-page--graphs .graph-container,
html.match-theme-dark .match-page--graphs .division-section,
html.match-theme-dark .match-page--graphs .athlete-list,
html.match-theme-dark .match-page--graphs .info-box,
html.match-theme-dark .match-page--graphs .graph-info,
html.match-theme-dark .match-page--graphs .search-box,
html.match-theme-dark .match-page--graphs .division-badge:not(.selected),
html.match-theme-dark .match-page--graphs .notification-toast,
html.match-theme-dark .match-page--graphs .modal-content {
    background: var(--match-card);
    border-color: var(--match-border);
    color: var(--match-text);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--graphs .athlete-checkbox {
    background: var(--match-card);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .athlete-checkbox:hover {
    background-color: var(--match-brand-soft);
}

html.match-theme-dark .match-page--graphs .athlete-checkbox .custom-checkbox {
    background-color: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--graphs .athlete-name {
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .athlete-position,
html.match-theme-dark .match-page--graphs .info-box p,
html.match-theme-dark .match-page--graphs .graph-info,
html.match-theme-dark .match-page--graphs .no-results,
html.match-theme-dark .match-page--graphs .search-box i,
html.match-theme-dark .match-page--graphs .search-box .clear-search {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--graphs .search-box input {
    background: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .search-box .clear-search:hover {
    background: var(--match-brand-soft);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .nav-tabs .nav-link {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--graphs .nav-tabs .nav-link.active {
    background: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--graphs .loading {
    background: rgba(30, 41, 59, 0.95);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .athlete-list::before {
    background: linear-gradient(to bottom, var(--match-card), transparent);
}

html.match-theme-dark .match-page--graphs .athlete-list::after {
    background: linear-gradient(to top, var(--match-card), transparent);
}

html.match-theme-dark .match-page--graphs .modal-footer {
    border-top-color: var(--match-border);
    background: var(--match-card);
}

html.match-theme-dark .match-page--graphs .modal-body {
    background: var(--match-card);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs kbd {
    background-color: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs #no-division-message {
    background: linear-gradient(135deg, #1e3a5f, #1e293b);
    border-color: var(--match-info-blue);
    color: var(--match-info-blue);
}

html.match-theme-dark .match-page--graphs .division-badge.selected {
    background: linear-gradient(135deg, var(--match-brand), var(--match-brand-dark));
    color: #0f172a;
}

html.match-theme-dark .match-page--graphs .division-badge .badge-count {
    background: rgba(255, 255, 255, 0.12);
    color: var(--match-accent);
}

html.match-theme-dark .match-page--graphs .division-badge.selected .badge-count {
    color: #0f172a;
}

html.match-theme-dark .match-page--graphs .selected-count {
    background: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--graphs .notification-toast .notification-title {
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .notification-toast .notification-content,
html.match-theme-dark .match-page--graphs .notification-toast .notification-footer {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--graphs .notification-toast .notification-close:hover {
    background: var(--match-brand-soft);
    color: var(--match-text);
}

html.match-theme-dark .match-page--graphs .info-box h5 {
    color: var(--match-text);
}

/* ========== SQUADS ========== */
html.match-theme-dark .match-page--squads .match-header,
html.match-theme-dark .match-page--squads .search-container,
html.match-theme-dark .match-page--squads .squad-card,
html.match-theme-dark .match-page--squads .squad-table th {
    background-color: var(--match-card);
    color: var(--match-text);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--squads .match-header {
    background: linear-gradient(135deg, var(--match-card) 0%, var(--match-bg) 100%);
}

html.match-theme-dark .match-page--squads .match-header h2 {
    color: var(--match-text);
}

html.match-theme-dark .match-page--squads .squad-header {
    background-color: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--squads .squad-table td {
    border-top-color: var(--match-border);
    color: var(--match-text);
    background-color: var(--match-card);
}

html.match-theme-dark .match-page--squads .squad-table th {
    background-color: var(--match-bg);
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--squads .squad-stats {
    background-color: var(--match-bg);
    border-top-color: var(--match-border);
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--squads .search-input {
    background: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--squads .search-icon,
html.match-theme-dark .match-page--squads .search-results,
html.match-theme-dark .match-page--squads .no-results,
html.match-theme-dark .match-page--squads .athlete-details {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--squads .nav-button {
    background-color: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--squads .nav-button:hover {
    background-color: var(--match-brand-dark);
    color: #0f172a;
}

html.match-theme-dark .match-page--squads .athlete-division,
html.match-theme-dark .match-page--squads .athlete-class {
    background-color: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--squads .athlete-division.LIMITED,
html.match-theme-dark .match-page--squads .athlete-class.D {
    background-color: var(--match-bg);
    color: var(--match-text-muted);
}

/* ========== MELHORES (BEST) ========== */
html.match-theme-dark .match-page--best .match-header {
    background: linear-gradient(135deg, var(--match-card) 0%, var(--match-bg) 100%);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--best .match-header h2,
html.match-theme-dark .match-page--best .page-title {
    color: var(--match-text);
}

html.match-theme-dark .match-page--best .stage-card {
    background-color: var(--match-card);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--best .stage-header {
    background-color: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--best .stage-content {
    background: var(--match-card);
    color: var(--match-text);
}

html.match-theme-dark .match-page--best .section-title,
html.match-theme-dark .match-page--best .athletes-label {
    color: var(--match-text-muted);
    border-bottom-color: var(--match-border);
}

html.match-theme-dark .match-page--best .division-item {
    border-bottom-color: var(--match-border);
}

html.match-theme-dark .match-page--best .hit-factor-value {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--best .athletes-list,
html.match-theme-dark .match-page--best .separator {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--best .athlete-name,
html.match-theme-dark .match-page--best .best-athlete-name {
    background-color: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-accent);
}

html.match-theme-dark .match-page--best .nav-button {
    background-color: var(--match-brand);
    color: #0f172a;
}

html.match-theme-dark .match-page--best .nav-button:hover {
    background-color: var(--match-brand-dark);
    color: #0f172a;
}

html.match-theme-dark .match-page--best .hit-factor {
    background-color: var(--match-brand-soft);
    color: var(--match-accent);
    border-color: var(--match-brand-border);
}

/* ========== LISTA DE PROVAS (/matches) ========== */
html.match-theme-dark .match-page--matches h4,
html.match-theme-dark .match-page--matches .navbar-brand {
    color: var(--match-text);
}

html.match-theme-dark .match-page--matches .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(134, 239, 172, 0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

html.match-theme-dark .match-page--matches .card-body,
html.match-theme-dark .match-page--matches .card-body p,
html.match-theme-dark .match-page--matches .card-body b,
html.match-theme-dark .match-page--matches .card-body strong,
html.match-theme-dark .match-page--matches .match-name {
    color: var(--match-text);
}

html.match-theme-dark .match-page--matches .card-body a:not(.btn) {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--matches .card-body a:not(.btn):hover {
    color: var(--match-accent-dark);
}

html.match-theme-dark .match-page--matches .form-control,
html.match-theme-dark .match-page--matches .form-select {
    background-color: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--matches .form-select option {
    background-color: var(--match-card);
    color: var(--match-text);
}

html.match-theme-dark .match-page--matches .pagination .page-item.active .page-link,
html.match-theme-dark .match-page--matches .pagination .page-item.active .page-link:hover,
html.match-theme-dark .match-page--matches .pagination .page-item.active .page-link:focus {
    color: #0f172a;
}

html.match-theme-dark .match-page--matches .badge.bg-success,
html.match-theme-dark .match-page--matches .badge.bg-primary {
    color: #0f172a !important;
}

html.match-theme-dark .match-page--matches .text-success {
    color: var(--match-brand) !important;
}

html.match-theme-dark .match-page--matches .text-danger {
    color: #f87171 !important;
}

html.match-theme-dark .match-page--matches .border-success,
html.match-theme-dark .match-page--matches .card-body.border-success {
    border-left-color: var(--match-brand) !important;
}

html.match-theme-dark .match-page--matches .border-danger,
html.match-theme-dark .match-page--matches .card-body.border-danger {
    border-left-color: #f87171 !important;
}

html.match-theme-dark .match-page--matches [id^="match-"].matches-list-card--highlight {
    border-color: var(--match-brand) !important;
    box-shadow: 0 0 0 3px rgba(var(--match-brand-rgb), 0.35), var(--match-shadow-md);
}

html.match-theme-dark .match-page--matches .btn-primary {
    color: #0f172a;
}

/* ========== HUB DA PROVA (/match/{id}) ========== */
html.match-theme-dark .match-page--hub .match-title {
    color: var(--match-text);
}

html.match-theme-dark .match-page--hub .match-date {
    background: linear-gradient(135deg, var(--match-brand), var(--match-brand-dark));
    color: #0f172a;
}

html.match-theme-dark .match-page--hub .main-content {
    background: var(--match-card);
    border: 1px solid var(--match-border);
}

html.match-theme-dark .match-page--hub .description-content,
html.match-theme-dark .match-page--hub .sync-info {
    background: linear-gradient(135deg, var(--match-bg) 0%, var(--match-card) 100%);
    border: 1px solid var(--match-border);
}

html.match-theme-dark .match-page--hub .description-content hr {
    border-color: var(--match-border);
    opacity: 1;
}

html.match-theme-dark .match-page--hub .description-content img {
    max-width: 100%;
    border-radius: 0.5rem;
}

html.match-theme-dark .match-page--hub .quick-nav-item i {
    color: var(--match-brand);
}

html.match-theme-dark .match-page--hub .quick-nav-item:hover i,
html.match-theme-dark .match-page--hub .quick-nav-item:focus-visible i,
html.match-theme-dark .match-page--hub .quick-nav-item.active i {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--hub .quick-nav-item .card {
    background: var(--match-card);
    border: 1px solid var(--match-border) !important;
}

html.match-theme-dark .match-page--hub .quick-nav-item .card-body.border-success {
    border-left-color: var(--match-brand) !important;
}

html.match-theme-dark .match-page--hub .quick-nav-item .card:hover,
html.match-theme-dark .match-page--hub .quick-nav-item:focus-visible .card {
    border-color: var(--match-brand-border);
}

html.match-theme-dark .match-page--hub .quick-nav-item.active .card {
    border: 2px solid var(--match-brand);
    box-shadow: 0 0 0 3px rgba(var(--match-brand-rgb), 0.3), var(--match-shadow-md);
}

html.match-theme-dark .match-page--hub .back-button .btn-primary {
    color: #0f172a;
}

/* ========== RESULTADOS / TOTALS (/verify/resumed/totals) ========== */
html.match-theme-dark .match-page--points .athlete-name,
html.match-theme-dark .match-page--points .athlete-name-link,
html.match-theme-dark .match-page--points .mobile-card-name-link {
    color: var(--match-text);
}

html.match-theme-dark .match-page--points .athlete-match-stats,
html.match-theme-dark .match-page--points .points-percent,
html.match-theme-dark .match-page--points .match_points_new,
html.match-theme-dark .match-page--points .mobile-stages-title,
html.match-theme-dark .match-page--points .mobile-stages-percent {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--points .mobile-stat-item[style] {
    background: var(--match-card) !important;
    border-color: var(--match-border) !important;
    box-shadow: none !important;
}

html.match-theme-dark .match-page--points .mobile-stat-value[style] {
    color: var(--match-text) !important;
}

html.match-theme-dark .match-page--points .mobile-stages-title span[style] {
    color: var(--match-text-muted) !important;
}

html.match-theme-dark .match-page--points .table td.name-column,
html.match-theme-dark .match-page--points .table td.name-column span {
    color: var(--match-text);
}

html.match-theme-dark .match-page--points .badge-powerfactor,
html.match-theme-dark .match-page--points .badge-class:not(.M):not(.A):not(.B):not(.C):not(.D):not(.G):not(.GM):not(.U),
html.match-theme-dark .match-page--points .badge-class.D,
html.match-theme-dark .match-page--points .badge-class.U {
    background-color: var(--match-bg);
    color: var(--match-text-muted);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--points .badge-class.A {
    background-color: rgba(59, 130, 246, 0.15);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
}

html.match-theme-dark .match-page--points .badge-class.B {
    background-color: rgba(249, 115, 22, 0.15);
    color: #fdba74;
    border-color: rgba(249, 115, 22, 0.35);
}

html.match-theme-dark .match-page--points .badge-class.C {
    background-color: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.35);
}

html.match-theme-dark .match-page--points .badge-category {
    background-color: rgba(139, 92, 246, 0.15);
    color: #c4b5fd;
    border-color: rgba(139, 92, 246, 0.35);
}

html.match-theme-dark .match-page--points .badge-team {
    background-color: rgba(234, 179, 8, 0.15);
    color: #fde68a;
    border-color: rgba(234, 179, 8, 0.35);
}

html.match-theme-dark .match-page--points .mobile-card-badge.badge-category {
    background-color: rgba(139, 92, 246, 0.15);
    color: #c4b5fd;
    border-color: rgba(139, 92, 246, 0.35);
}

html.match-theme-dark .match-page--points .mobile-card-badge.badge-class.A {
    background-color: rgba(59, 130, 246, 0.15);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
}

html.match-theme-dark .match-page--points .mobile-card-badge.badge-class.B {
    background-color: rgba(249, 115, 22, 0.15);
    color: #fdba74;
    border-color: rgba(249, 115, 22, 0.35);
}

html.match-theme-dark .match-page--points .mobile-card-badge.badge-class.C {
    background-color: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.35);
}

html.match-theme-dark .match-page--points .mobile-card-badge.badge-team {
    background-color: rgba(234, 179, 8, 0.15);
    color: #fde68a;
    border-color: rgba(234, 179, 8, 0.35);
}

html.match-theme-dark .match-page--points .division-counter {
    background: linear-gradient(135deg, #475569, #334155);
    color: var(--match-text);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

/* Modal de stage (mobile + desktop) */
html.match-theme-dark .match-page--points .stage-info-content {
    background-color: var(--match-card) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.55) !important;
}

html.match-theme-dark .match-page--points .stage-info-header {
    border-bottom-color: var(--match-border) !important;
}

html.match-theme-dark .match-page--points .stage-info-title {
    color: var(--match-text) !important;
}

html.match-theme-dark .match-page--points .stage-info-close {
    color: var(--match-text-muted) !important;
}

html.match-theme-dark .match-page--points .stage-info-close:hover {
    background: var(--match-brand-soft) !important;
    color: var(--match-text) !important;
}

html.match-theme-dark .match-page--points .stage-info-item {
    border-bottom-color: var(--match-border) !important;
}

html.match-theme-dark .match-page--points .stage-info-item:hover {
    background-color: var(--match-bg);
}

html.match-theme-dark .match-page--points .stage-info-label {
    color: var(--match-text) !important;
}

html.match-theme-dark .match-page--points .stage-info-label i {
    color: var(--match-text-muted) !important;
}

html.match-theme-dark .match-page--points .stage-info-value {
    color: var(--match-text-muted) !important;
}

html.match-theme-dark .match-page--points .stage-info-btn {
    color: #0f172a !important;
}

/* Tabela de times (desktop) */
html.match-theme-dark .match-page--points .team-table-container {
    background: var(--match-card);
    border-color: var(--match-border);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--points .team-table-container .table th {
    background: var(--match-bg);
    border-bottom-color: var(--match-border);
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--points .team-table-container .table td {
    border-bottom-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--points .athlete-item {
    border-bottom-color: var(--match-border);
}

html.match-theme-dark .match-page--points .athlete-name {
    color: var(--match-text);
}

html.match-theme-dark .match-page--points .athlete-name small {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--points .athlete-points {
    color: var(--match-text);
}

/* Cards mobile de times */
html.match-theme-dark .match-page--points .mobile-team-card {
    background: var(--match-card);
    border-color: var(--match-border);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--points .mobile-team-athlete {
    background: var(--match-bg);
}

html.match-theme-dark .match-page--points .mobile-team-athlete-name {
    color: var(--match-text);
}

html.match-theme-dark .match-page--points .mobile-team-athlete-division {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--points .footer-container {
    background-color: var(--match-card);
    border-top-color: var(--match-border);
}

html.match-theme-dark .match-page--points .footer-content {
    color: var(--match-text-muted);
}

/* ========== BADGES (verify, combinado, shooter-verify) ========== */
html.match-theme-dark .match-page--verify .badge-powerfactor,
html.match-theme-dark .match-page--verify .badge-class:not(.M):not(.A):not(.B):not(.C):not(.D):not(.G):not(.GM):not(.U),
html.match-theme-dark .match-page--verify .badge-class.D,
html.match-theme-dark .match-page--verify .badge-class.U,
html.match-theme-dark .match-page--combinado .badge-powerfactor,
html.match-theme-dark .match-page--combinado .badge-class:not(.M):not(.A):not(.B):not(.C):not(.D):not(.G):not(.GM):not(.U),
html.match-theme-dark .match-page--combinado .badge-class.D,
html.match-theme-dark .match-page--combinado .badge-class.U,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-powerfactor,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class:not(.M):not(.A):not(.B):not(.C):not(.D):not(.G):not(.GM):not(.U),
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.D,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.U {
    background-color: var(--match-bg);
    color: var(--match-text-muted);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--verify .badge-class.A,
html.match-theme-dark .match-page--combinado .badge-class.A,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.A {
    background-color: rgba(59, 130, 246, 0.15);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
}

html.match-theme-dark .match-page--verify .badge-class.B,
html.match-theme-dark .match-page--combinado .badge-class.B,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.B {
    background-color: rgba(249, 115, 22, 0.15);
    color: #fdba74;
    border-color: rgba(249, 115, 22, 0.35);
}

html.match-theme-dark .match-page--verify .badge-class.C,
html.match-theme-dark .match-page--combinado .badge-class.C,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.C {
    background-color: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.35);
}

html.match-theme-dark .match-page--verify .badge-category,
html.match-theme-dark .match-page--combinado .badge-category,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-category {
    background-color: rgba(139, 92, 246, 0.15);
    color: #c4b5fd;
    border-color: rgba(139, 92, 246, 0.35);
}

html.match-theme-dark .match-page--verify .badge-team,
html.match-theme-dark .match-page--combinado .badge-team,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-team {
    background-color: rgba(234, 179, 8, 0.15);
    color: #fde68a;
    border-color: rgba(234, 179, 8, 0.35);
}

html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta .badge-class.GM {
    background-color: rgba(59, 130, 246, 0.15);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
}

/* ========== ACCORDION / BUSCA / INFO (verify, stage, shooter-verify) ========== */
html.match-theme-dark .match-page--verify .search-container,
html.match-theme-dark .match-page--stage .search-container,
html.match-theme-dark .match-page--shooter-verify .search-container {
    background-color: var(--match-card);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--verify .search-input,
html.match-theme-dark .match-page--stage .search-input,
html.match-theme-dark .match-page--shooter-verify .search-input {
    background-color: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--verify .search-icon,
html.match-theme-dark .match-page--verify .search-results,
html.match-theme-dark .match-page--verify .no-results,
html.match-theme-dark .match-page--stage .search-icon,
html.match-theme-dark .match-page--stage .search-results,
html.match-theme-dark .match-page--stage .no-results,
html.match-theme-dark .match-page--shooter-verify .search-icon,
html.match-theme-dark .match-page--shooter-verify .search-results,
html.match-theme-dark .match-page--shooter-verify .no-results {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--verify .accordion,
html.match-theme-dark .match-page--stage .accordion,
html.match-theme-dark .match-page--shooter-verify .accordion,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend.accordion--compact {
    background-color: var(--match-card);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--verify .accordion-header,
html.match-theme-dark .match-page--stage .accordion-header,
html.match-theme-dark .match-page--shooter-verify .accordion-header,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend .accordion-header {
    background-color: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--verify .accordion-header:hover,
html.match-theme-dark .match-page--stage .accordion-header:hover,
html.match-theme-dark .match-page--shooter-verify .accordion-header:hover,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend .accordion-header:hover {
    background-color: var(--match-brand-soft);
}

html.match-theme-dark .match-page--verify .accordion-header h5,
html.match-theme-dark .match-page--stage .accordion-header h5,
html.match-theme-dark .match-page--shooter-verify .accordion-header h5 {
    color: var(--match-text);
}

html.match-theme-dark .match-page--verify .accordion-content,
html.match-theme-dark .match-page--stage .accordion-content,
html.match-theme-dark .match-page--shooter-verify .accordion-content,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend .accordion-content {
    background-color: var(--match-card);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--verify .accordion-content li,
html.match-theme-dark .match-page--stage .accordion-content li,
html.match-theme-dark .match-page--shooter-verify .accordion-content li,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend__body {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--verify .info-box,
html.match-theme-dark .match-page--stage .info-box,
html.match-theme-dark .match-page--shooter-verify .info-box,
html.match-theme-dark .match-page--shooter-verify .athlete-verify-legend .info-box {
    background-color: var(--match-bg);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--verify .info-box h5,
html.match-theme-dark .match-page--stage .info-box h5,
html.match-theme-dark .match-page--shooter-verify .info-box h5,
html.match-theme-dark .match-page--shooter-verify .info-box h6,
html.match-theme-dark .match-page--shooter-verify .info-box strong,
html.match-theme-dark .match-page--shooter-verify .info-box li {
    color: var(--match-text);
}

/* ========== VERIFY (/match/{id}/verify) — desktop ========== */
html.match-theme-dark .match-page--verify .division-header-main {
    background-color: var(--match-card);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--verify .division-header-main h4 {
    color: var(--match-text);
}

html.match-theme-dark .match-page--verify .division-header-main .text-muted i {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--verify .verify-table th.essential,
html.match-theme-dark .match-page--verify .verify-table td.shooter_name {
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.25);
}

html.match-theme-dark .match-page--verify .verify-table thead th {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--verify .verify-table td.match_points {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--verify .shooter-name .verify-indicator {
    border-color: var(--match-card);
}

html.match-theme-dark .match-page--verify .stage-button.btn-warning,
html.match-theme-dark .match-page--verify .match-points-badge.btn-warning {
    color: #1e293b;
}

html.match-theme-dark .match-page--verify .max-points {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--verify .match_points_new {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--verify .table td,
html.match-theme-dark .match-page--verify .table th {
    color: var(--match-text);
}

/* ========== STAGE (/match/{id}/stage/{stage_id}) — desktop ========== */
html.match-theme-dark .match-page--stage .stage-header,
html.match-theme-dark .match-page--stage .division-header-main {
    background-color: var(--match-card);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--stage .stage-header h4,
html.match-theme-dark .match-page--stage .division-header-main h4 {
    color: var(--match-text);
}

html.match-theme-dark .match-page--stage .shooter-name .verify-indicator {
    border-color: var(--match-card);
}

html.match-theme-dark .match-page--stage .table-responsive::-webkit-scrollbar-track {
    background: var(--match-bg);
}

html.match-theme-dark .match-page--stage .table-responsive::-webkit-scrollbar-thumb {
    background: var(--match-border);
}

html.match-theme-dark .match-page--stage .max-points {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--stage .table td,
html.match-theme-dark .match-page--stage .table th {
    color: var(--match-text);
}

/* ========== COMBINADO (/overall/combinado) — desktop ========== */
html.match-theme-dark .match-page--combinado .athlete-name {
    color: var(--match-text);
}

html.match-theme-dark .match-page--combinado .points-percent {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--combinado .match-stats-container,
html.match-theme-dark .match-page--combinado .stats-grid {
    background: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--combinado .stat-item {
    background: var(--match-card);
    border-color: var(--match-border);
    box-shadow: none;
}

html.match-theme-dark .match-page--combinado .stat-value {
    color: var(--match-text);
}

html.match-theme-dark .match-page--combinado .table td.name-column,
html.match-theme-dark .match-page--combinado .table td.name-column span {
    color: var(--match-text);
}

/* ========== SHOOTER VERIFY — desktop ========== */
html.match-theme-dark .match-page--shooter-verify .modal-logs-content {
    background-color: var(--match-card);
    border-color: var(--match-border);
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .modal-logs-header {
    border-bottom-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .modal-logs-title {
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .modal-logs-close {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--shooter-verify .modal-logs-close:hover,
html.match-theme-dark .match-page--shooter-verify .modal-logs-close:focus {
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .log-entry {
    background-color: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .log-entry-header {
    border-bottom-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .log-timestamp {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--shooter-verify .log-device {
    color: var(--match-text);
    background-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .change-item {
    background-color: var(--match-card);
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .change-field {
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .shooter-stages-table-wrap .table thead th {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--shooter-verify .charts-section .chart-container {
    background: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .charts-section {
    background: var(--match-card);
    box-shadow: var(--match-shadow-sm);
}

html.match-theme-dark .match-page--shooter-verify .charts-section .chart-container {
    background: var(--match-bg);
    box-shadow: none;
}

html.match-theme-dark .match-page--shooter-verify .chart-info {
    background: var(--match-bg);
    border: 1px solid var(--match-border);
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--shooter-verify .chart-title {
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .chart-title i {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta__points {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--shooter-verify .athlete-verify-meta__percent {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--shooter-verify .shooter-stage-card__value--pos {
    color: var(--match-accent);
}

html.match-theme-dark .match-page--shooter-verify .shooter-stage-card__verify-time {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--shooter-verify .log-historical {
    background-color: rgba(234, 179, 8, 0.15);
    color: #fde68a;
}

html.match-theme-dark .match-page--shooter-verify .current-values {
    background-color: var(--match-bg);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .current-values h6,
html.match-theme-dark .match-page--shooter-verify .current-value-item {
    color: var(--match-text);
}

html.match-theme-dark .match-page--shooter-verify .current-value-item {
    background-color: var(--match-card);
    border-color: var(--match-border);
}

html.match-theme-dark .match-page--shooter-verify .badge-position {
    color: #0f172a;
}

/* ========== KIOSK TOTALS ========== */
html.match-theme-dark body.match-page--kiosk-totals,
html.match-theme-dark .match-page--kiosk-totals {
    background-color: var(--match-bg);
    color: var(--match-text);
}

html.match-theme-dark:has(.match-page--kiosk-totals) {
    background-color: var(--match-bg);
}

html.match-theme-dark .match-page--kiosk-totals #container,
html.match-theme-dark .match-page--kiosk-totals .container {
    background-color: transparent;
    color: var(--match-text);
}

html.match-theme-dark .match-page--kiosk-totals div.divisiontop {
    background-color: var(--match-card);
    color: var(--match-text);
}

html.match-theme-dark .match-page--kiosk-totals div.division_updated {
    background: var(--match-bg);
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--kiosk-totals .table-light {
    --bs-table-bg: var(--match-card);
    --bs-table-color: var(--match-text);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
    --bs-table-border-color: var(--match-border);
}

html.match-theme-dark .match-page--kiosk-totals .table-wrap {
    background: var(--match-card);
}

html.match-theme-dark .match-page--kiosk-totals center,
html.match-theme-dark .match-page--kiosk-totals center b {
    color: var(--match-text-muted);
}

html.match-theme-dark .match-page--kiosk-totals .btn-warning {
    color: #1e293b;
}

/* ========== LOADING ========== */
html.match-theme-dark .match-page--loading .spinner {
    border-color: var(--match-border);
    border-top-color: var(--match-accent);
}

html.match-theme-dark .match-page--loading .text-center p {
    color: var(--match-text-muted);
}
