/**
 * RachaPRO — temas (dark padrão + light)
 * Tokens semânticos: páginas novas devem preferir --rp-* em vez de #fff / rgba branco.
 */
:root {
  color-scheme: dark;

  /* Marca (comum) */
  --navy-blue: #1a237e;
  --dark-navy: #0d1244;
  --lime-green: #cddc39;
  --bright-green: #e6ee9c;
  --white: #ffffff;
  --light-gray: #f5f5f5;
  --gray: #e0e0e0;
  --dark-gray: #424242;
  --text-dark: #212121;

  /* Semânticos — dark */
  --rp-bg: #1a1a2e;
  --rp-bg-2: #16213e;
  --rp-bg-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  --rp-surface: #1e2433;
  --rp-surface-2: #161b26;
  --rp-surface-card: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  --rp-surface-nav: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
  --rp-surface-top: linear-gradient(135deg, #0d1244 0%, #1a237e 100%);
  --rp-text: #ffffff;
  --rp-text-muted: rgba(255, 255, 255, 0.55);
  --rp-text-soft: rgba(255, 255, 255, 0.72);
  --rp-heading: #cddc39;
  --rp-border: rgba(255, 255, 255, 0.12);
  --rp-border-accent: rgba(205, 220, 57, 0.28);
  --rp-hover: rgba(205, 220, 57, 0.08);
  --rp-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  --rp-input-bg: rgba(0, 0, 0, 0.35);
  --rp-chip-bg: rgba(255, 255, 255, 0.04);
  --rp-chip-border: rgba(255, 255, 255, 0.14);
  --rp-table-head: rgba(0, 0, 0, 0.28);
  --rp-row-line: rgba(255, 255, 255, 0.06);
  --rp-accent-ink: #1a1a2e;
  --rp-scrollbar: #cddc39;

  /* Títulos das seções coloridas dos formulários (dados pessoais, mensalidade,
     posições, contato...). Nasceram em pastel para o fundo navy; no claro
     precisam do tom fechado da mesma família. */
  --rp-sec-azul: #64b5f6;
  --rp-sec-laranja: #ffb74d;
  --rp-sec-roxo: #ba68c8;
  --rp-sec-verde: #81c784;
  --rp-sec-cinza: #bdbdbd;

  /* Shell aliases */
  --racha-surface-nav: var(--rp-surface-nav);
  --racha-offcanvas-surface: linear-gradient(180deg, #1a1a2e 0%, #152238 100%);
}

html[data-theme="light"] {
  color-scheme: light;

  --rp-bg: #eef1f6;
  --rp-bg-2: #e4e9f2;
  --rp-bg-gradient: linear-gradient(160deg, #eef1f6 0%, #e6ebf4 55%, #dde4f0 100%);
  --rp-surface: #ffffff;
  --rp-surface-2: #f7f8fc;
  --rp-surface-card: linear-gradient(180deg, #ffffff 0%, #f8f9fc 100%);
    --rp-surface-nav: linear-gradient(180deg, #ffffff 0%, #f3f5fa 100%);
  --rp-surface-top: linear-gradient(135deg, #0d1244 0%, #1a237e 100%); /* topbar fica navy */
  --rp-text: #1a1a2e;
  --rp-text-muted: #5c6578;
  --rp-text-soft: #3d4659;
  --rp-heading: #1a237e;
  --rp-border: rgba(26, 35, 126, 0.12);
  --rp-border-accent: rgba(26, 35, 126, 0.18);
  --rp-hover: rgba(26, 35, 126, 0.05);
  --rp-shadow: 0 6px 24px rgba(26, 35, 126, 0.08);
  --rp-input-bg: #ffffff;
  --rp-chip-bg: #f3f5fa;
  --rp-chip-border: rgba(26, 35, 126, 0.14);
  --rp-table-head: #f1f3f9;
  --rp-row-line: rgba(26, 35, 126, 0.08);
  --rp-accent-ink: #1a1a2e;
  --rp-scrollbar: #1a237e;

  --rp-sec-azul: #1565c0;
  --rp-sec-laranja: #b45309;
  --rp-sec-roxo: #7b1fa2;
  --rp-sec-verde: #2e7d32;
  --rp-sec-cinza: #4b5563;

  /* Cores das posições (definidas em racha-shell.css em tons pastéis, para
     brilhar no navy). Cada bloco de atletas é identificado por elas, então no
     claro elas não podem virar navy: só descem para o tom fechado da mesma
     família. Os pares --pos-*-rgb, usados nos fundos em transparência,
     continuam com o tom saturado — é o que dá o pastel sobre o branco. */
  --pos-goleiro: #0e7490;   /* ciano */
  --pos-lateral: #a16207;   /* amarelo (mostarda: amarelo puro reprova no branco) */
  --pos-zagueiro: #b91c1c;  /* vermelho */
  --pos-volante: #1d4ed8;   /* azul */
  --pos-meia: #c2410c;      /* laranja (o tom 600 não fecha 4.5:1 no branco) */
  --pos-atacante: #15803d;  /* verde */
  --pos-outro: #64748b;

  --racha-surface-nav: var(--rp-surface-nav);
  --racha-offcanvas-surface: linear-gradient(180deg, #ffffff 0%, #f3f5fa 100%);

  /* Bootstrap body vars (cards/forms) */
  --bs-body-color: #1a1a2e;
  --bs-body-bg: #eef1f6;
  --bs-border-color: rgba(26, 35, 126, 0.12);
}

/* ——— Aplicação base ——— */
html,
body {
  background: var(--rp-bg-gradient);
  color: var(--rp-text);
}

.app-shell {
  background: var(--rp-bg-gradient);
}

.app-sidebar {
  background: var(--rp-surface-nav);
  border-right-color: var(--rp-border-accent);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
}

html[data-theme="light"] .app-sidebar {
  box-shadow: 4px 0 20px rgba(26, 35, 126, 0.06);
}

.app-sidebar-scroll::-webkit-scrollbar-thumb {
  background: var(--rp-scrollbar);
}

.racha-topbar {
  background: var(--rp-surface-top);
}

#rachaNavOffcanvas {
  background: var(--racha-offcanvas-surface);
  color: var(--rp-text);
  border-right-color: var(--rp-border-accent) !important;
}

html[data-theme="light"] #rachaNavOffcanvas .offcanvas-header .btn-close {
  filter: invert(0) grayscale(1);
  opacity: 0.7;
}

html[data-theme="light"] .racha-nav-block {
  background: rgba(26, 35, 126, 0.04);
  border-color: rgba(26, 35, 126, 0.1);
  box-shadow: none;
}

html[data-theme="light"] .racha-nav-block-title {
  color: rgba(26, 35, 126, 0.45);
  border-bottom-color: rgba(26, 35, 126, 0.1);
}

html[data-theme="light"] a.racha-nav-item,
html[data-theme="light"] button.racha-nav-item {
  color: #2a3348;
}

html[data-theme="light"] a.racha-nav-item:hover,
html[data-theme="light"] a.racha-nav-item.active,
html[data-theme="light"] button.racha-nav-item:hover,
html[data-theme="light"] button.racha-nav-item[aria-expanded="true"] {
  background: rgba(26, 35, 126, 0.07);
  border-left-color: var(--lime-green);
  color: #1a237e;
  box-shadow: none;
}

html[data-theme="light"] a.racha-nav-sub {
  color: #4b5568;
}

html[data-theme="light"] .racha-side-brand {
  border-bottom: 1px solid rgba(26, 35, 126, 0.1);
  background: #ffffff;
}

html[data-theme="light"] .racha-side-brand a,
html[data-theme="light"] .racha-side-brand .text-white {
  color: var(--rp-heading) !important;
}

html[data-theme="light"] .racha-user-strip {
  background: #f3f5fa;
  border-top: 1px solid var(--rp-border);
}

html[data-theme="light"] .racha-user-name {
  color: var(--rp-text);
}

html[data-theme="light"] .racha-user-mail {
  color: var(--rp-text-muted);
}

html[data-theme="light"] .racha-logout {
  color: #1a237e;
  border-color: rgba(26, 35, 126, 0.2);
  background: #ffffff;
}

html[data-theme="light"] .racha-logout:hover {
  background: var(--lime-green);
  color: #1a1a2e;
  border-color: transparent;
}

html[data-theme="light"] footer small,
html[data-theme="light"] footer p {
  color: var(--rp-text-muted);
}

html[data-theme="light"] .racha-subnav-desempenho {
  border-bottom-color: rgba(26, 35, 126, 0.1);
}

html[data-theme="light"] .racha-subnav-desempenho__item {
  background: #ffffff;
  border-color: rgba(26, 35, 126, 0.12);
  color: #4b5568;
}

html[data-theme="light"] .racha-subnav-desempenho__item:hover {
  color: #1a237e;
  background: #eef1f8;
  border-color: rgba(26, 35, 126, 0.22);
}

html[data-theme="light"] .racha-subnav-desempenho__item.is-active {
  color: #1a237e;
  background: linear-gradient(180deg, rgba(205, 220, 57, 0.35) 0%, #ffffff 100%);
  border-color: rgba(26, 35, 126, 0.28);
  box-shadow: 0 2px 10px rgba(26, 35, 126, 0.08);
}

html[data-theme="light"] .stat-card {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border: 1px solid rgba(26, 35, 126, 0.1);
}

html[data-theme="light"] .stat-card .card-title,
html[data-theme="light"] .stat-card h2 {
  color: #1a1a2e !important;
}

/* Cards / tables globais do base */
.card {
  background: var(--rp-surface-card);
  border-color: var(--rp-border-accent);
  box-shadow: var(--rp-shadow);
  color: var(--rp-text);
}

html[data-theme="light"] .card:hover {
  box-shadow: 0 10px 28px rgba(26, 35, 126, 0.1);
  border-color: rgba(26, 35, 126, 0.22);
  transform: translateY(-2px);
}

html[data-theme="light"] .table-dark {
  --bs-table-bg: #ffffff;
  --bs-table-color: #1a1a2e;
  --bs-table-border-color: rgba(26, 35, 126, 0.1);
  --bs-table-striped-bg: #f7f8fc;
  --bs-table-hover-bg: #eef2ff;
  --bs-table-hover-color: #1a1a2e;
  color: #1a1a2e;
}

html[data-theme="light"] .table-dark thead th,
html[data-theme="light"] .table-dark > :not(caption) > * > * {
  color: #1a1a2e;
  border-color: rgba(26, 35, 126, 0.1);
}

html[data-theme="light"] .text-muted,
html[data-theme="light"] .text-white-50 {
  color: var(--rp-text-muted) !important;
}

/* background-color, nunca o atalho background: o atalho zera image/repeat/
   position/size e destrói a seta SVG dos selects (ela vira mosaico). */
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select {
  background-color: #fff;
  color: #1a1a2e;
  border-color: rgba(26, 35, 126, 0.18);
}

html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus {
  background-color: #fff;
  color: #1a1a2e;
  border-color: rgba(26, 35, 126, 0.4);
  box-shadow: 0 0 0 3px rgba(26, 35, 126, 0.12);
}

html[data-theme="light"] .form-control::placeholder {
  color: #8b93a7;
}

/* Bottom nav / overlays */
html[data-theme="light"] .racha-bottom-nav-atleta,
html[data-theme="light"] .racha-bottom-nav,
html[data-theme="light"] .nav-bottom-atleta,
html[data-theme="light"] .nav-bottom-diretoria {
  --racha-bottom-fg: #1a237e;
  --racha-bottom-muted: #6b7285;
  background: rgba(255, 255, 255, 0.97);
  border-top: 1px solid var(--rp-border);
  color: var(--rp-text);
  box-shadow: 0 -4px 18px rgba(26, 35, 126, 0.06);
}

/* ——— Toggle de tema ——— */
.rp-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(205, 220, 57, 0.45);
  background: rgba(205, 220, 57, 0.12);
  color: #e8f08a;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.rp-theme-toggle:hover {
  background: rgba(205, 220, 57, 0.22);
  color: #fff;
}
.rp-theme-toggle i { font-size: 0.95rem; }
.rp-theme-toggle,
.rp-push-top-btn {
  min-width: 2.2rem;
  justify-content: center;
  padding: 0.42rem 0.5rem;
  gap: 0;
}
.rp-theme-toggle__label,
.rp-theme-label-to-light,
.rp-theme-label-to-dark,
.rp-push-top-btn__label {
  display: none !important;
}

.racha-topbar .rp-theme-toggle {
  border-color: rgba(205, 220, 57, 0.55);
  color: #e8f08a;
}

.rp-theme-toggle--strip {
  width: auto;
  align-self: flex-start;
  margin-bottom: 0.45rem;
  border-color: var(--rp-border-accent);
  background: var(--rp-chip-bg);
  color: var(--rp-heading);
}

html[data-theme="light"] .rp-theme-toggle--strip {
  color: var(--rp-heading);
  border-color: rgba(26, 35, 126, 0.18);
  background: #eef1f8;
}

html[data-theme="light"] .rp-theme-toggle--strip:hover {
  background: #e4e9f6;
  color: #0d1244;
}

/* Ícones do toggle: mostra o destino (sol = ir para claro; lua = ir para escuro) */
html[data-theme="light"] .rp-theme-ico-sun { display: none; }
html:not([data-theme="light"]) .rp-theme-ico-moon { display: none; }

/* ——— Páginas recentes (jogos / presenças) ——— */
html[data-theme="light"] .jl-hero,
html[data-theme="light"] .mj-hero,
html[data-theme="light"] .mp-hero {
  background: linear-gradient(135deg, rgba(26, 35, 126, 0.06) 0%, #ffffff 50%, #f7f8fc 100%);
  border-color: var(--rp-border);
  border-left-color: var(--lime-green);
}
html[data-theme="light"] .jl-hero h1,
html[data-theme="light"] .mj-hero h1,
html[data-theme="light"] .mp-hero h1 {
  color: var(--rp-heading);
}
html[data-theme="light"] .jl-hero p,
html[data-theme="light"] .mj-hero p,
html[data-theme="light"] .mp-hero p {
  color: var(--rp-text-muted);
}

html[data-theme="light"] .jl-list,
html[data-theme="light"] .mj-panel,
html[data-theme="light"] .mp-panel,
html[data-theme="light"] .rp-panel {
  background: #ffffff;
  border-color: var(--rp-border);
  box-shadow: var(--rp-shadow);
}
html[data-theme="light"] .jl-list__head,
html[data-theme="light"] .mj-panel__head,
html[data-theme="light"] .mp-panel__head,
html[data-theme="light"] .rp-tabs {
  background: #f4f6fb;
  border-bottom-color: var(--rp-border);
}
html[data-theme="light"] .jl-list__head h2,
html[data-theme="light"] .mj-panel__title,
html[data-theme="light"] .mp-panel__title {
  color: var(--rp-text-soft);
}
html[data-theme="light"] .jl-name,
html[data-theme="light"] .rp-ath__name,
html[data-theme="light"] .mj-card-jogo__data,
html[data-theme="light"] .mp-pres-data {
  color: #1a1a2e;
}
html[data-theme="light"] .jl-sub,
html[data-theme="light"] .jl-list__meta,
html[data-theme="light"] .jl-hint,
html[data-theme="light"] .rp-note,
html[data-theme="light"] .rp-cadastro,
html[data-theme="light"] .mp-panel__hint {
  color: var(--rp-text-muted);
}
html[data-theme="light"] .jl-row,
html[data-theme="light"] .rp-table tbody td,
html[data-theme="light"] .mj-table tbody td,
html[data-theme="light"] .mp-pres-table tbody td {
  border-bottom-color: var(--rp-row-line);
  color: var(--rp-text);
}
html[data-theme="light"] .jl-row:hover,
html[data-theme="light"] .rp-table tbody tr:hover td,
html[data-theme="light"] .mj-table tbody tr:hover td {
  background: rgba(26, 35, 126, 0.04);
}
html[data-theme="light"] .jl-search input,
html[data-theme="light"] .rp-search input {
  background: #fff;
  color: #1a1a2e;
  border-color: rgba(26, 35, 126, 0.16);
}
html[data-theme="light"] .jl-search input:focus,
html[data-theme="light"] .rp-search input:focus {
  border-color: rgba(26, 35, 126, 0.4);
  box-shadow: 0 0 0 3px rgba(26, 35, 126, 0.1);
}
html[data-theme="light"] .jl-cta,
html[data-theme="light"] .rp-cta {
  background: rgba(26, 35, 126, 0.06);
  color: #1a237e;
  border-color: rgba(26, 35, 126, 0.2);
}
html[data-theme="light"] .jl-row:hover .jl-cta,
html[data-theme="light"] .rp-cta:hover {
  background: var(--lime-green);
  color: #1a1a2e;
  border-color: transparent;
}

html[data-theme="light"] .mj-kpi,
html[data-theme="light"] .mp-kpi {
  background: #ffffff;
  border-left-color: var(--rp-border);
  border-right-color: var(--rp-border);
  border-bottom-color: var(--rp-border);
}
html[data-theme="light"] .mj-kpi__label,
html[data-theme="light"] .mp-kpi__label {
  color: var(--rp-text-muted);
}
html[data-theme="light"] .mj-table thead th,
html[data-theme="light"] .rp-table thead th,
html[data-theme="light"] .mp-pres-table thead th {
  background: var(--rp-table-head);
  color: #5c6578;
  border-bottom-color: var(--rp-border);
}
html[data-theme="light"] .mj-placar--muted,
html[data-theme="light"] .mj-zero,
html[data-theme="light"] .mp-pres-muted,
html[data-theme="light"] .mp-pres-idx {
  color: #9aa3b5;
}
html[data-theme="light"] .rp-chip {
  background: var(--rp-chip-bg);
  border-color: var(--rp-chip-border);
  color: var(--rp-text-soft);
}
html[data-theme="light"] .rp-chip:hover {
  color: #1a237e;
  background: #e8ecf8;
}
html[data-theme="light"] .rp-tab {
  color: var(--rp-text-muted);
}
html[data-theme="light"] .rp-tab:hover {
  color: #1a237e;
  background: rgba(26, 35, 126, 0.05);
}
html[data-theme="light"] .rp-rank {
  color: #1a237e;
}
html[data-theme="light"] .rp-total {
  color: #6b7285;
}
html[data-theme="light"] .rp-table-wrap {
  border-color: var(--rp-border);
}
html[data-theme="light"] .mp-filter-btn {
  background: #f3f5fa;
  border-color: var(--rp-border);
  color: var(--rp-text-soft);
}
html[data-theme="light"] .mp-back,
html[data-theme="light"] .mj-back {
  background: #ffffff;
  border-color: var(--rp-border);
  color: var(--rp-text-soft);
}
html[data-theme="light"] .mp-back:hover,
html[data-theme="light"] .mj-back:hover {
  background: #eef1f8;
  color: #1a237e;
}

/* =========================================================
   LIGHT FORCE — sobrescreve base/páginas com !important
   ========================================================= */
html[data-theme="light"] body,
html[data-theme="light"] .app-shell,
html[data-theme="light"] .app-content-wrap,
html[data-theme="light"] main {
  background: var(--rp-bg-gradient) !important;
  color: #1a1a2e !important;
}

html[data-theme="light"] p,
html[data-theme="light"] span,
html[data-theme="light"] td,
html[data-theme="light"] th,
html[data-theme="light"] label,
html[data-theme="light"] li,
html[data-theme="light"] small,
html[data-theme="light"] strong,
html[data-theme="light"] .card,
html[data-theme="light"] .card-body,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .list-group-item,
html[data-theme="light"] .table,
html[data-theme="light"] .table-dark,
html[data-theme="light"] .table-dark td,
html[data-theme="light"] .table-dark th,
html[data-theme="light"] .form-check-label {
  color: #1a1a2e !important;
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6,
html[data-theme="light"] .card .card-title,
html[data-theme="light"] .stat-card .card-title,
html[data-theme="light"] .form-label {
  color: #1a237e !important;
}

html[data-theme="light"] .text-muted,
html[data-theme="light"] .text-white-50,
html[data-theme="light"] .text-secondary {
  color: #5c6578 !important;
}

/* Cards / painéis */
html[data-theme="light"] .card,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .accordion-item,
html[data-theme="light"] .offcanvas:not(#rachaNavOffcanvas) {
  background: #ffffff !important;
  background-image: none !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 6px 24px rgba(26, 35, 126, 0.08) !important;
}

html[data-theme="light"] .card-header {
  /* cabeçalho navy ok (marca); texto branco */
  color: #fff !important;
}
html[data-theme="light"] .card-header h1,
html[data-theme="light"] .card-header h2,
html[data-theme="light"] .card-header h3,
html[data-theme="light"] .card-header h4,
html[data-theme="light"] .card-header h5,
html[data-theme="light"] .card-header h6,
html[data-theme="light"] .card-header span,
html[data-theme="light"] .card-header small,
html[data-theme="light"] .card-header p,
html[data-theme="light"] .card-header a,
html[data-theme="light"] .card-header i {
  color: #fff !important;
}

html[data-theme="light"] .card-body,
html[data-theme="light"] .card-footer,
html[data-theme="light"] .modal-body,
html[data-theme="light"] .modal-footer,
html[data-theme="light"] .accordion-body {
  background: #ffffff !important;
  color: #1a1a2e !important;
}

html[data-theme="light"] .stat-card h2 {
  color: #1a1a2e !important;
}
html[data-theme="light"] .stat-card h2.text-success { color: #198754 !important; }
html[data-theme="light"] .stat-card h2.text-warning { color: #d97706 !important; }
html[data-theme="light"] .stat-card h2.text-info { color: #0284c7 !important; }
html[data-theme="light"] .stat-card h2.text-danger { color: #dc2626 !important; }

/* Tabelas */
html[data-theme="light"] .table-dark,
html[data-theme="light"] .table-dark > :not(caption) > * > * {
  --bs-table-bg: #ffffff !important;
  --bs-table-color: #1a1a2e !important;
  --bs-table-border-color: rgba(26, 35, 126, 0.1) !important;
  --bs-table-striped-bg: #f7f8fc !important;
  --bs-table-hover-bg: #eef2ff !important;
  --bs-table-hover-color: #1a1a2e !important;
  background-color: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .table-dark thead,
html[data-theme="light"] .table-dark thead th {
  background: #1a237e !important;
  color: #fff !important;
  border: none !important;
}
html[data-theme="light"] .table-dark tbody tr:hover td {
  background: #eef2ff !important;
}

/* Forms */
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html[data-theme="light"] textarea,
html[data-theme="light"] select {
  background-color: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus {
  background-color: #ffffff !important;
  color: #1a1a2e !important;
  border-color: #1a237e !important;
  box-shadow: 0 0 0 0.2rem rgba(26, 35, 126, 0.15) !important;
}
html[data-theme="light"] .form-control::placeholder {
  color: #8b93a7 !important;
}
html[data-theme="light"] input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none !important;
  opacity: 0.7;
}

/* Topbar permanece navy: textos brancos */
html[data-theme="light"] .racha-topbar,
html[data-theme="light"] .racha-topbar h1,
html[data-theme="light"] .racha-topbar span,
html[data-theme="light"] .racha-topbar a,
html[data-theme="light"] .racha-topbar-title {
  color: #fff !important;
}
html[data-theme="light"] .racha-topbar .rp-theme-toggle,
html[data-theme="light"] .racha-topbar .rp-theme-toggle span,
html[data-theme="light"] .racha-topbar .rp-theme-toggle i {
  color: #e8f08a !important;
}

/* Subnav desempenho */
html[data-theme="light"] .racha-subnav-desempenho__item,
html[data-theme="light"] .racha-subnav-desempenho__item span,
html[data-theme="light"] .racha-subnav-desempenho__label,
html[data-theme="light"] .racha-subnav-desempenho__ico,
html[data-theme="light"] .racha-subnav-desempenho__ico i {
  color: #374151 !important;
}
html[data-theme="light"] .racha-subnav-desempenho__item.is-active,
html[data-theme="light"] .racha-subnav-desempenho__item.is-active span,
html[data-theme="light"] .racha-subnav-desempenho__item.is-active i {
  color: #1a237e !important;
}

/* Bootstrap utilities comuns em telas antigas */
html[data-theme="light"] .bg-dark:not(.badge):not(.btn) {
  background-color: #ffffff !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .text-white:not(.racha-topbar *):not(.card-header *):not(.btn *):not(.badge *):not(.racha-burger *) {
  color: #1a1a2e !important;
}
html[data-theme="light"] .border-secondary {
  border-color: rgba(26, 35, 126, 0.15) !important;
}

/* List group / dropdown */
html[data-theme="light"] .list-group-item {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .dropdown-menu {
  background: #ffffff !important;
}
html[data-theme="light"] .dropdown-item {
  color: #1a1a2e !important;
}
html[data-theme="light"] .dropdown-item:hover {
  background: #eef2ff !important;
  color: #1a237e !important;
}

/* Footer global (barra navy) — mantém branco */
html[data-theme="light"] footer {
  color: #fff !important;
}
html[data-theme="light"] footer small,
html[data-theme="light"] footer p,
html[data-theme="light"] footer span {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Páginas com fundos escuros inline frequentes */
html[data-theme="light"] [style*="background: linear-gradient(135deg, #2d3748"],
html[data-theme="light"] [style*="background:linear-gradient(135deg, #2d3748"],
html[data-theme="light"] [style*="background: #1a1a2e"],
html[data-theme="light"] [style*="background:#1a1a2e"],
html[data-theme="light"] [style*="background: #16213e"],
html[data-theme="light"] [style*="background:#16213e"] {
  background: #ffffff !important;
  color: #1a1a2e !important;
}

/* Bottom nav */
html[data-theme="light"] .racha-bottom-nav-atleta,
html[data-theme="light"] .racha-bottom-nav-atleta__label,
html[data-theme="light"] .racha-bottom-nav-atleta__ico,
html[data-theme="light"] .racha-bottom-nav-atleta__item {
  color: #4b5568 !important;
}
html[data-theme="light"] .racha-bottom-nav-atleta__item.is-active,
html[data-theme="light"] .racha-bottom-nav-atleta__item.is-active .racha-bottom-nav-atleta__label,
html[data-theme="light"] .racha-bottom-nav-atleta__item.is-active .racha-bottom-nav-atleta__ico {
  color: #1a237e !important;
}

/* Offcanvas header continua navy */
html[data-theme="light"] #rachaNavOffcanvas .offcanvas-header,
html[data-theme="light"] #rachaNavOffcanvas .offcanvas-header * {
  color: #fff !important;
}


/* Títulos do menu: contraste forte no claro */
html[data-theme="light"] .racha-nav-block-title {
  color: #334155 !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}

/* Dashboard Diretoria (.adash) */
html[data-theme="light"] .adash__intro,
html[data-theme="light"] .adash__kpi,
html[data-theme="light"] .adash__panel {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 8px 24px rgba(26, 35, 126, 0.07) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .adash__eyebrow { color: #1a237e !important; }
html[data-theme="light"] .adash__h,
html[data-theme="light"] .adash__kpi-num,
html[data-theme="light"] .adash__panel-title,
html[data-theme="light"] .adash__shortcut,
html[data-theme="light"] .adash__shortcut span,
html[data-theme="light"] .adash__log-acao,
html[data-theme="light"] .adash__log-hm {
  color: #1a1a2e !important;
}
html[data-theme="light"] .adash__sub,
html[data-theme="light"] .adash__kpi-label,
html[data-theme="light"] .adash__kpi-hint,
html[data-theme="light"] .adash__panel-meta,
html[data-theme="light"] .adash__log-day,
html[data-theme="light"] .adash__log-user,
html[data-theme="light"] .adash__log-det,
html[data-theme="light"] .adash__empty {
  color: #5c6578 !important;
}
html[data-theme="light"] .adash__shortcut {
  background: #f4f6fb !important;
  border-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .adash__shortcut:hover {
  background: #eef2ff !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .adash__shortcut:hover span { color: #1a237e !important; }
html[data-theme="light"] .adash__panel-head,
html[data-theme="light"] .adash__log {
  border-bottom-color: rgba(26, 35, 126, 0.08) !important;
}
html[data-theme="light"] .adash__log-ico {
  background: rgba(26, 35, 126, 0.06) !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .adash__kpi--ok .adash__kpi-ico { color: #4d7c0f !important; }
html[data-theme="light"] .adash__kpi--warn .adash__kpi-ico,
html[data-theme="light"] .adash__kpi-cta { color: #b45309 !important; }

/* Lista de rachas (.rl-*) */
html[data-theme="light"] .rl-head,
html[data-theme="light"] .rl-card,
html[data-theme="light"] .rl-panel,
html[data-theme="light"] .rl-item {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .rl-filters {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
}
html[data-theme="light"] .rl-head__eyebrow,
html[data-theme="light"] .rl-head h1,
html[data-theme="light"] .rl-head__title,
html[data-theme="light"] .rl-card__title {
  color: #1a237e !important;
}
html[data-theme="light"] .rl-head p,
html[data-theme="light"] .rl-head__sub,
html[data-theme="light"] .rl-muted {
  color: #5c6578 !important;
}

/* Configurações (.cfg-*) */
html[data-theme="light"] .cfg-hero,
html[data-theme="light"] .cfg-panel,
html[data-theme="light"] .cfg-card,
html[data-theme="light"] .cfg-block {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a1a2e !important;
}

html[data-theme="light"] .rl-head__h,
html[data-theme="light"] .rl-head__count {
  color: #1a1a2e !important;
}
html[data-theme="light"] .rl-head__hint,
html[data-theme="light"] .rl-head__eyebrow {
  color: #5c6578 !important;
}
html[data-theme="light"] .rl-filter {
  background: #f4f6fb !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #1f2937 !important;
}
html[data-theme="light"] .rl-filter:hover,
html[data-theme="light"] .rl-filter.is-active {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.28) !important;
  background: #eef2ff !important;
}


/* ===== Rachas lista cards (.racha-lista-card / .rlc-*) ===== */
html[data-theme="light"] .racha-lista-card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 8px 22px rgba(26, 35, 126, 0.08) !important;
}
html[data-theme="light"] .racha-lista-card:hover {
  border-color: rgba(26, 35, 126, 0.22) !important;
  box-shadow: 0 12px 28px rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .rlc-header__name,
html[data-theme="light"] .rlc-header__name span {
  color: #1a1a2e !important;
}
html[data-theme="light"] .rlc-header__date,
html[data-theme="light"] .rlc-info-pill,
html[data-theme="light"] .rlc-info-pill i {
  color: #5c6578 !important;
}
html[data-theme="light"] .rlc-info-pill {
  background: #f4f6fb !important;
  border-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .rlc-acoes {
  border-top-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .rlc-btn--ghost {
  background: #f4f6fb !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .rlc-btn--ghost:hover {
  background: #eef2ff !important;
  color: #0d1244 !important;
}
html[data-theme="light"] .rlc-btn--publicar {
  background: rgba(34, 197, 94, 0.12) !important;
  color: #166534 !important;
}
html[data-theme="light"] .rlc-btn--ocultar {
  background: rgba(245, 158, 11, 0.12) !important;
  color: #92400e !important;
}
html[data-theme="light"] .rlc-badge--done {
  color: #475569 !important;
  background: #e2e8f0 !important;
}
html[data-theme="light"] .rlc-badge--draft {
  background: #e2e8f0 !important;
  color: #475569 !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .card-racha-passado {
  background: #d8dee8 !important;
  background-image: none !important;
  border-color: #b8c0cc !important;
  box-shadow: none !important;
  opacity: 0.72 !important;
  filter: grayscale(0.75) saturate(0.25);
}
html[data-theme="light"] .card-racha-passado:hover {
  opacity: 0.88 !important;
  filter: grayscale(0.45) saturate(0.45);
  border-color: #94a3b8 !important;
  box-shadow: none !important;
}
html[data-theme="light"] .card-racha-passado .rlc-header__name,
html[data-theme="light"] .card-racha-passado .rlc-header__name span,
html[data-theme="light"] .card-racha-passado .rlc-header__date,
html[data-theme="light"] .card-racha-passado .rlc-info-pill,
html[data-theme="light"] .card-racha-passado .rlc-info-pill i {
  color: #475569 !important;
}
html[data-theme="light"] .card-racha-passado::before {
  background: #94a3b8 !important;
  background-color: #94a3b8 !important;
}
html[data-theme="light"] .card-racha-passado .rlc-dot {
  background: #94a3b8 !important;
  box-shadow: none !important;
}
html[data-theme="light"] .card-racha-passado .rlc-badge--passado {
  background: #cbd5e1 !important;
  color: #334155 !important;
  border-color: #94a3b8 !important;
}
html[data-theme="light"] .rl-filter {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  color: #1f2937 !important;
}
html[data-theme="light"] .rl-filter:hover {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.28) !important;
}
html[data-theme="light"] .rl-filter.is-active {
  background: var(--lime-green) !important;
  color: #0b1020 !important;
  border-color: transparent !important;
}

/* ===== Afastamentos (.afast-*) ===== */
html[data-theme="light"] .afast-card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 8px 22px rgba(26, 35, 126, 0.08) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .afast-card__head {
  background: linear-gradient(180deg, rgba(229, 57, 53, 0.08) 0%, transparent 100%) !important;
}
html[data-theme="light"] .afast-card__name,
html[data-theme="light"] .afast-fact-v,
html[data-theme="light"] .afast-prov-single a,
html[data-theme="light"] .afast-prov-single .prov-nome,
html[data-theme="light"] .afast-section-hd__title,
html[data-theme="light"] .afast-por-racha__lines {
  color: #1a1a2e !important;
}
html[data-theme="light"] .afast-card__colete,
html[data-theme="light"] .afast-prov-wrap__label,
html[data-theme="light"] .afast-prov-racha-note,
html[data-theme="light"] .afast-fact-k,
html[data-theme="light"] .afast-por-racha__label,
html[data-theme="light"] .afast-sem-comp,
html[data-theme="light"] .afast-facts .f-ico {
  color: #5c6578 !important;
}
html[data-theme="light"] .afast-prov-wrap,
html[data-theme="light"] .afast-facts li,
html[data-theme="light"] .afast-por-racha {
  background: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .afast-por-racha__lines .line {
  border-bottom-color: rgba(26, 35, 126, 0.08) !important;
}
html[data-theme="light"] .afast-btn--desvincular {
  color: #92400e !important;
}
html[data-theme="light"] .afast-btn--lista {
  color: #1d4ed8 !important;
}
html[data-theme="light"] .afast-vazio {
  color: #5c6578 !important;
}
html[data-theme="light"] .afast-lista-filter,
html[data-theme="light"] .afast-section-hd {
  color: #1a1a2e !important;
}



/* ===== Rankings / Artilharia / Cartões (tema claro) ===== */
html[data-theme="light"] .rank-filter-bar,
html[data-theme="light"] .art-filter-bar,
html[data-theme="light"] .cart-filter-bar {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 6px 18px rgba(26, 35, 126, 0.07) !important;
}
html[data-theme="light"] .rank-filter-bar__year,
html[data-theme="light"] .art-filter-bar__label,
html[data-theme="light"] .cart-filter-bar__label {
  color: #5c6578 !important;
}
html[data-theme="light"] .art-filter-bar .form-control,
html[data-theme="light"] .cart-filter-bar .form-control {
  background-color: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .art-filter-bar .form-control:focus,
html[data-theme="light"] .cart-filter-bar .form-control:focus {
  background-color: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.35) !important;
  color: #1a1a2e !important;
}

html[data-theme="light"] .rank-btn--todos {
  background: rgba(34, 197, 94, 0.1) !important;
  border-color: rgba(34, 197, 94, 0.35) !important;
  color: #166534 !important;
}
html[data-theme="light"] .rank-btn--todos.active {
  background: rgba(34, 197, 94, 0.22) !important;
  border-color: #16a34a !important;
  color: #14532d !important;
}
html[data-theme="light"] .rank-btn--terca {
  background: rgba(245, 158, 11, 0.1) !important;
  border-color: rgba(245, 158, 11, 0.35) !important;
  color: #92400e !important;
}
html[data-theme="light"] .rank-btn--terca.active {
  background: rgba(245, 158, 11, 0.22) !important;
  border-color: #d97706 !important;
  color: #78350f !important;
}
html[data-theme="light"] .rank-btn--quinta {
  background: rgba(6, 182, 212, 0.1) !important;
  border-color: rgba(6, 182, 212, 0.35) !important;
  color: #0e7490 !important;
}
html[data-theme="light"] .rank-btn--quinta.active {
  background: rgba(6, 182, 212, 0.2) !important;
  border-color: #0891b2 !important;
  color: #155e75 !important;
}
html[data-theme="light"] .rank-btn--sabado {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  color: #334155 !important;
}
html[data-theme="light"] .rank-btn--sabado.active {
  background: #e2e8f0 !important;
  border-color: #64748b !important;
  color: #0f172a !important;
}

html[data-theme="light"] .artilharia-dia-btn,
html[data-theme="light"] .cartoes-dia-btn {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  color: #334155 !important;
}
html[data-theme="light"] .artilharia-dia-btn.active,
html[data-theme="light"] .artilharia-dia-btn.btn-success,
html[data-theme="light"] .cartoes-dia-btn[style*="22c55e"],
html[data-theme="light"] .cartoes-dia-btn[style*="34,197,94"] {
  background: rgba(34, 197, 94, 0.18) !important;
  border-color: #16a34a !important;
  color: #14532d !important;
}
html[data-theme="light"] .artilharia-dia-btn[style*="f59e0b"],
html[data-theme="light"] .cartoes-dia-btn[style*="f59e0b"] {
  background: rgba(245, 158, 11, 0.2) !important;
  border-color: #d97706 !important;
  color: #78350f !important;
}
html[data-theme="light"] .artilharia-dia-btn[style*="06b6d4"],
html[data-theme="light"] .cartoes-dia-btn[style*="06b6d4"] {
  background: rgba(6, 182, 212, 0.18) !important;
  border-color: #0891b2 !important;
  color: #155e75 !important;
}

html[data-theme="light"] .rank-card,
html[data-theme="light"] .art-day-card,
html[data-theme="light"] .cart-day-card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 8px 22px rgba(26, 35, 126, 0.08) !important;
}

html[data-theme="light"] .rank-card__header,
html[data-theme="light"] .art-day-card__header,
html[data-theme="light"] .cart-day-card__header {
  border-bottom-color: rgba(26, 35, 126, 0.1) !important;
}

html[data-theme="light"] .rank-card--gols .rank-card__header {
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.12) 0%, rgba(34, 197, 94, 0.04) 100%) !important;
}
html[data-theme="light"] .rank-card--gols .rank-card__header-icon { background: rgba(34, 197, 94, 0.14) !important; color: #16a34a !important; }
html[data-theme="light"] .rank-card--gols .rank-card__header-title { color: #166534 !important; }

html[data-theme="light"] .rank-card--presencas .rank-card__header {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0.04) 100%) !important;
}
html[data-theme="light"] .rank-card--presencas .rank-card__header-icon { background: rgba(59, 130, 246, 0.14) !important; color: #2563eb !important; }
html[data-theme="light"] .rank-card--presencas .rank-card__header-title { color: #1e40af !important; }

html[data-theme="light"] .rank-card--aproveitamento .rank-card__header {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.12) 0%, rgba(245, 158, 11, 0.04) 100%) !important;
}
html[data-theme="light"] .rank-card--aproveitamento .rank-card__header-icon { background: rgba(245, 158, 11, 0.14) !important; color: #d97706 !important; }
html[data-theme="light"] .rank-card--aproveitamento .rank-card__header-title { color: #92400e !important; }

html[data-theme="light"] .art-day-card--terca .art-day-card__header,
html[data-theme="light"] .cart-day-card--terca .cart-day-card__header {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.12) 0%, rgba(245, 158, 11, 0.04) 100%) !important;
}
html[data-theme="light"] .art-day-card--terca .art-day-card__header-icon,
html[data-theme="light"] .cart-day-card--terca .cart-day-card__header-icon { background: rgba(245, 158, 11, 0.14) !important; color: #d97706 !important; }
html[data-theme="light"] .art-day-card--terca .art-day-card__header-title,
html[data-theme="light"] .cart-day-card--terca .cart-day-card__header-title { color: #92400e !important; }

html[data-theme="light"] .art-day-card--quinta .art-day-card__header,
html[data-theme="light"] .cart-day-card--quinta .cart-day-card__header {
  background: linear-gradient(90deg, rgba(6, 182, 212, 0.12) 0%, rgba(6, 182, 212, 0.04) 100%) !important;
}
html[data-theme="light"] .art-day-card--quinta .art-day-card__header-icon,
html[data-theme="light"] .cart-day-card--quinta .cart-day-card__header-icon { background: rgba(6, 182, 212, 0.14) !important; color: #0891b2 !important; }
html[data-theme="light"] .art-day-card--quinta .art-day-card__header-title,
html[data-theme="light"] .cart-day-card--quinta .cart-day-card__header-title { color: #0e7490 !important; }

html[data-theme="light"] .art-day-card--sabado .art-day-card__header,
html[data-theme="light"] .cart-day-card--sabado .cart-day-card__header {
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.12) 0%, rgba(34, 197, 94, 0.04) 100%) !important;
}
html[data-theme="light"] .art-day-card--sabado .art-day-card__header-icon,
html[data-theme="light"] .cart-day-card--sabado .cart-day-card__header-icon { background: rgba(34, 197, 94, 0.14) !important; color: #16a34a !important; }
html[data-theme="light"] .art-day-card--sabado .art-day-card__header-title,
html[data-theme="light"] .cart-day-card--sabado .cart-day-card__header-title { color: #166534 !important; }

html[data-theme="light"] .art-day-card--outro .art-day-card__header,
html[data-theme="light"] .cart-day-card--outro .cart-day-card__header {
  background: linear-gradient(90deg, #f1f5f9 0%, #f8fafc 100%) !important;
}
html[data-theme="light"] .art-day-card--outro .art-day-card__header-icon,
html[data-theme="light"] .cart-day-card--outro .cart-day-card__header-icon { background: #e2e8f0 !important; color: #475569 !important; }
html[data-theme="light"] .art-day-card--outro .art-day-card__header-title,
html[data-theme="light"] .cart-day-card--outro .cart-day-card__header-title { color: #334155 !important; }

html[data-theme="light"] .rank-list__item,
html[data-theme="light"] .art-list__item,
html[data-theme="light"] .cart-list__item {
  border-bottom-color: rgba(26, 35, 126, 0.08) !important;
}
html[data-theme="light"] .rank-list__item:hover,
html[data-theme="light"] .art-list__item:hover,
html[data-theme="light"] .cart-list__item:hover {
  background: rgba(26, 35, 126, 0.04) !important;
}

html[data-theme="light"] .rank-list__name,
html[data-theme="light"] .art-list__name,
html[data-theme="light"] .cart-list__name {
  color: #1a1a2e !important;
}
html[data-theme="light"] .rank-card--gols .rank-list__item--rank1 .rank-list__name { color: #166534 !important; }
html[data-theme="light"] .rank-card--presencas .rank-list__item--rank1 .rank-list__name { color: #1e40af !important; }
html[data-theme="light"] .rank-card--aproveitamento .rank-list__item--rank1 .rank-list__name { color: #92400e !important; }
html[data-theme="light"] .art-list__item--rank1 .art-list__name { color: #92400e !important; }
html[data-theme="light"] .cart-list__item--rank1 .cart-list__name { color: #b91c1c !important; }

html[data-theme="light"] .rank-list__id,
html[data-theme="light"] .art-list__id,
html[data-theme="light"] .cart-list__colete {
  color: #64748b !important;
  background: #f1f5f9 !important;
}

html[data-theme="light"] .rank-medal--other,
html[data-theme="light"] .art-medal--other,
html[data-theme="light"] .cart-rank--other {
  background: #e2e8f0 !important;
  color: #64748b !important;
}

html[data-theme="light"] .rank-card--gols .rank-list__item--rank1 {
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.12) 0%, rgba(34, 197, 94, 0.03) 100%) !important;
  border-bottom-color: rgba(34, 197, 94, 0.2) !important;
}
html[data-theme="light"] .rank-card--presencas .rank-list__item--rank1 {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0.03) 100%) !important;
  border-bottom-color: rgba(59, 130, 246, 0.2) !important;
}
html[data-theme="light"] .rank-card--aproveitamento .rank-list__item--rank1,
html[data-theme="light"] .art-list__item--rank1 {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.12) 0%, rgba(245, 158, 11, 0.03) 100%) !important;
  border-bottom-color: rgba(245, 158, 11, 0.22) !important;
}
html[data-theme="light"] .cart-list__item--rank1 {
  background: linear-gradient(90deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.03) 100%) !important;
  border-bottom-color: rgba(220, 38, 38, 0.18) !important;
}

html[data-theme="light"] .rank-badge--gols-x { background: rgba(34, 197, 94, 0.1) !important; color: #166534 !important; border-color: rgba(34, 197, 94, 0.25) !important; }
html[data-theme="light"] .rank-badge--pres-x { background: rgba(59, 130, 246, 0.1) !important; color: #1e40af !important; border-color: rgba(59, 130, 246, 0.25) !important; }
html[data-theme="light"] .rank-badge--aprov-x { background: rgba(245, 158, 11, 0.1) !important; color: #92400e !important; border-color: rgba(245, 158, 11, 0.25) !important; }
html[data-theme="light"] .art-badge--default { background: rgba(34, 197, 94, 0.12) !important; color: #166534 !important; border-color: rgba(34, 197, 94, 0.28) !important; }

html[data-theme="light"] .cart-badge--amarelo {
  background: rgba(202, 138, 4, 0.12) !important;
  color: #92400e !important;
  border-color: rgba(202, 138, 4, 0.35) !important;
}
html[data-theme="light"] .cart-badge--vermelho {
  background: rgba(185, 28, 28, 0.1) !important;
  color: #b91c1c !important;
  border-color: rgba(185, 28, 28, 0.3) !important;
}

html[data-theme="light"] .rank-empty,
html[data-theme="light"] .art-empty,
html[data-theme="light"] .cart-empty {
  color: #64748b !important;
}

/* =========================================================
   TEMA CLARO — menu claro + fontes legíveis (última palavra)
   ========================================================= */

/* Menu lateral CLARO */
html[data-theme="light"] .app-sidebar,
html[data-theme="light"] #rachaNavOffcanvas,
html[data-theme="light"] .app-sidebar .app-sidebar-inner {
  background: linear-gradient(180deg, #ffffff 0%, #f3f5fa 100%) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-sidebar .racha-nav-block,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-block {
  background: rgba(26, 35, 126, 0.04) !important;
  border: 1px solid rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .app-sidebar .racha-nav-block-title,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-block-title {
  color: #64748b !important;
  border-bottom-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .app-sidebar a.racha-nav-item,
html[data-theme="light"] .app-sidebar button.racha-nav-item,
html[data-theme="light"] .app-sidebar a.racha-nav-sub,
html[data-theme="light"] .app-sidebar .racha-nav-item *,
html[data-theme="light"] .app-sidebar .racha-nav-sub *,
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-item,
html[data-theme="light"] #rachaNavOffcanvas button.racha-nav-item,
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-sub,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-item *,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-sub * {
  color: #1f2937 !important;
}
html[data-theme="light"] .app-sidebar a.racha-nav-item:hover,
html[data-theme="light"] .app-sidebar a.racha-nav-item.active,
html[data-theme="light"] .app-sidebar button.racha-nav-item:hover,
html[data-theme="light"] .app-sidebar button.racha-nav-item[aria-expanded="true"],
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-item:hover,
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-item.active {
  background: rgba(26, 35, 126, 0.08) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .app-sidebar a.racha-nav-item:hover *,
html[data-theme="light"] .app-sidebar a.racha-nav-item.active *,
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-item:hover *,
html[data-theme="light"] #rachaNavOffcanvas a.racha-nav-item.active * {
  color: #1a237e !important;
}
html[data-theme="light"] .app-sidebar .racha-side-brand {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .app-sidebar .racha-side-brand a,
html[data-theme="light"] .app-sidebar .racha-side-brand .text-white,
html[data-theme="light"] .app-sidebar .racha-side-brand span {
  color: #1a237e !important;
}
/* A marca é lima, desenhada para o navy; sobre a barra branca fica lavada.
   O SVG tem uma cor só, então existe uma cópia em navy e o tema claro troca o
   arquivo. No escuro continua a lima de sempre. */
html[data-theme="light"] .app-sidebar .racha-side-brand img {
  content: url("/static/logo/logo-menu-navy.svg");
}
html[data-theme="light"] .app-sidebar .racha-user-strip {
  background: #f3f5fa !important;
  border-top: 1px solid rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .app-sidebar .racha-user-name,
html[data-theme="light"] .app-sidebar .racha-user-strip p,
html[data-theme="light"] .app-sidebar .racha-user-strip span,
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip,
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip *,
html[data-theme="light"] .app-sidebar .racha-logout {
  color: #1a237e !important;
}
html[data-theme="light"] .app-sidebar .racha-user-mail {
  color: #64748b !important;
}
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] .app-sidebar .racha-logout {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] #rachaNavOffcanvas .offcanvas-header,
html[data-theme="light"] #rachaNavOffcanvas .offcanvas-header * {
  color: #1a1a2e !important;
}

/* Fontes legíveis no conteúdo */
html[data-theme="light"] .app-main,
html[data-theme="light"] .app-content-wrap {
  color: #1a1a2e;
}
/* Tinta base do conteúdo. Especificidade propositalmente baixa (0,2,2):
   qualquer superfície escura ou colorida consegue vencer isto com 3 classes.
   Não usar :not() aqui — a cadeia inflava a especificidade e transformava
   esta regra em intocável, escurecendo texto dentro de painéis escuros. */
html[data-theme="light"] .app-main :is(p, span, td, th, label, small, li) {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .text-muted,
html[data-theme="light"] .text-muted {
  color: #5c6578 !important;
}
html[data-theme="light"] .app-main .text-white {
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-topbar .text-white,
html[data-theme="light"] .racha-topbar .text-white * {
  color: #ffffff !important;
}

/* Hora/data de confirmação no racha */
html[data-theme="light"] .hora-confirmacao-inscricao,
html[data-theme="light"] .racha-detalhes-page .hora-confirmacao-inscricao,
html[data-theme="light"] .detalhes-atleta-hora-linha,
html[data-theme="light"] .detalhes-atleta-hora-linha * {
  color: #475569 !important;
}
html[data-theme="light"] .app-main .btn-convidar-racha,
html[data-theme="light"] .app-main .btn-convidar-racha i {
  color: #ffffff !important;
  background: #1a237e !important;
  border-color: #1a237e !important;
}
html[data-theme="light"] .app-main .btn-convidar-racha:hover,
html[data-theme="light"] .app-main .btn-convidar-racha:hover i {
  color: #ffffff !important;
  background: #283593 !important;
}
html[data-theme="light"] .app-main .racha-aviso-ausencia {
  background: #eef2f7 !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .racha-aviso-ausencia,
html[data-theme="light"] .app-main .racha-aviso-ausencia :is(p, strong, span) {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .racha-aviso-ausencia i {
  color: #475569 !important;
}
html[data-theme="light"] .app-main .racha-aviso-ausencia-hint {
  color: #475569 !important;
}
html[data-theme="light"] .app-main .racha-btn-desfazer-ausencia,
html[data-theme="light"] .app-main .racha-btn-desfazer-ausencia i {
  color: #1a237e !important;
  background: #ffffff !important;
  border-color: #1a237e !important;
}
html[data-theme="light"] .app-main .racha-btn-desfazer-ausencia:hover,
html[data-theme="light"] .app-main .racha-btn-desfazer-ausencia:hover i {
  background: #eef1f8 !important;
  color: #1a237e !important;
}
html[data-theme="light"] .app-main .diaria-banner-pagamento.rp-sobre-escuro .racha-diaria-banner-titulo,
html[data-theme="light"] .app-main .diaria-banner-pagamento.rp-sobre-escuro .racha-diaria-banner-titulo i,
html[data-theme="light"] .app-main .diaria-banner-pagamento.rp-sobre-escuro .racha-diaria-banner-sub {
  color: #fecaca !important;
}
html[data-theme="light"] .app-main .diaria-banner-pagamento.rp-sobre-escuro .racha-diaria-banner-sub {
  color: rgba(255, 255, 255, 0.9) !important;
}
html[data-theme="light"] .app-main .diaria-banner-pagamento .racha-diaria-relogio-lab {
  color: #e8f08a !important;
}
html[data-theme="light"] .app-main .diaria-banner-pagamento .racha-diaria-relogio-tempo {
  color: #cddc39 !important;
}
html[data-theme="light"] .racha-detalhes-page .confirmado-nome,
html[data-theme="light"] .racha-detalhes-page .espera-card-mobile .confirmado-nome,
html[data-theme="light"] .racha-detalhes-page .fora-horario-card-mobile .confirmado-nome,
html[data-theme="light"] .racha-detalhes-page .ausente-card-mobile .confirmado-nome {
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-detalhes-page .confirmado-meta,
html[data-theme="light"] .racha-detalhes-page .espera-card-mobile .confirmado-meta,
html[data-theme="light"] .racha-detalhes-page .fora-horario-card-mobile .confirmado-meta,
html[data-theme="light"] .racha-detalhes-page .ausente-card-mobile .confirmado-meta {
  color: #475569 !important;
}
html[data-theme="light"] .racha-detalhes-page .detalhes-bloco-lista .table tbody td:nth-child(2) {
  color: #64748b !important;
}
html[data-theme="light"] .racha-detalhes-page .confirmado-card-mobile,
html[data-theme="light"] .racha-detalhes-page .espera-card-mobile,
html[data-theme="light"] .racha-detalhes-page .fora-horario-card-mobile,
html[data-theme="light"] .racha-detalhes-page .ausente-card-mobile {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-detalhes-page .confirmados-escritorio tbody tr.vaga-aberta-row td {
  background: #f8fafc !important;
  border-bottom-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .racha-detalhes-page .detalhes-atleta-separador {
  border-top-color: rgba(26, 35, 126, 0.14) !important;
}

/* Convidados na lista do racha: mesma hierarquia das outras listas, nos dois temas */
html[data-theme="light"] .racha-detalhes-page .detalhes-bloco-lista.racha-convidados-bloco {
  border-left-color: var(--rp-sec-roxo, #7b1fa2);
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-linha {
  background: #ffffff !important;
  border-bottom-color: rgba(26, 35, 126, 0.1) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-linha--vaga {
  background: #f8fafc !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-num {
  color: #64748b !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-avatar {
  background: #f3e5f5 !important;
  color: #6a1b9a !important;
  border-color: #ce93d8 !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-avatar--vaga {
  background: transparent !important;
  color: #64748b !important;
  border-color: rgba(26, 35, 126, 0.28) !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-nome {
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-linha--vaga .racha-convidado-nome {
  color: #475569 !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-de {
  color: #475569 !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-pos {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-tag {
  background: #dcfce7 !important;
  color: #166534 !important;
  border-color: #86efac !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-btn-remover,
html[data-theme="light"] .racha-detalhes-page .racha-convidado-btn-remover i {
  color: #b91c1c !important;
  border-color: #dc2626 !important;
  background: transparent !important;
}
html[data-theme="light"] .racha-detalhes-page .racha-convidado-btn-remover:hover,
html[data-theme="light"] .racha-detalhes-page .racha-convidado-btn-remover:hover i {
  color: #991b1b !important;
  background: #fee2e2 !important;
  border-color: #b91c1c !important;
}

/* Lista de atletas */
html[data-theme="light"] .atletas-lista-page,
html[data-theme="light"] .atletas-lista-page .mens-page {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-nome,
html[data-theme="light"] .atletas-lista-page .atleta-nome,
html[data-theme="light"] .atletas-lista-page td,
html[data-theme="light"] .atletas-lista-page th,
html[data-theme="light"] .atletas-lista-page .table,
html[data-theme="light"] .atletas-lista-page h1,
html[data-theme="light"] .atletas-lista-page h2,
html[data-theme="light"] .atletas-lista-page h3,
html[data-theme="light"] .atletas-lista-page h4,
html[data-theme="light"] .atletas-lista-page h5,
html[data-theme="light"] .mens-head__titulo,
html[data-theme="light"] .mens-head__titulo p {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-meta,
html[data-theme="light"] .atletas-lista-page .atleta-meta,
html[data-theme="light"] .atletas-filter-bar__label,
html[data-theme="light"] .atletas-lista-page .text-muted,
html[data-theme="light"] .atletas-lista-page .atletas-filter-card .text-muted {
  color: #5c6578 !important;
}
html[data-theme="light"] .atletas-filter-bar,
html[data-theme="light"] .atletas-lista-page .atletas-filter-card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 6px 18px rgba(26, 35, 126, 0.07) !important;
}
html[data-theme="light"] .atletas-filter-bar .form-control,
html[data-theme="light"] .atletas-filter-bar .form-select,
html[data-theme="light"] .atletas-lista-page .atletas-filter-card .form-control,
html[data-theme="light"] .atletas-lista-page .atletas-filter-card .form-select {
  background-color: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .table,
html[data-theme="light"] .atletas-lista-page .card {
  background: #ffffff !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atleta-colete-num,
html[data-theme="light"] .atleta-cota-chip,
html[data-theme="light"] .atleta-cota-chip b,
html[data-theme="light"] .atleta-estrelas .atleta-estrelas-num {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atleta-estrelas .bi-star {
  color: #cbd5e1 !important;
}
html[data-theme="light"] .atleta-estrelas .bi-star-fill {
  color: #f59e0b !important;
}
html[data-theme="light"] .mens-chip {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #334155 !important;
}
html[data-theme="light"] .mens-chip:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .mens-periodo__busca,
html[data-theme="light"] .mens-periodo__clear {
  color: #1a1a2e !important;
}
html[data-theme="light"] .mens-periodo__busca::placeholder {
  color: #94a3b8 !important;
}

/* Tabelas genéricas */
html[data-theme="light"] .table > :not(caption) > * > * {
  color: #1a1a2e;
  border-bottom-color: rgba(26, 35, 126, 0.1);
}
html[data-theme="light"] .table thead th {
  color: #334155 !important;
  background: #f1f5f9 !important;
}

/* Topbar navy: textos brancos */
html[data-theme="light"] .racha-topbar,
html[data-theme="light"] .racha-topbar *:not(.btn-close) {
  color: #ffffff !important;
}
html[data-theme="light"] .racha-topbar .rp-theme-toggle,
html[data-theme="light"] .racha-topbar .rp-theme-toggle * {
  color: #e8f08a !important;
}
html[data-theme="light"] .racha-topbar .btn-success,
html[data-theme="light"] .racha-topbar .btn-success * {
  color: #0b1020 !important;
}

/* ===== LISTA ATLETAS — tema claro completo (vence CSS da página) ===== */
html[data-theme="light"] .mens-page.atletas-lista-page,
html[data-theme="light"] .atletas-lista-page.mens-page {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .mens-head__titulo h1 {
  color: #1a237e !important;
}
html[data-theme="light"] .atletas-lista-page .mens-head__titulo p,
html[data-theme="light"] .atletas-lista-page .mens-filtros__label {
  color: #5c6578 !important;
}
html[data-theme="light"] .atletas-lista-page .mens-head__racha {
  background: rgba(26, 35, 126, 0.08) !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .atletas-lista-page .mens-head__racha--todos {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  color: #475569 !important;
}
html[data-theme="light"] .atletas-lista-page .mens-filtros {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 6px 18px rgba(26, 35, 126, 0.06) !important;
}
html[data-theme="light"] .atletas-lista-page .mens-chip {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
  color: #334155 !important;
}
html[data-theme="light"] .atletas-lista-page .mens-chip:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .atletas-lista-page .mens-chip.is-on {
  background: var(--lime-green) !important;
  border-color: var(--lime-green) !important;
  color: #10230a !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__shell {
  background: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__busca {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__busca::placeholder {
  color: #94a3b8 !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__clear {
  color: #64748b !important;
  border-left-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__clear:hover {
  color: #1a237e !important;
  background: rgba(26, 35, 126, 0.06) !important;
}
html[data-theme="light"] .atletas-lista-page .mens-periodo__go {
  border-left-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-nasc-shell .form-select {
  background-color: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-nasc-shell .form-select option {
  background-color: #ffffff !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-filtros-ativos .badge {
  background: #eef2ff !important;
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-busca-rapida {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.1);
}
html[data-theme="light"] .atletas-lista-page details.atletas-lista-filtros-extra > summary {
  color: #5c6578 !important;
}

/* Cards / seções */
html[data-theme="light"] .atletas-lista-page > .card,
html[data-theme="light"] .atletas-lista-page .card {
  background: #ffffff !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 8px 22px rgba(26, 35, 126, 0.07) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .card:hover {
  box-shadow: 0 10px 26px rgba(26, 35, 126, 0.1) !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] .atletas-lista-page .card-header,
html[data-theme="light"] .atletas-lista-page .card-body {
  background: transparent !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header {
  border-bottom-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--mens {
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0.04) 100%) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--dia {
  background: linear-gradient(90deg, rgba(100, 116, 139, 0.12) 0%, rgba(100, 116, 139, 0.04) 100%) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--ina {
  background: linear-gradient(90deg, rgba(107, 114, 128, 0.12) 0%, rgba(107, 114, 128, 0.04) 100%) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--mens .atleta-section-header__icon {
  background: rgba(59, 130, 246, 0.14) !important;
  color: #2563eb !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--dia .atleta-section-header__icon {
  background: rgba(100, 116, 139, 0.14) !important;
  color: #475569 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--ina .atleta-section-header__icon {
  background: rgba(107, 114, 128, 0.14) !important;
  color: #64748b !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--mens .atleta-section-header__title {
  color: #1e40af !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--dia .atleta-section-header__title {
  color: #334155 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--ina .atleta-section-header__title {
  color: #475569 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--mens .atleta-section-header__badge {
  background: rgba(59, 130, 246, 0.14) !important;
  color: #1d4ed8 !important;
  border-color: rgba(59, 130, 246, 0.3) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--dia .atleta-section-header__badge,
html[data-theme="light"] .atletas-lista-page .atleta-section-header--ina .atleta-section-header__badge {
  background: #e2e8f0 !important;
  color: #334155 !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header--ina [style*="rgba(255,255,255"] {
  color: #64748b !important;
}
html[data-theme="light"] .atletas-lista-page .btn-outline-light {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.28) !important;
  background: #ffffff !important;
}
html[data-theme="light"] .atletas-lista-page .btn-outline-light:hover {
  background: #eef2ff !important;
  color: #0d1244 !important;
}

/* Tabela: desliga visual table-dark */
html[data-theme="light"] .atletas-lista-page .table.table-dark,
html[data-theme="light"] .atletas-lista-page table.table-dark {
  --bs-table-bg: #ffffff;
  --bs-table-color: #1a1a2e;
  --bs-table-border-color: rgba(26, 35, 126, 0.1);
  --bs-table-striped-bg: #f8fafc;
  --bs-table-hover-bg: #f1f5f9;
  --bs-table-hover-color: #1a1a2e;
  color: #1a1a2e !important;
  background-color: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .atletas-lista-page .table.table-dark > :not(caption) > * > *,
html[data-theme="light"] .atletas-lista-page table.table-dark > :not(caption) > * > * {
  color: #1a1a2e !important;
  background-color: transparent !important;
  border-bottom-color: rgba(26, 35, 126, 0.08) !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table.atletas-lista-modo-todos tbody td,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table.atletas-lista-modo-todos tbody td *,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td,
html[data-theme="light"] .atletas-lista-page .table tbody td {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table.atletas-lista-modo-todos thead th,
html[data-theme="light"] .atletas-lista-page .table thead th {
  color: #0d1117 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table.atletas-lista-modo-todos tbody td {
  background: #ffffff !important;
  box-shadow: none !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table.atletas-lista-modo-todos tbody tr:hover td {
  background: #f8fafc !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-nome-principal,
html[data-theme="light"] .atletas-lista-page .atleta-nome-txt,
html[data-theme="light"] .atletas-lista-page .atleta-nome-txt a,
html[data-theme="light"] .atletas-lista-page a:not(.btn):not(.badge):not(.mens-chip) {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-colete-badge {
  background: #eef2ff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-badge-afastado,
html[data-theme="light"] .atletas-lista-page .badge.atleta-badge-afastado,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .atleta-badge-afastado,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .atleta-badge-afastado * {
  background: #fee2e2 !important;
  border: 1px solid #fca5a5 !important;
  color: #b91c1c !important;
}
/* Status "Afastado" na coluna Cadastro (badge bg-secondary) */
html[data-theme="light"] .atletas-lista-page .badge.bg-secondary,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .badge.bg-secondary,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .badge.bg-secondary * {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1px solid #fca5a5 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-cota-resumo {
  background: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-cota-resumo__label {
  color: #64748b !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-cota-chip {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.14) !important;
  color: #334155 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-cota-chip b {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .form-rachas-lista-dia {
  background: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .atletas-lista-page .form-rachas-lista-dia .form-label,
html[data-theme="light"] .atletas-lista-page .form-rachas-lista-dia .form-select {
  color: #1a1a2e !important;
}

/* Cards mobile */
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-nome,
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-nome a {
  color: #1a1a2e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-meta {
  color: #5c6578 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile .atleta-acoes {
  border-top-color: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile.atleta-card-dia-todos {
  background: rgba(205, 220, 57, 0.1) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile.atleta-card-dia-terca {
  background: rgba(255, 171, 0, 0.12) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile.atleta-card-dia-quinta {
  background: rgba(13, 202, 240, 0.1) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-card-mobile.atleta-card-dia-sabado {
  background: rgba(109, 40, 217, 0.08) !important;
}

html[data-theme="light"] .atletas-lista-page .atleta-avatar-ini text {
  fill: #0d1244 !important;
}

/* Botões de ação (vence regra td * do modo-todos) */
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-view,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-view *,
html[data-theme="light"] .atletas-lista-page .btn-action-view,
html[data-theme="light"] .atletas-lista-page .btn-action-view * {
  background: rgba(59, 130, 246, 0.12) !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
  color: #1d4ed8 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-edit,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-edit *,
html[data-theme="light"] .atletas-lista-page .btn-action-edit,
html[data-theme="light"] .atletas-lista-page .btn-action-edit * {
  background: rgba(245, 158, 11, 0.12) !important;
  border-color: rgba(245, 158, 11, 0.4) !important;
  color: #b45309 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-financeiro,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action-financeiro *,
html[data-theme="light"] .atletas-lista-page .btn-action-financeiro,
html[data-theme="light"] .atletas-lista-page .btn-action-financeiro * {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.35) !important;
  color: #166534 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-warning.btn-action,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-warning.btn-action *,
html[data-theme="light"] .atletas-lista-page .btn-outline-warning.btn-action {
  background: rgba(245, 158, 11, 0.1) !important;
  border-color: rgba(245, 158, 11, 0.35) !important;
  color: #b45309 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-success.btn-action,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-success.btn-action *,
html[data-theme="light"] .atletas-lista-page .btn-outline-success.btn-action {
  background: rgba(34, 197, 94, 0.1) !important;
  border-color: rgba(34, 197, 94, 0.35) !important;
  color: #166534 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-info.btn-action,
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-outline-info.btn-action *,
html[data-theme="light"] .atletas-lista-page .btn-outline-info.btn-action {
  background: rgba(6, 182, 212, 0.1) !important;
  border-color: rgba(6, 182, 212, 0.35) !important;
  color: #0e7490 !important;
}
html[data-theme="light"] .atletas-lista-page .atletas-lista-table tbody td .btn-action,
html[data-theme="light"] .atletas-lista-page .atleta-acoes .btn-action {
  background-clip: padding-box !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-expand-btn,
html[data-theme="light"] .atletas-lista-page .btn-atleta-expand-mob {
  color: #1a237e !important;
}
html[data-theme="light"] .atletas-lista-page .racha-dia-filtros .btn-racha-sabado-off {
  color: #6d28d9 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-pos-pill--outro {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-estrelas .bi-star {
  color: #cbd5e1 !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-estrelas .atleta-estrelas-num {
  color: #64748b !important;
}

/* =========================================================
   TEMA CLARO — refino de contraste (auditoria WCAG 15/08/2026)
   Princípio único: superfície clara pede tinta escura; superfície
   escura ou colorida pede tinta clara. Alvo: 4.5:1 texto, 3:1 ícone.
   ========================================================= */

html[data-theme="light"] {
  --rp-ink: #0f172a;
  --rp-ink-2: #475569;
  --rp-ink-3: #64748b;
  --rp-ok: #15803d;
  --rp-warn: #92400e;
  --rp-info: #0e7490;
  --rp-danger: #b91c1c;
  --rp-on-lime: #14210a;
  --rp-on-dark: #f8fafc;
  --rp-on-dark-soft: rgba(255, 255, 255, 0.72);
}

/* ---------- 1. Utilitários Bootstrap desenhados para fundo escuro ---------- */
html[data-theme="light"] .app-main .text-warning {
  color: var(--rp-warn) !important;
}
html[data-theme="light"] .app-main .text-info {
  color: var(--rp-info) !important;
}
html[data-theme="light"] .app-main .text-success {
  color: var(--rp-ok) !important;
}
html[data-theme="light"] .app-main .text-danger {
  color: var(--rp-danger) !important;
}
html[data-theme="light"] .app-main .text-white-50,
html[data-theme="light"] .app-main .text-black-50,
html[data-theme="light"] .app-main .text-secondary,
html[data-theme="light"] .app-main .text-light {
  color: var(--rp-ink-2) !important;
}
html[data-theme="light"] .app-main .link-light,
html[data-theme="light"] .app-main a.link-light {
  color: #1a237e !important;
}
html[data-theme="light"] .app-main .btn-outline-light {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.3) !important;
  background: #ffffff !important;
}
html[data-theme="light"] .app-main .btn-outline-light:hover {
  background: #eef2ff !important;
  color: #0d1244 !important;
}
html[data-theme="light"] .app-main .btn-outline-warning {
  color: var(--rp-warn) !important;
  border-color: rgba(180, 83, 9, 0.45) !important;
}
html[data-theme="light"] .app-main .btn-outline-info {
  color: var(--rp-info) !important;
  border-color: rgba(14, 116, 144, 0.45) !important;
}
html[data-theme="light"] .app-main .btn-outline-success {
  color: var(--rp-ok) !important;
  border-color: rgba(21, 128, 61, 0.45) !important;
}
html[data-theme="light"] .app-main .btn-outline-secondary {
  color: var(--rp-ink-2) !important;
  border-color: rgba(71, 85, 105, 0.42) !important;
}
html[data-theme="light"] .app-main .btn-outline-warning:hover,
html[data-theme="light"] .app-main .btn-outline-info:hover,
html[data-theme="light"] .app-main .btn-outline-success:hover,
html[data-theme="light"] .app-main .btn-outline-secondary:hover {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .badge.bg-secondary,
html[data-theme="light"] .app-main .badge.bg-secondary * {
  background-color: #e2e8f0 !important;
  color: #334155 !important;
  border-color: #cbd5e1 !important;
}
html[data-theme="light"] .app-main .badge.bg-light,
html[data-theme="light"] .app-main .badge.bg-light * {
  color: #334155 !important;
}
html[data-theme="light"] .app-main .badge.bg-warning,
html[data-theme="light"] .app-main .badge.bg-warning * {
  color: #422006 !important;
}

/* Alertas Bootstrap: fundo pastel exige tinta escura da mesma família */
html[data-theme="light"] .app-main .alert-warning,
html[data-theme="light"] .app-main .alert-warning *:not(.btn):not(.badge) {
  color: #78350f !important;
}
html[data-theme="light"] .app-main .alert-success,
html[data-theme="light"] .app-main .alert-success *:not(.btn):not(.badge) {
  color: #14532d !important;
}
html[data-theme="light"] .app-main .alert-info,
html[data-theme="light"] .app-main .alert-info *:not(.btn):not(.badge) {
  color: #0c4a6e !important;
}
html[data-theme="light"] .app-main .alert-danger,
html[data-theme="light"] .app-main .alert-danger *:not(.btn):not(.badge) {
  color: #7f1d1d !important;
}

/* ---------- 2. Superfícies coloridas ou escuras mantêm tinta clara ---------- */
html[data-theme="light"] .app-main .btn-success,
html[data-theme="light"] .app-main .btn-success *,
html[data-theme="light"] .app-main .btn-danger,
html[data-theme="light"] .app-main .btn-danger *,
html[data-theme="light"] .app-main .btn-dark,
html[data-theme="light"] .app-main .btn-dark *,
html[data-theme="light"] .app-main .bg-primary:not(.badge),
html[data-theme="light"] .app-main .bg-primary:not(.badge) *,
html[data-theme="light"] .app-main .bg-success:not(.badge),
html[data-theme="light"] .app-main .bg-success:not(.badge) *,
html[data-theme="light"] .app-main .bg-danger:not(.badge),
html[data-theme="light"] .app-main .bg-danger:not(.badge) *,
html[data-theme="light"] .app-main .bg-dark:not(.badge):not(.btn):not(.list-group-item),
html[data-theme="light"] .app-main .bg-dark:not(.badge):not(.btn):not(.list-group-item) * {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .badge.bg-success {
  background-color: #dcfce7 !important;
  color: #166534 !important;
}
html[data-theme="light"] .app-main .badge.bg-danger {
  background-color: #fee2e2 !important;
  color: #991b1b !important;
}
html[data-theme="light"] .app-main .badge.bg-dark {
  background-color: #1e293b !important;
  color: #ffffff !important;
  border-color: #1e293b !important;
}
html[data-theme="light"] .app-main .badge.bg-primary {
  background-color: #dbeafe !important;
  color: #1e3a8a !important;
}
html[data-theme="light"] .app-main .badge.bg-info {
  background-color: #e0f2fe !important;
  color: #075985 !important;
}
html[data-theme="light"] .app-main .bg-primary .text-white-50,
html[data-theme="light"] .app-main .bg-success .text-white-50,
html[data-theme="light"] .app-main .bg-danger .text-white-50,
html[data-theme="light"] .app-main .bg-dark .text-white-50 {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Botão primário padrão é lime: tinta escura, nunca branca */
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .btn-primary *,
html[data-theme="light"] .racha-topbar .btn-primary,
html[data-theme="light"] .racha-topbar .btn-primary *,
html[data-theme="light"] .app-main .btn-primary,
html[data-theme="light"] .app-main .btn-primary * {
  color: var(--rp-on-lime) !important;
}
/* Exceção: a lista de ações do racha repinta .btn-primary de azul/teal */
html[data-theme="light"] .app-main .racha-detalhe-acoes-list .btn-primary,
html[data-theme="light"] .app-main .racha-detalhe-acoes-list .btn-primary *,
html[data-theme="light"] .app-main .racha-detalhe-acoes-list .btn-success,
html[data-theme="light"] .app-main .racha-detalhe-acoes-list .btn-success * {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .btn-warning,
html[data-theme="light"] .app-main .btn-warning * {
  color: #422006 !important;
}
html[data-theme="light"] .app-main .btn-success {
  background-color: #15803d !important;
  border-color: #15803d !important;
}

/* Cabeçalhos com gradiente navy cravado no template continuam escuros */
html[data-theme="light"] .app-main [style*="linear-gradient(135deg, var(--navy-blue)"],
html[data-theme="light"] .app-main [style*="linear-gradient(135deg, var(--navy-blue)"] *:not(i),
html[data-theme="light"] .app-main [style*="linear-gradient(135deg, #1a4f1d"],
html[data-theme="light"] .app-main [style*="linear-gradient(135deg, #1a4f1d"] *:not(i) {
  color: #ffffff !important;
}

/* Lime como cor de texto não existe no claro: vira verde-oliva escuro */
html[data-theme="light"] .app-main [style*="color: var(--lime-green)"],
html[data-theme="light"] .app-main [style*="color:var(--lime-green)"] {
  color: #4d7c0f !important;
}

/* Rodapé da página permanece navy. Precisa ser o footer.text-center: a barra
   de usuário da sidebar também é um <footer> e ficava com texto branco. */
html[data-theme="light"] footer.text-center,
html[data-theme="light"] footer.text-center p,
html[data-theme="light"] footer.text-center span,
html[data-theme="light"] .app-main footer.text-center,
html[data-theme="light"] .app-main footer.text-center p,
html[data-theme="light"] .app-main footer.text-center small,
html[data-theme="light"] .app-main footer.text-center span {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main footer.text-center strong {
  color: var(--lime-green) !important;
}

/* Barra de usuário no pé do menu (sidebar e offcanvas mobile) */
html[data-theme="light"] .racha-user-strip {
  background: #f3f5fa !important;
  border-top: 1px solid rgba(26, 35, 126, 0.14) !important;
}
html[data-theme="light"] .racha-user-strip .racha-user-name,
html[data-theme="light"] .racha-user-strip .racha-logout,
html[data-theme="light"] .racha-user-strip .racha-logout i,
html[data-theme="light"] .racha-user-strip .racha-logout span {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-user-strip .racha-user-mail {
  color: #5c6578 !important;
}
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip .rp-theme-toggle__label,
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip span,
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip i {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-user-strip .racha-logout {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}

/* ---------- 3. Ícones e cromo de navegação ---------- */
html[data-theme="light"] .racha-nav-chevron,
html[data-theme="light"] .app-sidebar .racha-nav-chevron,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-chevron {
  color: var(--rp-ink-2) !important;
}
html[data-theme="light"] .app-sidebar .racha-nav-block-title,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-block-title {
  color: var(--rp-ink-2) !important;
}
html[data-theme="light"] .racha-topbar .rp-theme-toggle,
html[data-theme="light"] .racha-topbar .rp-theme-toggle i,
html[data-theme="light"] .racha-topbar .rp-theme-toggle .rp-theme-toggle__label {
  color: var(--rp-on-dark) !important;
}
html[data-theme="light"] .app-sidebar [data-rp-theme-toggle],
html[data-theme="light"] #rachaNavOffcanvas [data-rp-theme-toggle] {
  background: #f1f5f9 !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .app-sidebar [data-rp-theme-toggle] i,
html[data-theme="light"] .app-sidebar [data-rp-theme-toggle] .rp-theme-toggle__label,
html[data-theme="light"] #rachaNavOffcanvas [data-rp-theme-toggle] i,
html[data-theme="light"] #rachaNavOffcanvas [data-rp-theme-toggle] .rp-theme-toggle__label {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-ico-when-nav-visible,
html[data-theme="light"] .racha-topbar .racha-ico-when-nav-visible {
  color: var(--rp-on-dark) !important;
}
html[data-theme="light"] .app-main .atletas-lista-page .atleta-estrelas .bi-star-fill,
html[data-theme="light"] .app-main .atleta-estrelas .bi-star-fill {
  color: #d97706 !important;
}
html[data-theme="light"] .app-main .atletas-lista-page .atleta-estrelas .bi-star,
html[data-theme="light"] .app-main .atleta-estrelas .bi-star {
  color: #8896a8 !important;
}

/* ---------- 4. Racha · detalhes ---------- */
html[data-theme="light"] .racha-detalhes-page .detalhes-atleta-celula-nome .detalhes-atleta-nome-texto,
html[data-theme="light"] .racha-detalhes-page .detalhes-atleta-nome-texto {
  color: var(--rp-ink) !important;
}
html[data-theme="light"] .racha-detalhes-page .pos-cadastro-dia__tic {
  color: #4d7c0f !important;
}
html[data-theme="light"] .racha-detalhes-page .badge-partida--inativo,
html[data-theme="light"] .racha-detalhes-page .badge-partida--inativo *,
html[data-theme="light"] .racha-detalhes-page .detalhes-atleta-celula-situacao .bi-check-circle {
  color: #64748b !important;
}
html[data-theme="light"] .app-main [style*="#00C853"],
html[data-theme="light"] .app-main [style*="#00C853"] * {
  color: #06280f !important;
}
html[data-theme="light"] .racha-detalhes-page .bi-arrow-counterclockwise {
  color: var(--rp-warn) !important;
}
/* ---------- Barra de ações da diretoria. Era a última ilha escura da tela e
   destoava do resto: cartão branco embaixo, bloco preto em cima. Vira painel
   claro; os botões mantêm a cor de cada ação, só trocam a receita. ---------- */
html[data-theme="light"] .app-main .racha-detalhe-toolbar {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.16) !important;
  box-shadow: 0 2px 10px rgba(26, 35, 126, 0.06) !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__head {
  background: #f3f5fa !important;
  color: #5c6578 !important;
  border-bottom: 1px solid rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar p {
  color: #475569 !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__vis-banner {
  border-bottom-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__vis-banner--ok {
  background: #dcfce7 !important;
  color: #14532d !important;
  border-left-color: #16a34a !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__vis-banner--draft {
  background: #fef3c7 !important;
  color: #78350f !important;
  border-left-color: #d97706 !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__vis-banner--draft .racha-detalhe-toolbar__vis-sub {
  color: #92400e !important;
}
/* Ações destrutivas ou de recuo: contorno colorido, sem bloco pesado */
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--cancel,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--cancel i {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: rgba(185, 28, 28, 0.45) !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--cancel i {
  background: transparent !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--cancel:hover {
  background: #fecaca !important;
  color: #991b1b !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--ocult,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--ocult i {
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: rgba(180, 83, 9, 0.45) !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--ocult i {
  background: transparent !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--ocult:hover {
  background: #fde68a !important;
  color: #78350f !important;
}
/* Ações principais seguem sólidas: sobre branco o texto continua claro */
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--edit,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--edit *,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--copy,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--copy *,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--pub,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--pub * {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--copy,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--pub {
  background: linear-gradient(145deg, #15803d 0%, #166534 100%) !important;
  border-color: #15803d !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__title,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__title span {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__sec-label {
  color: #5c6578 !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--aviso,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--aviso *,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--pub,
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--pub * {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--aviso {
  background: linear-gradient(135deg, #0f766e, #0d9488) !important;
  border-color: #0f766e !important;
}
html[data-theme="light"] .app-main .racha-detalhe-toolbar__btn--edit {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  border-color: #1d4ed8 !important;
}
html[data-theme="light"] .app-main .sabado-aba-btn,
html[data-theme="light"] .app-main .sabado-aba-btn .sabado-aba-count,
html[data-theme="light"] .app-main .sabado-aba-btn span {
  color: #1a237e !important;
}
html[data-theme="light"] .app-main .sabado-aba-btn {
  background: #eef2ff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] .app-main .sabado-aba-btn.is-active,
html[data-theme="light"] .app-main .sabado-aba-btn.is-active span {
  background: var(--lime-green) !important;
  color: var(--rp-on-lime) !important;
}

/* ---------- 5. Racha · escalação. As colunas de time viram cartão claro. O que
   continua escuro é só o que é arte: o gramado (e a faixa acima dele) e o placar
   eletrônico — esses dois viram PNG e vídeo que vão para o WhatsApp, mudar a cor
   ali mudaria a imagem enviada. ---------- */
html[data-theme="light"] #escalacaoVista .team-column,
html[data-theme="light"] #escalacaoVista .team-column.card,
html[data-theme="light"] #escalacaoVista .team-column .card-body,
html[data-theme="light"] #escalacaoVista .list-time-players {
  background: #ffffff !important;
}
html[data-theme="light"] #escalacaoVista .team-column .card-header {
  background: linear-gradient(135deg, #f4f6fb 0%, #eaeef7 100%) !important;
  border-bottom-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] #escalacaoVista .team-column .card-header h5 {
  color: #1a237e !important;
}
html[data-theme="light"] #escalacaoVista .team-column .card-header .badge {
  background: rgba(26, 35, 126, 0.1) !important;
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}
html[data-theme="light"] #escalacaoVista .team-column .ec-time-media,
html[data-theme="light"] #escalacaoVista .team-column .ec-time-media span {
  color: #64748b !important;
}
/* A estrela da média do time e as das linhas em Lista: a tinta base do conteúdo
   claro é !important e apagava o dourado que vem no estilo inline. Aqui ela
   volta a ser dourada — num tom que ainda fecha 3:1 sobre o branco. As do
   gramado ficam de fora: lá o fundo é verde e o amarelo claro é o certo. */
html[data-theme="light"] #escalacaoVista .team-column .card-header :is(.bi-star-fill, .bi-star-half, .bi-star),
html[data-theme="light"] #escalacaoVista.escalacao-modo-lista .list-time-players :is(.bi-star-fill, .bi-star-half, .bi-star) {
  color: #d97706 !important;
}
/* Linha do atleta: o fundo é a cor da posição em transparência, que sobre o
   branco vira pastel — só a tinta precisa fechar. */
html[data-theme="light"] .app-main #escalacaoVista .esc-vaga-row .ec-vaga-tit,
html[data-theme="light"] .app-main #escalacaoVista .ec-vaga-tit {
  color: #475569 !important;
}
html[data-theme="light"] .app-main #escalacaoVista .ec-vaga-posnome {
  color: #b45309 !important;
}
html[data-theme="light"] .app-main #escalacaoVista .ec-p1,
html[data-theme="light"] .app-main #escalacaoVista .ec-p2 {
  color: #c2410c !important;
}
html[data-theme="light"] .app-main #escalacaoVista .bi-three-dots-vertical,
html[data-theme="light"] .app-main #escalacaoVista .esc-nome-duas-linhas-wrap,
html[data-theme="light"] .app-main #escalacaoVista .bi-person-plus {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main #escalacaoVista .text-warning {
  color: #b45309 !important;
}
/* Nome desenhado sobre o gramado continua branco (é a arte exportada) */
html[data-theme="light"] .app-main #escalacaoVista .escalacao-campo-nome-l1,
html[data-theme="light"] .app-main #escalacaoVista .escalacao-campo-nome-l2 {
  color: #f1f5f9 !important;
}

/* Barra de ações do topo: era o último bloco preto da tela */
html[data-theme="light"] .app-main .esc-top-bar {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.16) !important;
  box-shadow: 0 2px 10px rgba(26, 35, 126, 0.06) !important;
}
html[data-theme="light"] .app-main .esc-top-bar span,
html[data-theme="light"] .app-main .esc-top-bar i,
html[data-theme="light"] .app-main .esc-top-bar__data {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .esc-vista-toggle .btn:not(.active),
html[data-theme="light"] .app-main .esc-vista-toggle .btn:not(.active) span,
html[data-theme="light"] .app-main .esc-vista-toggle .btn:not(.active) i {
  color: #3f4a5f !important;
}
html[data-theme="light"] .app-main .esc-vista-toggle .btn.active,
html[data-theme="light"] .app-main .esc-vista-toggle .btn.active span,
html[data-theme="light"] .app-main .esc-vista-toggle .btn.active i {
  color: #ffffff !important;
}
/* Botões âmbar da barra de escalação pedem tinta escura, não branca */
html[data-theme="light"] .app-main .esc-top-bar .btn-warning,
html[data-theme="light"] .app-main .esc-top-bar .btn-warning span,
html[data-theme="light"] .app-main .esc-top-bar .btn-warning i,
html[data-theme="light"] .app-main .esc-top-bar .esc-top-btn--refazer,
html[data-theme="light"] .app-main .esc-top-bar .esc-top-btn--refazer span,
html[data-theme="light"] .app-main .esc-top-bar .esc-top-btn--refazer i {
  color: #2b1a02 !important;
}
html[data-theme="light"] .app-main .esc-card-pos-sep {
  opacity: 0.75 !important;
}

/* ---------- 6. Rachas · lista ---------- */
html[data-theme="light"] .rachas-lista-page .rlc-header__name {
  color: var(--rp-ink) !important;
}
html[data-theme="light"] .rachas-lista-page .card-racha-passado {
  background: #d8dee8 !important;
  opacity: 0.72 !important;
  filter: grayscale(0.75) saturate(0.25);
}
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-header__name,
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-header__name span,
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-header__date,
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-info-pill,
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-info-pill i {
  color: #475569 !important;
}
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-btn--detalhes {
  background: #64748b !important;
  color: #ffffff !important;
}
html[data-theme="light"] .rachas-lista-page .rlc-btn--detalhes,
html[data-theme="light"] .rachas-lista-page .rlc-btn--detalhes i {
  color: var(--rp-on-lime) !important;
}
html[data-theme="light"] .rachas-lista-page .card-racha-passado .rlc-btn--detalhes i {
  color: #ffffff !important;
}
html[data-theme="light"] .rachas-lista-page .rlc-btn--ghost {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .rachas-lista-page .rlc-btn--publicar {
  color: var(--rp-ok) !important;
  border-color: rgba(21, 128, 61, 0.4) !important;
}
html[data-theme="light"] .rachas-lista-page .rlc-btn--ocultar {
  color: var(--rp-warn) !important;
  border-color: rgba(180, 83, 9, 0.4) !important;
}
html[data-theme="light"] .rachas-lista-page .rlc-info-pill i {
  color: var(--rp-ink-2) !important;
}

/* ---------- 7. Atletas · lista: devolver o cabeçalho da tabela ---------- */
html[data-theme="light"] .atletas-lista-page .table.table-dark > thead > tr > th,
html[data-theme="light"] .atletas-lista-page table.table-dark > thead > tr > th,
html[data-theme="light"] .atletas-lista-page .table > thead > tr > th {
  background: #eef2ff !important;
  background-image: none !important;
  color: #1a237e !important;
  border-bottom-color: rgba(26, 35, 126, 0.18) !important;
}
html[data-theme="light"] .atletas-lista-page .table > thead > tr > th i {
  color: #1a237e !important;
}
html[data-theme="light"] .atletas-lista-page .atleta-section-header__icon {
  color: #1e3a8a !important;
}

/* ---------- 8. Afastamentos ---------- */
html[data-theme="light"] .app-main .badge-prov,
html[data-theme="light"] .app-main .badge-prov * {
  background: #dcfce7 !important;
  color: #14532d !important;
  border: 1px solid #86efac !important;
}
html[data-theme="light"] .app-main .btn-finalizar,
html[data-theme="light"] .app-main .btn-finalizar * {
  color: #ffffff !important;
}

/* ---------- 9. Configurações: painéis que continuam escuros ---------- */
html[data-theme="light"] .app-main .cfg-user__card,
html[data-theme="light"] .app-main .cfg-user__card *:not(.cfg-user__chip):not(.cfg-user__btn) {
  color: #e8edf5 !important;
}
html[data-theme="light"] .app-main .cfg-page__sub {
  color: var(--rp-ink-2) !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item {
  color: #1a237e !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item.is-active {
  color: var(--rp-on-lime) !important;
}

/* ---------- 10. Segunda passagem: ajustes medidos após o primeiro deploy ---------- */

/* Chevron do menu vinha com opacity .4 — a cor sozinha não resolvia */
html[data-theme="light"] .app-sidebar .racha-nav-chevron,
html[data-theme="light"] #rachaNavOffcanvas .racha-nav-chevron {
  color: #475569 !important;
  opacity: 0.85 !important;
}

/* Seletor de tema no rodapé da sidebar */
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip,
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip {
  background: #f1f5f9 !important;
  background-image: none !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip .rp-theme-toggle__label,
html[data-theme="light"] .app-sidebar .rp-theme-toggle--strip i,
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip .rp-theme-toggle__label,
html[data-theme="light"] .racha-user-strip .rp-theme-toggle--strip i {
  color: #1a237e !important;
}

/* Ícones lime dos atalhos do dashboard */
html[data-theme="light"] .app-main .adash__shortcut i,
html[data-theme="light"] .app-main .adash__kpi-ico,
html[data-theme="light"] .app-main .adash__kpi--ok .adash__kpi-ico {
  color: #4d7c0f !important;
}

/* Escalação: o mesmo HTML serve aos dois modos — em Lista as fichas ficam
   empilhadas no cartão branco, em Campo elas são posicionadas sobre o gramado.
   Por isso a tinta é decidida pelo modo, não pelo elemento.
   O número do colete fica de fora: ele é bolinha branca com número preto,
   desenhada pelo template, e vale nos dois modos. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-lista :is(.team-column, .list-time-players) :is(p, span, small, div, td, li, strong):not(.badge):not(.btn):not(.escalacao-campo-jersey) {
  color: #1a1a2e !important;
}
/* Modo campo: só quem está em cima da grama continua branco. O resto do cartão
   (faixa do time, cabeçalho do gramado) é superfície clara como o restante. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-campo :is([data-campo-slot], [data-campo-extra], .esc-vaga-row, .escalacao-campo-time-ribbon, .ec-pitch-hud) :is(p, span, small, div, td, li, strong):not(.badge):not(.btn):not(.escalacao-campo-jersey),
html[data-theme="light"] #escalacaoVista :is(.ec-scoreboard, .dropdown-menu-dark) :is(p, span, small, div, td, li, strong):not(.badge):not(.btn):not(.escalacao-campo-jersey) {
  color: #e8edf5 !important;
}

/* O nome do atleta tem brilho branco atrás (nasceu para o gramado escuro);
   com tinta escura sobre a linha pastel isso vira borrão. O brilho é aplicado
   nas linhas internas (.esc-nome-chip-linha) — apagar só no invólucro não
   adianta, porque quem desenha o texto é o filho. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-lista :is(.esc-typo-display-nome, .esc-nome-duas-linhas-wrap, .esc-card-nome-atleta),
html[data-theme="light"] #escalacaoVista.escalacao-modo-lista :is(.esc-typo-display-nome, .esc-nome-duas-linhas-wrap, .esc-card-nome-atleta) .esc-nome-chip-linha {
  text-shadow: none !important;
}

/* A moldura ao redor do gramado era preta e ocupava metade do cartão. No claro
   ela vira papel branco: sobra só o gramado como arte. O PNG e o vídeo não mudam
   — o clone de exportação (.ec-png-capture-root) traz o próprio fundo escuro. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-campo .escalacao-campo-pitch-surface {
  background: #ffffff !important;
  border-radius: 12px;
}
/* A faixa do time continua escura de propósito: ela entra na imagem exportada e
   carrega os botões PNG/Vídeo, desenhados em contorno claro. O fundo dela vem
   por estilo inline em preto translúcido — sobre papel branco viraria cinza
   sujo, então aqui é fixada em chumbo, do mesmo tom do placar. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-campo .escalacao-campo-time-ribbon {
  background: linear-gradient(135deg, #131a26 0%, #1d2534 100%) !important;
}

/* Cabeçalho do gramado (nome do racha, dia, data, "4-4-2"): é texto branco que
   ora cai sobre o papel branco, ora sobre a grama — depende da inclinação do
   gramado, que é configurável. Em vez de trocar a tinta, ele ganha a própria
   tarja escura: legível nos dois casos e igual ao que já vai para a imagem. */
html[data-theme="light"] #escalacaoVista.escalacao-modo-campo .ec-pitch-hud {
  background: rgba(15, 23, 42, 0.72);
  border-radius: 8px;
  padding: 0.22rem 0.4rem;
}
html[data-theme="light"] #escalacaoVista .ec-png-capture-root .ec-pitch-hud {
  background: none;
  padding: 0;
}

/* Bloco de substituições: acompanhava o fundo preto do cartão antigo */
html[data-theme="light"] #escalacaoVista .escalacao-subs-tabela {
  background: #f8fafc !important;
}
html[data-theme="light"] #escalacaoVista .escalacao-subs-tit,
html[data-theme="light"] #escalacaoVista .escalacao-subs-tit.text-white {
  color: #1a237e !important;
}
html[data-theme="light"] #escalacaoVista .escalacao-subs-time,
html[data-theme="light"] #escalacaoVista .ec-subs-min-inner {
  color: #3f4a5f !important;
}
html[data-theme="light"] #escalacaoVista :is(.escalacao-campo-capture-wrap, .ec-scoreboard) .btn-outline-light,
html[data-theme="light"] #escalacaoVista :is(.escalacao-campo-capture-wrap, .ec-scoreboard) .btn-outline-info,
html[data-theme="light"] #escalacaoVista :is(.escalacao-campo-capture-wrap, .ec-scoreboard) .btn-outline-warning {
  background: transparent !important;
  color: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
html[data-theme="light"] #escalacaoVista .ec-vaga-tit {
  color: #475569 !important;
}
html[data-theme="light"] #escalacaoVista .ec-vaga-posnome,
html[data-theme="light"] #escalacaoVista .text-warning {
  color: #b45309 !important;
}
/* Gramado: "Aberto" e posição ficam âmbar sobre a grama (não a tinta cinza da lista). */
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-slot].esc-vaga-row .ec-vaga-tit,
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-slot].esc-vaga-row .ec-vaga-tit-campo,
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-extra].esc-vaga-row .ec-vaga-tit,
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-extra].esc-vaga-row .ec-vaga-tit-campo {
  color: #fde68a !important;
}
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-slot].esc-vaga-row .ec-vaga-posnome,
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-extra].esc-vaga-row .ec-vaga-posnome {
  color: #fbbf24 !important;
}
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-slot].esc-vaga-row .vaga-ico,
html[data-theme="light"] .app-main #escalacaoVista.escalacao-modo-campo [data-campo-slot].esc-vaga-row .bi-person-plus {
  color: #fde68a !important;
}
/* Precisa da mesma forma da regra da ilha para vencê-la em especificidade */
html[data-theme="light"] #escalacaoVista :is(.team-column, .list-time-players, .escalacao-campo-pitch-surface) :is(.ec-p2, .ec-p2-inner, .ec-p2-sep):not(.badge):not(.btn) {
  color: #fde68a !important;
}
html[data-theme="light"] #escalacaoVista .esc-nome-chip-linha {
  color: #ffffff !important;
}
html[data-theme="light"] #escalacaoVista .bi-three-dots-vertical {
  color: rgba(255, 255, 255, 0.85) !important;
}
/* Fora da ilha (painel branco de atletas disponíveis) o mesmo ícone é escuro */
html[data-theme="light"] .app-main .card-adicionar-atletas .bi-three-dots-vertical,
html[data-theme="light"] .app-main .card-adicionar-atletas .card-header,
html[data-theme="light"] .app-main .card-adicionar-atletas .card-header h4,
html[data-theme="light"] .app-main .card-adicionar-atletas .card-header i,
html[data-theme="light"] .app-main .card-adicionar-atletas .card-header * {
  color: #78350f !important;
}

/* ---------- 11. Contorno: no escuro o cartão se separa pelo brilho,
   no claro precisa de linha. Sem isso tudo vira uma mancha branca. ---------- */
html[data-theme="light"] .app-main .card {
  border: 1px solid rgba(26, 35, 126, 0.16) !important;
  box-shadow: 0 2px 10px rgba(26, 35, 126, 0.05);
}
html[data-theme="light"] .app-main .card > .card-header {
  border-bottom: 1px solid rgba(26, 35, 126, 0.14);
}
html[data-theme="light"] .app-main .card > .card-footer {
  border-top: 1px solid rgba(26, 35, 126, 0.14);
}
html[data-theme="light"] .app-main .table > tbody > tr > td,
html[data-theme="light"] .app-main .table > tbody > tr > th {
  border-bottom-color: rgba(26, 35, 126, 0.13) !important;
}
html[data-theme="light"] .app-main .table > thead > tr > th {
  border-bottom-color: rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .app-main .list-group-item {
  border-color: rgba(26, 35, 126, 0.14) !important;
}
html[data-theme="light"] .app-main hr {
  border-top-color: rgba(26, 35, 126, 0.18) !important;
  opacity: 1;
}
html[data-theme="light"] .app-main .form-control,
html[data-theme="light"] .app-main .form-select,
html[data-theme="light"] .app-main .input-group-text {
  border-color: rgba(26, 35, 126, 0.2) !important;
}

/* ---------- 12. Pílula de partida (coluna direita da lista de confirmados).
   O template desenha em azul quase preto; sobre a linha branca vira um
   borrão escuro. Cada variante ganha o tom claro da mesma família. ---------- */
html[data-theme="light"] .racha-detalhes-page .partida-pill {
  border-color: rgba(26, 35, 126, 0.18) !important;
  background: #f8fafc !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo0 {
  background: #f1f5f9 !important;
  border-color: rgba(100, 116, 139, 0.35) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo1 {
  background: #ccfbf1 !important;
  border-color: rgba(13, 148, 136, 0.5) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo2 {
  background: #fef3c7 !important;
  border-color: rgba(180, 83, 9, 0.45) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo3 {
  background: #ede9fe !important;
  border-color: rgba(109, 40, 217, 0.45) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo4 {
  background: #ffe4e6 !important;
  border-color: rgba(190, 24, 93, 0.45) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo5,
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo6 {
  background: #dbeafe !important;
  border-color: rgba(29, 78, 216, 0.45) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill__select,
html[data-theme="light"] .racha-detalhes-page .partida-pill__valor {
  background-color: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
  color: #1a1a2e !important;
}
/* A seta do select é um SVG branco embutido: no claro precisa ser escura.
   Repeat/position/size vão juntos porque regras anteriores podem tê-los zerado. */
html[data-theme="light"] .racha-detalhes-page .partida-pill__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%231a237e' d='M3.2 5.6L8 10.4l4.8-4.8H3.2z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.35rem center !important;
  background-size: 0.7rem !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo1 .partida-pill__select,
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo1 .partida-pill__valor {
  color: #115e59 !important;
  border-color: rgba(13, 148, 136, 0.45) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo2 .partida-pill__select,
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo2 .partida-pill__valor {
  color: #92400e !important;
  border-color: rgba(180, 83, 9, 0.45) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo3 .partida-pill__select,
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo3 .partida-pill__valor {
  color: #5b21b6 !important;
  border-color: rgba(109, 40, 217, 0.45) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo4 .partida-pill__select,
html[data-theme="light"] .racha-detalhes-page .partida-pill--jogo4 .partida-pill__valor {
  color: #9f1239 !important;
  border-color: rgba(190, 24, 93, 0.45) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill__chip--atleta {
  background: #dcfce7 !important;
  color: #14532d !important;
  border-color: rgba(21, 128, 61, 0.4) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill__chip--diretoria {
  background: #e0f2fe !important;
  color: #075985 !important;
  border-color: rgba(2, 132, 199, 0.4) !important;
}
html[data-theme="light"] .racha-detalhes-page .partida-pill__chip--neutro {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border-color: rgba(100, 116, 139, 0.38) !important;
}
html[data-theme="light"] .racha-detalhes-page .detalhes-badges-legenda {
  color: #475569 !important;
}

/* ---------- 13. Barras de filtro de Rankings, Artilharia e Cartões.
   Os botões trazem estilo inline pensado no escuro (fundo branco a 5% e
   texto claro), que sobre a barra branca some. ---------- */
html[data-theme="light"] .app-main :is(.art-filter-bar, .cart-filter-bar, .rank-filter-bar) {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
  box-shadow: 0 2px 10px rgba(26, 35, 126, 0.05) !important;
}
html[data-theme="light"] .app-main :is(.art-filter-bar, .cart-filter-bar, .rank-filter-bar) :is(.art-filter-bar__label, .cart-filter-bar__label, .rank-filter-bar__label, label) {
  color: #5c6578 !important;
}
/* Chips de dia: o fundo inline é translúcido sobre branco, então clareia
   sozinho; só a tinta precisa escurecer. */
html[data-theme="light"] .app-main .btn[data-dia] {
  color: #1f2937 !important;
}
html[data-theme="light"] .app-main .btn[data-dia]:not(.active):not([style*="border-color:#"]) {
  background: #f1f5f9 !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
}
/* Botão PDF ao lado do Filtrar */
html[data-theme="light"] .app-main :is(.art-filter-bar__actions, .cart-filter-bar__actions, .rank-filter-bar__actions) .btn[onclick] {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.25) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .app-main :is(.art-filter-bar, .cart-filter-bar, .rank-filter-bar) .form-control {
  background-color: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
  color: #1a1a2e !important;
}

/* ---------- 14. Selos de situação do atleta (M/D, A/S, relógio, diária).
   No escuro são blocos de cor sólida e saturada, que é o que funciona sobre
   navy. Sobre a linha branca da lista viram quadrados pesados — o verde
   #0D7A35 principalmente. Aqui cada um vira a versão clara da mesma família:
   fundo lavado, borda da cor e tinta escura, mantendo o significado. ---------- */
html[data-theme="light"] .app-main .badge-tipo--mensalista {
  background: #cffafe !important;
  color: #155e75 !important;
  border: 1px solid rgba(14, 116, 144, 0.35) !important;
}
html[data-theme="light"] .app-main .badge-tipo--diarista {
  background: #fce7f3 !important;
  color: #9d174d !important;
  border: 1px solid rgba(190, 24, 93, 0.3) !important;
}
html[data-theme="light"] .app-main .badge-ativo-compacto {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
  border: 1px solid rgba(29, 78, 216, 0.3) !important;
}
html[data-theme="light"] .app-main .badge-suspenso-compacto {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1px solid rgba(185, 28, 28, 0.32) !important;
}
/* Relógio: verde = no prazo, vermelho = fora do prazo */
html[data-theme="light"] .app-main .badge-fora-prazo,
html[data-theme="light"] .app-main .badge-fora-prazo * {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: rgba(185, 28, 28, 0.32) !important;
}
html[data-theme="light"] .app-main .badge-fora-prazo * {
  background: transparent !important;
}
html[data-theme="light"] .app-main .badge-fora-prazo--ok,
html[data-theme="light"] .app-main .badge-fora-prazo--ok * {
  background: #dcfce7 !important;
  color: #15803d !important;
  border-color: rgba(21, 128, 61, 0.32) !important;
}
html[data-theme="light"] .app-main .badge-fora-prazo--ok * {
  background: transparent !important;
}
/* Diária: paga, em aberto e isenta (escudo do goleiro) */
html[data-theme="light"] .app-main .badge-pago-diaria,
html[data-theme="light"] .app-main .badge-pago-diaria i {
  background-color: #dcfce7 !important;
  color: #15803d !important;
  border-color: rgba(21, 128, 61, 0.32) !important;
}
html[data-theme="light"] .app-main .badge-pago-diaria i {
  background-color: transparent !important;
}
html[data-theme="light"] .app-main .badge-pago-diaria--inativo,
html[data-theme="light"] .app-main .badge-pago-diaria--inativo i {
  background: #f1f5f9 !important;
  color: #94a3b8 !important;
  border-color: rgba(100, 116, 139, 0.28) !important;
}
html[data-theme="light"] .app-main .badge-pago-diaria--inativo i {
  background: transparent !important;
}
html[data-theme="light"] .app-main .badge-diaria-isento,
html[data-theme="light"] .app-main .badge-diaria-isento i {
  background: #e2e8f0 !important;
  color: #334155 !important;
  border-color: rgba(51, 65, 85, 0.3) !important;
}
html[data-theme="light"] .app-main .badge-diaria-isento i {
  background: transparent !important;
}
html[data-theme="light"] .app-main .badge-fora-prazo--inativo,
html[data-theme="light"] .app-main .badge-fora-prazo--inativo i {
  background: #f1f5f9 !important;
  color: #94a3b8 !important;
  border-color: rgba(100, 116, 139, 0.28) !important;
}
html[data-theme="light"] .app-main .badge-fora-prazo--inativo i {
  background: transparent !important;
}
/* Contador de presenças 3m: lima sobre branco não se lê */
html[data-theme="light"] .app-main .badge-pres-3m {
  background: #ecfccb !important;
  color: #3f6212 !important;
  border: 1px solid #65a30d !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--goleiro {
  background: #cffafe !important;
  color: #155e75 !important;
  border-left-color: #0891b2 !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--lateral {
  background: #fde68a !important;
  color: #78350f !important;
  border-left-color: #d97706 !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--zagueiro {
  background: #fecaca !important;
  color: #7f1d1d !important;
  border-left-color: #dc2626 !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--volante {
  background: #bfdbfe !important;
  color: #1e3a8a !important;
  border-left-color: #2563eb !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--meia {
  background: #fed7aa !important;
  color: #9a3412 !important;
  border-left-color: #ea580c !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa--atacante {
  background: #bbf7d0 !important;
  color: #14532d !important;
  border-left-color: #16a34a !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa :is(strong, span) {
  color: inherit !important;
}
html[data-theme="light"] .app-main .grupo-pos-faixa .grupo-pos-faixa__n,
html[data-theme="light"] .app-main .grupo-pos-faixa .grupo-pos-mobile__n {
  background: rgba(0, 0, 0, 0.08) !important;
}
html[data-theme="light"] .app-main .badge-pres-3m--vazio,
html[data-theme="light"] .app-main .badge-pres-3m--slot {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: transparent !important;
}
/* Selo ATRASADO vem com estilo inline pensado no escuro (#ef4444 sobre
   vermelho a 15%); sobre branco o vermelho claro não alcança 4.5:1. */
html[data-theme="light"] .app-main [style*="color:#ef4444"] {
  color: #b91c1c !important;
}

/* ---------- 15. Cabeçalho navy dos blocos de lista. Ele continua escuro no
   tema claro (é marca), mas a regra genérica que pinta todo span do
   .card-header de branco atropela o selo de contagem e o chip ativo, que
   têm fundo lima. ---------- */
html[data-theme="light"] .app-main .card-header .detalhes-bloco-contagem {
  color: var(--lime-green, #cddc39) !important;
}
html[data-theme="light"] .app-main .card-header .sabado-aba-btn.is-active,
html[data-theme="light"] .app-main .card-header .sabado-aba-btn.is-active .sabado-aba-count {
  color: #14210a !important;
}
/* Chip inativo é pílula branca: a tinta é navy, não branca. A regra genérica
   do .card-header pinta todo span de branco e apagava o rótulo. */
html[data-theme="light"] .app-main .card-header .sabado-aba-btn,
html[data-theme="light"] .app-main .card-header .sabado-aba-btn .sabado-aba-count {
  color: #1a237e !important;
}

/* ---------- 16. Configurações. A barra de abas usa preto a 28%, que sobre
   fundo claro vira um bloco cinza chapado; e os cabeçalhos das tabelas de
   regras cravam lima no estilo inline, ilegível sobre branco. ---------- */
html[data-theme="light"] .app-main .cfg-tabs {
  background: #f3f5fa !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item {
  color: #334155 !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item i {
  color: #475569 !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item:hover {
  background: rgba(26, 35, 126, 0.07) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .app-main .cfg-tabs__item.is-active,
html[data-theme="light"] .app-main .cfg-tabs__item.is-active i {
  color: #14210a !important;
}
html[data-theme="light"] .app-main .cfg-page__sub {
  color: #5c6578 !important;
}
html[data-theme="light"] .app-main .cfg-regras-table th[style*="lime-green"] {
  color: #3f6212 !important;
}
@media (max-width: 767.98px) {
  html[data-theme="light"] .app-main .cfg-regras-table tr {
    background: #f8fafc !important;
    border-color: rgba(26, 35, 126, 0.16) !important;
  }
}

/* ---------- 17. Cadastro e edição de atleta. O painel "Dias, posições e
   tipo" e as molduras de foto trazem fundo escuro no estilo inline, pensado
   para o navy. Sobre a página clara viram blocos cinzas com texto branco
   quase invisível. ---------- */
html[data-theme="light"] .app-main .atleta-dias-diretoria-readonly {
  background: #f8fafc !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .app-main .atleta-dia-linha {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
}
html[data-theme="light"] .app-main .atleta-dia-linha__pos-valor {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .atleta-dia-linha__pos-rot,
html[data-theme="light"] .app-main .atleta-dias-diretoria-readonly .text-white-50 {
  color: #5c6578 !important;
}
/* Moldura circular da foto: o tracejado branco e o miolo preto somem no claro.
   O slot clicável mantém o tracejado verde (é a dica de que dá para tocar),
   só num tom que sobrevive ao fundo claro. */
html[data-theme="light"] .app-main .atleta-foto-slot {
  background: #f1f5f9 !important;
}
html[data-theme="light"] .app-main .atleta-foto-slot:not(#foto-placeholder) {
  border-color: rgba(26, 35, 126, 0.28) !important;
}
html[data-theme="light"] .app-main .atleta-foto-slot .bi-person-fill {
  color: rgba(26, 35, 126, 0.35) !important;
}
html[data-theme="light"] .app-main #foto-placeholder.atleta-foto-slot {
  border-color: #65a30d !important;
}
html[data-theme="light"] .app-main .atleta-foto-slot .bi-camera {
  color: #4d7c0f !important;
}

/* ---------- 18. Cartão "Em qual posição você vai jogar?" (confirmação do
   atleta que é goleiro e joga na linha). Inteiro desenhado para o navy:
   título lima sobre preto, texto branco translúcido, caixas pretas. ---------- */
html[data-theme="light"] .app-main .racha-posicao-escolha-card {
  background: #f7fee7 !important;
  border-color: rgba(77, 124, 15, 0.35) !important;
}
html[data-theme="light"] .app-main .racha-posicao-escolha-card__header {
  background: #ecfccb !important;
  color: #3f6212 !important;
  border-bottom-color: rgba(77, 124, 15, 0.22) !important;
}
html[data-theme="light"] .app-main .racha-posicao-escolha-card__hint,
html[data-theme="light"] .app-main .racha-posicao-escolha-card__hint strong {
  color: #3f4a5f !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao__box {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao__titulo {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao__sub {
  color: #64748b !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao__ico {
  filter: drop-shadow(0 4px 10px rgba(26, 35, 126, 0.18)) !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao__ico-bi {
  color: #1a1a2e !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao input:checked + .racha-posicao-opcao__box {
  background: #ecfccb !important;
  border-color: #65a30d !important;
  box-shadow: 0 0 0 1px rgba(101, 163, 13, 0.5), 0 8px 18px rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao input:checked + .racha-posicao-opcao__box .racha-posicao-opcao__titulo {
  color: #3f6212 !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao input:checked + .racha-posicao-opcao__box .racha-posicao-opcao__sub {
  color: #4d7c0f !important;
}
html[data-theme="light"] .app-main .racha-posicao-opcao input:checked + .racha-posicao-opcao__box .racha-posicao-opcao__ico-bi {
  color: #3f6212 !important;
}

/* ---------- 19. Rótulos dos filtros do ranking de presenças ("RACHA",
   "POSIÇÃO"). Nascem em branco a 40%, que sobre o painel claro fica no limite
   da leitura; no claro viram cinza-azulado. ---------- */
html[data-theme="light"] .app-main .rp-filter-label {
  color: #5b6577;
}

/* ---------- 20. Diálogos de confirmação (SweetAlert). Oito templates repetem
   a mesma receita escura (gradiente #2d3748 + borda lima de 2px). No tema claro
   isso vira uma caixa preta no meio de uma tela branca — e pior: o título é um
   h2, então a regra genérica que pinta títulos de navy o deixava azul sobre
   fundo escuro, praticamente ilegível. Aqui o diálogo inteiro é redesenhado. ---------- */

/* Estrutura (vale nos dois temas): cantos mais macios e botões maiores */
.swal2-popup.racha-swal {
  border-radius: 1.1rem !important;
  padding: 1.4rem 1.3rem 1.2rem !important;
}
.racha-swal .swal2-title {
  font-size: 1.16rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  padding-top: .2rem !important;
}
.racha-swal .swal2-html-container {
  font-size: .95rem !important;
  line-height: 1.45 !important;
  margin-top: .45rem !important;
}
.racha-swal .swal2-icon {
  width: 3.6rem !important;
  height: 3.6rem !important;
  border-width: 3px !important;
  margin: .3rem auto .9rem !important;
}
.racha-swal .swal2-icon .swal2-icon-content { font-size: 2.1rem !important; }
.racha-swal .swal2-actions {
  gap: .6rem !important;
  margin-top: 1.15rem !important;
  width: 100%;
}
.racha-swal .swal2-actions .swal2-confirm,
.racha-swal .swal2-actions .swal2-cancel {
  min-width: 8.5rem;
  padding: .62rem 1.4rem !important;
  border-radius: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  box-shadow: none !important;
}

/* Tema escuro: mantém a identidade, só tira o exagero da borda lima grossa */
html:not([data-theme="light"]) .swal2-popup.racha-swal {
  border: 1px solid rgba(205, 220, 57, 0.45) !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.55) !important;
}
html:not([data-theme="light"]) .racha-swal .swal2-title {
  color: var(--lime-green, #cddc39) !important;
}

/* Tema claro: caixa branca, título navy, botões com a cor da decisão */
html[data-theme="light"] .swal2-popup.racha-swal {
  background: #ffffff !important;
  border: 1px solid rgba(26, 35, 126, 0.12) !important;
  box-shadow: 0 20px 55px rgba(15, 23, 42, 0.22) !important;
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-swal .swal2-title,
html[data-theme="light"] .swal2-title.racha-swal-title {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-swal .swal2-html-container,
html[data-theme="light"] .racha-swal .swal2-html-container strong {
  color: #3f4a5f !important;
}
html[data-theme="light"] .racha-swal .swal2-html-container strong { color: #1a1a2e !important; }
html[data-theme="light"] .racha-swal .swal2-actions .swal2-confirm {
  background: #4d7c0f !important;
  color: #ffffff !important;
}
html[data-theme="light"] .racha-swal .swal2-actions .swal2-cancel {
  background: #eef1f6 !important;
  color: #334155 !important;
  border: 1px solid rgba(26, 35, 126, 0.16) !important;
}
/* Os ícones do SweetAlert são pastéis, pensados para fundo escuro */
html[data-theme="light"] .racha-swal .swal2-icon.swal2-warning {
  border-color: #f59e0b !important;
  color: #b45309 !important;
}
html[data-theme="light"] .racha-swal .swal2-icon.swal2-question {
  border-color: #6366f1 !important;
  color: #4338ca !important;
}
html[data-theme="light"] .racha-swal .swal2-icon.swal2-error {
  border-color: #ef4444 !important;
  color: #b91c1c !important;
}
html[data-theme="light"] .racha-swal .swal2-icon.swal2-success {
  border-color: #22c55e !important;
  color: #15803d !important;
}
html[data-theme="light"] .racha-swal .swal2-icon.swal2-info {
  border-color: #0ea5e9 !important;
  color: #0369a1 !important;
}
/* Ação destrutiva (desistir com punição, cancelar racha) pede vermelho */
html[data-theme="light"] .racha-swal:has(.swal2-icon.swal2-warning) .swal2-actions .swal2-confirm {
  background: #b91c1c !important;
}

/* No celular os dois botões ocupam a largura toda, um sobre o outro: alvo maior
   e nenhuma dúvida sobre qual é qual. Confirmar em cima, cancelar embaixo —
   mesma ordem dos diálogos do próprio celular. */
@media (max-width: 480px) {
  .racha-swal .swal2-actions {
    flex-direction: column;
  }
  .racha-swal .swal2-actions .swal2-confirm,
  .racha-swal .swal2-actions .swal2-cancel {
    width: 100%;
    margin: 0 !important;
  }
}

/* ---------- 21. Mensalistas (financeiro). A tela inteira foi escrita para o
   navy: nome do atleta em branco puro, subtítulos em branco a 50%, números em
   branco a 40%. Sobre o cartão claro os nomes simplesmente somem. Aqui a
   hierarquia é refeita em tinta escura, mantendo os mesmos pesos. ---------- */
html[data-theme="light"] .app-main .mens-item__nome a {
  color: #1a1a2e;
}
html[data-theme="light"] .app-main .mens-item__nome a:hover {
  color: #4d7c0f;
}
html[data-theme="light"] .app-main .mens-item__nome small,
html[data-theme="light"] .app-main .mens-item--vazio,
html[data-theme="light"] .app-main .mens-grupo__pe,
html[data-theme="light"] .app-main .mens-grupo__semcota,
html[data-theme="light"] .app-main .mens-vazio {
  color: #64748b;
}
html[data-theme="light"] .app-main .mens-item__n {
  color: #94a3b8;
}
html[data-theme="light"] .app-main .mens-item__foto {
  background: #eef1f6;
  color: #94a3b8;
}
html[data-theme="light"] .app-main .mens-grupo__num {
  color: #1a1a2e;
}
html[data-theme="light"] .app-main .mens-grupo__de {
  color: #7a8699;
}
/* O nome do bloco é um h2 e por isso a regra geral de títulos o pintava de navy,
   apagando a identidade de cada posição — no escuro LATERAIS é âmbar, ZAGUEIROS
   vermelho, e essa leitura por cor é o que orienta a tela. Aqui ele volta a usar
   a cor da posição (já no tom fechado do tema claro). */
html[data-theme="light"] .app-main .mens-grupo__nome,
html[data-theme="light"] .app-main .mens-grupo__nome i,
html[data-theme="light"] .app-main .mens-grupo__nome span {
  color: var(--pos-cor) !important;
}
/* O filete colorido do cartão é o outro sinal da posição — em Mensalistas ele
   fica no topo, em Diaristas na esquerda. O gerador de fios pinta toda borda
   clara de navy e apagava esse filete; aqui ele volta, com .app-main para
   vencer o !important do arquivo de fios. */
html[data-theme="light"] .app-main .mens-page:not(.dia-page) .mens-grupo {
  border-top-color: var(--pos-cor) !important;
  border-top-width: 3px !important;
}
html[data-theme="light"] .app-main .dia-page .mens-grupo {
  border-left-color: var(--pos-cor) !important;
  border-left-width: 3px !important;
}
/* No escuro o cabeçalho é uma faixa preta com o título colorido; no claro a
   mesma identidade vem de um véu da própria cor da posição sobre o branco.
   O véu usa o par --pos-*-rgb (tom saturado), então cada bloco fica
   reconhecível de longe sem prejudicar a leitura do título. */
html[data-theme="light"] .app-main .mens-grupo__head {
  background: #f7f8fc;
  border-bottom-color: rgba(26, 35, 126, 0.1);
}
html[data-theme="light"] .app-main :is(.mens-grupo--goleiros, .mens-grupo--goleiro) .mens-grupo__head {
  background: rgba(var(--pos-goleiro-rgb), 0.1);
}
html[data-theme="light"] .app-main :is(.mens-grupo--laterais, .mens-grupo--lateral) .mens-grupo__head {
  background: rgba(var(--pos-lateral-rgb), 0.12);
}
html[data-theme="light"] .app-main :is(.mens-grupo--zagueiros, .mens-grupo--zagueiro) .mens-grupo__head {
  background: rgba(var(--pos-zagueiro-rgb), 0.1);
}
html[data-theme="light"] .app-main :is(.mens-grupo--volantes, .mens-grupo--volante) .mens-grupo__head {
  background: rgba(var(--pos-volante-rgb), 0.1);
}
html[data-theme="light"] .app-main :is(.mens-grupo--meias, .mens-grupo--meia) .mens-grupo__head {
  background: rgba(var(--pos-meia-rgb), 0.1);
}
html[data-theme="light"] .app-main :is(.mens-grupo--atacantes, .mens-grupo--atacante) .mens-grupo__head {
  background: rgba(var(--pos-atacante-rgb), 0.1);
}

/* Verde/âmbar pastéis (pensados para brilhar no escuro) viram tons fechados */
html[data-theme="light"] .app-main .mens-grupo__completa { color: #15803d; }
html[data-theme="light"] .app-main .mens-grupo__falta { color: #b45309; }
html[data-theme="light"] .app-main .mens-grupo__acima { color: #c2410c; }

html[data-theme="light"] .app-main .mens-colete {
  background: #f1f5f9;
  border-color: rgba(26, 35, 126, 0.16);
  color: #1a1a2e;
}
html[data-theme="light"] .app-main .mens-item--vaga .mens-item__foto {
  border-color: rgba(101, 163, 13, 0.65);
  color: #4d7c0f;
}
html[data-theme="light"] .app-main .mens-item--vaga .mens-item__nome em {
  color: #4d7c0f;
}

/* Cartões de resumo no topo */
html[data-theme="light"] .app-main .mens-kpi {
  background: #f8fafc;
  border-color: rgba(26, 35, 126, 0.14);
}
html[data-theme="light"] .app-main .mens-kpi__label { color: #5b6577; }
html[data-theme="light"] .app-main .mens-kpi__valor { color: #1a1a2e; }
html[data-theme="light"] .app-main .mens-kpi--ok .mens-kpi__valor { color: #15803d; }
html[data-theme="light"] .app-main .mens-kpi--alerta .mens-kpi__valor { color: #b45309; }
html[data-theme="light"] .app-main .mens-kpi--afast .mens-kpi__valor { color: #b91c1c; }
html[data-theme="light"] .app-main .mens-kpi--pend .mens-kpi__valor { color: #4d7c0f; }

html[data-theme="light"] .app-main .mens-nota {
  background: #eef2ff;
  border-color: rgba(26, 35, 126, 0.14);
  color: #3f4a5f;
}

/* Selos de situação: fundo lavado, tinta fechada — mesmo padrão do resto */
html[data-theme="light"] .app-main .mens-tag--pago {
  background: #dcfce7;
  border-color: rgba(21, 128, 61, 0.35);
  color: #15803d;
}
html[data-theme="light"] .app-main .mens-tag--aberto {
  background: #fef3c7;
  border-color: rgba(180, 83, 9, 0.35);
  color: #b45309;
}
html[data-theme="light"] .app-main .mens-tag--afast {
  background: #fee2e2;
  border-color: rgba(185, 28, 28, 0.35);
  color: #b91c1c;
}
html[data-theme="light"] .app-main .mens-tag--neutro {
  background: #f1f5f9;
  border-color: rgba(26, 35, 126, 0.16);
  color: #475569;
}

/* ---------- 22. Meus jogos: pílulas da coluna TIME, do dia e dos números.
   A do time nasce cinza-chumbo com texto branco (feita para o navy); no claro o
   texto acabava escurecido por regra genérica e virava letra escura sobre
   chumbo. As demais usam tons pastéis que não se sustentam sobre branco. ---------- */
html[data-theme="light"] .app-main .mj-time {
  background: #eef2ff;
  color: #1a237e;
  border-color: rgba(26, 35, 126, 0.28);
}
html[data-theme="light"] .app-main .mj-time--verde {
  background: #dcfce7;
  color: #15803d;
  border-color: rgba(21, 128, 61, 0.4) !important;
}
html[data-theme="light"] .app-main .mj-time--hist {
  background: #f1f5f9;
  color: #64748b;
}

html[data-theme="light"] .app-main .mj-dia--terca {
  background: #fef3c7;
  color: #b45309;
  border-color: rgba(180, 83, 9, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-dia--quinta {
  background: #dbeafe;
  color: #1d4ed8;
  border-color: rgba(29, 78, 216, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-dia--sabado {
  background: #ede9fe;
  color: #6d28d9;
  border-color: rgba(109, 40, 217, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-dia--outro {
  color: #475569;
}

/* Contadores de gols, assistências e cartões */
html[data-theme="light"] .app-main .mj-num--g {
  background: #dcfce7;
  color: #15803d;
  border-color: rgba(21, 128, 61, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-num--a {
  background: #cffafe;
  color: #0e7490;
  border-color: rgba(14, 116, 144, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-num--am {
  background: #fef3c7;
  color: #b45309;
  border-color: rgba(180, 83, 9, 0.35) !important;
}
html[data-theme="light"] .app-main .mj-num--vm {
  background: #fee2e2;
  color: #b91c1c;
  border-color: rgba(185, 28, 28, 0.35) !important;
}

/* Placar colorido pelo resultado */
html[data-theme="light"] .app-main .mj-placar--win { color: #15803d; }
html[data-theme="light"] .app-main .mj-placar--draw { color: #b45309; }
html[data-theme="light"] .app-main .mj-placar--loss { color: #b91c1c; }

/* Cards de KPI (Jogos / Gols / Assistências / Cartões): no escuro o filete
   colorido no topo e o número na mesma cor. O claro reescrevia border-color
   e a tinta base do span, e os quatro cards viravam branco sem destaque. */
html[data-theme="light"] .app-main .mj-kpi--jogos,
html[data-theme="light"] .app-main .mp-kpi--total {
  background: #eff6ff;
  border-top-color: #2563eb !important;
}
html[data-theme="light"] .app-main .mj-kpi--jogos .mj-kpi__val,
html[data-theme="light"] .app-main .mp-kpi--total .mp-kpi__val {
  color: #1d4ed8 !important;
}
html[data-theme="light"] .app-main .mj-kpi--gols,
html[data-theme="light"] .app-main .mp-kpi--ok {
  background: #f0fdf4;
  border-top-color: #16a34a !important;
}
html[data-theme="light"] .app-main .mj-kpi--gols .mj-kpi__val,
html[data-theme="light"] .app-main .mp-kpi--ok .mp-kpi__val {
  color: #15803d !important;
}
html[data-theme="light"] .app-main .mj-kpi--assist,
html[data-theme="light"] .app-main .mp-kpi--freq {
  background: #ecfeff;
  border-top-color: #0891b2 !important;
}
html[data-theme="light"] .app-main .mj-kpi--assist .mj-kpi__val,
html[data-theme="light"] .app-main .mp-kpi--freq .mp-kpi__val {
  color: #0e7490 !important;
}
html[data-theme="light"] .app-main .mj-kpi--cartoes,
html[data-theme="light"] .app-main .mp-kpi--late {
  background: #fffbeb;
  border-top-color: #d97706 !important;
}
html[data-theme="light"] .app-main .mj-kpi__am,
html[data-theme="light"] .app-main .mp-kpi--late .mp-kpi__val {
  color: #b45309 !important;
}
html[data-theme="light"] .app-main .mj-kpi__sep { color: #94a3b8 !important; }
html[data-theme="light"] .app-main .mj-kpi__vm { color: #b91c1c !important; }

/* ---------- 23. Marcação "isto está sobre fundo escuro".
   A tinta base do conteúdo claro usa !important (para vencer os brancos
   cravados nos templates) e, por ser !important, atropela até estilo inline.
   Onde o fundo escuro/colorido vem de estilo inline — cabeçalhos de cartão da
   súmula, faixas coloridas — o texto ficava preto sobre azul/verde.
   Basta marcar o contêiner com .rp-sobre-escuro. ---------- */
html[data-theme="light"] .app-main .rp-sobre-escuro,
html[data-theme="light"] .app-main .rp-sobre-escuro :is(p, span, small, li, td, th, label, strong, em, i, h1, h2, h3, h4, h5, h6) {
  color: #ffffff !important;
}
html[data-theme="light"] .app-main .rp-sobre-escuro :is(.text-white-50, .text-muted, small.text-muted) {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ---------- 24. Diálogos escritos com .bg-dark .text-white (34 deles, de
   "o que fazer com o PNG?" a confirmações do financeiro). A caixa já virava
   branca pela regra de .modal-content, mas o .text-white continuava colado no
   contêiner: título e texto sumiam no branco, sobrando só o botão colorido.
   Aqui a caixa inteira é devolvida ao tema claro — inclusive os contornos
   claros dos botões, que eram invisíveis pelo mesmo motivo. ---------- */
html[data-theme="light"] .modal-content.bg-dark,
html[data-theme="light"] .modal-content.text-white {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.14) !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.modal-title, p, span, small, li, label, strong, dt, dd, th, td, h1, h2, h3, h4, h5, h6):not(.btn):not(.badge) {
  color: #1a1a2e !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.text-white-50, .text-muted, .text-secondary) {
  color: #5c6578 !important;
}
/* Utilitários de cor (ícone de vídeo em amarelo, avisos em vermelho...) nasceram
   para fundo preto; sobre o branco precisam do tom fechado. */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.text-warning, .text-warning *) {
  color: #b45309 !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.text-success, .text-success *) {
  color: #15803d !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.text-danger, .text-danger *) {
  color: #b91c1c !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.text-info, .text-info *) {
  color: #0e7490 !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.modal-header, .modal-footer, .border-secondary, hr) {
  border-color: rgba(26, 35, 126, 0.14) !important;
}
/* O X de fechar é uma imagem invertida para fundo escuro */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-close-white {
  filter: none !important;
}
/* Botões de contorno claro: a borda e a letra eram brancas */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-outline-light {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.35) !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-outline-info {
  color: #0e7490 !important;
  border-color: #0e7490 !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-outline-warning {
  color: #b45309 !important;
  border-color: #b45309 !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-outline-secondary {
  color: #475569 !important;
  border-color: rgba(71, 85, 105, 0.45) !important;
}
/* Tinta de volta ao branco quando o botão está preenchido/ativo */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.btn-success, .btn-primary, .btn-danger, .btn-warning, .btn-info, .btn-dark, .btn-outline-light:hover, .btn-outline-info:hover, .btn-outline-warning:hover, .btn-outline-secondary:hover) {
  color: #ffffff !important;
}
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn-warning {
  color: #3b2a06 !important;
}
/* Ícone e rótulo dentro do botão seguem a cor do próprio botão, não a do texto */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) .btn :is(span, small, strong, i) {
  color: inherit !important;
}
/* Campos dentro dele nasciam escuros para combinar com a caixa preta */
html[data-theme="light"] :is(.modal-content.bg-dark, .modal-content.text-white) :is(.form-control, .form-select, .input-group-text) {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}

/* ---------- 25. Painéis "escuros em transparência" (.bg-dark.bg-opacity-25, no
   bloco de dias do cadastro e da edição de atleta). Com 25% de preto sobre o
   papel branco a superfície é clara — mas a regra que devolve tinta branca a
   tudo que está sobre .bg-dark continuava valendo, e o bloco inteiro ficava
   branco no branco. Aqui a superfície é fixada em clara e a tinta, escura. ---------- */
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) {
  background-color: #f4f6fb !important;
  border: 1px solid rgba(26, 35, 126, 0.1);
}
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50),
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(p, span, small, strong, em, i, label, li, td, th, div, h1, h2, h3, h4, h5, h6):not(.btn):not(.badge) {
  color: #1a1a2e !important;
}
/* Dentro de botão, ícone e rótulo seguem a cor do botão. Os :not() só somam
   especificidade para passar à frente da regra acima. */
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.btn, .badge) :is(span, small, strong, i, div):not(.form-label):not(.form-text) {
  color: inherit !important;
}
/* Os utilitários de cor precisam de mais peso que a tinta base acima: o rótulo
   colorido ("Dias da Semana que Participa") é um <strong>, que a regra base
   também pega. Os dois :not() servem só para somar especificidade — e o ícone
   dentro do rótulo (o calendário) acompanha a mesma cor do texto, em vez de
   ficar no amarelo do fundo escuro. */
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.text-muted, .text-white-50, .text-secondary, .text-muted *):not(.btn):not(.badge) {
  color: #5c6578 !important;
}
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.text-warning, .text-warning *):not(.btn):not(.badge) {
  color: #b45309 !important;
}
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.text-success, .text-success *):not(.btn):not(.badge) {
  color: #15803d !important;
}
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.text-danger, .text-danger *):not(.btn):not(.badge) {
  color: #b91c1c !important;
}
html[data-theme="light"] .app-main :is(.bg-dark, .bg-black):is(.bg-opacity-10, .bg-opacity-25, .bg-opacity-50) :is(.text-info, .text-info *):not(.btn):not(.badge) {
  color: #0e7490 !important;
}

/* Selects do cadastro/edição de atleta (posição, estrelas, tipo): a regra
   .bg-dark * pintava o texto de branco, e o campo é fundo claro. */
html[data-theme="light"] .app-main .bg-dark :is(select, option, textarea, .form-select, .form-control),
html[data-theme="light"] #bloco-dias-e-rachas :is(select, option, textarea, .form-select, .form-control) {
  color: #1a1a2e !important;
  background-color: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.2) !important;
}

/* Cada seção do formulário de atleta tem sua cor (azul para dados pessoais,
   laranja para informações esportivas, roxo para uniforme...). Como o título é
   um h4, a regra geral de títulos pintava tudo de navy e apagava essa leitura.
   O template guarda a cor da seção em --sh-cor; aqui ela é respeitada. */
html[data-theme="light"] .app-main .section-header__tit {
  color: var(--sh-cor, #1a237e) !important;
}

html[data-theme="light"] .dash-home-hero {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .dash-home-hero-name { color: #1a1a2e !important; }
html[data-theme="light"] .dash-home-colete {
  background: #dcfce7 !important;
  color: #166534 !important;
  border: 1px solid #86efac;
}
html[data-theme="light"] .dash-ficha-dia { background: #f8fafc !important; }
html[data-theme="light"] .dash-ficha-dia-nome { color: #64748b !important; }
html[data-theme="light"] .dash-ficha-dia-pos { color: #1a1a2e !important; }
html[data-theme="light"] .dash-ficha-dia-sec { color: #64748b !important; }
html[data-theme="light"] .dash-ficha-dia-tipo { color: #475569 !important; }
html[data-theme="light"] .dash-ficha-dia-tipo.is-mensal { color: #15803d !important; }
html[data-theme="light"] .dash-home-card,
html[data-theme="light"] .dash-chip {
  background: #ffffff !important;
  border-color: rgba(26, 35, 126, 0.12) !important;
}
html[data-theme="light"] .dash-chip-k,
html[data-theme="light"] .dash-next-k,
html[data-theme="light"] .dash-next-meta,
html[data-theme="light"] .dash-chip-s,
html[data-theme="light"] .dash-game-dia { color: #64748b !important; }
html[data-theme="light"] .dash-chip-v,
html[data-theme="light"] .dash-next-title,
html[data-theme="light"] .dash-game-date,
html[data-theme="light"] .dash-stat-gols .val { color: #1a1a2e !important; }
html[data-theme="light"] .dash-tabs .nav-link { color: #334155 !important; }
html[data-theme="light"] .dash-stat-row { color: #334155 !important; }
html[data-theme="light"] .dash-stat-gols {
  background: rgba(205, 220, 57, 0.18) !important;
}
html[data-theme="light"] .dash-stat-gols .lab { color: #334155 !important; }
html[data-theme="light"] .dash-ved-item { background: #f1f5f9 !important; }
html[data-theme="light"] .dash-prox-row,
html[data-theme="light"] .dash-game { border-bottom-color: rgba(26, 35, 126, 0.08) !important; }
html[data-theme="light"] .dash-home-card .card-body { color: #1a1a2e !important; }
html[data-theme="light"] .dash-muted { color: #64748b !important; }
html[data-theme="light"] .dash-st--ok { background: #dcfce7 !important; color: #166534 !important; }
html[data-theme="light"] .dash-st--wait { background: #fef3c7 !important; color: #92400e !important; }
html[data-theme="light"] .dash-st--no { background: #ecfccb !important; color: #3f6212 !important; }
html[data-theme="light"] .dash-cmp-lab { color: #64748b !important; }
html[data-theme="light"] .dash-cmp-cell { color: #1a1a2e !important; }
html[data-theme="light"] .dash-cmp-row { border-bottom-color: rgba(26, 35, 126, 0.08) !important; }
html[data-theme="light"] .dash-cmp-h--terca { color: #b45309 !important; }
html[data-theme="light"] .dash-cmp-h--quinta { color: #1d4ed8 !important; }
html[data-theme="light"] .dash-cmp-h--sabado { color: #6d28d9 !important; }

/* Retirar presença / ausente / desistir: no claro o âmbar/vermelho pálido sumia no fundo branco */
html[data-theme="light"] .app-main .btn-retirar-presenca,
html[data-theme="light"] .app-main .btn-retirar-presenca * {
  color: #92400e !important;
  background: #fde68a !important;
  border-color: #d97706 !important;
}
html[data-theme="light"] .app-main .btn-retirar-presenca:hover,
html[data-theme="light"] .app-main .btn-retirar-presenca:hover * {
  color: #78350f !important;
  background: #fbbf24 !important;
  border-color: #b45309 !important;
}
html[data-theme="light"] .app-main .btn-ausente-racha,
html[data-theme="light"] .app-main .btn-ausente-racha *,
html[data-theme="light"] .app-main .form-desistir-com-punicao .racha-detalhes-acao-btn,
html[data-theme="light"] .app-main .form-desistir-com-punicao .racha-detalhes-acao-btn * {
  color: #991b1b !important;
  background: #fecaca !important;
  border-color: #dc2626 !important;
}
html[data-theme="light"] .app-main .btn-ausente-racha:hover,
html[data-theme="light"] .app-main .btn-ausente-racha:hover *,
html[data-theme="light"] .app-main .form-desistir-com-punicao .racha-detalhes-acao-btn:hover,
html[data-theme="light"] .app-main .form-desistir-com-punicao .racha-detalhes-acao-btn:hover * {
  color: #7f1d1d !important;
  background: #fca5a5 !important;
  border-color: #b91c1c !important;
}

#rpPushBanner {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 16px;
  z-index: 1080;
  background: var(--rp-surface);
  color: var(--rp-text);
  border: 1px solid var(--rp-border);
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: var(--rp-shadow);
}
#rpPushBanner[hidden] {
  display: none !important;
}
body.racha-has-bottom-nav-atleta #rpPushBanner,
body.racha-has-bottom-nav-diretoria #rpPushBanner {
  bottom: 88px;
}
#rpPushBanner p {
  margin: 0 0 10px;
  font-size: 0.92rem;
  line-height: 1.35;
  color: var(--rp-text);
}
#rpPushBanner .rp-push-banner-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#rpPushBanner [data-rp-push-on] {
  border: 0;
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  font-weight: 700;
  background: var(--lime-green);
  color: var(--rp-on-lime, #14210a);
}
#rpPushBanner [data-rp-push-off] {
  border: 1px solid var(--rp-border);
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  background: var(--rp-chip-bg);
  color: var(--rp-text-soft);
}

.rp-push-top-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: 2.2rem;
  padding: 0.42rem 0.5rem;
  border-radius: 999px;
  border: 1px solid rgba(205, 220, 57, 0.45);
  background: rgba(205, 220, 57, 0.12);
  color: #e8f08a;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.rp-push-top-btn:hover {
  background: rgba(205, 220, 57, 0.22);
  color: #fff;
}
.rp-push-top-btn i { font-size: 0.95rem; }
.rp-push-top-btn.is-on {
  background: var(--lime-green);
  border-color: var(--lime-green);
  color: #14210a;
}
.racha-topbar .rp-push-top-btn {
  border-color: rgba(205, 220, 57, 0.55);
  color: #e8f08a;
}
.racha-topbar .rp-push-top-btn.is-on {
  color: #14210a;
}
html[data-theme="light"] .racha-topbar .rp-push-top-btn,
html[data-theme="light"] .racha-topbar .rp-push-top-btn i,
html[data-theme="light"] .racha-topbar .rp-push-top-btn .rp-push-top-btn__label {
  color: var(--rp-on-dark, #f8fafc) !important;
}
html[data-theme="light"] .racha-topbar .rp-push-top-btn.is-on,
html[data-theme="light"] .racha-topbar .rp-push-top-btn.is-on i,
html[data-theme="light"] .racha-topbar .rp-push-top-btn.is-on .rp-push-top-btn__label {
  color: #14210a !important;
}

#rpPushModal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(10, 14, 28, 0.55);
}
#rpPushModal[hidden] {
  display: none !important;
}
/* Faixa e modal de “ativar avisos”: nunca mostrar. Só o sino. */
#rpPushBanner,
#rpPushModal {
  display: none !important;
}
.rp-push-modal-box {
  width: 100%;
  max-width: 22rem;
  background: var(--rp-surface, #fff);
  color: var(--rp-text, #1a1a2e);
  border: 1px solid var(--rp-border, rgba(26, 35, 126, 0.14));
  border-radius: 16px;
  padding: 1.15rem 1.2rem 1.05rem;
  box-shadow: var(--rp-shadow, 0 12px 40px rgba(0, 0, 0, 0.25));
}
.rp-push-modal-box h3 {
  margin: 0 0 0.55rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--rp-heading, #1a237e);
  line-height: 1.3;
}
.rp-push-modal-box p {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.4;
  color: var(--rp-text-soft, var(--rp-text));
}
.rp-push-modal-acoes {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.rp-push-modal-acoes [data-rp-push-modal-cancel] {
  border: 1px solid var(--rp-border);
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
  background: var(--rp-chip-bg, #f3f5fa);
  color: var(--rp-text-soft, #3d4659);
  font-weight: 700;
}
.rp-push-modal-acoes [data-rp-push-modal-ok] {
  border: 0;
  border-radius: 999px;
  padding: 0.45rem 0.95rem;
  background: var(--lime-green);
  color: var(--rp-on-lime, #14210a);
  font-weight: 800;
}

.rp-avisos-h {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--rp-heading);
}
.rp-avisos-lead,
.rp-avisos-vazio {
  color: var(--rp-text-soft);
  font-size: 0.95rem;
}
.rp-avisos-voltar {
  color: var(--rp-text-soft);
  font-weight: 700;
  text-decoration: none;
}
.rp-avisos-btn-admin {
  border: 1px solid var(--rp-border);
  background: var(--rp-chip-bg);
  color: var(--rp-text);
  font-weight: 700;
}
.rp-avisos-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.65rem;
}
.rp-avisos-card {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  background: var(--rp-surface-card);
  border: 1px solid var(--rp-border);
  color: var(--rp-text);
  text-decoration: none;
}
.rp-avisos-card strong {
  color: var(--rp-heading);
  font-size: 1.02rem;
}
.rp-avisos-card-k,
.rp-avisos-card-s {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--rp-text-muted);
}
.rp-avisos-card.is-new {
  border-color: var(--rp-border-accent, var(--lime-green));
}
.rp-avisos-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  background: var(--lime-green);
  vertical-align: middle;
}
.rp-avisos-admin-acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin-top: 0.35rem;
}
.rp-avisos-admin-acoes form { margin: 0; }
.rp-avisos-admin-acoes a,
.rp-avisos-btn-acao {
  font-weight: 700;
  color: var(--rp-text-soft);
  background: none;
  border: 0;
  padding: 0;
  text-decoration: none;
}
.rp-avisos-btn-acao.is-danger {
  color: var(--rp-danger, #dc3545) !important;
}
.rp-aviso-papel {
  background: #f4efe4;
  color: #1a1914;
  border-radius: 16px;
  padding: 1.2rem 1.15rem 1.4rem;
  border: 1px solid rgba(26, 25, 20, 0.12);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}
.rp-aviso-papel-meta {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #5c5648;
}
.rp-aviso-papel h1 {
  margin: 0 0 0.85rem;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
  color: #1a1914;
}
.rp-aviso-corpo {
  font-size: 1.05rem;
  line-height: 1.55;
  color: #1a1914;
}
/* Paleta do editor: o tema claro pinta span/p/strong com !important e
   apagava a cor na leitura. Estas classes ganham na especificidade. */
html[data-theme="light"] .rp-aviso-papel .rp-av-c-0f172a,
.rp-aviso-papel .rp-av-c-0f172a { color: #0f172a !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-111827,
.rp-aviso-papel .rp-av-c-111827 { color: #111827 !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-b91c1c,
.rp-aviso-papel .rp-av-c-b91c1c { color: #b91c1c !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-1d4ed8,
.rp-aviso-papel .rp-av-c-1d4ed8 { color: #1d4ed8 !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-15803d,
.rp-aviso-papel .rp-av-c-15803d { color: #15803d !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-c2410c,
.rp-aviso-papel .rp-av-c-c2410c { color: #c2410c !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-6d28d9,
.rp-aviso-papel .rp-av-c-6d28d9 { color: #6d28d9 !important; }
html[data-theme="light"] .rp-aviso-papel .rp-av-c-b45309,
.rp-aviso-papel .rp-av-c-b45309 { color: #b45309 !important; }
.rp-aviso-corpo p {
  margin: 0 0 0.75rem;
}
.rp-aviso-corpo h2,
.rp-aviso-corpo h3 {
  margin: 1rem 0 0.45rem;
  font-size: 1.12rem;
  font-weight: 800;
  color: #1a1914;
}
.rp-aviso-corpo ul,
.rp-aviso-corpo ol {
  margin: 0 0 0.75rem;
  padding-left: 1.2rem;
}
.rp-aviso-label {
  display: block;
  margin: 0.85rem 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--rp-heading);
}
.rp-aviso-input {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--rp-border);
  background: var(--rp-input-bg);
  color: var(--rp-text);
  padding: 0.55rem 0.75rem;
  font-weight: 600;
}
.rp-aviso-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
  align-items: center;
}
.rp-aviso-toolbar button {
  border: 1px solid var(--rp-border);
  background: var(--rp-chip-bg);
  color: var(--rp-text);
  border-radius: 8px;
  padding: 0.28rem 0.5rem;
  font-weight: 800;
  min-width: 2rem;
}
.rp-aviso-toolbar-cores {
  display: inline-flex;
  gap: 0.28rem;
  margin-left: 0.25rem;
}
.rp-aviso-toolbar-cores button {
  width: 1.35rem;
  height: 1.35rem;
  min-width: 0;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--rp-border);
}
.rp-aviso-editor {
  min-height: 12rem;
  outline: none;
}
.rp-aviso-editor:focus {
  box-shadow: 0 0 0 3px rgba(163, 230, 53, 0.35);
}
.rp-aviso-form-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.rp-aviso-btn-ghost {
  border: 1px solid var(--rp-border);
  background: var(--rp-chip-bg);
  color: var(--rp-text);
  font-weight: 700;
}

/* Lista de chegada: no tema claro o painel deixa de ser “modo escuro”. */
html[data-theme="light"] .racha-topbar .btn-outline-light,
html[data-theme="light"] .racha-topbar .btn-outline-light i,
html[data-theme="light"] .racha-topbar .btn-outline-light span {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-topbar .btn-outline-light {
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
}

html[data-theme="light"] .lista-presenca-page .lp-dashboard {
  background: var(--rp-surface-card, #fff) !important;
  border: 1px solid var(--rp-border, rgba(26, 35, 126, 0.14)) !important;
  box-shadow: 0 8px 24px rgba(26, 35, 126, 0.08);
}
html[data-theme="light"] .lista-presenca-page .lp-dash-titulo {
  color: var(--rp-heading, #1a237e) !important;
}
html[data-theme="light"] .lista-presenca-page .lp-dash-sub,
html[data-theme="light"] .lista-presenca-page .lp-dash-sub * {
  color: var(--rp-text-muted, #5c6578) !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--chegou {
  background: #ecfdf3 !important;
  border-color: #16a34a !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--chegou .lp-cnt-num {
  color: #15803d !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--aguarda {
  background: #f1f5f9 !important;
  border-color: #94a3b8 !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--aguarda .lp-cnt-num {
  color: #334155 !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--total {
  background: #f7fee7 !important;
  border-color: #65a30d !important;
}
html[data-theme="light"] .lista-presenca-page .lp-contador--total .lp-cnt-num {
  color: #3f6212 !important;
}
html[data-theme="light"] .lista-presenca-page .lp-cnt-label {
  color: #4b5563 !important;
}
html[data-theme="light"] .lista-presenca-page .lp-progress-wrap {
  background: rgba(26, 35, 126, 0.1) !important;
}
html[data-theme="light"] .lista-presenca-page .lp-busca-input {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .lista-presenca-page .lp-busca-input::placeholder {
  color: #6b7280 !important;
}
html[data-theme="light"] .lista-presenca-page .lp-busca-icon,
html[data-theme="light"] .lista-presenca-page .lp-busca-icon i {
  color: #64748b !important;
}

html[data-theme="light"] .lista-presenca-page .card-header {
  background: var(--rp-table-head, #eef2ff) !important;
  border-bottom: 2px solid var(--lime-green) !important;
}
html[data-theme="light"] .lista-presenca-page .card-header,
html[data-theme="light"] .lista-presenca-page .card-header *:not(.btn) {
  color: var(--rp-heading, #1a237e) !important;
}
html[data-theme="light"] .lista-presenca-page .card-header i {
  color: #4d7c0f !important;
}
html[data-theme="light"] .lista-presenca-page .card-header .btn-outline-light,
html[data-theme="light"] .lista-presenca-page .card-header .btn-outline-light i {
  color: #1a237e !important;
  border-color: rgba(26, 35, 126, 0.28) !important;
  background: #fff !important;
}

html[data-theme="light"] .lista-presenca-page .rp-card {
  background: var(--rp-surface-card, #fff) !important;
  border-color: var(--rp-border, rgba(26, 35, 126, 0.14)) !important;
}
html[data-theme="light"] .lista-presenca-page .rp-header {
  border-bottom-color: var(--rp-border) !important;
}
html[data-theme="light"] .lista-presenca-page .rp-title,
html[data-theme="light"] .lista-presenca-page .rp-icon {
  color: var(--rp-heading, #1a237e) !important;
}
html[data-theme="light"] .lista-presenca-page .rp-sub {
  color: var(--rp-text-muted, #5c6578) !important;
}
html[data-theme="light"] .lista-presenca-page .rp-search-input,
html[data-theme="light"] .lista-presenca-page .registrar-presenca-busca-input {
  background: #ffffff !important;
  color: #1a1a2e !important;
  border-color: rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .lista-presenca-page .rp-search-icon {
  color: #64748b !important;
}

html[data-theme="light"] .lista-presenca-page .lp-nome,
html[data-theme="light"] .lista-presenca-page .lp-mob-nome,
html[data-theme="light"] .lista-presenca-page .lista-presenca-nome,
html[data-theme="light"] .lista-presenca-page .lista-presenca-nome strong {
  color: #1a1a2e !important;
}
html[data-theme="light"] .lista-presenca-page .lp-colete,
html[data-theme="light"] .lista-presenca-page .lp-mob-num {
  color: #3f6212 !important;
}
html[data-theme="light"] .lista-presenca-page .hora-confirmacao-inscricao {
  color: #5c6578 !important;
}
html[data-theme="light"] #lp-timer-bar {
  background: #eef2ff !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
}
html[data-theme="light"] #lp-timer-bar,
html[data-theme="light"] #lp-timer-bar span,
html[data-theme="light"] #lp-timer-bar i {
  color: #1a237e !important;
}
html[data-theme="light"] #lp-pos-nav > span {
  color: #64748b !important;
}

/* Face ID / digital — cartão de ativação (dashboard, conta, diretoria) */
.rp-passkey-card {
  border-radius: 12px;
  padding: 0.85rem 1rem;
  background: var(--rp-chip-bg);
  border: 1px solid var(--rp-border-accent);
}
.rp-passkey-card h6 {
  margin: 0 0 0.25rem;
  font-weight: 800;
  font-size: 0.92rem;
  color: var(--rp-heading);
}
.rp-passkey-card p,
.rp-passkey-conta > p,
.rp-passkey-conta li {
  color: var(--rp-text-soft);
}
.rp-passkey-conta > h6 {
  color: var(--rp-heading);
  font-weight: 800;
}
.rp-passkey-on {
  background: var(--lime-green);
  color: var(--rp-on-lime, #14210a);
  font-weight: 800;
  border: 0;
}
.rp-passkey-on:hover,
.rp-passkey-on:focus {
  background: var(--lime-green);
  color: var(--rp-on-lime, #14210a);
  filter: brightness(1.04);
}
.rp-passkey-skip {
  background: transparent;
  color: var(--rp-text-muted);
  border: 1px solid var(--rp-border);
  font-weight: 650;
}
.rp-passkey-skip:hover,
.rp-passkey-skip:focus {
  color: var(--rp-text);
  border-color: var(--rp-border-accent);
  background: var(--rp-hover);
}
.rp-passkey-card .is-err {
  color: #fca5a5;
}
html[data-theme="light"] .rp-passkey-card .is-err {
  color: var(--rp-danger, #b91c1c);
}
html[data-theme="light"] .rp-passkey-card {
  background: #ecfccb;
  border-color: #65a30d;
}
html[data-theme="light"] .rp-passkey-card h6 {
  color: #3f6212;
}
html[data-theme="light"] .rp-passkey-card p {
  color: var(--rp-text);
}

/* Ficha do atleta — cards do Resumo (Jogos, Gols…): lima/branco no extra_css
   sumiam no fundo claro. Número navy, rótulo muted, chip opaco. */
html[data-theme="light"] .app-main .ficha-stat {
  background: #eef1f8 !important;
  border: 1px solid rgba(26, 35, 126, 0.22) !important;
}
html[data-theme="light"] .app-main .ficha-stat .n,
html[data-theme="light"] .app-main .ficha .ficha-stat .n {
  color: #0d1244 !important;
}
html[data-theme="light"] .app-main .ficha-stat .l,
html[data-theme="light"] .app-main .ficha .ficha-stat .l {
  color: #3d4659 !important;
}

/* Modal PIX no celular: o chrome trava o body (não rola). Sem isso, depois
   de gerar o QR a tela parece congelada e o Copiar fica fora do alcance. */
@media (max-width: 991.98px) {
  html.racha-lock-mobile-chrome body.modal-open .modal {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  html.racha-lock-mobile-chrome body.modal-open .modal .modal-dialog {
    margin: 0.6rem auto 4.5rem;
    max-width: calc(100% - 0.8rem);
  }
  html.racha-lock-mobile-chrome body.modal-open .modal-dialog-centered {
    min-height: 0;
    align-items: flex-start;
  }
}
#modalPix .modal-dialog,
#modalPixDashboard .modal-dialog {
  max-height: min(92dvh, 100%);
}
#modalPix .btn-rp-pix-copiar,
#modalPixDashboard .btn-rp-pix-copiar {
  min-height: 44px;
  font-weight: 700;
}

/* Folha PIX: cobre o app inteiro; não depende do modal Bootstrap. */
html.rp-pix-open,
html.rp-pix-open body,
html.racha-lock-mobile-chrome.rp-pix-open,
html.racha-lock-mobile-chrome.rp-pix-open body,
html.racha-lock-mobile-chrome.rp-pix-open .app-shell,
html.racha-lock-mobile-chrome.rp-pix-open .app-main {
  overflow: hidden !important;
}
.rp-pix-sheet {
  --rp-pix-font: 'Inter', 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
  position: fixed;
  inset: 0;
  z-index: 50000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 1rem 0.75rem 4.5rem;
  font-family: var(--rp-pix-font) !important;
  -webkit-font-smoothing: antialiased;
}
.rp-pix-sheet,
.rp-pix-sheet h5,
.rp-pix-sheet p,
.rp-pix-sheet button,
.rp-pix-sheet input,
.rp-pix-sheet label {
  font-family: var(--rp-pix-font) !important;
}
.rp-pix-sheet .bi {
  font-family: bootstrap-icons !important;
}
.rp-pix-sheet[hidden] { display: none !important; }
.rp-pix-sheet__box {
  width: 100%;
  max-width: 500px;
  margin: auto;
  background: #212529;
  border: 2px solid var(--lime-green, #cddc39);
  border-radius: 0.5rem;
  color: #fff;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}
.rp-pix-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1rem 0.85rem;
  border-bottom: 1px solid #495057;
}
.rp-pix-sheet__tit {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  color: #198754;
}
.rp-pix-sheet__tit i { margin-right: 0.35rem; }
.rp-pix-sheet__fechar {
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  opacity: 0.8;
}
.rp-pix-sheet__body {
  padding: 1rem 1rem 1.15rem;
  text-align: center;
}
.rp-pix-sheet__desc {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 400;
  color: #f8f9fa;
}
.rp-pix-sheet__valor {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  font-weight: 500;
  color: #198754;
}
.rp-pix-sheet__load { padding: 1.5rem 0; color: #fff; }
.rp-pix-sheet__load p { margin: 0.75rem 0 0; font-size: 1rem; }
.rp-pix-sheet__ajuda {
  margin: 0 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.5);
}
.rp-pix-sheet__qr {
  display: inline-block;
  max-width: 220px;
  width: 100%;
  height: auto;
  margin: 0 auto 0.75rem;
  border: 4px solid #fff;
  border-radius: 8px;
  background: #fff;
}
.rp-pix-sheet__qr[hidden] { display: none !important; }
.rp-pix-sheet__copia {
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
}
.rp-pix-sheet__codigo {
  flex: 1;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 0.875rem;
  color: #fff;
  background: #6c757d;
  border: 1px solid #6c757d;
  border-right: 0;
  border-radius: 0.375rem 0 0 0.375rem;
  padding: 0.375rem 0.75rem;
}
.rp-pix-sheet__copiar {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  background: #198754;
  border: 1px solid #198754;
  border-radius: 0 0.375rem 0.375rem 0;
}
.rp-pix-sheet__copiar i { color: inherit; }
.rp-pix-sheet__dica {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #ffc107;
  line-height: 1.4;
}
.rp-pix-sheet__verif {
  min-height: 31px;
  margin-top: 1rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #198754;
  background: transparent;
  border: 1px solid #198754;
  border-radius: 0.375rem;
}
.rp-pix-sheet__verif i { color: inherit; }
.rp-pix-sheet__erro { color: #dc3545; font-weight: 400; margin: 0.5rem 0; }
.rp-pix-sheet__ok { color: #198754; font-weight: 500; font-size: 1.25rem; margin: 1rem 0; }

html[data-theme="light"] .rp-pix-sheet,
html[data-theme="light"] .rp-pix-sheet :is(p, h5, span, small, strong, em, i, label, button, input) {
  color: #ffffff !important;
}
html[data-theme="light"] .rp-pix-sheet__box {
  background: #212529 !important;
  border-color: #cddc39 !important;
}
html[data-theme="light"] .rp-pix-sheet__tit,
html[data-theme="light"] .rp-pix-sheet__valor,
html[data-theme="light"] .rp-pix-sheet__ok,
html[data-theme="light"] .rp-pix-sheet__verif,
html[data-theme="light"] .rp-pix-sheet__verif i {
  color: #75b798 !important;
}
html[data-theme="light"] .rp-pix-sheet__verif {
  background: transparent !important;
  border: 1px solid #75b798 !important;
}
html[data-theme="light"] .rp-pix-sheet__dica {
  color: #ffc107 !important;
}
html[data-theme="light"] .rp-pix-sheet__ajuda {
  color: rgba(255, 255, 255, 0.5) !important;
}
html[data-theme="light"] .rp-pix-sheet__codigo {
  color: #ffffff !important;
  background: #6c757d !important;
}
html[data-theme="light"] .rp-pix-sheet__copiar,
html[data-theme="light"] .rp-pix-sheet__copiar i {
  color: #ffffff !important;
  background: #198754 !important;
}

/* Modal PIX antigo (Bootstrap): no claro o fundo vira branco e o amarelo/contorno some. */
html[data-theme="light"] #modalPix .text-warning,
html[data-theme="light"] #modalPixDashboard .text-warning,
html[data-theme="light"] #modalPix p.text-warning,
html[data-theme="light"] #modalPixDashboard p.text-warning {
  color: #b45309 !important;
}
html[data-theme="light"] #modalPix .btn-outline-success,
html[data-theme="light"] #modalPixDashboard .btn-outline-success,
html[data-theme="light"] #modalPix .btn-outline-success i,
html[data-theme="light"] #modalPixDashboard .btn-outline-success i {
  color: #15803d !important;
  border-color: #15803d !important;
  background: #ffffff !important;
}

/* Ficha do atleta: card de punição no tema claro (fundo claro pede tinta escura). */
html[data-theme="light"] .pun-item {
  background: #fde8ea !important;
  border-color: #e7a0a8 !important;
}
html[data-theme="light"] .pun-item,
html[data-theme="light"] .pun-item .t,
html[data-theme="light"] .pun-item .d,
html[data-theme="light"] .pun-item .d span {
  color: #7f1d1d !important;
}
html[data-theme="light"] .pun-item .text-muted {
  color: #9f2a2a !important;
}
html[data-theme="light"] .pun-vazio {
  color: #3d4659 !important;
}
html[data-theme="light"] .pun-item .badge.bg-danger {
  color: #ffffff !important;
  background: #dc3545 !important;
}
html[data-theme="light"] .pun-item .badge.bg-secondary {
  color: #ffffff !important;
  background: #475569 !important;
}

html[data-theme="light"] .ficha .nav-pills .nav-link {
  color: #1a237e !important;
  background: #eef1f8 !important;
  border-color: rgba(26, 35, 126, 0.16) !important;
}
html[data-theme="light"] .ficha .nav-pills .nav-link .pill-count {
  background: rgba(26, 35, 126, 0.12) !important;
  color: #1a237e !important;
}
html[data-theme="light"] .ficha .nav-pills .nav-link.active {
  background: var(--lime-green) !important;
  color: #0b1020 !important;
  border-color: transparent !important;
}
html[data-theme="light"] .ficha .nav-pills .nav-link.active .pill-count {
  background: rgba(11, 16, 32, 0.18) !important;
  color: #0b1020 !important;
}
html[data-theme="light"] .ficha .hist-dia-meta,
html[data-theme="light"] .ficha .table-hist .text-info {
  color: #0369a1 !important;
}
html[data-theme="light"] .ficha .hist-dia-meta {
  color: #3d4659 !important;
}
html[data-theme="light"] .ficha summary {
  color: #3d4659 !important;
}

/* Pills Time A–D: cor do colete (config da escalação). Tinta própria — o tema claro pinta span de preto. */
.rp-time-pill {
  display: inline-block;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.3;
  white-space: nowrap;
  border: 1px solid rgba(0, 0, 0, 0.18);
}
.rp-time-pill--preto { background: #111827; color: #fff !important; }
.rp-time-pill--verde { background: #15803d; color: #fff !important; }
.rp-time-pill--azul { background: #1d4ed8; color: #fff !important; }
.rp-time-pill--amarelo { background: #eab308; color: #1a1a2e !important; }
html[data-theme="light"] .app-main .rp-time-pill--preto { color: #fff !important; }
html[data-theme="light"] .app-main .rp-time-pill--verde { color: #fff !important; }
html[data-theme="light"] .app-main .rp-time-pill--azul { color: #fff !important; }
html[data-theme="light"] .app-main .rp-time-pill--amarelo { color: #1a1a2e !important; }

html[data-theme="light"] .rl-mes__lab {
  color: #5c6578 !important;
}
html[data-theme="light"] .rl-mes__sel {
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%231a237e' d='M1 1l5 5 5-5'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right .7rem center !important;
  border-color: rgba(26, 35, 126, 0.18) !important;
  color: #1a1a2e !important;
}

/* Modal aniversariantes — painel escuro declarado (foto, nome, data). */
.rp-niver {
  position: fixed;
  inset: 0;
  z-index: 40000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0.85rem 5rem;
  background: rgba(7, 10, 28, 0.62);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.rp-niver__box {
  position: relative;
  width: 100%;
  max-width: 22.5rem;
  margin: auto;
  padding: 1.45rem 1.2rem 1.35rem;
  border-radius: 22px;
  background:
    radial-gradient(420px 180px at 50% -10%, rgba(205, 220, 57, 0.22), transparent 58%),
    linear-gradient(165deg, #24318f 0%, #12184a 48%, #0a102c 100%);
  border: 1px solid rgba(205, 220, 57, 0.45);
  color: #fff;
  text-align: center;
  box-shadow: 0 22px 50px rgba(8, 12, 40, 0.55);
  overflow: hidden;
}
.rp-niver__box::before,
.rp-niver__box::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.rp-niver__box::before {
  width: 140px;
  height: 140px;
  right: -48px;
  top: -42px;
  background: rgba(205, 220, 57, 0.12);
}
.rp-niver__box::after {
  width: 90px;
  height: 90px;
  left: -30px;
  bottom: 40px;
  background: rgba(66, 165, 245, 0.12);
}
.rp-niver__x {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
}
.rp-niver__selo {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.65rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lime-green, #cddc39);
  color: #0b1020;
  font-size: 1.25rem;
  box-shadow: 0 8px 20px rgba(205, 220, 57, 0.28);
  position: relative;
  z-index: 1;
}
.rp-niver__eyebrow {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(205, 220, 57, 0.95);
  position: relative;
  z-index: 1;
}
.rp-niver__tit {
  margin: 0.2rem 0 1rem;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
  position: relative;
  z-index: 1;
}
.rp-niver__lista {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  position: relative;
  z-index: 1;
}
.rp-niver__card {
  flex: 1 1 8.5rem;
  max-width: 14rem;
}
.rp-niver__lista--um .rp-niver__card {
  flex: 1 1 auto;
  max-width: none;
}
.rp-niver__lista--dois {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 0.65rem;
}
.rp-niver__lista--dois .rp-niver__card {
  flex: none;
  max-width: none;
}
.rp-niver__lista--varios {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  max-height: 52vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  text-align: left;
}
.rp-niver__lista--varios .rp-niver__card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: none;
  max-width: none;
  padding: 0.5rem 0.6rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.07);
  text-align: left;
}
.rp-niver__foto-wrap {
  width: 118px;
  height: 118px;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  padding: 4px;
  background: linear-gradient(145deg, #cddc39, #81c784 55%, #42a5f5);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}
.rp-niver__lista--um .rp-niver__foto-wrap {
  width: 132px;
  height: 132px;
}
.rp-niver__lista--dois .rp-niver__foto-wrap {
  width: 88px;
  height: 88px;
  margin-bottom: 0.55rem;
  padding: 3px;
}
.rp-niver__lista--varios .rp-niver__foto-wrap {
  width: 56px;
  height: 56px;
  margin: 0;
  flex-shrink: 0;
  padding: 2px;
  box-shadow: none;
}
.rp-niver__foto,
.rp-niver__ini {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  background: #0d1244;
  border: 3px solid #12184a;
}
.rp-niver__ini {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: 800;
  color: #0d1244;
  background: #cddc39;
  border-color: #0d1244;
}
.rp-niver__nome {
  margin: 0;
  font-size: 1.22rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}
.rp-niver__lista--um .rp-niver__nome {
  font-size: 1.4rem;
}
.rp-niver__lista--dois .rp-niver__nome {
  font-size: 0.88rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rp-niver__lista--varios .rp-niver__nome {
  font-size: 0.95rem;
}
.rp-niver__lista--varios .rp-niver__foto,
.rp-niver__lista--varios .rp-niver__ini {
  border-width: 2px;
}
.rp-niver__lista--varios .rp-niver__ini {
  font-size: 1.15rem;
}
.rp-niver__lista--dois .rp-niver__quando,
.rp-niver__lista--varios .rp-niver__quando {
  margin-top: 0.15rem;
  font-size: 0.75rem;
}
.rp-niver__data {
  margin: 0.4rem 0 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: #e8f0a8;
}
.rp-niver__quando {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72);
}
.rp-niver__idade {
  font-weight: 700;
  color: inherit;
}
.rp-niver__ok {
  position: relative;
  z-index: 1;
  margin-top: 1.2rem;
  min-height: 44px;
  min-width: 8.5rem;
  padding: 0.5rem 1.4rem;
  border: 0;
  border-radius: 999px;
  background: var(--lime-green, #cddc39);
  color: #0b1020;
  font-weight: 800;
  font-size: 0.95rem;
  box-shadow: 0 8px 18px rgba(205, 220, 57, 0.25);
}
html[data-theme="light"] .rp-niver__box,
html[data-theme="light"] .rp-niver__box :is(p, h2, h3, span, small, button, i) {
  color: #ffffff !important;
}
html[data-theme="light"] .rp-niver__eyebrow,
html[data-theme="light"] .rp-niver__data {
  color: #e8f0a8 !important;
}
html[data-theme="light"] .rp-niver__quando,
html[data-theme="light"] .rp-niver__idade {
  color: rgba(255, 255, 255, 0.78) !important;
}
html[data-theme="light"] .rp-niver__ini {
  color: #0d1244 !important;
}
html[data-theme="light"] .rp-niver__selo i {
  color: #0b1020 !important;
}
html[data-theme="light"] .rp-niver__ok {
  color: #0b1020 !important;
  background: #cddc39 !important;
}

/* Resumo do racha: goleiros, linha e espera na mesma linha */
.racha-confirmados-split {
  margin-top: 0.2rem;
}
.racha-confirmados-juntos {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--rp-text);
}
.racha-confirmados-juntos strong {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--rp-heading);
}
.racha-confirmados-juntos__dot {
  margin: 0 0.28rem;
  font-weight: 500;
  color: var(--rp-text-muted);
}
html[data-theme="light"] .racha-confirmados-juntos {
  color: #1a1a2e !important;
}
html[data-theme="light"] .racha-confirmados-juntos strong {
  color: #1a237e !important;
}
html[data-theme="light"] .racha-confirmados-juntos__dot {
  color: #64748b !important;
}
