/* =========================================================
   V53 — IDENTIDADE FUTEBOL REAL
   Linguagem de elenco, súmula, placar e extrato.
   Menos caixas soltas, menos efeito artificial, mais leitura de futebol.
   ========================================================= */
:root {
  --v53-ink: #18384a;
  --v53-muted: #5c7482;
  --v53-line: #d6e0e5;
  --v53-line-soft: #e8eef1;
  --v53-paper: #ffffff;
  --v53-canvas: #eef3f5;
  --v53-navy: #13394f;
  --v53-blue: #146fbd;
  --v53-green: #18754f;
  --v53-red: #a93f4a;
  --v53-gold: #a8791d;
  --v53-radius: 14px;
  --v53-shadow: 0 4px 12px rgba(27, 59, 78, .045);
}

body { background: var(--v53-canvas); color: var(--v53-ink); }
.content { background: transparent; }
.topbar {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--v53-line);
  box-shadow: 0 2px 8px rgba(27,59,78,.035);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bottom-nav {
  background: rgba(255,255,255,.985);
  border-top: 1px solid var(--v53-line);
  box-shadow: 0 -3px 10px rgba(27,59,78,.04);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.nav-item { border-radius: 10px; }
.nav-item.active { background: #edf6fb; box-shadow: inset 0 2px 0 var(--v53-blue); }
.nav-item > img.icon { width: 23px; height: 23px; }
.brand-mini img { filter: none; }

/* Ícones locais: desenho limpo, sem brilho 3D. */
img.icon, img.rank-emblem, img.team-emblem, img.team-affiliation-icon { filter: none !important; }

/* Capa: mantém foto real quando existe e evita efeito de banner genérico. */
.home-hero-premium {
  border: 1px solid #c9d7de;
  border-radius: 18px;
  box-shadow: var(--v53-shadow);
}
.home-hero-premium .hero-overlay { background: linear-gradient(90deg, rgba(8,32,45,.86), rgba(8,32,45,.54) 58%, rgba(8,32,45,.26)); }
.home-hero-premium .hero-field-art { background: #1d6249; }
.home-hero-premium .hero-field-art::before,
.home-hero-premium .hero-field-art::after { opacity: .28; }
.hero-brand-logo { filter: none; }
.hero-signature { background: rgba(9,39,52,.68); border-color: rgba(255,255,255,.22); }

/* Próximo jogo / resultado = painel esportivo, sem brilho radial. */
.home-spotlight {
  min-height: 86px;
  color: #f8fbfd;
  background: var(--v53-navy) !important;
  border: 1px solid #244e64;
  border-left: 5px solid var(--spot-accent, #4f9bd0);
  border-radius: 15px;
  box-shadow: var(--v53-shadow);
}
.home-spotlight.presence { --spot-accent: #33a772; }
.home-spotlight.result { --spot-accent: #4c9fdb; }
.home-spotlight.draw { --spot-accent: #8c77c9; }
.home-spotlight.cancelled { --spot-accent: #d35d66; }
.home-spotlight::after { display: none; }
.home-spotlight-icon { width: 42px; height: 42px; background: transparent; border: 0; border-radius: 0; }
.home-spotlight-icon .icon { width: 30px; height: 30px; }
.home-spotlight-copy small { font-size: 10.5px; letter-spacing: .08em; }
.home-spotlight-copy em { font-size: 11px; }
.home-spotlight-stat { border-left: 1px solid rgba(255,255,255,.2); padding-left: 10px; }

/* Atalhos: um quadro único de vestiário, não seis cartões soltos. */
.home-quick-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 !important;
  overflow: hidden;
  background: var(--v53-paper);
  border: 1px solid var(--v53-line);
  border-radius: 16px;
  box-shadow: var(--v53-shadow);
}
.action-card.premium-action {
  min-height: 78px;
  padding: 11px 12px;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.action-card.premium-action:last-child { border-bottom: 0 !important; }
.action-card.premium-action::before { width: 3px; }
.action-card.premium-action::after { display: none; }
.action-card.premium-action .action-icon { background: transparent; border: 0; border-radius: 0; }
.action-card.premium-action .action-icon .icon { width: 24px; height: 24px; }
.action-card.premium-action .action-copy b { font-size: 13px; }
.action-card.premium-action .action-copy small,
.action-card.premium-action .action-copy em { color: var(--v53-muted); }
.action-card.premium-action .action-metric { background: transparent; border: 0; border-left: 1px solid var(--v53-line-soft); border-radius: 0; padding-left: 10px; }

/* Elenco: aparência de lista de súmula/roster. */
.player-list.roster-list {
  display: block !important;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--v53-line);
  border-radius: 16px;
  box-shadow: var(--v53-shadow);
}
.roster-list .player-card {
  margin: 0;
  padding: 11px 12px;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.roster-list .player-card:last-child { border-bottom: 0 !important; }
.roster-list .player-card.is-goalkeeper { box-shadow: inset 3px 0 0 #2f9164 !important; }
.roster-list .player-card.inactive { background: #f7f9fa !important; }
.roster-list .player-card:hover { background: #f7fafb !important; transform: none !important; }
.profile-stats > .player-meta-chip {
  min-height: 24px;
  padding: 2px 8px 2px 0;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
}
.profile-stats > .player-meta-chip:last-child { border-right: 0 !important; }
.rank-badge {
  min-width: 72px;
  min-height: 48px;
  background: #f8fafb !important;
  border: 1px solid var(--v53-line) !important;
  border-radius: 11px !important;
  box-shadow: none !important;
}
.rank-badge > .rank-emblem { width: 29px; height: 29px; }

/* Presença: grupos e jogadores como lista de convocação. */
.presence-group { border-radius: 14px; box-shadow: none; }
.presence-group > summary { background: #fff !important; }
.presence-group-list { gap: 0; padding: 0 10px 8px; }
.presence-player-row {
  min-height: 58px;
  padding: 8px 2px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
}
.presence-player-row:last-child { border-bottom: 0 !important; }

/* Seleção do sorteio também vira lista de convocados. */
.participant-list { gap: 0 !important; overflow: hidden; background: #fff; border: 1px solid var(--v53-line); border-radius: 15px; }
.participant-row {
  min-height: 62px;
  padding: 8px 10px;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.participant-row:last-child { border-bottom: 0 !important; }
.participant-row.goalkeeper { box-shadow: inset 3px 0 0 #2f9164 !important; }

/* Times = folha tática, escudo real e elenco contínuo. */
.team-card.tactical-team-sheet,
.team-card.tactical-team-sheet:nth-child(even) {
  background: #fff;
  border: 1px solid var(--v53-line-strong, #c4d2da);
  border-radius: 16px;
  box-shadow: var(--v53-shadow);
}
.tactical-team-sheet.team-estrelas { border-top: 4px solid #226fae; }
.tactical-team-sheet.team-refugos { border-top: 4px solid #8d313b; }
.tactical-team-sheet header { padding: 11px 12px; background: #f8fafb; border-bottom: 1px solid var(--v53-line); }
.team-card-emblem { width: 50px !important; height: 50px !important; object-fit: contain; }
.tactical-team-sheet .team-members { padding: 0 11px 5px; }
.tactical-team-sheet .team-player { min-height: 56px; background: transparent; border-bottom: 1px solid var(--v53-line-soft); }
.tactical-team-sheet .team-player:last-child { border-bottom: 0; }
.tactical-team-sheet .team-player.captain { margin: 0; padding-inline: 4px; background: #fff9e8; border: 0; border-left: 3px solid #d3a42e; border-radius: 0; }
.tactical-team-sheet .team-player.goalkeeper { background: #f2f8f5; }

/* Placar = scoreboard, não card de dashboard. */
.placard-card.football-scoreboard {
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--v53-line);
  border-radius: 15px;
  box-shadow: var(--v53-shadow);
}
.football-scoreboard::after { display: none; }
.football-scoreboard > header { padding: 9px 11px; background: #f6f9fa; border-bottom: 1px solid var(--v53-line-soft); }
.football-scoreboard .placard-score { margin: 0; gap: 0; background: var(--v53-navy); }
.football-scoreboard .score-versus { color: #c8d5dc; }
.football-scoreboard .placard-team {
  min-height: 96px;
  padding: 10px 6px;
  color: #fff;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.football-scoreboard .placard-team + .score-versus + .placard-team { border-left: 1px solid rgba(255,255,255,.14) !important; }
.football-scoreboard .placard-team small { color: #d7e4ea; font-size: 10.5px; }
.football-scoreboard .placard-team b { color: #fff !important; font-size: 34px; }
.football-scoreboard .placard-team > em:not(.placard-winner-mark) { color: #b7cad4; font-size: 10px; }
.placard-team-emblem { width: 34px !important; height: 34px !important; margin-bottom: 2px; object-fit: contain; }
.football-scoreboard .placard-winner-mark { top: 7px; right: 8px; }
.football-scoreboard > footer { padding: 9px 11px; border-top: 1px solid var(--v53-line-soft); }

/* Histórico = timeline de partidas. */
.premium-history-list, .home-history-list { gap: 0 !important; overflow: hidden; background: #fff; border: 1px solid var(--v53-line); border-radius: 15px; box-shadow: var(--v53-shadow); }
.history-row.match-sheet-row {
  min-height: 68px;
  padding: 9px 11px;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-left: 3px solid #c5d2d9 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.history-row.match-sheet-row:last-child { border-bottom: 0 !important; }
.history-row.match-sheet-row.finished { border-left-color: #2f9466 !important; }
.history-row.match-sheet-row.cancelled { border-left-color: #b94b55 !important; }
.match-sheet-row .history-icon { width: 34px !important; height: 34px !important; background: transparent !important; border-radius: 0 !important; }

/* Quadra = extrato financeiro. */
.court-charge-card {
  padding: 0;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--v53-line) !important;
  border-radius: 15px !important;
  box-shadow: var(--v53-shadow) !important;
}
.court-charge-card > header { padding: 11px 12px; background: #f8fafb; border-bottom: 1px solid var(--v53-line); }
.court-charge-card .court-payment-list { gap: 0 !important; padding: 0 11px; }
.court-payment-row {
  min-height: 54px;
  padding: 8px 1px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--v53-line-soft) !important;
  border-radius: 0 !important;
}
.court-payment-row:last-child { border-bottom: 0 !important; }
.court-payment-row.exempt { box-shadow: inset 3px 0 0 #7564ae; padding-left: 8px; }
.court-charge-card footer { padding: 9px 12px 11px; border-top: 1px solid var(--v53-line-soft); }

/* Disciplina = súmula. */
.discipline-case-card {
  padding: 0;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--v53-line) !important;
  border-radius: 15px !important;
  box-shadow: var(--v53-shadow) !important;
}
.discipline-case-card > header { padding: 11px 12px; background: #f8fafb; border-bottom: 1px solid var(--v53-line-soft); }
.discipline-case-card > p,
.discipline-case-card > .discipline-options,
.discipline-case-card > .discipline-actions,
.discipline-case-card > footer { margin-left: 12px; margin-right: 12px; }

/* Configurações: linhas nativas em vez de caixas decorativas. */
.settings-card { padding: 0 !important; overflow: hidden; background: #fff !important; border: 1px solid var(--v53-line) !important; border-radius: 15px !important; box-shadow: var(--v53-shadow) !important; }
.settings-card > .section-kicker,
.settings-card > h2,
.settings-card > .hero-visibility-control,
.settings-card > .button-row,
.settings-card > .btn { margin-left: 12px; margin-right: 12px; }
.settings-card > .btn { width: calc(100% - 24px); }
.settings-card > .section-kicker { margin-top: 12px; }
.settings-line { padding: 10px 12px; border-bottom: 1px solid var(--v53-line-soft); }
.settings-line > span:first-child { background: transparent !important; border: 0 !important; }

/* Emblemas das formações na Home. */
.home-last-team { display: grid !important; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.home-last-team > span { min-width: 0; display: grid; gap: 2px; }
.home-last-team-emblem { width: 36px !important; height: 36px !important; object-fit: contain; }

/* Hover só reforça leitura, sem cartões flutuando. */
@media (hover:hover) and (pointer:fine) {
  .action-card.premium-action:hover,
  .roster-list .player-card:hover,
  .history-row.match-sheet-row:hover { transform: none !important; background: #f7fafb !important; }
}

@media (min-width: 680px) {
  .home-quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .action-card.premium-action:nth-child(odd) { border-right: 1px solid var(--v53-line-soft) !important; }
  .action-card.premium-action:nth-last-child(-n+2) { border-bottom: 0 !important; }
}

@media (max-width: 430px) {
  .home-spotlight { min-height: 82px; padding: 10px; }
  .home-spotlight-copy b { font-size: 14px; }
  .home-spotlight-stat { min-width: 52px; padding-left: 7px; }
  .home-spotlight-stat strong { font-size: 22px; }
  .roster-list .player-card { padding: 10px; }
  .rank-badge { min-width: 66px; }
  .football-scoreboard .placard-team { min-height: 90px; }
  .football-scoreboard .placard-team b { font-size: 30px; }
  .court-charge-card > header { display: grid; grid-template-columns: minmax(0,1fr) auto; }
}

@media (prefers-reduced-motion: reduce) {
  .home-spotlight, .action-card, .player-card, .history-row, .placard-card { transition: none !important; }
}
