/* COMPETITION LIGHT THEME
   Loaded only when UiTheme:Theme = Light. */

body.competition-shell[data-cm-theme="light"] {
    --cm-bg: #f8fafc;
    --cm-bg-soft: #eef3f9;
    --cm-surface: #ffffff;
    --cm-surface-2: #f1f5f9;
    --cm-border: #dbe4f0;
    --cm-text: #0f172a;
    --cm-muted: #475569;
    --cm-muted-2: #64748b;
    --cm-gold: #d97706;
    --cm-gold-2: #f59e0b;
    --cm-cyan: #0891b2;
    --cm-purple: #4f46e5;
    --cm-orange: #ea580c;
    --cm-green: #059669;
    --cm-red: #dc2626;
    --cm-page-bg: #f8fafc;
    --cm-card-bg: rgba(255,255,255,.96);
    --cm-card-bg-2: #ffffff;
    --cm-card-header-bg: linear-gradient(180deg, #ffffff, #f8fbff);
    --cm-control-bg: #ffffff;
    --cm-hover-bg: rgba(49,87,213,.055);
    --cm-title: #0f172a;
    --cm-link-accent: #17318f;
    --cm-focus-ring: rgba(49,87,213,.16);
    --cm-alert-shadow: 0 12px 30px rgba(15,23,42,.08);
    --cm-alert-success-bg: #dcfce7;
    --cm-alert-success-border: #86efac;
    --cm-alert-success-text: #065f46;
    --cm-alert-danger-bg: #fee2e2;
    --cm-alert-danger-border: #fca5a5;
    --cm-alert-danger-text: #7f1d1d;
    --cm-alert-danger-accent: #b91c1c;
    --cm-alert-danger-chip-bg: rgba(220,38,38,.10);
    --cm-alert-danger-chip-border: rgba(220,38,38,.28);
    --cm-alert-danger-chip-text: #991b1b;

    --bs-body-bg: #f8fafc;
    --bs-body-color: #0f172a;
    --bs-secondary-color: #475569;
    --bs-tertiary-color: #64748b;
    --bs-heading-color: #0f172a;
    --bs-border-color: #dbe4f0;
    --bs-border-color-translucent: rgba(15,23,42,.12);
    --bs-card-bg: #ffffff;
    --bs-card-color: #0f172a;
    --bs-card-border-color: #dbe4f0;
    --bs-modal-bg: #ffffff;
    --bs-modal-color: #0f172a;
    --bs-modal-border-color: #dbe4f0;
    --bs-modal-header-border-color: #dbe4f0;
    --bs-modal-footer-border-color: #dbe4f0;
    --bs-link-color: #17318f;
    --bs-link-hover-color: #3157d5;

    color: #0f172a;
    background: radial-gradient(circle at top left, rgba(49,87,213,.10), transparent 30rem), radial-gradient(circle at top right, rgba(245,158,11,.10), transparent 28rem), linear-gradient(180deg, #f8fafc 0%, #eef3f9 55%, #ffffff 100%);
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar,
body.competition-shell[data-cm-theme="light"] .mobile-app-bar {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    color: #0f172a !important;
    border-color: #dbe4f0 !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.10) !important;
}

body.competition-shell[data-cm-theme="light"] .side-title,
body.competition-shell[data-cm-theme="light"] .mobile-app-title,
body.competition-shell[data-cm-theme="light"] .section-heading h5,
body.competition-shell[data-cm-theme="light"] h1,
body.competition-shell[data-cm-theme="light"] h2,
body.competition-shell[data-cm-theme="light"] h3,
body.competition-shell[data-cm-theme="light"] h4,
body.competition-shell[data-cm-theme="light"] h5,
body.competition-shell[data-cm-theme="light"] h6 {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .side-subtitle,
body.competition-shell[data-cm-theme="light"] .text-muted,
body.competition-shell[data-cm-theme="light"] .text-secondary,
body.competition-shell[data-cm-theme="light"] p.text-muted,
body.competition-shell[data-cm-theme="light"] small.text-muted,
body.competition-shell[data-cm-theme="light"] .lead {
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .side-nav a,
body.competition-shell[data-cm-theme="light"] .side-nav-toggle {
    color: #334155 !important;
    background: rgba(15,23,42,.035) !important;
}

body.competition-shell[data-cm-theme="light"] .side-nav a:hover,
body.competition-shell[data-cm-theme="light"] .side-nav-toggle:hover {
    color: #0f172a !important;
    background: rgba(217,119,6,.10) !important;
    border-color: rgba(217,119,6,.22) !important;
}

body.competition-shell[data-cm-theme="light"] .side-nav a.active {
    color: #111827 !important;
}

.cm-page {
    color: var(--cm-text);
}

.cm-page-header,
.cm-filter-card,
.cm-accordion-card,
body.competition-shell .cm-page .card,
body.competition-shell .cm-page .modal-content,
body.competition-shell .cm-page .dropdown-menu {
    color: var(--cm-text) !important;
    background: var(--cm-card-bg) !important;
    border: 1px solid var(--cm-border) !important;
    border-radius: 1.2rem !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}

.cm-page-header {
    padding: 1rem 1.15rem;
}

body.competition-shell[data-cm-theme="light"] .cm-page-header,
body.competition-shell[data-cm-theme="light"] .cm-filter-card,
body.competition-shell[data-cm-theme="light"] .cm-accordion-card,
body.competition-shell[data-cm-theme="light"] .cm-page .card,
body.competition-shell[data-cm-theme="light"] .cm-page .modal-content,
body.competition-shell[data-cm-theme="light"] .cm-page .dropdown-menu {
    color: #0f172a !important;
    background: #ffffff !important;
    border-color: #dbe4f0 !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

.cm-accordion-header,
body.competition-shell .cm-page .card-header,
body.competition-shell .cm-page .modal-header,
body.competition-shell .cm-page .modal-footer {
    color: var(--cm-title) !important;
    background: var(--cm-card-header-bg) !important;
    border-color: var(--cm-border) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-accordion-header,
body.competition-shell[data-cm-theme="light"] .cm-page .card-header,
body.competition-shell[data-cm-theme="light"] .cm-page .modal-header,
body.competition-shell[data-cm-theme="light"] .cm-page .modal-footer {
    color: #0f172a !important;
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

.cm-accordion-card--nested {
    border-radius: 1rem !important;
    box-shadow: none !important;
}

.cm-page .form-label,
.cm-page label {
    color: var(--cm-title) !important;
}

.cm-page .form-control,
.cm-page .form-select {
    background-color: var(--cm-control-bg) !important;
    color: var(--cm-text) !important;
    border-color: var(--cm-border) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page .form-label,
body.competition-shell[data-cm-theme="light"] .cm-page label {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page .form-control,
body.competition-shell[data-cm-theme="light"] .cm-page .form-select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #dbe4f0 !important;
}

.cm-page .form-control:focus,
.cm-page .form-select:focus {
    border-color: var(--cm-link-accent) !important;
    box-shadow: 0 0 0 .2rem var(--cm-focus-ring) !important;
}

/* Ranking & Publication: make it the first consumer of the common theme system. */
.cm-page--ranking .ranking-expand-toggle {
    width: 100%;
    color: var(--cm-title) !important;
    border-radius: inherit;
}

.cm-page--ranking .ranking-expand-toggle:hover,
.cm-page--ranking .ranking-expand-toggle:focus {
    color: var(--cm-title) !important;
    background: var(--cm-hover-bg) !important;
}

.cm-page--ranking .ranking-expand-indicator {
    color: var(--cm-gold-2) !important;
}

.cm-page--ranking .ranking-toggle-title,
.cm-page--ranking .ranking-toggle-title.text-primary {
    color: var(--cm-title) !important;
}

.cm-page--ranking .ranking-header-actions {
    background: transparent;
}

.cm-page--ranking .ranking-summary-line {
    color: var(--cm-text);
}

.cm-page--ranking .ranking-summary-actions .ranking-summary-filter {
    border: 1px solid rgba(255,255,255,.14) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-summary-actions .ranking-summary-filter {
    border-color: rgba(15,23,42,.12) !important;
}

.cm-page--ranking .ranking-summary-filter-active {
    outline-color: var(--cm-link-accent) !important;
    box-shadow: 0 0 0 .18rem var(--cm-focus-ring), 0 .35rem .9rem rgba(0,0,0,.14) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table {
    --bs-table-bg: transparent;
    --bs-table-color: #0f172a;
    --bs-table-border-color: #dbe4f0;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table > :not(caption) > * > * {
    color: #0f172a !important;
    border-color: #dbe4f0 !important;
    background-color: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table thead th {
    color: #243b7a !important;
    background: #edf3ff !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table-hover tbody tr:hover,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table tbody tr:hover {
    background: rgba(49,87,213,.055) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .bg-white,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .bg-light,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .list-group,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .list-group-item {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #dbe4f0 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .btn-close {
    filter: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-scroll-top-btn {
    border-color: rgba(217,119,6,.45) !important;
    background: #f59e0b !important;
    color: #111827 !important;
    box-shadow: 0 .5rem 1.25rem rgba(15,23,42,.18) !important;
}

@media (max-width: 767.98px) {
    .cm-page-header {
        padding: .9rem;
    }

    .cm-page--ranking .ranking-header-actions,
    .cm-page--ranking .ranking-header-actions .btn,
    .cm-page--ranking .ranking-header-actions form {
        width: 100%;
    }

    .cm-page--ranking .ranking-header-actions {
        padding: .65rem .75rem .75rem;
    }
}

/* Ranking & Publication workflow badges and light-theme refinements */
.cm-page--ranking .ranking-summary-line {
    row-gap: .65rem !important;
}

.cm-status-chip,
.cm-page--ranking .badge.cm-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.85rem;
    gap: .25rem;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: .01em;
    white-space: nowrap;
}

.cm-status-info {
    color: #dbeafe !important;
    background: rgba(37,99,235,.22) !important;
    border-color: rgba(96,165,250,.34) !important;
}

.cm-status-neutral {
    color: #e2e8f0 !important;
    background: rgba(100,116,139,.22) !important;
    border-color: rgba(148,163,184,.30) !important;
}

.cm-status-action {
    color: #451a03 !important;
    background: #fbbf24 !important;
    border-color: #f59e0b !important;
}

.cm-status-active {
    color: #ffffff !important;
    background: #ea580c !important;
    border-color: #c2410c !important;
    box-shadow: 0 .25rem .75rem rgba(234,88,12,.22);
}

.cm-status-complete {
    color: #dcfce7 !important;
    background: rgba(22,163,74,.26) !important;
    border-color: rgba(34,197,94,.38) !important;
}

.cm-status-rank {
    color: #111827 !important;
    background: #facc15 !important;
    border-color: #eab308 !important;
}

.cm-status-danger {
    color: #fee2e2 !important;
    background: rgba(220,38,38,.28) !important;
    border-color: rgba(248,113,113,.42) !important;
}

.cm-page--ranking .ranking-summary-filter {
    opacity: .92;
}

.cm-page--ranking .ranking-summary-filter:hover,
.cm-page--ranking .ranking-summary-filter:focus {
    opacity: 1;
    transform: translateY(-1px);
}

.cm-page--ranking .ranking-summary-filter-active {
    opacity: 1 !important;
    outline: 2px solid var(--cm-link-accent) !important;
    outline-offset: 2px;
}

.cm-page--ranking .ranking-category-header,
.cm-page--ranking .ranking-toggle-header {
    min-height: 3rem;
}

.cm-page--ranking .ranking-expand-toggle {
    min-height: 3rem;
    padding: .7rem .85rem;
}

.cm-page--ranking .ranking-header-actions .btn,
.cm-page--ranking .table .btn {
    font-weight: 700;
    border-radius: 999px;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-panel {
    border-top-color: rgba(15,23,42,.12) !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-user,
body.competition-shell[data-cm-theme="light"] .sidebar-account-action {
    color: #1e293b !important;
    background: rgba(15,23,42,.045) !important;
    border: 1px solid rgba(15,23,42,.10) !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-user {
    font-weight: 800;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-action {
    color: #92400e !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-action:hover,
body.competition-shell[data-cm-theme="light"] .sidebar-account-action:focus {
    color: #111827 !important;
    background: rgba(245,158,11,.16) !important;
    border-color: rgba(217,119,6,.32) !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-user i,
body.competition-shell[data-cm-theme="light"] .sidebar-account-action i {
    color: #d97706 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-info {
    color: #1e3a8a !important;
    background: #dbeafe !important;
    border-color: #bfdbfe !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-neutral {
    color: #334155 !important;
    background: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-action {
    color: #78350f !important;
    background: #fde68a !important;
    border-color: #f59e0b !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-active {
    color: #ffffff !important;
    background: #ea580c !important;
    border-color: #c2410c !important;
    box-shadow: 0 .25rem .75rem rgba(234,88,12,.18);
}

body.competition-shell[data-cm-theme="light"] .cm-status-complete {
    color: #065f46 !important;
    background: #d1fae5 !important;
    border-color: #a7f3d0 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-rank {
    color: #713f12 !important;
    background: #fef3c7 !important;
    border-color: #facc15 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-status-danger {
    color: #991b1b !important;
    background: #fee2e2 !important;
    border-color: #fecaca !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table thead th {
    color: #1e3a8a !important;
    background: #eef4ff !important;
    border-bottom: 2px solid #c7d2fe !important;
}

/* ==========================================================
   CONFIRMED COMMON THEME REFINEMENT - RANKING & NAVIGATION
   Keep these overrides at the end so the change is easy to revert.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] {
    --cm-bg: #eef3f9;
    --cm-bg-soft: #e6edf6;
    --cm-surface: #ffffff;
    --cm-surface-2: #f5f8fc;
    --cm-border: #cbd7e6;
    --cm-text: #0f172a;
    --cm-muted: #475569;
    --cm-muted-2: #64748b;
    --cm-card-bg: #ffffff;
    --cm-card-bg-2: #f8fbff;
    --cm-card-header-bg: linear-gradient(180deg, #ffffff, #f6f9fe);
    --cm-control-bg: #ffffff;
    background:
        radial-gradient(circle at top left, rgba(49,87,213,.10), transparent 32rem),
        radial-gradient(circle at top right, rgba(245,158,11,.10), transparent 30rem),
        linear-gradient(180deg, #f8fbff 0%, #eef3f9 48%, #e9eff7 100%) !important;
}

/* Common navigation tokens - now both top-level and submenu links share the same theme layer. */
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar,
body.competition-shell[data-cm-theme="light"] .mobile-app-bar {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    border-color: #d7e1ee !important;
    box-shadow: 0 22px 55px rgba(15,23,42,.12) !important;
}

body.competition-shell[data-cm-theme="light"] .side-nav a,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-submenu a.side-nav-subitem,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-section-items .side-nav-subitem {
    color: #1e293b !important;
    background: rgba(15,23,42,.035) !important;
    border-color: transparent !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle[aria-expanded="true"],
body.competition-shell[data-cm-theme="light"] .side-nav a.active {
    color: #92400e !important;
    background: rgba(245,158,11,.13) !important;
    border-color: rgba(245,158,11,.32) !important;
    font-weight: 800 !important;
}

body.competition-shell[data-cm-theme="light"] .side-nav a:hover,
body.competition-shell[data-cm-theme="light"] .side-nav a:focus,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle:hover,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle:focus,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem:hover,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem:focus {
    color: #0f172a !important;
    background: rgba(245,158,11,.12) !important;
    border-color: rgba(217,119,6,.24) !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle {
    color: #64748b !important;
    background: rgba(15,23,42,.025) !important;
    border-color: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle:hover,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle:focus,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle[aria-expanded="true"] {
    color: #334155 !important;
    background: rgba(15,23,42,.05) !important;
    border-color: rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem i,
body.competition-shell[data-cm-theme="light"] .side-nav i {
    color: #d97706 !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-user,
body.competition-shell[data-cm-theme="light"] .sidebar-account-action {
    color: #0f172a !important;
    background: #ffffff !important;
    border-color: #d7e1ee !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.06) !important;
}

body.competition-shell[data-cm-theme="light"] .sidebar-account-action {
    color: #92400e !important;
}

/* Ranking & Publication: stronger light-theme card separation matching the confirmed mockup. */
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-page-header,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-filter-card,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking > .cm-accordion-card,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-item-card {
    background: #ffffff !important;
    border-color: #cfdbea !important;
    box-shadow: 0 16px 42px rgba(15,23,42,.11) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-page-header {
    box-shadow: 0 14px 36px rgba(15,23,42,.10) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-filter-card {
    box-shadow: 0 16px 44px rgba(15,23,42,.12) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-item-card > .card-header,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-toggle-header {
    background: #ffffff !important;
    border-bottom-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-accordion-body {
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7fc 100%) !important;
    border-radius: 0 0 1.2rem 1.2rem !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .cm-accordion-card--nested,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-category {
    background: #f8fbff !important;
    border-color: #d4dfed !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.075) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-category-header,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-category .cm-accordion-header {
    background: linear-gradient(180deg, #ffffff 0%, #f6f9fe 100%) !important;
    border-bottom-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-header-actions {
    background: #f8fbff !important;
    border-bottom: 1px solid #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table {
    --bs-table-bg: #ffffff;
    --bs-table-color: #0f172a;
    --bs-table-border-color: #d7e1ee;
    background: #ffffff !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table thead th {
    color: #1e3a8a !important;
    background: #e8f0ff !important;
    border-top: 1px solid #cddaf2 !important;
    border-bottom: 2px solid #b9c9ec !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .table tbody td {
    background: #ffffff !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-expand-toggle:hover,
body.competition-shell[data-cm-theme="light"] .cm-page--ranking .ranking-expand-toggle:focus {
    background: rgba(245,158,11,.075) !important;
}

   LIGHT THEME RECOVERY - NON-LAYOUT OVERRIDES ONLY
   Purpose: keep the approved light layout intact while preventing
   old dark page-specific rules from leaking into Event Day pages.
   Do not move elements or change spacing here.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] .card,
body.competition-shell[data-cm-theme="light"] .modal-content,
body.competition-shell[data-cm-theme="light"] .dropdown-menu,
body.competition-shell[data-cm-theme="light"] .quick-panel,
body.competition-shell[data-cm-theme="light"] .accordion,
body.competition-shell[data-cm-theme="light"] .accordion-item,
body.competition-shell[data-cm-theme="light"] .border-secondary,
body.competition-shell[data-cm-theme="light"] .bg-dark-subtle {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .card-header,
body.competition-shell[data-cm-theme="light"] .modal-header,
body.competition-shell[data-cm-theme="light"] .modal-footer,
body.competition-shell[data-cm-theme="light"] .bg-white,
body.competition-shell[data-cm-theme="light"] .bg-light,
body.competition-shell[data-cm-theme="light"] .bg-body-tertiary,
body.competition-shell[data-cm-theme="light"] .list-group,
body.competition-shell[data-cm-theme="light"] .list-group-item {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .card-body,
body.competition-shell[data-cm-theme="light"] .modal-body,
body.competition-shell[data-cm-theme="light"] .accordion-body {
    background: #ffffff !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .table,
body.competition-shell[data-cm-theme="light"] .table-dark,
body.competition-shell[data-cm-theme="light"] .table-responsive {
    --bs-table-bg: #ffffff;
    --bs-table-color: #0f172a;
    --bs-table-border-color: #d7e1ee;
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .table > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] .table-dark > :not(caption) > * > * {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .table thead th,
body.competition-shell[data-cm-theme="light"] thead.table-dark th,
body.competition-shell[data-cm-theme="light"] .table-dark thead th,
body.competition-shell[data-cm-theme="light"] .table > thead > tr > th {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
    border-bottom: 2px solid #b8c9ec !important;
}

body.competition-shell[data-cm-theme="light"] .table tbody tr.table-warning > *,
body.competition-shell[data-cm-theme="light"] .table > tbody > tr.table-warning > * {
    background-color: #fffbeb !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .form-label,
body.competition-shell[data-cm-theme="light"] label {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .form-control,
body.competition-shell[data-cm-theme="light"] .form-select,
body.competition-shell[data-cm-theme="light"] textarea.form-control,
body.competition-shell[data-cm-theme="light"] input.form-control,
body.competition-shell[data-cm-theme="light"] select.form-select,
body.competition-shell[data-cm-theme="light"] .form-control[readonly],
body.competition-shell[data-cm-theme="light"] .form-control:disabled,
body.competition-shell[data-cm-theme="light"] .form-select:disabled,
body.competition-shell[data-cm-theme="light"] .form-control-plaintext {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .form-control::placeholder {
    color: #64748b !important;
}

body.competition-shell[data-cm-theme="light"] .form-control:focus,
body.competition-shell[data-cm-theme="light"] .form-select:focus,
body.competition-shell[data-cm-theme="light"] textarea.form-control:focus {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .2rem rgba(245,158,11,.18) !important;
}

body.competition-shell[data-cm-theme="light"] input[type="file"].form-control,
body.competition-shell[data-cm-theme="light"] .appeal-file-name {
    background: #f8fbff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .text-light {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .btn-close {
    filter: none !important;
}

/* Searchable select/light theme dropdown recovery. */
body.competition-shell[data-cm-theme="light"] .searchable-select-input,
body.competition-shell[data-cm-theme="light"] .searchable-select-search {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .searchable-select-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.14) !important;
}

body.competition-shell[data-cm-theme="light"] .searchable-select-option {
    color: #0f172a !important;
    background: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .searchable-select-option:hover,
body.competition-shell[data-cm-theme="light"] .searchable-select-option.active {
    background: #fff7ed !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .searchable-select-option.disabled {
    color: #94a3b8 !important;
}

/* Result Announcement: light theme should keep the rank colours but not the dark panels. */
body.competition-shell[data-cm-theme="light"] .result-announcement-page .accordion-button {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .result-announcement-page .accordion-button:not(.collapsed) {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .result-announcement-page .accordion-button::after {
    filter: none !important;
}

body.competition-shell[data-cm-theme="light"] .result-announcement-page .accordion-body {
    background: #f8fbff !important;
}

body.competition-shell[data-cm-theme="light"] .announcement-winner-card,
body.competition-shell[data-cm-theme="light"] .announcement-rank-card {
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .announcement-winner-name,
body.competition-shell[data-cm-theme="light"] .announcement-winner-org,
body.competition-shell[data-cm-theme="light"] .winner-detail-value,
body.competition-shell[data-cm-theme="light"] .winner-detail-label {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .announcement-tie-details,
body.competition-shell[data-cm-theme="light"] .announcement-tie-card {
    background: #f8fbff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .announcement-tie-title {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .result-announcement-freeze-switch,
body.competition-shell[data-cm-theme="light"] .result-announcement-freeze-switch .form-check-label {
    color: #0f172a !important;
}

/* Appeal decision modal preview: only colours, no layout changes. */
body.competition-shell[data-cm-theme="light"] .appeal-decision-modal .modal-body {
    background: #ffffff !important;
}

body.competition-shell[data-cm-theme="light"] .appeal-rank-preview,
body.competition-shell[data-cm-theme="light"] .preview-affected-row,
body.competition-shell[data-cm-theme="light"] .preview-affected-row.is-appealed {
    background: #f8fbff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .preview-title,
body.competition-shell[data-cm-theme="light"] .preview-label {
    color: #334155 !important;
}

/* Certificate Writing/Distribution + Performance Records: recover light cards and text without altering structure. */
body.competition-shell[data-cm-theme="light"] [class*="certificate-writing"],
body.competition-shell[data-cm-theme="light"] [class*="certificate-distribution"],
body.competition-shell[data-cm-theme="light"] [class*="performance-record"],
body.competition-shell[data-cm-theme="light"] [class*="cm-record"] {
    color: #0f172a;
}

body.competition-shell[data-cm-theme="light"] .certificate-writing-table,
body.competition-shell[data-cm-theme="light"] .certificate-writing-table > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] .performance-record-table,
body.competition-shell[data-cm-theme="light"] .performance-record-table > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] .cm-record-section .table,
body.competition-shell[data-cm-theme="light"] .cm-record-section .table > :not(caption) > * > * {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .audit-detail-pre,
body.competition-shell[data-cm-theme="light"] .cm-record-section .card-body,
body.competition-shell[data-cm-theme="light"] .certificate-writing-mobile-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

/* ==========================================================
   Submit Appeal light-theme recovery
   Scope: ResultAppeals/Index only. Keeps approved layout intact
   and only removes dark-theme leakage from this page.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card-body,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table-responsive {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card {
    border: 1px solid #d7e1ee !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card-header,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card-header.bg-white {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card-header *,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .card-body *,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table * {
    color: inherit;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .text-muted,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .form-text,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals small {
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .form-label,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals label {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .form-control,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .form-select,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals input,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals textarea,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .form-control::placeholder,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals input::placeholder,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals textarea::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

/* TomSelect/searchable dropdown on Submit Appeal */
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-wrapper.single .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-wrapper.single.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-wrapper.single.dropdown-active .ts-control {
    border-color: #d97706 !important;
    box-shadow: 0 0 0 .2rem rgba(217,119,6,.16) !important;
    background-image: linear-gradient(45deg, transparent 50%, #d97706 50%), linear-gradient(135deg, #d97706 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-control .item {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    box-shadow: 0 16px 36px rgba(15,23,42,.16) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown .dropdown-input-wrap {
    border-bottom-color: #e2e8f0 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown .option {
    background: transparent !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown .option.active,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .ts-dropdown .option:hover {
    background: #fff7ed !important;
    color: #7c2d12 !important;
}

/* Responsive table filter strip generated by responsive-data-view.js */
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .cm-data-tools,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .cm-data-tools--server {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .cm-data-tools__summary {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .cm-data-filter-field span {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table.table-dark {
    --bs-table-bg: #ffffff;
    --bs-table-color: #0f172a;
    --bs-table-border-color: #d7e1ee;
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table > :not(caption) > * > * {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table thead,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table thead.table-dark,
body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table thead th {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #c7d2fe !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table tbody td {
    background: #ffffff !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--result-appeals .table tbody tr:hover td {
    background: rgba(49,87,213,.055) !important;
}

/* ==========================================================

/* ==========================================================
   LIGHT THEME FINAL RECOVERY - global page coverage
   Fixes pages that still carry old dark inline/component styles.
   These are colour-only overrides; no layout/functionality changes.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] {
    color-scheme: light;
}

body.competition-shell[data-cm-theme="light"] .dashboard-main {
    color: #0f172a !important;
}

/* Admin dashboard hero/cards */
body.competition-shell[data-cm-theme="light"] .hero-panel {
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 55%, #fff7ed 100%) !important;
    color: #0f172a !important;
    border: 1px solid #d7e1ee !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.10) !important;
}

body.competition-shell[data-cm-theme="light"] .hero-kicker,
body.competition-shell[data-cm-theme="light"] .hero-title,
body.competition-shell[data-cm-theme="light"] .hero-copy {
    color: #0f172a !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .hero-copy,
body.competition-shell[data-cm-theme="light"] .section-heading span,
body.competition-shell[data-cm-theme="light"] .module-text {
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .module-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d7e1ee !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .module-card:hover,
body.competition-shell[data-cm-theme="light"] .module-card:focus {
    background: #f8fbff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 18px 38px rgba(15,23,42,.12) !important;
}

body.competition-shell[data-cm-theme="light"] .module-title,
body.competition-shell[data-cm-theme="light"] .module-card .module-title,
body.competition-shell[data-cm-theme="light"] .module-card strong {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .badge-soft {
    background: #f8fbff !important;
    color: #64748b !important;
    border: 1px solid #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .btn-outline-light {
    color: #0f172a !important;
    border-color: #94a3b8 !important;
    background: #ffffff !important;
}

body.competition-shell[data-cm-theme="light"] .btn-outline-light:hover,
body.competition-shell[data-cm-theme="light"] .btn-outline-light:focus {
    color: #111827 !important;
    background: #fff7ed !important;
    border-color: #f59e0b !important;
}

/* Bootstrap/table global light recovery */
body.competition-shell[data-cm-theme="light"] .table,
body.competition-shell[data-cm-theme="light"] .table-dark,
body.competition-shell[data-cm-theme="light"] .table-responsive,
body.competition-shell[data-cm-theme="light"] table {
    --bs-table-bg: #ffffff;
    --bs-table-color: #0f172a;
    --bs-table-border-color: #d7e1ee;
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .table > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] .table-dark > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] table > :not(caption) > * > * {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .table thead th,
body.competition-shell[data-cm-theme="light"] thead.table-dark th,
body.competition-shell[data-cm-theme="light"] .table-dark thead th,
body.competition-shell[data-cm-theme="light"] table thead th {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
}

/* Forms + native select/dropdown arrows */
body.competition-shell[data-cm-theme="light"] .form-control,
body.competition-shell[data-cm-theme="light"] .form-select,
body.competition-shell[data-cm-theme="light"] input,
body.competition-shell[data-cm-theme="light"] select,
body.competition-shell[data-cm-theme="light"] textarea {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .form-control::placeholder,
body.competition-shell[data-cm-theme="light"] input::placeholder,
body.competition-shell[data-cm-theme="light"] textarea::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .form-control:disabled,
body.competition-shell[data-cm-theme="light"] .form-select:disabled,
body.competition-shell[data-cm-theme="light"] input:disabled,
body.competition-shell[data-cm-theme="light"] select:disabled,
body.competition-shell[data-cm-theme="light"] textarea:disabled,
body.competition-shell[data-cm-theme="light"] .form-control[readonly] {
    background-color: #eef3f9 !important;
    color: #334155 !important;
    border-color: #cbd7e6 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] select.form-select,
body.competition-shell[data-cm-theme="light"] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-select-bg-img) !important;
}

/* TomSelect global light recovery */
body.competition-shell[data-cm-theme="light"] .ts-wrapper,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.form-select {
    background: transparent !important;
    color: #0f172a !important;
    border: 0 !important;
    padding: 0 !important;
}

body.competition-shell[data-cm-theme="light"] .ts-wrapper.single .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .ts-wrapper.single.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.single.dropdown-active .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-control:focus {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .2rem rgba(245,158,11,.18) !important;
}

body.competition-shell[data-cm-theme="light"] .ts-control .item,
body.competition-shell[data-cm-theme="light"] .ts-control > input,
body.competition-shell[data-cm-theme="light"] .ts-control input {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown {
    box-shadow: 0 18px 45px rgba(15,23,42,.16) !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown .option,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .create,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .no-results,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .active {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown .active,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .option:hover {
    background: #fff7ed !important;
}

/* Registration list inline CSS recovery */
body.competition-shell[data-cm-theme="light"] .registration-card,
body.competition-shell[data-cm-theme="light"] .registration-card-header,
body.competition-shell[data-cm-theme="light"] .registration-card-body {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .registration-card {
    box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-card-header:hover,
body.competition-shell[data-cm-theme="light"] .registration-card-header:focus {
    background: #f8fbff !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-main-line,
body.competition-shell[data-cm-theme="light"] .registration-main-line *,
body.competition-shell[data-cm-theme="light"] .registration-sub-line,
body.competition-shell[data-cm-theme="light"] .registration-chevron {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-sub-line {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-details-panel,
body.competition-shell[data-cm-theme="light"] .registration-items-panel {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .registration-panel-title {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
}

body.competition-shell[data-cm-theme="light"] .registration-detail-label {
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-detail-value,
body.competition-shell[data-cm-theme="light"] .registration-items-panel td,
body.competition-shell[data-cm-theme="light"] .registration-items-panel th {
    color: #0f172a !important;
}

/* Details/edit pages */
body.competition-shell[data-cm-theme="light"] .card,
body.competition-shell[data-cm-theme="light"] .card-body,
body.competition-shell[data-cm-theme="light"] .card-header {
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .card,
body.competition-shell[data-cm-theme="light"] .card-body {
    background: #ffffff !important;
}

body.competition-shell[data-cm-theme="light"] .card-header {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
}

body.competition-shell[data-cm-theme="light"] .text-white,
body.competition-shell[data-cm-theme="light"] .text-light {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .text-muted,
body.competition-shell[data-cm-theme="light"] .text-secondary,
body.competition-shell[data-cm-theme="light"] .form-text,
body.competition-shell[data-cm-theme="light"] small {
    color: #475569 !important;
}

/* ==========================================================
   LIGHT THEME PATCH - global table/filter toolbar recovery
   Fixes dark filter strips generated by responsive-data-view.js
   across Users, Roles, Levels, OrgUnits, Registrations and other admin pages.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] .cm-data-tools,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server,
body.competition-shell[data-cm-theme="light"] .table-filter-bar,
body.competition-shell[data-cm-theme="light"] .data-filter-bar,
body.competition-shell[data-cm-theme="light"] .filter-toolbar,
body.competition-shell[data-cm-theme="light"] .filter-row {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d7e1ee !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools *,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server * {
    color: inherit;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools__summary {
    color: #92400e !important;
    background: #fff7ed !important;
    border: 1px solid #f59e0b !important;
    border-radius: 999px !important;
    padding: .35rem .75rem !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field span,
body.competition-shell[data-cm-theme="light"] .cm-data-tools label,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server label {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field .form-control,
body.competition-shell[data-cm-theme="light"] .cm-data-filter-field .form-select,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-control,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-select,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-control,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    box-shadow: none !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field .form-control::placeholder,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-control::placeholder,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-control::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field .form-control:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-filter-field .form-select:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-control:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-select:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-control:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-select:focus {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .2rem rgba(245,158,11,.16) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-clear,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .btn-outline-light,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .btn-outline-light {
    color: #334155 !important;
    background: #ffffff !important;
    border-color: #94a3b8 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-clear:hover,
body.competition-shell[data-cm-theme="light"] .cm-data-clear:focus,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .btn-outline-light:hover,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .btn-outline-light:hover {
    color: #111827 !important;
    background: #fff7ed !important;
    border-color: #f59e0b !important;
}

/* ==========================================================
   LIGHT THEME FINAL GLOBAL RECOVERY PASS
   Keep this block at the end of the light theme so it wins
   over page-level dark utility classes and generated table tools.
   ========================================================== */

/* Page shell and common content surfaces */
body.competition-shell[data-cm-theme="light"],
body.competition-shell[data-cm-theme="light"] .dashboard-main,
body.competition-shell[data-cm-theme="light"] .cm-page,
body.competition-shell[data-cm-theme="light"] .admin-dashboard,
body.competition-shell[data-cm-theme="light"] .container,
body.competition-shell[data-cm-theme="light"] .container-fluid {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .card,
body.competition-shell[data-cm-theme="light"] .card-body,
body.competition-shell[data-cm-theme="light"] .accordion,
body.competition-shell[data-cm-theme="light"] .accordion-item,
body.competition-shell[data-cm-theme="light"] .accordion-body,
body.competition-shell[data-cm-theme="light"] .modal-content,
body.competition-shell[data-cm-theme="light"] .modal-body,
body.competition-shell[data-cm-theme="light"] .dropdown-menu,
body.competition-shell[data-cm-theme="light"] .list-group-item,
body.competition-shell[data-cm-theme="light"] .cm-card,
body.competition-shell[data-cm-theme="light"] .cm-panel,
body.competition-shell[data-cm-theme="light"] .cm-section,
body.competition-shell[data-cm-theme="light"] .cm-surface {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .card-header,
body.competition-shell[data-cm-theme="light"] .modal-header,
body.competition-shell[data-cm-theme="light"] .modal-footer,
body.competition-shell[data-cm-theme="light"] .accordion-header,
body.competition-shell[data-cm-theme="light"] .accordion-button,
body.competition-shell[data-cm-theme="light"] .cm-card-header,
body.competition-shell[data-cm-theme="light"] .cm-panel-header,
body.competition-shell[data-cm-theme="light"] .cm-section-header {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .accordion-button:not(.collapsed) {
    background: #eef5ff !important;
    color: #0f172a !important;
    box-shadow: inset 0 -1px 0 #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .accordion-button::after {
    filter: none !important;
}

/* Bootstrap dark utilities must not leak into light theme pages. */
body.competition-shell[data-cm-theme="light"] .bg-dark,
body.competition-shell[data-cm-theme="light"] .text-bg-dark,
body.competition-shell[data-cm-theme="light"] .table-dark,
body.competition-shell[data-cm-theme="light"] .thead-dark,
body.competition-shell[data-cm-theme="light"] [class*="bg-slate"],
body.competition-shell[data-cm-theme="light"] [class*="bg-gray"] {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .text-white,
body.competition-shell[data-cm-theme="light"] .text-light,
body.competition-shell[data-cm-theme="light"] .link-light {
    color: #0f172a !important;
}

/* Global form controls, readonly and disabled states. */
body.competition-shell[data-cm-theme="light"] input,
body.competition-shell[data-cm-theme="light"] select,
body.competition-shell[data-cm-theme="light"] textarea,
body.competition-shell[data-cm-theme="light"] .form-control,
body.competition-shell[data-cm-theme="light"] .form-select,
body.competition-shell[data-cm-theme="light"] .form-control-sm,
body.competition-shell[data-cm-theme="light"] .form-select-sm,
body.competition-shell[data-cm-theme="light"] .form-control[readonly],
body.competition-shell[data-cm-theme="light"] .form-control:disabled,
body.competition-shell[data-cm-theme="light"] .form-select:disabled,
body.competition-shell[data-cm-theme="light"] fieldset:disabled .form-control,
body.competition-shell[data-cm-theme="light"] fieldset:disabled .form-select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .form-control[readonly],
body.competition-shell[data-cm-theme="light"] .form-control:disabled,
body.competition-shell[data-cm-theme="light"] .form-select:disabled,
body.competition-shell[data-cm-theme="light"] fieldset:disabled .form-control,
body.competition-shell[data-cm-theme="light"] fieldset:disabled .form-select {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] input::placeholder,
body.competition-shell[data-cm-theme="light"] textarea::placeholder,
body.competition-shell[data-cm-theme="light"] .form-control::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] input:focus,
body.competition-shell[data-cm-theme="light"] select:focus,
body.competition-shell[data-cm-theme="light"] textarea:focus,
body.competition-shell[data-cm-theme="light"] .form-control:focus,
body.competition-shell[data-cm-theme="light"] .form-select:focus {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .2rem rgba(245,158,11,.16) !important;
}

body.competition-shell[data-cm-theme="light"] select.form-select,
body.competition-shell[data-cm-theme="light"] .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-select-bg-img) !important;
    background-repeat: no-repeat !important;
    background-position: right .75rem center !important;
    background-size: 16px 12px !important;
}

/* TomSelect recovery for all pages, including filters. */
body.competition-shell[data-cm-theme="light"] .ts-wrapper,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.form-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.form-select,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.single,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.multi {
    background: transparent !important;
    color: #0f172a !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.single .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.multi .ts-control {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    min-height: calc(1.5em + .75rem + 2px) !important;
}

body.competition-shell[data-cm-theme="light"] .ts-wrapper.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.dropdown-active .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-control:focus {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .2rem rgba(245,158,11,.16) !important;
}

body.competition-shell[data-cm-theme="light"] .ts-control .item,
body.competition-shell[data-cm-theme="light"] .ts-control > input,
body.competition-shell[data-cm-theme="light"] .ts-control input,
body.competition-shell[data-cm-theme="light"] .ts-control input::placeholder {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .ts-control input::placeholder {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .dropdown-input,
body.competition-shell[data-cm-theme="light"] .ts-dropdown-content {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown {
    box-shadow: 0 18px 45px rgba(15,23,42,.16) !important;
    z-index: 1060 !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown .option,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .create,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .no-results,
body.competition-shell[data-cm-theme="light"] .ts-dropdown [data-selectable] {
    background: #ffffff !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .ts-dropdown .active,
body.competition-shell[data-cm-theme="light"] .ts-dropdown .option:hover,
body.competition-shell[data-cm-theme="light"] .ts-dropdown [data-selectable]:hover {
    background: #fff7ed !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .ts-wrapper.disabled .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.disabled .ts-control * {
    background: #f1f5f9 !important;
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    opacity: 1 !important;
}

/* Generated responsive-data-view filter bars and server-side filter rows. */
body.competition-shell[data-cm-theme="light"] .cm-data-view,
body.competition-shell[data-cm-theme="light"] .table-responsive {
    background: transparent !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server,
body.competition-shell[data-cm-theme="light"] .cm-data-tools__fields,
body.competition-shell[data-cm-theme="light"] .cm-data-filter-actions,
body.competition-shell[data-cm-theme="light"] .filter-bar,
body.competition-shell[data-cm-theme="light"] .filter-row,
body.competition-shell[data-cm-theme="light"] .filter-toolbar,
body.competition-shell[data-cm-theme="light"] .table-filter-bar,
body.competition-shell[data-cm-theme="light"] .data-filter-bar,
body.competition-shell[data-cm-theme="light"] .search-filter-bar,
body.competition-shell[data-cm-theme="light"] .list-filter-bar,
body.competition-shell[data-cm-theme="light"] .registration-filter-panel,
body.competition-shell[data-cm-theme="light"] .registration-filter-card,
body.competition-shell[data-cm-theme="light"] .cm-filter-card,
body.competition-shell[data-cm-theme="light"] .cm-filter-panel {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools *,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server *,
body.competition-shell[data-cm-theme="light"] .filter-bar *,
body.competition-shell[data-cm-theme="light"] .filter-row *,
body.competition-shell[data-cm-theme="light"] .filter-toolbar *,
body.competition-shell[data-cm-theme="light"] .table-filter-bar *,
body.competition-shell[data-cm-theme="light"] .data-filter-bar *,
body.competition-shell[data-cm-theme="light"] .cm-filter-card *,
body.competition-shell[data-cm-theme="light"] .cm-filter-panel * {
    color: #0f172a;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field,
body.competition-shell[data-cm-theme="light"] .cm-data-tools label,
body.competition-shell[data-cm-theme="light"] .filter-bar label,
body.competition-shell[data-cm-theme="light"] .filter-row label,
body.competition-shell[data-cm-theme="light"] .filter-toolbar label,
body.competition-shell[data-cm-theme="light"] .cm-filter-card label,
body.competition-shell[data-cm-theme="light"] .cm-filter-panel label {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-filter-field span,
body.competition-shell[data-cm-theme="light"] .cm-data-tools__label,
body.competition-shell[data-cm-theme="light"] .filter-label {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools input,
body.competition-shell[data-cm-theme="light"] .cm-data-tools select,
body.competition-shell[data-cm-theme="light"] .cm-data-tools textarea,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-control,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .form-select,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server input,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server select,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server textarea,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-control,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .form-select,
body.competition-shell[data-cm-theme="light"] .filter-bar input,
body.competition-shell[data-cm-theme="light"] .filter-bar select,
body.competition-shell[data-cm-theme="light"] .filter-row input,
body.competition-shell[data-cm-theme="light"] .filter-row select,
body.competition-shell[data-cm-theme="light"] .filter-toolbar input,
body.competition-shell[data-cm-theme="light"] .filter-toolbar select,
body.competition-shell[data-cm-theme="light"] .table-filter-bar input,
body.competition-shell[data-cm-theme="light"] .table-filter-bar select,
body.competition-shell[data-cm-theme="light"] .data-filter-bar input,
body.competition-shell[data-cm-theme="light"] .data-filter-bar select,
body.competition-shell[data-cm-theme="light"] .cm-filter-card input,
body.competition-shell[data-cm-theme="light"] .cm-filter-card select,
body.competition-shell[data-cm-theme="light"] .cm-filter-panel input,
body.competition-shell[data-cm-theme="light"] .cm-filter-panel select {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-tools__summary {
    color: #92400e !important;
    background: #fff7ed !important;
    border: 1px solid #f59e0b !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-clear,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .btn-outline-light,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .btn-outline-light,
body.competition-shell[data-cm-theme="light"] .filter-row .btn-outline-light,
body.competition-shell[data-cm-theme="light"] .filter-toolbar .btn-outline-light {
    color: #334155 !important;
    background: #ffffff !important;
    border-color: #94a3b8 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-data-clear:hover,
body.competition-shell[data-cm-theme="light"] .cm-data-tools .btn-outline-light:hover,
body.competition-shell[data-cm-theme="light"] .cm-data-tools--server .btn-outline-light:hover,
body.competition-shell[data-cm-theme="light"] .filter-row .btn-outline-light:hover,
body.competition-shell[data-cm-theme="light"] .filter-toolbar .btn-outline-light:hover {
    color: #111827 !important;
    background: #fff7ed !important;
    border-color: #f59e0b !important;
}

/* Table and table-filter-row recovery. */
body.competition-shell[data-cm-theme="light"] table,
body.competition-shell[data-cm-theme="light"] .table {
    --bs-table-bg: #ffffff !important;
    --bs-table-color: #0f172a !important;
    --bs-table-border-color: #d7e1ee !important;
    --bs-table-striped-bg: #f8fafc !important;
    --bs-table-striped-color: #0f172a !important;
    --bs-table-hover-bg: #fff7ed !important;
    --bs-table-hover-color: #0f172a !important;
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] table > :not(caption) > * > *,
body.competition-shell[data-cm-theme="light"] .table > :not(caption) > * > * {
    background-color: var(--bs-table-bg) !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] table thead,
body.competition-shell[data-cm-theme="light"] .table thead,
body.competition-shell[data-cm-theme="light"] table thead tr,
body.competition-shell[data-cm-theme="light"] .table thead tr {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
}

body.competition-shell[data-cm-theme="light"] table thead th,
body.competition-shell[data-cm-theme="light"] .table thead th {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
}

body.competition-shell[data-cm-theme="light"] table thead td,
body.competition-shell[data-cm-theme="light"] .table thead td,
body.competition-shell[data-cm-theme="light"] table thead input,
body.competition-shell[data-cm-theme="light"] table thead select,
body.competition-shell[data-cm-theme="light"] .table thead input,
body.competition-shell[data-cm-theme="light"] .table thead select {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-bg-type: #f8fafc !important;
    background-color: #f8fafc !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .table-hover > tbody > tr:hover > * {
    --bs-table-bg-state: #fff7ed !important;
    background-color: #fff7ed !important;
    color: #0f172a !important;
}

/* Admin dashboard and navigation tiles. */
body.competition-shell[data-cm-theme="light"] .admin-dashboard-card,
body.competition-shell[data-cm-theme="light"] .admin-card,
body.competition-shell[data-cm-theme="light"] .dashboard-card,
body.competition-shell[data-cm-theme="light"] .management-card,
body.competition-shell[data-cm-theme="light"] .nav-card,
body.competition-shell[data-cm-theme="light"] .module-card,
body.competition-shell[data-cm-theme="light"] .admin-tile,
body.competition-shell[data-cm-theme="light"] .dashboard-tile {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.08) !important;
}

body.competition-shell[data-cm-theme="light"] .admin-dashboard-card:hover,
body.competition-shell[data-cm-theme="light"] .admin-card:hover,
body.competition-shell[data-cm-theme="light"] .dashboard-card:hover,
body.competition-shell[data-cm-theme="light"] .management-card:hover,
body.competition-shell[data-cm-theme="light"] .nav-card:hover,
body.competition-shell[data-cm-theme="light"] .module-card:hover,
body.competition-shell[data-cm-theme="light"] .admin-tile:hover,
body.competition-shell[data-cm-theme="light"] .dashboard-tile:hover {
    background: #f8fbff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
}

body.competition-shell[data-cm-theme="light"] .admin-dashboard-card *,
body.competition-shell[data-cm-theme="light"] .admin-card *,
body.competition-shell[data-cm-theme="light"] .dashboard-card *,
body.competition-shell[data-cm-theme="light"] .management-card *,
body.competition-shell[data-cm-theme="light"] .nav-card *,
body.competition-shell[data-cm-theme="light"] .module-card *,
body.competition-shell[data-cm-theme="light"] .admin-tile *,
body.competition-shell[data-cm-theme="light"] .dashboard-tile * {
    color: inherit;
}

/* Registration accordion/details recovery. */
body.competition-shell[data-cm-theme="light"] .registration-card,
body.competition-shell[data-cm-theme="light"] .registration-card-header,
body.competition-shell[data-cm-theme="light"] .registration-card-body,
body.competition-shell[data-cm-theme="light"] .registration-details-panel,
body.competition-shell[data-cm-theme="light"] .registration-items-panel,
body.competition-shell[data-cm-theme="light"] .registration-summary-card,
body.competition-shell[data-cm-theme="light"] .participant-card,
body.competition-shell[data-cm-theme="light"] .registration-detail-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .registration-card *,
body.competition-shell[data-cm-theme="light"] .registration-card-header *,
body.competition-shell[data-cm-theme="light"] .registration-card-body *,
body.competition-shell[data-cm-theme="light"] .registration-details-panel *,
body.competition-shell[data-cm-theme="light"] .registration-items-panel *,
body.competition-shell[data-cm-theme="light"] .registration-summary-card *,
body.competition-shell[data-cm-theme="light"] .participant-card *,
body.competition-shell[data-cm-theme="light"] .registration-detail-card * {
    color: inherit;
}

body.competition-shell[data-cm-theme="light"] .registration-card-header:hover,
body.competition-shell[data-cm-theme="light"] .registration-card-header:focus {
    background: #f8fbff !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-panel-title,
body.competition-shell[data-cm-theme="light"] .registration-detail-header {
    background: #e8f0ff !important;
    color: #1e3a8a !important;
    border-color: #bfd0ee !important;
}

/* Event day custom panels. */
body.competition-shell[data-cm-theme="light"] .ranking-card,
body.competition-shell[data-cm-theme="light"] .publication-card,
body.competition-shell[data-cm-theme="light"] .appeal-card,
body.competition-shell[data-cm-theme="light"] .performance-record-card,
body.competition-shell[data-cm-theme="light"] .live-control-card,
body.competition-shell[data-cm-theme="light"] .stage-card,
body.competition-shell[data-cm-theme="light"] .judge-card,
body.competition-shell[data-cm-theme="light"] .certificate-card,
body.competition-shell[data-cm-theme="light"] .result-card,
body.competition-shell[data-cm-theme="light"] .result-panel,
body.competition-shell[data-cm-theme="light"] .appeal-panel,
body.competition-shell[data-cm-theme="light"] .ranking-panel,
body.competition-shell[data-cm-theme="light"] .performance-panel {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .ranking-card *,
body.competition-shell[data-cm-theme="light"] .publication-card *,
body.competition-shell[data-cm-theme="light"] .appeal-card *,
body.competition-shell[data-cm-theme="light"] .performance-record-card *,
body.competition-shell[data-cm-theme="light"] .live-control-card *,
body.competition-shell[data-cm-theme="light"] .stage-card *,
body.competition-shell[data-cm-theme="light"] .judge-card *,
body.competition-shell[data-cm-theme="light"] .certificate-card *,
body.competition-shell[data-cm-theme="light"] .result-card *,
body.competition-shell[data-cm-theme="light"] .result-panel *,
body.competition-shell[data-cm-theme="light"] .appeal-panel *,
body.competition-shell[data-cm-theme="light"] .ranking-panel *,
body.competition-shell[data-cm-theme="light"] .performance-panel * {
    color: inherit;
}

/* Reusable accordion/card pattern on light theme pages.
   Keep pages using app-section-* visually aligned with Certificate Writing/Distribution. */
body.competition-shell[data-cm-theme="light"] .app-summary-card,
body.competition-shell[data-cm-theme="light"] .app-section-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d7e1ee !important;
    border-radius: .85rem !important;
    overflow: hidden !important;
    box-shadow: none !important;
    background-clip: padding-box !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-card-nested {
    background: #f8fbff !important;
}

body.competition-shell[data-cm-theme="light"] .app-filter-summary,
body.competition-shell[data-cm-theme="light"] .app-filter-summary > .card-body {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-header,
body.competition-shell[data-cm-theme="light"] .card-header.app-section-header {
    background: transparent !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-toggle {
    color: #0f172a !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-toggle:hover,
body.competition-shell[data-cm-theme="light"] .app-section-toggle:focus {
    color: #0f172a !important;
    background: rgba(245, 158, 11, .10) !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-chevron {
    color: #d97706 !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-actions {
    background: #f8fafc !important;
    color: #0f172a !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .app-section-content {
    background: transparent !important;
    color: #0f172a !important;
}

/* Registration create/edit form card: light theme final overrides. */
body.competition-shell[data-cm-theme="light"] .registration-form-card {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d7e1ee !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .10) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form-card__header {
    border-color: #dbe6f3 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form-card__header h2 {
    color: #020617 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-label,
body.competition-shell[data-cm-theme="light"] .registration-form label,
body.competition-shell[data-cm-theme="light"] .registration-form .form-check-label {
    color: #0f2a4a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-text,
body.competition-shell[data-cm-theme="light"] .registration-form .text-muted {
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .text-warning,
body.competition-shell[data-cm-theme="light"] .registration-form .form-text.text-warning {
    color: #92400e !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-control,
body.competition-shell[data-cm-theme="light"] .registration-form .form-select,
body.competition-shell[data-cm-theme="light"] .registration-form input.form-control,
body.competition-shell[data-cm-theme="light"] .registration-form select.form-select,
body.competition-shell[data-cm-theme="light"] .registration-form textarea.form-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #c3d2e4 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-control:focus,
body.competition-shell[data-cm-theme="light"] .registration-form .form-select:focus {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-control[readonly],
body.competition-shell[data-cm-theme="light"] .registration-form .form-control:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form .form-select:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form select:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form input:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form textarea:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form .category-auto-readonly:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form .searchable-select__button:disabled {
    background-color: #eef4fb !important;
    color: #1e293b !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1e293b !important;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .category-auto-readonly:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form .category-auto-readonly:disabled + .searchable-select__button {
    background-image: linear-gradient(135deg, #fff7ed, #eef4fb) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control {
    color-scheme: light;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: none !important;
    opacity: .95 !important;
    cursor: pointer;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control:hover::-webkit-calendar-picker-indicator,
body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control:focus::-webkit-calendar-picker-indicator {
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .participant-row {
    background: #f8fbff !important;
    border-color: #d7e1ee !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-check-input {
    background-color: #ffffff !important;
    border-color: #b6c7da !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .form-check-input:checked {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
}

/* Registration form Bootstrap native controls: light theme final recovery. */
body.competition-shell[data-cm-theme="light"] .registration-form select.form-select {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border: 1px solid #c3d2e4 !important;
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-select-bg-img) !important;
    background-repeat: no-repeat !important;
    background-position: right .75rem center !important;
    background-size: 16px 12px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form select.form-select:disabled,
body.competition-shell[data-cm-theme="light"] .registration-form .category-auto-readonly:disabled {
    background-color: #eef4fb !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    border-color: #9fb3ca !important;
    background-image: var(--bs-form-select-bg-img) !important;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control {
    color-scheme: light !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: brightness(0) saturate(100%) !important;
    opacity: .95 !important;
    cursor: pointer !important;
}

/* ==========================================================
   Registration form TomSelect final recovery - light theme.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] .registration-form select.tomselected,
body.competition-shell[data-cm-theme="light"] .registration-form select.form-select.tomselected,
body.competition-shell[data-cm-theme="light"] .registration-form select.ts-hidden-accessible,
body.competition-shell[data-cm-theme="light"] .registration-form select.form-select.ts-hidden-accessible {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.single,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.form-select,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.form-control {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.single .ts-control,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.multi .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border: 1px solid #c3d2e4 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: linear-gradient(45deg, transparent 50%, #334155 50%), linear-gradient(135deg, #334155 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.dropdown-active .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
    background-image: linear-gradient(45deg, transparent 50%, #f59e0b 50%), linear-gradient(135deg, #f59e0b 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-control .item,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-control > input,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-control input,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-control input::placeholder {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.disabled .ts-control,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-wrapper.disabled .ts-control * {
    background-color: #eef4fb !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd7e6 !important;
    border-radius: .65rem !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .dropdown-input-wrap {
    border-bottom: 1px solid #e2e8f0 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border: 1px solid #f59e0b !important;
    border-radius: .45rem !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .option,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .create,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .no-results {
    color: #0f172a !important;
    background: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .option.active,
body.competition-shell[data-cm-theme="light"] .registration-form .ts-dropdown .option:hover {
    background: #fff7ed !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control {
    color-scheme: light !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}


/* Registration TomSelect hardening - light theme. */
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .registration-tomselect-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.single .ts-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.multi .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #b8c9dc !important;
    background-image: linear-gradient(45deg, transparent 50%, #334155 50%), linear-gradient(135deg, #334155 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.focus .registration-tomselect-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.dropdown-active .registration-tomselect-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.dropdown-active .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
    background-image: linear-gradient(45deg, transparent 50%, #f59e0b 50%), linear-gradient(135deg, #f59e0b 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-control .item,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-control > input,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-control input,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-control input::placeholder {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.disabled .registration-tomselect-control,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper.disabled .ts-control {
    background-color: #eef4fb !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    border-color: #9fb3ca !important;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .option,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .create,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .no-results {
    color: #0f172a !important;
    background: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .option.active,
body.competition-shell[data-cm-theme="light"] .registration-form .registration-tomselect-wrapper .ts-dropdown .option:hover {
    background: #fff7ed !important;
    color: #0f172a !important;
}

/* ==========================================================
   Reusable TomSelect light theme
   Shared by registration pages, filters, appeal pages and any future
   Bootstrap select enhanced by TomSelect.
   ========================================================== */
body.competition-shell[data-cm-theme="light"] select.tomselected,
body.competition-shell[data-cm-theme="light"] select.ts-hidden-accessible,
body.competition-shell[data-cm-theme="light"] select[data-tomselect-enhanced="true"] {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: transparent !important;
    color: #0f172a !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .cm-tomselect-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single .ts-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.multi .ts-control,
body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #b8c9dc !important;
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: linear-gradient(45deg, transparent 50%, #334155 50%), linear-gradient(135deg, #334155 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.focus .cm-tomselect-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.dropdown-active .cm-tomselect-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.focus .ts-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.dropdown-active .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
    background-image: linear-gradient(45deg, transparent 50%, #f59e0b 50%), linear-gradient(135deg, #f59e0b 50%, transparent 50%) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-control .item,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-control > input,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-control input,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-control input::placeholder {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.disabled .cm-tomselect-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.disabled .ts-control,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.disabled .ts-control * {
    background-color: #eef4fb !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .18) !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .dropdown-input-wrap {
    border-bottom: 1px solid #e2e8f0 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border: 1px solid #f59e0b !important;
    border-radius: .45rem !important;
    box-shadow: none !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .option,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .create,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .no-results {
    color: #0f172a !important;
    background: transparent !important;
}

body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .option.active,
body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown .option:hover {
    background: #fff7ed !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] input[type="date"].form-control {
    color-scheme: light !important;
}

body.competition-shell[data-cm-theme="light"] input[type="date"].form-control::-webkit-calendar-picker-indicator {
    filter: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

/* ==========================================================
   CM final light form/TomSelect hardening 2026-06-12
   ========================================================== */
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]),
html body.competition-shell[data-cm-theme="light"] .dashboard-main > .card,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > .bk-card,
html body.competition-shell[data-cm-theme="light"] .dashboard-main .cm-form-surface,
html body.competition-shell[data-cm-theme="light"] .dashboard-main .registration-form-card {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .10) !important;
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .dashboard-main > .card > .card-body,
html body.competition-shell[data-cm-theme="light"] .dashboard-main .card-body {
    background: transparent !important;
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.multi,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper {
    background: transparent !important;
    color: #0f172a !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.multi .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .cm-tomselect-control {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #b8c9dc !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.focus .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.dropdown-active .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.focus .cm-tomselect-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.dropdown-active .cm-tomselect-control {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-control .item,
html body.competition-shell[data-cm-theme="light"] .ts-control > input,
html body.competition-shell[data-cm-theme="light"] .ts-control input,
html body.competition-shell[data-cm-theme="light"] .ts-control input::placeholder {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    opacity: 1 !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single::after,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper.single::after,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single::after {
    border-right: 2px solid #64748b !important;
    border-bottom: 2px solid #64748b !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single.dropdown-active::after,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper.single.dropdown-active::after,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single.dropdown-active::after {
    border-right-color: #f59e0b !important;
    border-bottom-color: #f59e0b !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.disabled .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.disabled .ts-control * {
    background-color: #eef4fb !important;
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .dropdown-input,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown-content {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #cbd7e6 !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown {
    border: 1px solid #cbd7e6 !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .18) !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .dropdown-input-wrap {
    border-bottom: 1px solid #e2e8f0 !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .create,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .no-results,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown [data-selectable] {
    background: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .active,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option.active,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option:hover,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown [data-selectable]:hover {
    background: #fff7ed !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

/* Pending registrations page has local dark CSS; recover it in light mode. */
html body.competition-shell[data-cm-theme="light"] .pending-approval-card {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid #cbd7e6 !important;
    border-radius: 1rem !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10) !important;
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .pending-approval-table {
    --bs-table-bg: transparent !important;
    --bs-table-color: #0f172a !important;
    --bs-table-border-color: #d7e2ef !important;
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .pending-approval-table thead th {
    background: #eaf2ff !important;
    color: #0f2a5f !important;
    border-bottom: 1px solid #b9cef0 !important;
}

html body.competition-shell[data-cm-theme="light"] .pending-approval-table tbody,
html body.competition-shell[data-cm-theme="light"] .pending-approval-table tbody tr,
html body.competition-shell[data-cm-theme="light"] .pending-approval-table tbody td {
    background: transparent !important;
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .pending-registration-heading td {
    background: #f8fbff !important;
    border-color: #cbd7e6 !important;
}

html body.competition-shell[data-cm-theme="light"] .pending-item-name,
html body.competition-shell[data-cm-theme="light"] .pending-registration-person,
html body.competition-shell[data-cm-theme="light"] .pending-submitted,
html body.competition-shell[data-cm-theme="light"] .pending-registration-org {
    color: #0f172a !important;
}


/* ==========================================================
   CM light checkbox/switch recovery 2026-06-12
   ========================================================== */
html body.competition-shell[data-cm-theme="light"] .form-check-input {
    background-color: #ffffff !important;
    border-color: #b6c7da !important;
}

html body.competition-shell[data-cm-theme="light"] .form-check-input:focus {
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
}

html body.competition-shell[data-cm-theme="light"] .form-check-input:checked {
    background-color: #198754 !important;
    border-color: #198754 !important;
}

html body.competition-shell[data-cm-theme="light"] .form-check-input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
}

html body.competition-shell[data-cm-theme="light"] .form-check-input[type="radio"]:checked {
    background-image: radial-gradient(circle, #ffffff 0 42%, transparent 46%) !important;
}

html body.competition-shell[data-cm-theme="light"] .form-switch .form-check-input {
    background-color: #e8f0f8 !important;
    border-color: #a9bdd3 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2364748b'/%3e%3c/svg%3e") !important;
}

html body.competition-shell[data-cm-theme="light"] .form-switch .form-check-input:checked {
    background-color: #198754 !important;
    border-color: #198754 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
    box-shadow: 0 0 0 1px rgba(25, 135, 84, .16), 0 0 0 .18rem rgba(25, 135, 84, .14) !important;
}

html body.competition-shell[data-cm-theme="light"] .form-switch .form-check-input:focus {
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
}

html body.competition-shell[data-cm-theme="light"] .form-switch .form-check-input:checked:focus {
    border-color: #198754 !important;
    box-shadow: 0 0 0 .18rem rgba(25, 135, 84, .20) !important;
}

html body.competition-shell[data-cm-theme="light"] .form-check-label,
html body.competition-shell[data-cm-theme="light"] .form-switch .form-check-label {
    color: #0f172a !important;
}

/* CM LIGHT COMMON FORM FOUNDATION START */
/* ==========================================================
   Theme variables for the shared cm-* form foundation.
   ========================================================== */
html body.competition-shell[data-cm-theme="light"] {
    --cm-body-text: #0f172a;
    --cm-heading-text: #0f172a;
    --cm-muted-text: #64748b;
    --cm-surface-bg: rgba(255, 255, 255, .96);
    --cm-surface-bg-strong: #ffffff;
    --cm-soft-bg: #f8fbff;
    --cm-surface-border: #cbd7e6;
    --cm-shadow-card: 0 20px 46px rgba(15, 23, 42, .10);
    --cm-form-surface-bg: rgba(255, 255, 255, .96);
    --cm-form-surface-border: #cbd7e6;
    --cm-form-surface-shadow: 0 20px 46px rgba(15, 23, 42, .10);
    --cm-form-section-bg: #f8fbff;
    --cm-form-section-border: #dbe7f5;
    --cm-action-bar-bg: #f8fbff;
    --cm-page-header-bg: rgba(255, 255, 255, .96);
    --cm-page-header-border: #cbd7e6;
    --cm-page-title-color: #0f172a;
    --cm-page-subtitle-color: #475569;
    --cm-field-label-color: #334155;
    --cm-field-help-color: #64748b;
    --cm-control-bg: #ffffff;
    --cm-control-text: #0f172a;
    --cm-control-placeholder: #64748b;
    --cm-control-border: #b8c9dc;
    --cm-control-readonly-bg: #eef4fb;
    --cm-control-disabled-bg: #eef4fb;
    --cm-control-disabled-text: #334155;
    --cm-focus-color: #f59e0b;
    --cm-focus-shadow: rgba(245, 158, 11, .18);
    --cm-validation-danger: #b42318;
    --cm-validation-danger-bg: #fff1f0;
    --cm-validation-danger-border: #fecaca;
}

html body.competition-shell[data-cm-theme="light"] .cm-surface,
html body.competition-shell[data-cm-theme="light"] .cm-form-surface,
html body.competition-shell[data-cm-theme="light"] .cm-filter-surface,
html body.competition-shell[data-cm-theme="light"] .cm-section-card,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) {
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page-title,
html body.competition-shell[data-cm-theme="light"] .cm-page-header h1,
html body.competition-shell[data-cm-theme="light"] .cm-page-header h2,
html body.competition-shell[data-cm-theme="light"] .cm-page-header h3 {
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page-subtitle,
html body.competition-shell[data-cm-theme="light"] .cm-field-help,
html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-text {
    color: #64748b !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-control,
html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-select,
html body.competition-shell[data-cm-theme="light"] .cm-filter-surface .form-control,
html body.competition-shell[data-cm-theme="light"] .cm-filter-surface .form-select,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) .form-control,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) .form-select {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: #b8c9dc !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-readonly-field,
html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-control[readonly],
html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-control:disabled,
html body.competition-shell[data-cm-theme="light"] .cm-form-surface .form-select:disabled,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) .form-control[readonly],
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) .form-control:disabled,
html body.competition-shell[data-cm-theme="light"] .dashboard-main > form:not(.sidebar-account-form):not(.d-inline):not(.cm-no-form-surface):not([data-cm-no-surface]) .form-select:disabled {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    background-color: #eef4fb !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
}
/* CM LIGHT COMMON FORM FOUNDATION END */


/* CM LIGHT ADMIN TABLE SURFACE VARIABLES START */
html body.competition-shell[data-cm-theme="light"] .cm-table-surface,
html body.competition-shell[data-cm-theme="light"] .cm-table-surface .table-responsive {
    background: var(--cm-surface-bg-strong) !important;
    color: var(--cm-body-text) !important;
    border-color: var(--cm-surface-border) !important;
}
/* CM LIGHT ADMIN TABLE SURFACE VARIABLES END */

/* CM LIGHT EVENT DAY COMMON VARIABLES START */
html body.competition-shell[data-cm-theme="light"] {
    --cm-event-stage-card-bg: rgba(255, 255, 255, .96);
    --cm-event-stage-card-border: #cbd7e6;
    --cm-event-stage-header-bg: #edf4ff;
    --cm-event-stage-header-hover-bg: #e2ecff;
    --cm-event-stage-body-bg: rgba(255, 255, 255, .96);
    --cm-event-stage-row-bg: #f8fbff;
    --cm-event-stage-row-border: #dbe7f5;
    --cm-event-stage-label-color: #475569;
    --cm-event-stage-text-color: #0f172a;
    --cm-event-stage-title-color: #0f172a;
    --cm-event-stage-progress-bg: #ffffff;
    --cm-event-stage-progress-border: #cbd7e6;
}
/* CM LIGHT EVENT DAY COMMON VARIABLES END */

/* CM EVENT DAY LIVE STAGE CATEGORY THEME START */
body.competition-shell[data-cm-theme="light"] {
    --cm-stage-live-shell-bg: rgba(255, 255, 255, .96);
    --cm-stage-live-shell-border: #cbd7e6;
    --cm-stage-live-text: #0f172a;
    --cm-stage-live-heading: #0f172a;
    --cm-stage-live-muted: #475569;
    --cm-stage-live-pill-bg: #ffffff;
    --cm-stage-live-pill-border: #cbd7e6;
    --cm-stage-live-pill-divider: #dbe7f5;
    --cm-stage-live-pill-label: #475569;
    --cm-stage-live-pill-value: #0f172a;
    --cm-stage-live-pill-primary-bg: #edf4ff;
    --cm-stage-live-pill-primary-border: #93b4f3;
    --cm-stage-live-pill-warning-bg: #fff7ed;
    --cm-stage-live-pill-warning-border: #f59e0b;
    --cm-stage-live-code-bg: var(--cm-stage-live-pill-bg);
    --cm-stage-live-code-border: var(--cm-stage-live-pill-border);
    --cm-stage-live-code-highlight-bg: #facc15;
    --cm-stage-live-code-highlight-border: #eab308;
    --cm-stage-live-code-highlight-label: #713f12;
    --cm-stage-live-code-highlight-value: #111827;
    --cm-stage-live-code-highlight-divider: rgba(120, 53, 15, .38);
    --cm-stage-live-code-highlight-shadow: rgba(245, 158, 11, .18);
    --cm-stage-live-warning-text: #b45309;
    --cm-stage-live-back-bg: #ffffff;
    --cm-stage-live-back-border: #cbd7e6;
    --cm-stage-live-back-text: #0f172a;
    --cm-stage-live-back-hover-bg: #f8fbff;
    --cm-stage-live-back-hover-border: #f59e0b;
    --cm-stage-live-back-hover-text: #0f172a;
    --cm-stage-live-back-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    --cm-stage-live-music-bg: #ecfdf5;
    --cm-stage-live-music-border: #86efac;
    --cm-stage-live-music-text: #047857;
    --cm-stage-live-music-hover-bg: #22c55e;
    --cm-stage-live-music-hover-text: #052e16;
    --cm-stage-live-card-bg: rgba(255, 255, 255, .98);
    --cm-stage-live-card-border: #cbd7e6;
    --cm-stage-live-card-header-bg: #edf4ff;
    --cm-stage-live-card-footer-bg: #ffffff;
    --cm-stage-live-actions-header-bg: #fff7ed;
    --cm-stage-live-actions-border: #fed7aa;
    --cm-stage-live-action-group-bg: #f8fbff;
    --cm-stage-live-action-group-border: #d3e0ef;
    --cm-stage-live-action-group-title: #1d4ed8;
    --cm-stage-live-final-group-bg: #fffdf8;
    --cm-stage-live-stat-bg: #f1f5f9;
    --cm-stage-live-stat-border: #dbe7f5;
    --cm-stage-live-callout-bg: linear-gradient(135deg, #eff6ff, #ffffff);
    --cm-stage-live-callout-border: #93c5fd;
    --cm-stage-live-callout-title: #1d4ed8;
    --cm-stage-live-callout-active-bg: linear-gradient(135deg, #fff1f2, #ffffff);
    --cm-stage-live-callout-active-border: #fb7185;
    --cm-stage-live-callout-active-title: #be123c;
    --cm-stage-live-number-bg: #ffffff;
    --cm-stage-live-number-border: #cbd7e6;
    --cm-stage-live-table-head-bg: #eaf2ff;
    --cm-stage-live-table-head-text: #17318f;
    --cm-stage-live-table-border: #bfd2ef;
    --cm-stage-live-table-border-soft: #dbe7f5;
    --cm-stage-live-table-hover-bg: #f8fbff;
    --cm-stage-live-row-performing-bg: #fef3c7;
    --cm-stage-live-row-performing-outline: rgba(245, 158, 11, .65);
    --cm-stage-live-row-performing-shadow: rgba(245, 158, 11, .25);
    --cm-stage-live-row-performed-bg: #ecfdf5;
    --cm-stage-live-row-performed-border: #86efac;
    --cm-stage-live-row-absent-bg: #fef2f2;
    --cm-stage-live-row-absent-border: #fca5a5;
    --cm-stage-live-row-reported-bg: #ecfeff;
    --cm-stage-live-mobile-bg: #ffffff;
    --cm-stage-live-mobile-border: #cbd7e6;
    --cm-stage-live-mobile-header-bg: #edf4ff;
    --cm-stage-live-mobile-action-bg: #f8fbff;
    --cm-stage-live-mobile-action-border: #dbe7f5;
    --cm-stage-live-error-text: #b91c1c;
}
/* CM EVENT DAY LIVE STAGE CATEGORY THEME END */


/* CM LIVE STAGE NEUTRAL INFO PILL COLOUR - LIGHT START */
body.competition-shell[data-cm-theme="light"] .stage-context-pill-code.cm-status-chip {
    border-color: var(--cm-stage-live-pill-border, #cbd7e6) !important;
    background: var(--cm-stage-live-pill-bg, #ffffff) !important;
}

body.competition-shell[data-cm-theme="light"] .stage-context-pill-code .stage-context-label,
body.competition-shell[data-cm-theme="light"] .stage-action-status.cm-status-neutral .stage-action-status-label {
    color: var(--cm-stage-live-pill-label, #475569) !important;
}

body.competition-shell[data-cm-theme="light"] .stage-context-pill-code .stage-context-value,
body.competition-shell[data-cm-theme="light"] .stage-action-status.cm-status-neutral .stage-action-status-value {
    color: var(--cm-stage-live-pill-value, #0f172a) !important;
}
/* CM LIVE STAGE NEUTRAL INFO PILL COLOUR - LIGHT END */

/* CM LIVE STAGE PROGRAM CODE HIGHLIGHT OVERRIDE - LIGHT START
   This must live in the theme file because theme CSS is loaded after core CSS. */
body.competition-shell[data-cm-theme="light"] .stage-context-pill-code.cm-status-chip,
body.competition-shell[data-cm-theme="light"] .stage-context-pill-code.stage-context-pill-muted.cm-status-chip {
    border-color: var(--cm-stage-live-code-highlight-border, #eab308) !important;
    background: var(--cm-stage-live-code-highlight-bg, #facc15) !important;
    color: var(--cm-stage-live-code-highlight-value, #111827) !important;
    box-shadow: 0 .25rem .75rem var(--cm-stage-live-code-highlight-shadow, rgba(245, 158, 11, .18)) !important;
}

body.competition-shell[data-cm-theme="light"] .stage-context-pill-code .stage-context-label {
    color: var(--cm-stage-live-code-highlight-label, #78350f) !important;
    border-right-color: var(--cm-stage-live-code-highlight-divider, rgba(120, 53, 15, .38)) !important;
}

body.competition-shell[data-cm-theme="light"] .stage-context-pill-code .stage-context-value {
    color: var(--cm-stage-live-code-highlight-value, #111827) !important;
}
/* CM LIVE STAGE PROGRAM CODE HIGHLIGHT OVERRIDE - LIGHT END */

/* CM EVENT DAY JUDGING AND TIMING LIGHT REFINEMENTS START */
body.competition-shell[data-cm-theme="light"] .judge-mark-submitted,
body.competition-shell[data-cm-theme="light"] .judge-mark-complete,
body.competition-shell[data-cm-theme="light"] .timing-status-performed {
    color: #047857 !important;
    background: #d1fae5 !important;
    border-color: #86efac !important;
}

body.competition-shell[data-cm-theme="light"] .judge-mark-draft,
body.competition-shell[data-cm-theme="light"] .timing-status-performing {
    color: #075985 !important;
    background: #e0f2fe !important;
    border-color: #7dd3fc !important;
}

body.competition-shell[data-cm-theme="light"] .judge-mark-waiting,
body.competition-shell[data-cm-theme="light"] .timing-status-waiting {
    color: #334155 !important;
    background: #eef2f7 !important;
    border-color: #cbd5e1 !important;
}
/* CM EVENT DAY JUDGING AND TIMING LIGHT REFINEMENTS END */

/* CURRENT/PERFORMING STATUS NORMALISATION START */
body.competition-shell[data-cm-theme="light"] .timing-current-performing {
    border-color: var(--cm-stage-live-row-performing-outline, rgba(245, 158, 11, .65)) !important;
    background: var(--cm-stage-live-row-performing-bg, rgba(245, 158, 11, .10)) !important;
    box-shadow: 0 0 0 1px var(--cm-stage-live-row-performing-shadow, rgba(245, 158, 11, .18)) !important;
}

body.competition-shell[data-cm-theme="light"] .timing-live-pill,
body.competition-shell[data-cm-theme="light"] .timing-status-performing {
    color: #92400e !important;
    background: rgba(245, 158, 11, .16) !important;
    border-color: rgba(245, 158, 11, .55) !important;
}
/* CURRENT/PERFORMING STATUS NORMALISATION END */

/* CM JUDGE PORTAL ACCESS LIGHT THEME FINAL FIX START */
body.competition-shell[data-cm-theme="light"] .cm-page--judge-access .cm-event-validation,
body.competition-shell[data-cm-theme="light"] .cm-page--judge-access .text-danger,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-access .cm-event-validation,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-access .text-danger {
    color: #b91c1c !important;
}

body.competition-shell[data-cm-theme="light"] .stage-status-checkbox:disabled,
body.competition-shell[data-cm-theme="light"] .stage-status-checkbox[disabled],
body.competition-shell[data-cm-theme="light"] .stage-check-cell .form-check-input:disabled,
body.competition-shell[data-cm-theme="light"] .stage-mobile-action-box .form-check-input:disabled {
    background-color: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
}

body.competition-shell[data-cm-theme="light"] .stage-status-checkbox[data-requires-judge-submission="true"][data-judge-submission-complete="false"]:not(:checked):not(:disabled) {
    background-color: rgba(245, 158, 11, .10) !important;
    border-color: #f59e0b !important;
}


body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-total-pill,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-score-card,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card {
    background: #ffffff !important;
    border-color: #dbe4f0 !important;
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-total-pill {
    background: #f8fafc !important;
    color: #475569 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judge-name,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card .fw-semibold,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-score-card .fw-semibold,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-access-code__value {
    color: #0f172a !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judges-label,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-total-pill strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judge-total strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card .text-warning {
    color: #d97706 !important;
}

/* CM JUDGE PORTAL ACCESS LIGHT THEME FINAL FIX END */

/* ==========================================================
   LIGHT THEME RECOVERY - Stage Assignments
   Keep this page on the common light surface system instead of
   inheriting the older dark-only stage assignment card colours.
   ========================================================== */
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-readonly-box {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background: #eef4fb !important;
    border: 1px solid #9fb3ca !important;
    border-radius: .65rem !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.70) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-wrapper {
    color: #0f172a !important;
    background: #ffffff !important;
    border: 1px solid #cbd7e6 !important;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .10) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-title {
    color: #0f172a !important;
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    border-bottom: 1px solid #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-card-list {
    background: #ffffff !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-card {
    color: #0f172a !important;
    background: #ffffff !important;
    border: 1px solid #cbd7e6 !important;
    border-left: .35rem solid #0891b2 !important;
    border-radius: 1rem !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .09) !important;
    overflow: hidden !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-card:nth-child(even) {
    border-color: #cbd7e6 !important;
    border-left-color: #d97706 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-header {
    background: linear-gradient(90deg, rgba(8, 145, 178, .10), #ffffff 62%) !important;
    border-bottom: 1px solid #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-card:nth-child(even) .stage-assignment-header {
    background: linear-gradient(90deg, rgba(217, 119, 6, .12), #ffffff 62%) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-item-name,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-category-title,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-title strong {
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-default-box label,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-category-box label {
    color: #334155 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-default-help,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-title .text-muted {
    color: #64748b !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-category-section {
    background: #f8fbff !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-category-box {
    color: #0f172a !important;
    background: #ffffff !important;
    border: 1px solid #dbe7f5 !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .05) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-category-box:hover {
    background: #f8fbff !important;
    border-color: rgba(8, 145, 178, .45) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-card:nth-child(even) .stage-category-box:hover {
    border-color: rgba(217, 119, 6, .45) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-program-badge {
    color: #0e7490 !important;
    background: rgba(8, 145, 178, .10) !important;
    border-color: rgba(8, 145, 178, .32) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-assignment-card:nth-child(even) .stage-program-badge {
    color: #92400e !important;
    background: rgba(217, 119, 6, .12) !important;
    border-color: rgba(217, 119, 6, .34) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .form-select,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments select.form-select {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: #b8c9dc !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .form-select:disabled,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments select.form-select:disabled {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    background-color: #eef4fb !important;
    border-color: #9fb3ca !important;
    opacity: 1 !important;
}
/* LIGHT THEME RECOVERY - Stage Assignments END */

/* CM SCORE ENTRY AND TIMEKEEPER LIGHT READABILITY FIX START */
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-min-max,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card .small,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judge-total,
body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .timing-table-row .text-muted {
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-min-max strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-total-pill strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-total-pill strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judge-total strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card strong.text-warning,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .text-warning,
body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .timing-entry-card-header {
    color: #b45309 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--judge-mark .judge-total-pill,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-paper-total-pill {
    background: #fff7ed !important;
    border-color: #fed7aa !important;
    color: #334155 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .timing-entry-card-header {
    background: #fff7ed !important;
    border-bottom-color: #fed7aa !important;
}

/* CM LIGHT THEME VALIDATION ERROR COLOUR FIX START */
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .field-validation-error,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page span[data-valmsg-for].field-validation-error,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .validation-message,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-paper-criteria-card [data-valmsg-for].small,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-paper-criteria-card .text-danger.small,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-paper-criteria-card .field-validation-error.small {
    color: var(--cm-validation-danger, #b42318) !important;
    -webkit-text-fill-color: var(--cm-validation-danger, #b42318) !important;
    font-weight: 650;
}
/* CM LIGHT THEME VALIDATION ERROR COLOUR FIX END */

body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .good-green {
    color: #047857 !important;
}

body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .deduct-red {
    color: #b91c1c !important;
}
/* CM SCORE ENTRY AND TIMEKEEPER LIGHT READABILITY FIX END */

/* CM SCORE ENTRY LIGHT THEME TOTAL VALUE READABILITY FIX START
   Covers Judge Portal chest list, Manual Enter Scores chest list,
   Judge/Manual mark pages, and Timing/Timekeeper score-context pages. */
body.competition-shell[data-cm-theme="light"] .cm-event-score-page {
    --cm-score-entry-highlight: #92400e;
    --cm-score-entry-highlight-soft: #b45309;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-card-total-row strong,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-score-card .d-flex.justify-content-between.align-items-center.gap-3 > strong,
body.competition-shell[data-cm-theme="light"] .cm-page--judge-mark #markTotal,
body.competition-shell[data-cm-theme="light"] .cm-page--judge-mark #markTotalTop,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking #manualPaperGrandTotal,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking [data-judge-total],
body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .good-green,
body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .deduct-red {
    color: #92400e !important;
    -webkit-text-fill-color: #92400e !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-min-max strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-criteria-card strong.text-warning,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-total-pill strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .manual-paper-judge-total strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-total-pill strong,
body.competition-shell[data-cm-theme="light"] .cm-event-score-page .text-warning {
    color: #92400e !important;
    -webkit-text-fill-color: #92400e !important;
}

body.competition-shell[data-cm-theme="light"] .cm-event-score-page .judge-card-total-row span,
body.competition-shell[data-cm-theme="light"] .cm-page--manual-paper-marking .manual-score-card .text-muted,
body.competition-shell[data-cm-theme="light"] .cm-page--timing-dashboard .text-muted,
body.competition-shell[data-cm-theme="light"] .cm-page--timing-entry .text-muted {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}
/* CM SCORE ENTRY LIGHT THEME TOTAL VALUE READABILITY FIX END */

/* CM TOMSELECT LIGHT FINAL FIX 2026-06-14
   Final light-theme colours for all common TomSelect controls, including
   Submit Appeal Item / Category. */
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper.single .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single .cm-tomselect-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #b8c9dc !important;
    box-shadow: none !important;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
    background-position:
        calc(100% - 1.18rem) 50%,
        calc(100% - .88rem) 50% !important;
    background-size: .34rem .34rem, .34rem .34rem !important;
    background-repeat: no-repeat !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single.focus .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single.dropdown-active .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper.single.focus .ts-control,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.cm-tomselect-wrapper.single.dropdown-active .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single.focus .ts-control,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper.single.dropdown-active .ts-control {
    background-color: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
    box-shadow: 0 0 0 .18rem rgba(245, 158, 11, .18) !important;
    background-image:
        linear-gradient(45deg, transparent 50%, #f59e0b 50%),
        linear-gradient(135deg, #f59e0b 50%, transparent 50%) !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single::before,
html body.competition-shell[data-cm-theme="light"] .ts-wrapper.single::after,
html body.competition-shell[data-cm-theme="light"] .ts-control::before,
html body.competition-shell[data-cm-theme="light"] .ts-control::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: transparent !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-control .item,
html body.competition-shell[data-cm-theme="light"] .ts-control > input,
html body.competition-shell[data-cm-theme="light"] .ts-control input {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown,
html body.competition-shell[data-cm-theme="light"] .cm-tomselect-wrapper .ts-dropdown {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd7e6 !important;
    box-shadow: 0 16px 36px rgba(15,23,42,.16) !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .dropdown-input {
    background: #ffffff !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    border-color: #f59e0b !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option {
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option.active,
html body.competition-shell[data-cm-theme="light"] .ts-dropdown .option:hover {
    background: #fff7ed !important;
    color: #7c2d12 !important;
}


/* ================================
   ACTIVE LEFT NAVIGATION STATE - LIGHT THEME
   ================================ */
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav a.active,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem.active,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-submenu a.side-nav-subitem.active,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-section-items .side-nav-subitem.active {
    color: #78350f !important;
    background: rgba(245,158,11,.18) !important;
    border-color: rgba(217,119,6,.36) !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 24px rgba(217,119,6,.12), inset 3px 0 0 #f59e0b !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav a.active i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-subitem.active i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-submenu a.side-nav-subitem.active i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-section-items .side-nav-subitem.active i {
    color: #d97706 !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-group.has-active > button.side-nav-toggle,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle.active {
    color: #78350f !important;
    background: rgba(245,158,11,.14) !important;
    border-color: rgba(217,119,6,.30) !important;
    font-weight: 900 !important;
    box-shadow: inset 3px 0 0 #f59e0b !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-group.has-active > button.side-nav-toggle i,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-toggle.active i {
    color: #d97706 !important;
}

body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav .side-nav-section-group.has-active > button.side-nav-section-toggle,
body.competition-shell[data-cm-theme="light"] .dashboard-sidebar .side-nav button.side-nav-section-toggle.active {
    color: #78350f !important;
    background: rgba(245,158,11,.10) !important;
    border-color: rgba(217,119,6,.22) !important;
    font-weight: 900 !important;
}

body.competition-shell[data-cm-theme="light"].sidebar-collapsed .dashboard-sidebar .side-nav .side-nav-group.has-active > button.side-nav-toggle,
body.competition-shell[data-cm-theme="light"].sidebar-collapsed .dashboard-sidebar .side-nav button.side-nav-toggle.active,
body.competition-shell[data-cm-theme="light"].sidebar-collapsed .dashboard-sidebar .side-nav a.active {
    background: rgba(245,158,11,.18) !important;
    border-color: rgba(217,119,6,.36) !important;
    box-shadow: 0 10px 24px rgba(217,119,6,.12), inset 0 -3px 0 #f59e0b !important;
}

/* LIGHT THEME - Stage running-order planner */
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-section {
    background: #f8fbff !important;
    border-color: #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-section-header {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    border-bottom-color: #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-section-header h3,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-category-heading strong {
    color: #0f172a !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-count {
    color: #334155 !important;
    border-color: #b8c9dc !important;
    background: #ffffff !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-display-order {
    color: #0e7490 !important;
    background: rgba(8, 145, 178, .10) !important;
    border-color: rgba(8, 145, 178, .32) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-empty-message {
    color: #475569 !important;
    background: #ffffff !important;
    border-color: #b8c9dc !important;
}

/* Light theme support for compact stage assignment planner. */
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-section {
    background: #ffffff !important;
    border: 1px solid #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-section-header {
    background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
    border-bottom: 1px solid #dbe7f5 !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-count {
    color: #334155 !important;
    border-color: #b8c9dc !important;
    background: #ffffff !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-item-order-chip,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-display-order {
    color: #0e7490 !important;
    background: rgba(8, 145, 178, .10) !important;
    border-color: rgba(8, 145, 178, .32) !important;
}

html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-item-card--needs-setup .stage-planner-item-order-chip,
html body.competition-shell[data-cm-theme="light"] .cm-page--stage-assignments .stage-planner-item-card--needs-setup .stage-display-order {
    color: #64748b !important;
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

/* Administration dashboard grouping */
html body.competition-shell[data-cm-theme="light"] .admin-dashboard-main .admin-dashboard-section {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.competition-shell[data-cm-theme="light"] .admin-dashboard-main .module-level-badge-current {
    color: #0e7490 !important;
    background: #ecfeff !important;
    border-color: #a5f3fc !important;
}

html body.competition-shell[data-cm-theme="light"] .admin-dashboard-main .module-level-badge-child {
    color: #92400e !important;
    background: #fffbeb !important;
    border-color: #fde68a !important;
}
