:root {
  color-scheme: dark;
  --bg: #0b0d12;
  --panel: #151922;
  --panel-2: #1d2330;
  --text: #f6f7fb;
  --muted: #9da6b5;
  --line: rgba(255, 255, 255, 0.1);
  --primary: #32d17d;
  --primary-2: #1ea55f;
  --danger: #ff5c70;
  --warning: #ffbf47;
  --club-primary: #bb1f2f;
  --club-secondary: #111111;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.06), transparent 32%),
    var(--bg);
  color: var(--text);
}

body {
  display: grid;
  place-items: center;
}

button, select, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.game-shell {
  width: min(100vw, 560px);
  min-height: 100dvh;
  background: linear-gradient(180deg, #10131a 0%, #0b0d12 100%);
  overflow: hidden;
  position: relative;
}



.screen {
  min-height: 100dvh;
  padding: calc(18px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));
}



.setup-screen {
  display: flex;
  flex-direction: column;
  gap: 18px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.7)),
    radial-gradient(circle at 20% 0%, rgba(50,209,125,.25), transparent 40%),
    #0c1016;
}

.hero {
  padding: 14px 2px 4px;
}

.kicker {
  color: var(--primary);
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .75rem;
}

h1, h2, h3, p { margin: 0; }
.hero h1 {
  font-size: clamp(2rem, 8vw, 3.6rem);
  line-height: .98;
  margin-top: 10px;
}

.hero p {
  color: var(--muted);
  margin-top: 12px;
  max-width: 42ch;
  line-height: 1.5;
}

.panel {
  background: rgba(21,25,34,.94);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 14px 34px rgba(0,0,0,.2);
}

.panel-title {
  font-size: 1rem;
  margin-bottom: 12px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-height: 50dvh;
  overflow: auto;
  padding-right: 3px;
}

.team-card {
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  border-radius: 14px;
  padding: 12px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  cursor: pointer;
}

.team-card.is-selected {
  outline: 2px solid var(--primary);
  background: rgba(50,209,125,.09);
}

.crest {
  width: 44px;
  height: 52px;
  flex: 0 0 auto;
  filter: drop-shadow(0 6px 8px rgba(0,0,0,.25));
}

.crest.small {
  width: 30px;
  height: 36px;
}

.team-card strong { display: block; font-size: .92rem; }
.team-card span { color: var(--muted); font-size: .76rem; }

.btn {
  border: 0;
  border-radius: 14px;
  min-height: 48px;
  padding: 12px 16px;
  font-weight: 600;
  color: #07110c;
  background: linear-gradient(180deg, var(--primary), var(--primary-2));
  cursor: pointer;
  width: 100%;
}

.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.secondary { color: var(--text); background: var(--panel-2); border: 1px solid var(--line); }
.btn.danger { color: white; background: linear-gradient(180deg, #c93850, #a11f36); }
.btn.compact { min-height: 38px; padding: 8px 12px; width: auto; border-radius: 11px; }

.app-screen {
  min-height: 100dvh;
  padding: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: linear-gradient(180deg, rgba(255,255,255,.015), transparent 22%);
}



.topbar {
  padding: calc(12px + var(--safe-top)) 14px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  background: linear-gradient(135deg, var(--club-primary), var(--club-secondary));
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.club-meta strong { display: block; font-size: .95rem; }
.club-meta span { display: block; color: rgba(255,255,255,.74); font-size: .75rem; margin-top: 2px; }

.money {
  font-size: .78rem;
  font-weight: 600;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 8px 10px;
  white-space: nowrap;
}

.content {
  overflow-y: auto;
  padding: 14px 14px 94px;
}

.view-title {
  font-size: 1.35rem;
  margin-bottom: 12px;
}

.stack { display: grid; gap: 12px; }

.dashboard-hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--club-primary) 85%, black), color-mix(in srgb, var(--club-secondary) 78%, black));
  overflow: hidden;
  position: relative;
}

.dashboard-hero::after {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: 28px solid rgba(255,255,255,.055);
  right: -70px;
  top: -70px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 14px;
}

.stat {
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 10px;
}
.stat span { display: block; color: var(--muted); font-size: .68rem; }
.stat strong { display: block; margin-top: 3px; font-size: 1.05rem; }

.fixture-card {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.fixture-team {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-width: 0;
}
.fixture-team strong { font-size: .82rem; overflow: hidden; text-overflow: ellipsis; width: 100%; }
.vs { color: var(--muted); font-weight: 600; }
.score { font-size: 1.7rem; font-weight: 600; letter-spacing: .06em; }

.mini-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: .86rem;
}
.mini-row:last-child { border-bottom: 0; }
.mini-row span { color: var(--muted); }

.navbar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 8px 8px calc(8px + var(--safe-bottom));
  background: rgba(12,15,21,.97);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  backdrop-filter: blur(16px);
}

.nav-btn {
  border: 0;
  background: transparent;
  color: var(--muted);
  min-height: 54px;
  border-radius: 12px;
  font-size: .68rem;
  display: grid;
  place-items: center;
  gap: 2px;
  cursor: pointer;
}
.nav-btn .icon { font-size: 1.18rem; }
.nav-btn.is-active { color: var(--text); background: var(--panel-2); }

.table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; min-width: 500px; background: var(--panel); }
th, td { padding: 10px 8px; font-size: .78rem; border-bottom: 1px solid var(--line); text-align: center; }
th { color: var(--muted); font-weight: 600; position: sticky; top: 0; background: #151922; }
th:nth-child(2), td:nth-child(2) { text-align: left; }
tr.user-row { background: rgba(50,209,125,.09); }
.position { font-weight: 600; }

.squad-list { display: grid; gap: 8px; }
.player-card {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 10px;
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
}
.player-pos {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--panel-2);
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: .72rem;
}
.player-card span { color: var(--muted); font-size: .73rem; }
.overall { font-size: 1.05rem; font-weight: 600; }

.control-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
label { display: grid; gap: 6px; color: var(--muted); font-size: .75rem; }
select {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  border-radius: 12px;
  min-height: 44px;
  padding: 8px 10px;
}

.match-screen {
  min-height: 100dvh;
  padding: calc(16px + var(--safe-top)) 14px calc(18px + var(--safe-bottom));
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 12px;
  background:
    radial-gradient(circle at 50% 8%, rgba(50,209,125,.17), transparent 26%),
    #0b0e13;
}

.match-header { display: flex; justify-content: space-between; align-items: center; }
.minute { font-weight: 600; color: var(--primary); }

.pitch-score {
  background:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    repeating-linear-gradient(90deg, #186b3c 0 12.5%, #146136 12.5% 25%);
  border: 2px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: 16px;
  position: relative;
  overflow: hidden;
}
.pitch-score::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255,255,255,.3);
  pointer-events: none;
}
.pitch-score > * { position: relative; z-index: 1; }

.match-events {
  overflow-y: auto;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
  min-height: 220px;
}
.event { display: grid; grid-template-columns: 44px 1fr; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.event:last-child { border-bottom: 0; }
.event time { color: var(--primary); font-weight: 600; }

.toast-stack {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 120;
  width: min(390px, calc(100vw - 28px));
  display: flex;
  flex-direction: column-reverse;
  gap: 10px;
  pointer-events: none;
}
.toast {
  --toast-accent: #4f8cff;
  --toast-soft: rgba(79,140,255,.16);
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto 30px;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  overflow: hidden;
  padding: 11px 10px 12px;
  background: color-mix(in srgb, var(--panel) 94%, #101725 6%);
  color: var(--text);
  border: 1px solid color-mix(in srgb, var(--toast-accent) 42%, var(--line));
  border-left: 4px solid var(--toast-accent);
  border-radius: 15px;
  box-shadow: 0 18px 46px rgba(0,0,0,.28);
  pointer-events: auto;
  transform-origin: right bottom;
  animation: toast-stack-in .3s cubic-bezier(.18,.9,.2,1);
}
.toast-success { --toast-accent: #31d17c; --toast-soft: rgba(49,209,124,.15); }
.toast-info { --toast-accent: #5d9cff; --toast-soft: rgba(93,156,255,.15); }
.toast-warning { --toast-accent: #f0b74d; --toast-soft: rgba(240,183,77,.16); }
.toast-danger { --toast-accent: #f0646f; --toast-soft: rgba(240,100,111,.16); }
.toast-finance { --toast-accent: #a47cff; --toast-soft: rgba(164,124,255,.16); }
.toast-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--toast-accent);
  background: var(--toast-soft);
  font-size: 1rem;
}
.toast-copy { min-width: 0; }
.toast-copy strong { display: block; color: var(--text); font-size: .79rem; font-weight: 600; line-height: 1.2; }
.toast-copy p { margin: 3px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.34; overflow-wrap: anywhere; }
.toast-count { align-self: start; margin-top: 1px; padding: 2px 6px; border-radius: 999px; background: var(--toast-soft); color: var(--toast-accent); font-size: .66rem; font-weight: 600; }
.toast-close { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; }
.toast-close:hover { background: var(--toast-soft); color: var(--toast-accent); }
.toast-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--toast-accent); transform-origin: left; animation: toast-progress var(--toast-duration) linear forwards; }
.toast.is-leaving { animation: toast-stack-out .22s ease forwards; }
.toast.toast-bump { animation: toast-bump .25s ease; }
@keyframes toast-stack-in { from { opacity: 0; transform: translateY(18px) scale(.96); } }
@keyframes toast-stack-out { to { opacity: 0; transform: translateX(28px) scale(.96); } }
@keyframes toast-progress { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes toast-bump { 50% { transform: scale(1.02); } }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .toast-stack { left: 10px; right: 10px; bottom: calc(74px + env(safe-area-inset-bottom)); width: auto; }
  .toast { border-radius: 13px; min-height: 62px; }

html[data-theme="light"] .toast { background: rgba(255,255,255,.98); box-shadow: 0 16px 38px rgba(28,39,58,.18); }
html[data-reduced-motion="true"] .toast,
html[data-reduced-motion="true"] .toast-progress { animation: none !important; }
.toast-settings-grid { margin-top: 10px; }
.toast-demo-btn { margin-top: 10px; }

.empty {
  text-align: center;
  color: var(--muted);
  padding: 30px 12px;
}

.settings-actions { display: grid; gap: 10px; }
.muted { color: var(--muted); }
.small-text { font-size: .78rem; line-height: 1.5; }

/* Etapa 2: escalação, treino, disciplina e tática avançada */
:root {
  --success: #32d17d;
  --info: #62a8ff;
}

.compact-panel { padding-top: 8px; padding-bottom: 8px; }
.summary-panel { margin-bottom: 12px; }

.alert-panel,
.lineup-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.alert-panel p,
.lineup-summary p,
.training-banner p,
.report-text {
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.45;
  margin-top: 4px;
}

.status-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-right: 6px;
}
.danger-dot { background: var(--danger); box-shadow: 0 0 0 5px rgba(255,92,112,.1); }

.subtabs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 5px;
  margin-bottom: 12px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(21,25,34,.82);
}

.subtab {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
}
.subtab.is-active { background: var(--panel-2); color: var(--text); box-shadow: 0 5px 16px rgba(0,0,0,.18); }

.player-card {
  display: block;
  padding: 0;
  overflow: hidden;
}
.player-card[open] { border-color: rgba(50,209,125,.35); }
.player-card.is-unavailable { opacity: .84; }
.player-card summary {
  list-style: none;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  cursor: pointer;
}
.player-card summary::-webkit-details-marker { display: none; }
.player-main { min-width: 0; }
.player-main > strong {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .86rem;
}
.player-main > span { display: block; margin-top: 3px; }
.player-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.badge {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: .62rem !important;
  font-weight: 600;
  color: var(--text) !important;
  border: 1px solid var(--line);
}
.badge.success { background: rgba(50,209,125,.13); }
.badge.warning { background: rgba(255,191,71,.14); }
.badge.danger { background: rgba(255,92,112,.15); }

.player-details {
  border-top: 1px solid var(--line);
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  background: rgba(0,0,0,.12);
}
.attribute {
  background: var(--panel-2);
  border-radius: 10px;
  padding: 8px;
}
.attribute span { display: block; color: var(--muted); font-size: .62rem; }
.attribute strong { display: block; margin-top: 2px; font-size: .88rem; }
.detail-wide {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.4;
  padding: 4px 2px 0;
}

.training-banner {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 10px;
}
.training-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: rgba(50,209,125,.13);
  color: var(--primary);
  font-size: 1.35rem;
}
.info-box {
  border: 1px solid rgba(98,168,255,.23);
  background: rgba(98,168,255,.08);
  color: #caddf5;
  border-radius: 12px;
  padding: 10px;
  font-size: .72rem;
  line-height: 1.45;
}

.strategy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.strategy-grid label:first-child { grid-column: 1 / -1; }

.lineup-summary { padding: 12px; }
.lineup-summary.has-warning { border-color: rgba(255,191,71,.35); }
.lineup-summary.is-ready { border-color: rgba(50,209,125,.35); }
.lineup-slots { display: grid; gap: 8px; }
.lineup-slot {
  display: grid;
  grid-template-columns: 32px minmax(0, .8fr) minmax(0, 1.4fr);
  align-items: center;
  gap: 8px;
  color: var(--text);
}
.slot-number {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, var(--club-primary), color-mix(in srgb, var(--club-primary) 70%, black));
  font-size: .7rem;
  font-weight: 600;
}
.slot-label { min-width: 0; }
.slot-label strong { display: block; font-size: .7rem; }
.slot-label small { display: block; color: var(--muted); font-size: .58rem; margin-top: 2px; }
.lineup-slot select { min-width: 0; font-size: .7rem; }

.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
}
.section-heading > span { color: var(--muted); font-size: .65rem; }
.bench-list { display: grid; gap: 7px; }
.bench-option {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  color: var(--text);
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 9px 10px;
  cursor: pointer;
}
.bench-option input { width: 18px; height: 18px; accent-color: var(--primary); }
.bench-option span { display: block; min-width: 0; }
.bench-option strong { display: block; font-size: .74rem; }
.bench-option small { display: block; margin-top: 3px; color: var(--muted); font-size: .63rem; }
.bench-option.is-disabled { opacity: .45; cursor: not-allowed; }

.match-screen {
  grid-template-rows: auto auto minmax(180px, 1fr) auto auto;
}
.match-events { min-height: 0; }
.event {
  grid-template-columns: 38px 22px 1fr;
  align-items: start;
}
.event-icon { font-size: .75rem; text-align: center; line-height: 1.35rem; }
.event.goal { background: rgba(50,209,125,.055); }
.event.red { background: rgba(255,92,112,.055); }
.event.injury { background: rgba(255,191,71,.045); }
.event.substitution { color: #c9d6e5; }
.match-stats {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  text-align: center;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 13px;
  padding: 9px;
  font-size: .7rem;
  color: var(--muted);
}
.match-stats span:last-child { text-align: right; }
.match-stats span:first-child { text-align: left; }
.match-stats strong { color: var(--text); }

@media (max-width: 390px){
  .strategy-grid { grid-template-columns: 1fr; }
  .strategy-grid label:first-child { grid-column: auto; }
  .lineup-slot { grid-template-columns: 28px minmax(0, 1fr); }
  .lineup-slot select { grid-column: 1 / -1; }
  .player-details { grid-template-columns: repeat(2, 1fr); }
  .alert-panel, .lineup-summary { grid-template-columns: 1fr; }
  .alert-panel .btn, .lineup-summary .btn { width: 100%; }
}

/* Etapa 3: mercado, contratos e transferências */
.navbar { grid-template-columns: repeat(6, 1fr); padding-left: 5px; padding-right: 5px; gap: 2px; }
.nav-btn { font-size: .61rem; min-width: 0; }
.nav-btn .icon { font-size: 1.08rem; }

input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  border-radius: 12px;
  min-height: 44px;
  padding: 8px 10px;
  outline: none;
}
input:focus, select:focus { border-color: rgba(50,209,125,.55); box-shadow: 0 0 0 3px rgba(50,209,125,.08); }

.market-alert {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.market-alert.has-offers { border-color: rgba(255,191,71,.42); }
.market-alert strong { display: block; margin-top: 5px; }
.market-alert p { color: var(--muted); font-size: .72rem; margin-top: 4px; }

.market-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 10px;
  margin-bottom: 12px;
}
.market-heading .view-title { margin-bottom: 3px; }
.market-heading > div > span { color: var(--muted); font-size: .7rem; }
.budget-pill {
  display: grid;
  gap: 2px;
  text-align: right;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px 10px;
}
.budget-pill small { color: var(--muted); font-size: .58rem; }
.budget-pill strong { font-size: .72rem; }

.market-filters {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(90px, .7fr) auto;
  align-items: end;
  gap: 8px;
  margin-bottom: 10px;
  padding: 12px;
}
.market-filters .btn { min-height: 44px; }
.market-info { margin-bottom: 10px; }
.market-list, .contract-list { display: grid; gap: 9px; }

.market-card, .contract-card, .offer-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 11px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.market-card.is-listed { border-color: rgba(50,209,125,.35); }
.contract-card.is-expiring { border-color: rgba(255,92,112,.45); }
.market-card-head {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}
.market-card-main { min-width: 0; }
.market-card-main strong { display: block; font-size: .84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-card-main span { display: block; color: var(--muted); font-size: .65rem; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 10px;
}
.market-metrics > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px;
  border-radius: 9px;
  background: var(--panel-2);
}
.market-metrics small { color: var(--muted); font-size: .56rem; }
.market-metrics strong { font-size: .66rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.market-badges { margin-top: 8px; }
.market-actions, .offer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.market-actions .btn, .offer-actions .btn { flex: 1 1 auto; font-size: .66rem; min-height: 36px; padding: 7px 9px; }
.contract-actions .btn { flex-basis: calc(50% - 4px); }

.offer-card { display: grid; gap: 8px; margin-bottom: 8px; }
.offer-card:last-child { margin-bottom: 0; }
.offer-card > div:first-child strong { display: block; font-size: .82rem; }
.offer-card > div:first-child span { display: block; color: var(--muted); font-size: .66rem; margin-top: 3px; }
.offer-value { font-weight: 600; font-size: .86rem; }
.offer-card > .badge { justify-self: start; }
.deal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}
.deal-row:last-child { border-bottom: 0; }
.deal-row strong { font-size: .76rem; }
.deal-row span { grid-column: 1 / -1; color: var(--muted); font-size: .64rem; }
.deal-row small { grid-row: 1; grid-column: 2; color: var(--primary); font-weight: 600; }
.contract-line {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  color: var(--muted);
  font-size: .68rem;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}
.contract-line strong { color: var(--text); }
.contract-warning { margin-bottom: 10px; }

@media (max-width: 430px){
  .market-filters { grid-template-columns: 1fr 94px; }
  .market-filters .btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 360px){
  .nav-btn { font-size: .55rem; }
  .nav-btn .icon { font-size: 1rem; }
  .market-heading { grid-template-columns: 1fr; }
  .budget-pill { text-align: left; justify-self: start; }
  .market-metrics { grid-template-columns: 1fr 1fr; }
  .market-alert { grid-template-columns: 1fr; }
  .market-alert .btn { width: 100%; }
}

/* Etapa 4 — competições, calendário e divisões */
.country-pills {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin: -2px 0 10px;
  padding-bottom: 2px;
}
.country-pills span,
.competition-chip {
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--muted);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: .64rem;
  font-weight: 600;
  white-space: nowrap;
}
.competition-chip { color: var(--primary); }
.competition-chip.rest { color: var(--muted); }
.panel-heading-row,
.fixture-meta,
.cup-stage,
.calendar-summary,
.calendar-week,
.calendar-fixture,
.league-rules {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.panel-heading-row .panel-title { margin-bottom: 0; }
.fixture-wrap { display: grid; gap: 8px; }
.fixture-meta { color: var(--muted); font-size: .66rem; }
.fixture-meta strong { color: var(--text); }
.score small { display: block; color: var(--warning); font-size: .52rem; margin-top: 2px; }
.rest-week {
  display: grid;
  place-items: center;
  min-height: 126px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 14px;
  margin-top: 12px;
  padding: 18px;
  background: rgba(255,255,255,.02);
}
.rest-week p { color: var(--muted); font-size: .72rem; line-height: 1.45; margin-top: 6px; }
.league-selector { margin-bottom: 10px; }
.league-selector label { display: grid; gap: 7px; font-size: .72rem; color: var(--muted); }
.league-rules {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .65rem;
}
.league-rules strong { color: var(--text); }
tr.promotion-row td:first-child { box-shadow: inset 3px 0 0 var(--primary); }
tr.relegation-row td:first-child { box-shadow: inset 3px 0 0 var(--danger); }
tr.continental-row td:first-child { box-shadow: inset 3px 0 0 #57a4ff; }
.cup-grid { display: grid; gap: 10px; }
.cup-card { display: grid; gap: 10px; }
.cup-card.user-alive { border-color: rgba(50,209,125,.42); }
.cup-card h3 { font-size: 1rem; }
.cup-card p { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.cup-stage { color: var(--muted); font-size: .68rem; }
.cup-stage strong { color: var(--text); }
.cup-participants { display: flex; gap: 5px; flex-wrap: wrap; }
.cup-participants span {
  min-width: 34px;
  text-align: center;
  padding: 6px 7px;
  border-radius: 8px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  font-size: .61rem;
  font-weight: 600;
}
.calendar-summary { margin-bottom: 10px; }
.calendar-summary div { display: grid; gap: 5px; }
.calendar-summary > span { color: var(--muted); font-size: .68rem; }
.calendar-list { display: grid; gap: 7px; }
.calendar-week {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 13px;
  padding: 11px 12px;
}
.calendar-week.is-current { outline: 2px solid var(--primary); }
.calendar-week.is-played { opacity: .68; }
.calendar-week > div:first-child { display: grid; gap: 3px; min-width: 0; }
.calendar-week > div:first-child strong { font-size: .72rem; }
.calendar-week > div:first-child span { color: var(--muted); font-size: .61rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-fixture { min-width: 94px; justify-content: flex-end; font-size: .68rem; }
.calendar-fixture strong { font-size: .8rem; }
.competition-snapshot .mini-row span { text-align: right; }
.match-header > div { display: grid; gap: 2px; }
.match-header > div span { color: var(--muted); font-size: .64rem; }

@media (max-width: 390px){
  .country-pills { margin-bottom: 8px; }
  .team-card { min-height: 68px; padding: 9px; }
  .team-card .crest { width: 38px; height: 46px; }
  .calendar-week { padding: 10px; }
  .calendar-fixture { min-width: 82px; gap: 6px; }
}

/* Mantém a experiência dentro da tela do aparelho, inclusive em 9:16. */
.game-shell { height: 100dvh; min-height: 0; }
.screen { height: 100%; min-height: 0; overflow-y: auto; }
.app-screen { height: 100%; min-height: 0; }
.content { min-height: 0; }

/* Etapa 5: diretoria, estádio, torcida, finanças e placares ao vivo */
.board-pulse { display: grid; gap: 10px; }
.board-pulse.is-danger,
.board-card.is-danger { border-color: rgba(255,92,112,.55); box-shadow: 0 0 0 1px rgba(255,92,112,.12) inset; }
.board-pulse-head,
.board-score,
.sponsor-title,
.club-heading,
.other-live-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.board-pulse-head strong,
.sponsor-title strong { display: block; margin-top: 4px; }
.board-pulse-head b,
.board-score > strong { font-size: 1.45rem; }
.progress-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}
.progress-track.large { height: 11px; }
.progress-track > span {
  position: relative;
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--danger), var(--warning) 45%, var(--primary));
}
.progress-track.is-live-progress {
  position: relative;
}
.progress-track.is-live-progress > span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 8%, rgba(255,255,255,.1) 26%, rgba(255,255,255,.52) 50%, rgba(255,255,255,.1) 74%, transparent 92%);
  transform: translateX(-120%);
  animation: progress-track-live-flow 1.45s linear infinite;
}
.progress-live-caption {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .02em;
}
.progress-live-caption .fa-solid {
  animation: progress-live-rotate 1.05s linear infinite;
}
@keyframes progress-track-live-flow {
  to { transform: translateX(120%); }
}
@keyframes progress-live-rotate {
  to { transform: rotate(360deg); }
}

.club-heading { align-items: flex-start; margin-bottom: 12px; }
.club-heading .view-title { margin-bottom: 3px; }
.club-heading > div > span { color: var(--muted); font-size: .7rem; }
.confidence-pill {
  display: grid;
  gap: 2px;
  text-align: right;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 12px;
  padding: 8px 10px;
}
.confidence-pill small { color: var(--muted); font-size: .58rem; }
.confidence-pill strong { font-size: .82rem; }
.board-card { display: grid; gap: 12px; margin-bottom: 12px; }
.board-card p,
.construction-card p,
.dismissal-card p { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.board-score h3 { margin-top: 4px; }
.section-title { font-size: .86rem; margin: 15px 2px 9px; }
.objective-list { display: grid; gap: 4px; margin-bottom: 12px; }
.objective-row {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding: 11px 0;
}
.objective-row:first-of-type { border-top: 0; }
.objective-row > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--primary);
  font-size: .68rem;
  font-weight: 600;
}
.objective-row strong,
.objective-row small { display: block; }
.objective-row strong { font-size: .78rem; }
.objective-row small { color: var(--muted); font-size: .65rem; margin-top: 3px; }
.metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.metric-grid > div {
  min-width: 0;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.025);
  border-radius: 11px;
  padding: 9px;
}
.metric-grid span,
.metric-grid strong { display: block; min-width: 0; }
.metric-grid span { color: var(--muted); font-size: .59rem; }
.metric-grid strong { margin-top: 4px; font-size: .75rem; overflow: hidden; text-overflow: ellipsis; }
.fan-card,
.sponsor-current { margin-bottom: 12px; }
.sponsor-current { display: grid; gap: 12px; }
.sponsor-title span { color: var(--muted); font-size: .7rem; }
.sponsor-offers,
.upgrade-list,
.job-list { display: grid; gap: 9px; }
.sponsor-offer { display: grid; gap: 9px; }
.sponsor-offer h3 { margin-top: 7px; }
.stadium-hero {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.55)),
    repeating-linear-gradient(90deg, #17633a 0 12.5%, #135a34 12.5% 25%);
}
.ticket-control { display: grid; gap: 10px; margin-bottom: 12px; }
.ticket-hint { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .65rem; }
.construction-card { display: grid; gap: 12px; }
.upgrade-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.upgrade-card > div strong,
.upgrade-card > div span { display: block; }
.upgrade-card > div strong { font-size: .8rem; }
.upgrade-card > div span { color: var(--muted); font-size: .65rem; margin-top: 3px; }
.upgrade-card > strong { font-size: .72rem; }
.upgrade-card .btn { grid-column: 1 / -1; }
.finance-overview { display: grid; gap: 13px; margin-bottom: 10px; }
.finance-balance span,
.finance-balance strong { display: block; }
.finance-balance span { color: var(--muted); font-size: .68rem; }
.finance-balance strong { font-size: 1.45rem; margin-top: 4px; }
.cash-flow { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cash-flow > div { display: grid; gap: 4px; }
.cash-flow span { color: var(--muted); font-size: .64rem; }
.cash-flow strong { font-size: .76rem; }
.positive { color: var(--primary) !important; }
.negative { color: var(--danger) !important; }
.ledger-list { display: grid; gap: 7px; }
.ledger-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 12px;
}
.ledger-row div { min-width: 0; }
.ledger-row div strong,
.ledger-row div span { display: block; }
.ledger-row div strong { font-size: .72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ledger-row div span { color: var(--muted); font-size: .6rem; margin-top: 3px; }
.ledger-row > strong { font-size: .7rem; white-space: nowrap; }
.dismissal-card { display: grid; gap: 10px; border-color: rgba(255,92,112,.42); }
.dismissal-card h2 { font-size: 1.35rem; }
.job-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.job-card div { min-width: 0; }
.job-card div strong,
.job-card div span { display: block; }
.job-card div strong { font-size: .8rem; }
.job-card div span { color: var(--muted); font-size: .64rem; margin-top: 3px; }

.match-screen {
  height: 100dvh;
  min-height: 0;
  grid-template-rows: auto auto minmax(100px, 1fr) minmax(112px, 156px) auto auto;
  gap: 8px;
  overflow: hidden;
  padding-top: calc(10px + var(--safe-top));
  padding-bottom: calc(10px + var(--safe-bottom));
}
.match-header > div span { display: block; color: var(--muted); font-size: .68rem; margin-top: 2px; }
.match-events { min-height: 0; padding: 8px 10px; }
.match-events .event { padding: 7px 0; }
.other-live-panel {
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 15px;
}
.other-live-heading { padding: 9px 10px; border-bottom: 1px solid var(--line); }
.other-live-heading strong,
.other-live-heading span { display: block; }
.other-live-heading strong { font-size: .75rem; }
.other-live-heading span { color: var(--muted); font-size: .58rem; margin-top: 2px; }
.other-live-heading b {
  min-width: 28px;
  height: 24px;
  padding: 0 7px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(50,209,125,.12);
  color: var(--primary);
  font-size: .68rem;
}
.live-score-list { min-height: 0; overflow-y: auto; padding: 4px 8px 7px; }
.live-score-row {
  display: grid;
  gap: 3px;
  padding: 6px 3px;
  border-bottom: 1px solid var(--line);
  transition: background .18s ease, transform .18s ease;
}
.live-score-row:last-child { border-bottom: 0; }
.live-score-row > small { color: var(--muted); font-size: .52rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.live-score-row > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr 48px;
  align-items: center;
  gap: 7px;
  font-size: .68rem;
}
.live-score-row > div span:first-child { text-align: right; }
.live-score-row > div strong { min-width: 36px; text-align: center; font-size: .78rem; }
.live-score-row > div em { color: var(--muted); font-size: .58rem; font-style: normal; text-align: right; }
.live-score-row.goal-flash { background: rgba(50,209,125,.14); transform: scale(.992); }
.compact-empty { padding: 18px 8px; font-size: .7rem; }

@media (max-width: 390px){
  .metric-grid { gap: 5px; }
  .metric-grid > div { padding: 7px 6px; }
  .subtabs { overflow-x: auto; grid-auto-columns: minmax(78px, 1fr); }
  .pitch-score { padding: 10px; }
  .pitch-score .crest { width: 34px; height: 41px; }
  .fixture-team strong { font-size: .67rem; }
  .pitch-score .score { font-size: 1.45rem; }
  .match-screen { grid-template-rows: auto auto minmax(90px, 1fr) minmax(105px, 138px) auto auto; }
  .job-card { grid-template-columns: auto minmax(0, 1fr); }
  .job-card .btn { grid-column: 1 / -1; width: 100%; }
}

/* Etapa 6: base, olheiros e regiões de conteúdo que crescem dinamicamente */
.bounded-scroll,
.compact-scroll {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 3px;
}
.bounded-scroll { max-height: min(56dvh, 540px); }
.compact-scroll { max-height: min(32dvh, 300px); }
.section-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 15px;
}
.section-heading-row .section-title { margin: 0; }
.section-heading-row > span { color: var(--muted); font-size: .68rem; }

.academy-hero {
  display: grid;
  gap: 12px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--club-primary) 55%, #151922), color-mix(in srgb, var(--club-secondary) 45%, #151922));
}
.academy-hero h3 { margin-top: 5px; font-size: 1.12rem; }
.academy-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 15px;
  background: rgba(0,0,0,.2);
  font-weight: 600;
  font-size: .78rem;
}
.academy-levels { display: grid; gap: 9px; margin-top: 12px; }
.academy-level-row {
  display: grid;
  grid-template-columns: minmax(88px, 1fr) auto 24px;
  align-items: center;
  gap: 9px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: .72rem;
}
.academy-level-row:last-child { border-bottom: 0; }
.level-dots { display: flex; gap: 4px; }
.level-dots i {
  width: 11px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}
.level-dots i.is-on { background: var(--primary); box-shadow: 0 0 8px rgba(50,209,125,.28); }
.academy-upgrade-list,
.academy-list,
.scout-report-list { display: grid; gap: 9px; }
.academy-upgrade-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
}
.academy-upgrade-card > div:first-child { min-width: 0; }
.academy-upgrade-card > div:first-child strong,
.academy-upgrade-card > div:first-child span { display: block; }
.academy-upgrade-card > div:first-child strong { font-size: .78rem; }
.academy-upgrade-card > div:first-child span { color: var(--muted); font-size: .62rem; line-height: 1.35; margin-top: 3px; }
.academy-upgrade-card .btn { grid-column: 1 / -1; width: 100%; }
.upgrade-meta { text-align: right; white-space: nowrap; }
.upgrade-meta span,
.upgrade-meta strong { display: block; }
.upgrade-meta span { color: var(--muted); font-size: .6rem; }
.upgrade-meta strong { margin-top: 3px; font-size: .7rem; }
.youth-card .badge.info,
.badge.info { color: #8ed9ff; background: rgba(72,178,236,.12); }
.youth-card summary { min-height: 82px; }
.youth-details label { color: var(--muted); font-size: .68rem; }
.youth-details select { margin-top: 6px; width: 100%; }
.youth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.youth-actions .btn { width: 100%; }

.scout-mission { display: grid; gap: 12px; }
.scout-mission h3 { margin-top: 5px; }
.scout-mission p { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.scout-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.scout-form-grid label:last-child { grid-column: 1 / -1; }
.scout-report-card { padding: 12px; display: grid; gap: 10px; }
.scout-player-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
}
.scout-player-head > div { min-width: 0; }
.scout-player-head strong,
.scout-player-head span { display: block; }
.scout-player-head strong { font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scout-player-head span { color: var(--muted); font-size: .62rem; margin-top: 3px; }
.scout-player-head > b { font-size: 1.15rem; }
.compact-metrics { margin-top: 0; }
.compact-metrics > div { padding: 7px; }
.scout-history-panel { margin-top: 12px; }
.scout-history-list,
.history-scroll,
.retired-list { display: grid; }

/* Listas antigas também podem crescer indefinidamente. */
.market-list,
.contract-list,
.calendar-list,
.ledger-list,
.upgrade-list,
.job-list,
.cup-grid,
.squad-list { scroll-behavior: smooth; }

@media (max-width: 390px){
  .bounded-scroll { max-height: min(52dvh, 440px); }
  .compact-scroll { max-height: min(29dvh, 230px); }
  .academy-level-row { grid-template-columns: minmax(76px, 1fr) auto 22px; gap: 6px; }
  .level-dots { gap: 3px; }
  .level-dots i { width: 9px; }
  .scout-form-grid { grid-template-columns: 1fr; }
  .scout-form-grid label:last-child { grid-column: auto; }
  .academy-upgrade-card { grid-template-columns: 1fr; }
  .upgrade-meta { text-align: left; display: flex; justify-content: space-between; }
}

/* Etapa 7: identidade cromática dos clubes e editor de dados */
.team-tone {
  --team-primary: #667085;
  --team-secondary: #111827;
}

.team-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  vertical-align: middle;
}
.team-label i {
  width: 8px;
  height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(180deg, var(--team-primary) 0 50%, var(--team-secondary) 50% 100%);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--team-primary) 14%, transparent);
}
.team-label b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: inherit;
  color: var(--text);
}
.team-label.is-compact { gap: 5px; }
.team-label.is-compact i { width: 6px; height: 16px; }
.team-label.is-compact b { font-size: .66rem; }

.team-card.team-tone {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--team-primary) 42%, var(--line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--team-primary) 13%, var(--panel-2)), color-mix(in srgb, var(--team-secondary) 10%, var(--panel-2)));
}
.team-card.team-tone::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--team-primary), var(--team-secondary));
}
.team-card.team-tone.is-selected {
  outline-color: var(--team-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--team-primary) 15%, transparent);
}

.fixture-team.team-tone {
  position: relative;
  overflow: hidden;
  min-height: 88px;
  padding: 8px 5px 7px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--team-primary) 44%, rgba(255,255,255,.08));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--team-primary) 22%, transparent), color-mix(in srgb, var(--team-secondary) 13%, transparent));
}
.fixture-team.team-tone::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, var(--team-primary), var(--team-secondary));
}
.fixture-team.team-tone strong { position: relative; z-index: 1; }

.table-wrap tbody tr.team-tone td:nth-child(2) {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-primary) 10%, transparent), transparent 78%);
}
.table-wrap tbody tr.team-tone td:first-child {
  border-left: 3px solid var(--team-primary);
}

.team-mini-chip,
.calendar-club,
.live-club {
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, var(--team-primary), var(--team-secondary));
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.8);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.14);
}
.team-mini-chip {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  padding: 5px 7px;
  border-radius: 8px;
  font-size: .58rem;
  font-weight: 600;
}
.calendar-club {
  min-width: 34px;
  padding: 4px 6px;
  border-radius: 7px;
  text-align: center;
  font-weight: 600;
  font-size: .61rem;
}

.live-score-row {
  position: relative;
  overflow: hidden;
}
.live-score-row::before,
.live-score-row::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
}
.live-score-row::before { left: 0; background: linear-gradient(180deg, var(--home-primary), var(--home-secondary)); }
.live-score-row::after { right: 0; background: linear-gradient(180deg, var(--away-primary), var(--away-secondary)); }
.live-club {
  min-width: 35px;
  padding: 4px 5px;
  border-radius: 7px;
  font-weight: 600;
  text-align: center !important;
  font-size: .57rem;
}
.live-club.home { background: linear-gradient(135deg, var(--home-primary), var(--home-secondary)); }
.live-club.away { background: linear-gradient(135deg, var(--away-primary), var(--away-secondary)); }

.club-context {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  white-space: normal !important;
}
.club-context em { color: var(--muted); font-style: normal; font-size: .65rem; }
.offer-card .team-label { margin-right: 3px; }
.job-card.team-tone {
  border-color: color-mix(in srgb, var(--team-primary) 36%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--team-primary) 10%, var(--panel)), var(--panel));
}

.subtabs {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  }
.subtab { flex: 0 0 auto; }

.editor-intro {
  margin-bottom: 10px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--club-primary) 26%, transparent), transparent 46%),
    var(--panel);
}
.editor-intro h3 { margin-top: 5px; }
.editor-intro p,
.pack-actions p { color: var(--muted); font-size: .7rem; line-height: 1.45; margin-top: 7px; }
.editor-selector {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
}
.editor-selector label { min-width: 0; }
.editor-club-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 9px 11px;
  border-radius: 13px;
  border: 1px solid color-mix(in srgb, var(--team-primary) 38%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--team-primary) 14%, var(--panel-2)), color-mix(in srgb, var(--team-secondary) 9%, var(--panel-2)));
}
.editor-form {
  display: grid;
  gap: 12px;
}
.editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.editor-form label,
.editor-selector label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: .67rem;
}
.editor-form input,
.editor-form select,
.editor-form textarea,
.editor-selector select {
  width: 100%;
}
.editor-form input[type="color"] {
  min-height: 44px;
  padding: 5px;
  cursor: pointer;
}
.code-area {
  min-height: 128px;
  max-height: 260px;
  resize: vertical;
  overflow: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .65rem;
  line-height: 1.45;
  white-space: pre;
}
.code-area.large { min-height: 190px; max-height: 42dvh; }
.player-editor-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 11px;
  border-radius: 13px;
  border-left: 4px solid var(--team-primary);
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-primary) 14%, var(--panel-2)), var(--panel-2));
}
.player-editor-heading > div { min-width: 0; display: grid; gap: 4px; }
.player-editor-heading > div > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-editor-heading > b { font-size: 1.25rem; }
.pack-actions { margin-bottom: 10px; }
.pack-actions h3 { margin-top: 5px; }
.editor-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.league-club-list { margin-top: 10px; }
.league-club-list .mini-row { min-height: 38px; }

/* Mais listas editáveis também permanecem contidas no layout 9:16. */
.editor-form.bounded-scroll,
.league-club-list,
.code-area,
#editorContent,
.cup-participants,
.other-live-panel { overscroll-behavior: contain; }

@media (max-width: 390px){
  .editor-grid { grid-template-columns: 1fr; }
  .editor-action-grid { grid-template-columns: 1fr; }
  .fixture-team.team-tone { min-height: 78px; padding-inline: 3px; }
  .team-label b { max-width: 128px; }
  .live-club { min-width: 31px; padding-inline: 3px; }
}

/* Etapa 8: temas, densidade ajustável e central de jogos agrupada */
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] {
  color-scheme: light;
  --bg: #edf1f6;
  --panel: #ffffff;
  --panel-2: #f1f4f8;
  --text: #172033;
  --muted: #647084;
  --line: rgba(28, 39, 57, .13);
  --primary: #178f55;
  --primary-2: #0f7042;
  --danger: #d23f55;
  --warning: #a86600;
}

html[data-theme="light"] body {
  background:
    radial-gradient(circle at top, rgba(23,143,85,.09), transparent 34%),
    var(--bg);
}
html[data-theme="light"] .game-shell {
  background: linear-gradient(180deg, #f8fafc 0%, #e9eef5 100%);
  box-shadow: 0 30px 80px rgba(25, 38, 58, .2);
}
html[data-theme="light"] .setup-screen {
  background:
    linear-gradient(180deg, rgba(255,255,255,.25), rgba(237,244,247,.92)),
    radial-gradient(circle at 20% 0%, rgba(23,143,85,.18), transparent 42%),
    #f5f8fb;
}
html[data-theme="light"] .app-screen { background: linear-gradient(180deg, rgba(22,33,49,.02), transparent 22%); }
html[data-theme="light"] .panel,
html[data-theme="light"] .match-events,
html[data-theme="light"] .other-live-panel,
html[data-theme="light"] .match-stats,
html[data-theme="light"] .confidence-pill,
html[data-theme="light"] .ledger-row {
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 30px rgba(36, 49, 70, .08);
}
html[data-theme="light"] .navbar {
  background: rgba(249,250,253,.96);
  box-shadow: 0 -10px 30px rgba(36,49,70,.08);
}
html[data-theme="light"] th { background: #f2f5f9; }
html[data-theme="light"] table { background: #fff; }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .bench-option,
html[data-theme="light"] .player-card {
  background: #f4f7fa;
}
html[data-theme="light"] .btn.secondary { background: #eef2f6; }
html[data-theme="light"] .match-screen {
  background:
    radial-gradient(circle at 50% 8%, rgba(23,143,85,.12), transparent 27%),
    #edf2f7;
}
html[data-theme="light"] .event.substitution { color: #3e4b5e; }
html[data-theme="light"] .team-label i { border-color: rgba(23,32,51,.18); }
html[data-theme="light"] .live-competition-group > header { background: rgba(244,247,250,.96); }

html[data-ui-size="small"] { font-size: 14px; }
html[data-ui-size="normal"] { font-size: 16px; }
html[data-ui-size="large"] { font-size: 17px; }

html[data-ui-size="small"] .panel { padding: 11px; border-radius: 14px; }
html[data-ui-size="small"] .content { padding: 9px 9px 78px; }
html[data-ui-size="small"] .stack { gap: 8px; }
html[data-ui-size="small"] .topbar { padding: calc(8px + var(--safe-top)) 9px 8px; }
html[data-ui-size="small"] .navbar { padding-top: 4px; }
html[data-ui-size="small"] .nav-btn { min-height: 44px; border-radius: 9px; }
html[data-ui-size="small"] .btn { min-height: 40px; padding: 9px 12px; border-radius: 11px; }
html[data-ui-size="small"] input,
html[data-ui-size="small"] select { min-height: 38px; border-radius: 9px; }
html[data-ui-size="small"] .fixture-team.team-tone { min-height: 66px; }
html[data-ui-size="small"] .crest { width: 36px; height: 43px; }
html[data-ui-size="small"] .crest.small { width: 25px; height: 30px; }
html[data-ui-size="small"] .mini-row { padding: 7px 0; }
html[data-ui-size="small"] .player-card { padding: 7px; border-radius: 11px; }
html[data-ui-size="small"] .team-grid { gap: 7px; }
html[data-ui-size="small"] .team-card { min-height: 58px; padding: 8px; }

html[data-ui-size="large"] .panel { padding: 18px; }
html[data-ui-size="large"] .content { padding-inline: 16px; }
html[data-ui-size="large"] .nav-btn { min-height: 60px; }
html[data-ui-size="large"] .btn { min-height: 52px; }
html[data-ui-size="large"] input,
html[data-ui-size="large"] select { min-height: 48px; }

.appearance-panel {
  display: grid;
  gap: 13px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--club-primary) 24%, transparent), transparent 45%),
    var(--panel);
}
.settings-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.settings-section-heading h3 { margin-top: 5px; }
.theme-preview-dot {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, var(--text) 0 48%, var(--panel-2) 48% 100%);
  box-shadow: inset 0 0 0 5px var(--panel);
}
.settings-grid { display: grid; gap: 10px; }
.layout-preview {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.4fr;
  gap: 6px;
  min-height: 42px;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel-2);
}
.layout-preview span {
  border-radius: 7px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--club-primary) 70%, var(--panel)), color-mix(in srgb, var(--club-secondary) 55%, var(--panel)));
}
.toggle-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--text);
}
.toggle-row span { display: grid; gap: 3px; }
.toggle-row small { color: var(--muted); font-size: .64rem; }
.toggle-row input {
  appearance: none;
  width: 43px;
  height: 25px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 35%, var(--panel-2));
  position: relative;
  cursor: pointer;
  transition: background .18s ease;
}
.toggle-row input::after {
  content: "";
  position: absolute;
  width: 19px;
  height: 19px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 7px rgba(0,0,0,.25);
  transition: transform .18s ease;
}
.toggle-row input:checked { background: var(--primary); }
.toggle-row input:checked::after { transform: translateX(18px); }
.install-panel { display: grid; gap: 12px; }
.install-panel p { color: var(--muted); font-size: .7rem; line-height: 1.45; margin-top: 7px; }

.match-screen {
  grid-template-rows: auto auto minmax(72px, .72fr) minmax(174px, 1.22fr) auto auto;
}
.other-live-panel { border-radius: 13px; }
.live-competition-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 5px 6px 8px;
}
.live-competition-group {
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: clip;
  background: color-mix(in srgb, var(--panel-2) 46%, transparent);
  margin-bottom: 6px;
}
.live-competition-group:last-child { margin-bottom: 0; }
.live-competition-group.is-priority { border-color: color-mix(in srgb, var(--primary) 48%, var(--line)); }
.live-competition-group > header {
  position: sticky;
  top: -5px;
  z-index: 3;
  min-height: 27px;
  padding: 5px 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: rgba(25,30,40,.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(10px);
}
.live-competition-group > header > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .61rem;
  letter-spacing: .03em;
}
.live-competition-group > header > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .52rem;
}
.live-competition-group > header b { color: var(--primary); }
.live-competition-group > header em { font-style: normal; }
.live-fixture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
}
.live-score-tile {
  --home-primary: #667085;
  --home-secondary: #111827;
  --away-primary: #667085;
  --away-secondary: #111827;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(29px, 1fr) auto minmax(29px, 1fr) 27px;
  align-items: center;
  gap: 3px;
  padding: 4px 4px 4px 5px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--home-primary) 10%, transparent), transparent 30% 70%, color-mix(in srgb, var(--away-primary) 10%, transparent)),
    var(--panel);
  position: relative;
  overflow: hidden;
  transition: background .15s ease, transform .15s ease;
}
.live-score-tile::before,
.live-score-tile::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
}
.live-score-tile::before { left: 0; background: linear-gradient(180deg, var(--home-primary), var(--home-secondary)); }
.live-score-tile::after { right: 0; background: linear-gradient(180deg, var(--away-primary), var(--away-secondary)); }
.live-score-tile > strong { min-width: 28px; text-align: center; font-size: .66rem; }
.live-score-tile > em { color: var(--muted); font-size: .48rem; font-style: normal; text-align: right; }
.live-score-tile .live-club {
  min-width: 0;
  width: 100%;
  padding: 3px 2px;
  border-radius: 6px;
  font-size: .49rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-score-tile.goal-flash {
  background: color-mix(in srgb, var(--primary) 17%, var(--panel));
  transform: scale(.985);
}

html[data-live-density="micro"] .live-fixture-grid { gap: 2px; padding: 3px; }
html[data-live-density="micro"] .live-competition-group { margin-bottom: 4px; }
html[data-live-density="micro"] .live-competition-group > header { min-height: 23px; padding: 3px 6px; }
html[data-live-density="micro"] .live-score-tile {
  grid-template-columns: minmax(25px, 1fr) auto minmax(25px, 1fr) 23px;
  gap: 2px;
  padding: 2px 3px;
  border-radius: 6px;
}
html[data-live-density="micro"] .live-score-tile .live-club { padding: 2px; font-size: .44rem; }
html[data-live-density="micro"] .live-score-tile > strong { min-width: 24px; font-size: .59rem; }
html[data-live-density="micro"] .live-score-tile > em { font-size: .43rem; }

.reduced-motion *,
.reduced-motion *::before,
.reduced-motion *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
}
.reduced-motion .goal-flash { transform: none !important; }

@media (max-width: 350px){
  .live-fixture-grid { grid-template-columns: 1fr; }
  .match-screen { grid-template-rows: auto auto minmax(65px, .6fr) minmax(175px, 1.35fr) auto auto; }
}

/* O cabeçalho usa sempre contraste alto, independentemente do tema escolhido. */
.topbar,
.topbar .club-meta strong,
.topbar .money { color: #fff; }
.topbar .club-meta span { color: rgba(255,255,255,.76); }
.match-stats[hidden] { display: none !important; }

/* Etapa 9: universo personalizado, portabilidade, seleções e navegação central */
.crest,
svg.crest {
  display: block;
  width: 44px;
  height: 52px;
  max-width: 44px;
  max-height: 52px;
  object-fit: contain;
  object-position: center;
  overflow: hidden;
  box-sizing: border-box;
}
.crest.small,
svg.crest.small {
  width: 30px;
  height: 36px;
  max-width: 30px;
  max-height: 36px;
}

.setup-mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel);
}
.setup-mode-switch button {
  min-height: 44px;
  border: 0;
  border-radius: 11px;
  color: var(--muted);
  background: transparent;
  font-weight: 600;
  cursor: pointer;
}
.setup-mode-switch button.is-active {
  color: var(--text);
  background: var(--panel-2);
  box-shadow: 0 7px 18px rgba(0,0,0,.2);
}
.custom-club-builder {
  display: grid;
  gap: 12px;
  max-height: 58dvh;
  padding-right: 12px;
}
.custom-club-builder .editor-grid { margin: 0; }
.is-hidden { display: none !important; }

.help-details {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel-2) 72%, transparent);
  overflow: hidden;
}
.help-details summary {
  list-style: none;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  color: var(--text);
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
}
.help-details summary::-webkit-details-marker { display: none; }
.help-details summary::after { content: "+"; color: var(--primary); font-size: 1.05rem; }
.help-details[open] summary::after { content: "−"; }
.help-details p {
  padding: 0 12px 12px;
  color: var(--muted);
  font-size: .73rem;
  line-height: 1.55;
}
.help-details textarea,
.help-details .file-inline,
.help-details .field-note { margin: 0 12px 12px; width: calc(100% - 24px); }
.hide-help-hints .help-details:not(.persistent-details):not([open]) { display: none; }
.setup-help { margin-bottom: 6px; }

.file-button {
  position: relative;
  display: grid;
  place-items: center;
  text-align: center;
}
.file-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.file-inline {
  display: grid;
  gap: 6px;
  padding: 10px;
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .75rem;
  font-weight: 600;
}
.field-note { display: block; color: var(--muted); font-size: .68rem; line-height: 1.45; }

.navbar {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  overflow: visible;
}
.nav-play {
  position: relative;
  z-index: 3;
  transform: translateY(-14px);
  min-height: 62px;
  border-radius: 50% 50% 16px 16px;
  color: #07110c;
  background: linear-gradient(180deg, var(--primary), var(--primary-2));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 35%, rgba(0,0,0,.45));
}
.nav-play .icon { font-size: 1.3rem; }
.nav-play span:last-child { font-weight: 600; }

.settings-group { margin-top: 12px; display: grid; gap: 11px; }
.settings-group:first-of-type { margin-top: 0; }
.save-portability > p { color: var(--muted); font-size: .77rem; line-height: 1.5; }
.match-action-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.match-action-row .btn:only-child { grid-column: 1 / -1; }

html[data-color-intensity="subtle"] .team-card.team-tone,
html[data-color-intensity="subtle"] .fixture-team.team-tone,
html[data-color-intensity="subtle"] .live-score-tile { --tone-alpha: .55; filter: saturate(.72); }
html[data-color-intensity="vivid"] .team-card.team-tone,
html[data-color-intensity="vivid"] .fixture-team.team-tone,
html[data-color-intensity="vivid"] .live-score-tile { filter: saturate(1.35); }
.high-contrast {
  --line: rgba(255,255,255,.28);
  --muted: #c4cad4;
}
.high-contrast .panel,
.high-contrast .team-card,
.high-contrast .live-score-tile { border-width: 2px; }
html[data-theme="light"].high-contrast { --line: rgba(16,24,40,.34); --muted: #475467; }

.international-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
  border-color: color-mix(in srgb, var(--team-primary, var(--primary)) 40%, var(--line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--team-primary, var(--primary)) 14%, var(--panel)), var(--panel));
}
.international-hero p,
.world-cup-hero p { color: var(--muted); font-size: .75rem; line-height: 1.45; margin-top: 5px; }
.national-offers { display: grid; gap: 7px; max-height: 310px; }
.national-offer {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 9px;
  border: 1px solid color-mix(in srgb, var(--team-primary) 36%, var(--line));
  border-radius: 12px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-primary) 10%, var(--panel-2)), var(--panel-2));
}
.national-offer strong,
.national-offer span { display: block; }
.national-offer span { color: var(--muted); font-size: .68rem; margin-top: 3px; }
.world-cup-hero { display: grid; gap: 12px; margin: 10px 0; }
.world-cup-status { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-block: 1px solid var(--line); }
.world-cup-status span { color: var(--muted); font-size: .72rem; }
.world-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
  max-height: 410px;
}
.world-group { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; background: var(--panel-2); }
.world-group > header { padding: 7px 9px; font-size: .66rem; font-weight: 600; color: var(--primary); border-bottom: 1px solid var(--line); }
.world-group-row { display: grid; grid-template-columns: 16px 1fr auto 21px; gap: 4px; align-items: center; padding: 6px 7px; font-size: .62rem; border-bottom: 1px solid var(--line); }
.world-group-row:last-child { border-bottom: 0; }
.world-group-row small { color: var(--muted); font-size: .52rem; }
.world-group-row b { text-align: right; }
.world-group-row.is-user { background: color-mix(in srgb, var(--primary) 13%, transparent); }
.international-result { margin: 10px 0; }
.international-fixture { border: 1px solid var(--line); border-radius: 11px; padding: 9px; background: var(--panel-2); }
.international-fixture + .international-fixture { margin-top: 6px; }
.international-fixture-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 9px; align-items: center; margin: 9px 0 4px; }
.international-fixture-row span { padding: 8px; border-radius: 9px; text-align: center; font-weight: 600; color: #fff; background: linear-gradient(135deg, var(--team-primary), var(--team-secondary)); }
.international-fixture-row strong { font-size: 1.15rem; }
.international-fixture > small { display: block; text-align: center; color: var(--muted); font-size: .62rem; }
.knockout-list { max-height: 330px; }

.penalty-picker-overlay {
  position: absolute;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5,8,14,.78);
  backdrop-filter: blur(10px);
}
.penalty-picker { width: min(100%, 420px); max-height: 82dvh; display: grid; gap: 10px; }
.penalty-picker > p { color: var(--muted); font-size: .76rem; }
.penalty-player-list { display: grid; gap: 6px; max-height: 48dvh; }
.penalty-player {
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 10px;
  text-align: left;
  color: var(--text);
  background: var(--panel-2);
  cursor: pointer;
}
.penalty-player span,
.penalty-player small { display: block; }
.penalty-player small { margin-top: 3px; color: var(--muted); font-size: .66rem; }
.penalty-player.is-designated { border-color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--panel-2)); }

.empty-state-card { text-align: center; padding-block: 28px; }
.empty-state-card p { color: var(--muted); font-size: .76rem; line-height: 1.5; margin-top: 7px; }

@media (max-width: 430px){
  .navbar { padding-inline: 3px; }
  .nav-btn { font-size: .49rem; min-height: 50px; }
  .nav-btn .icon { font-size: .98rem; }
  .nav-play { min-height: 58px; transform: translateY(-12px); }
}
@media (max-width: 360px){
  .world-groups { grid-template-columns: 1fr; }
  .match-action-row { grid-template-columns: 1fr; }
}

/* Etapa 10: Goooool, desktop amplo, demonstração inicial e pós-jogo */
:root {
  --surface-raised: color-mix(in srgb, var(--panel) 94%, transparent);
  --focus-ring: color-mix(in srgb, var(--primary) 62%, white);
}

:where(button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.setup-hero { max-width: 760px; }
.setup-stage { display: grid; gap: 16px; }
.setup-actions { display: grid; gap: 12px; min-width: 0; }
.setup-career-card { display: grid; gap: 12px; }
.manager-name-field small,
.settings-intro {
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.45;
}

.landing-demo {
  display: grid;
  gap: 12px;
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--primary) 9%, var(--panel)), var(--panel) 48%),
    var(--panel);
  overflow: hidden;
}
.landing-demo-head,
.share-preview-head,
.post-team-head,
.post-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.landing-demo-head > div { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.landing-demo-head > div > span:last-child { color: var(--muted); font-size: .7rem; }
.live-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff5c70;
  box-shadow: 0 0 0 5px rgba(255,92,112,.12);
  animation: live-pulse 1.4s ease-in-out infinite;
}
@keyframes live-pulse { 50% { transform: scale(.78); opacity: .68; } }
.landing-demo-grid { display: grid; gap: 10px; }
.demo-live-block,
.demo-table-block {
  min-width: 0;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel-2) 74%, transparent);
  padding: 10px;
  border-radius: 12px;
}
.micro-heading {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: .62rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 600;
}
.demo-match-list,
.demo-standings { display: grid; gap: 5px; }
.demo-match {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  gap: 7px;
  align-items: center;
  min-height: 34px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  background: linear-gradient(90deg, color-mix(in srgb, var(--home) 13%, var(--panel)), var(--panel) 46%, color-mix(in srgb, var(--away) 13%, var(--panel)));
  border-radius: 9px;
  overflow: hidden;
}
.demo-match::before,
.demo-match::after { content: ""; position: absolute; inset-block: 0; width: 3px; }
.demo-match::before { left: 0; background: var(--home); }
.demo-match::after { right: 0; background: var(--away); }
.demo-match span { font-size: .68rem; font-weight: 600; }
.demo-match span:nth-of-type(2) { text-align: right; }
.demo-match strong { font-size: .78rem; }
.demo-match em { color: var(--muted); font-size: .55rem; font-style: normal; min-width: 24px; text-align: right; }
.demo-table-row {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) auto 24px;
  gap: 5px;
  align-items: center;
  min-height: 29px;
  padding: 4px 6px;
  border-left: 3px solid var(--team-primary);
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-primary) 9%, var(--panel-2)), var(--panel-2));
  border-radius: 7px;
  font-size: .62rem;
}
.demo-table-row small { color: var(--muted); font-size: .52rem; }
.demo-table-row strong { text-align: right; }
.demo-caption { color: var(--muted); font-size: .65rem; line-height: 1.45; }

.news-panel { min-width: 0; }
.news-feed { display: grid; max-height: 340px; }
.news-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.news-item:last-child { border-bottom: 0; }
.news-item strong { display: block; font-size: .82rem; line-height: 1.35; }
.news-item p { margin-top: 4px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.news-item time { color: var(--muted); font-size: .6rem; }
.news-category {
  display: inline-block;
  margin-bottom: 5px;
  color: var(--primary);
  font-size: .55rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600;
}
.news-settings-panel .settings-intro { margin-top: -4px; }

.post-match-summary[hidden] { display: none !important; }
.post-match-summary { display: grid; gap: 10px; }
.post-match-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  border-color: color-mix(in srgb, var(--home-primary) 32%, var(--line));
  background: linear-gradient(110deg, color-mix(in srgb, var(--home-primary) 16%, var(--panel)), var(--panel) 50%, color-mix(in srgb, var(--away-primary) 16%, var(--panel)));
}
.post-match-head h2 { margin-top: 4px; font-size: 1.15rem; }
.post-match-head p { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.post-match-head > strong { font-size: 1.9rem; letter-spacing: .04em; }
.post-match-grid { display: grid; gap: 10px; }
.match-detail-card { min-width: 0; }
.post-team-head { margin-bottom: 8px; }
.post-team-head span {
  min-width: 48px;
  text-align: center;
  padding: 5px 7px;
  border-radius: 7px;
  background: var(--panel-2);
  font-size: .66rem;
}
.post-team-head b { color: var(--muted); font-size: .66rem; font-weight: 600; }
.stat-comparison-list { display: grid; }
.stat-comparison-list > div {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1fr;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  border-bottom: 1px solid var(--line);
  font-size: .68rem;
}
.stat-comparison-list > div:last-child { border-bottom: 0; }
.stat-comparison-list > div strong:last-child { text-align: right; }
.stat-comparison-list > div span { text-align: center; color: var(--muted); font-size: .61rem; }
.scorer-list { display: grid; gap: 6px; margin-bottom: 8px; }
.scorer-list > span { display: block; padding: 7px 8px; background: var(--panel-2); border-radius: 8px; font-size: .68rem; }
.scorer-list small { color: var(--muted); }
.post-table-head,
.post-table-row {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) 28px 34px 34px;
  gap: 5px;
  align-items: center;
}
.post-table-head { padding: 0 7px 6px; color: var(--muted); font-size: .52rem; }
.post-table-row {
  min-height: 31px;
  padding: 5px 7px;
  border-left: 3px solid var(--team-primary);
  border-bottom: 1px solid var(--line);
  font-size: .65rem;
}
.post-table-row.is-user { background: color-mix(in srgb, var(--team-primary) 10%, var(--panel-2)); }
.post-table-row small,
.post-table-row strong { text-align: right; }
.table-context-note { display: block; margin-top: 7px; color: var(--muted); font-size: .58rem; }
.match-screen.is-finished {
  display: block;
  overflow-y: auto;
  padding-bottom: calc(24px + var(--safe-bottom));
}
.match-screen.is-finished > * + * { margin-top: 10px; }
.match-screen.is-finished .match-events,
.match-screen.is-finished .other-live-panel { max-height: 180px; min-height: 0; }

.share-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
  background: rgba(4,7,12,.78);
  backdrop-filter: blur(12px);
}
.share-preview-dialog {
  width: min(100%, 760px);
  max-height: min(92dvh, 860px);
  display: grid;
  gap: 12px;
  overflow-y: auto;
}
.share-preview-head h2 { margin-top: 3px; font-size: 1.15rem; }
.icon-close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--panel-2);
  color: var(--text);
  font-size: 1.4rem;
  cursor: pointer;
}
.share-preview-canvas {
  width: min(100%, 360px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #0b0d12;
}
.share-preview-canvas img { display: block; width: 100%; height: auto; }
.share-preview-dialog > p { color: var(--muted); font-size: .72rem; line-height: 1.5; }
.share-preview-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

/* Blocos que encostam nos limites não recebem cantos arredondados. */
.topbar,
.navbar,
.match-screen,
.match-header { border-radius: 0; }

html[data-theme="light"] {
  --surface-raised: rgba(255,255,255,.98);
  --focus-ring: #0d7a47;
}
html[data-theme="light"] .landing-demo,
html[data-theme="light"] .demo-live-block,
html[data-theme="light"] .demo-table-block,
html[data-theme="light"] .post-match-head,
html[data-theme="light"] .match-detail-card,
html[data-theme="light"] .share-preview-dialog {
  color: #172033;
}
html[data-theme="light"] .demo-match,
html[data-theme="light"] .demo-table-row,
html[data-theme="light"] .post-table-row {
  box-shadow: inset 0 0 0 1px rgba(23,32,51,.03);
}
html[data-theme="light"] .share-preview-overlay { background: rgba(23,32,51,.58); }






/* mobile-only: regra ampla incorporada ao estilo-base */

  .game-shell { border-radius: 0; }


@media (max-width: 480px){
  .landing-demo { margin-inline: -16px; border-inline: 0; border-radius: 0; }
  .landing-demo-grid { grid-template-columns: 1fr; }
  .demo-table-block { max-height: 245px; overflow-y: auto; }
  .share-preview-actions { grid-template-columns: 1fr; }
  .post-match-grid { grid-template-columns: 1fr; }
}

/* A configuração inicial cresce além da primeira dobra; a rolagem pertence à própria tela. */
.setup-screen {
  height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  }


/* Contraste previsível mesmo quando o clube usa branco ou amarelo como cor principal. */
.topbar {
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--club-primary) 68%, #0b1018),
    color-mix(in srgb, var(--club-secondary) 68%, #0b1018));
}
html[data-theme="light"] {
  --primary: #0f7a48;
  --primary-2: #075f37;
}
html[data-theme="light"] .btn:not(.secondary):not(.danger),
html[data-theme="light"] .nav-play { color: #fff; }

/* =========================================================
   ETAPA 11 — Goooool: clareza, brasões e desktop em tela cheia
   ========================================================= */

.crest.micro { width: 22px; height: 26px; flex: 0 0 22px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.22)); }
.crest.nano { width: 16px; height: 19px; flex: 0 0 16px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.22)); }

.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.topbar-help {
  width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%;
  background: rgba(0,0,0,.24); color: #fff; font-weight: 600; cursor: pointer;
}

/* O brasão identifica o clube; não há mais pílula bicolor decorativa. */
.team-label {
  display: inline-flex; align-items: center; gap: 7px; min-width: 0; max-width: 100%;
  color: inherit; vertical-align: middle;
}
.team-label b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.team-label.is-compact { gap: 5px; }
.team-label::before, .team-label i { display: none !important; }
.team-mini-chip,
.calendar-club,
.world-team-mark {
  display: inline-flex; align-items: center; gap: 5px; min-width: 0;
  border: 0 !important; background: transparent !important; color: inherit !important; padding: 0 !important;
}

.demo-match > span,
.demo-table-row > span,
.live-club,
.post-table-club {
  display: inline-flex; align-items: center; gap: 4px; min-width: 0;
}
.demo-match > span b,
.demo-table-row > span b,
.live-club b,
.post-table-club b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.demo-match { border-inline: 0; }
.demo-match::before, .demo-match::after { display: none; }

.command-center { display: grid; gap: 14px; overflow: hidden; }
.command-visual { display: grid; gap: 12px; align-items: center; }
.command-visual p { margin-top: 6px; color: var(--muted); line-height: 1.45; font-size: .8rem; }
.visual-canvas { display: block; width: 100%; height: auto; background: #0d4f33; }
.tactical-canvas { display: block; }
.quick-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.quick-action-grid button {
  border: 1px solid var(--line); background: var(--panel-2); color: var(--text); min-height: 78px;
  padding: 11px; text-align: left; cursor: pointer; display: grid; grid-template-columns: auto 1fr;
  column-gap: 9px; align-content: center;
}
.quick-action-grid button > span { grid-row: 1 / span 2; font-size: 1.15rem; color: var(--primary); align-self: center; }
.quick-action-grid strong { font-size: .86rem; font-weight: 600; }
.quick-action-grid small { color: var(--muted); font-size: .68rem; margin-top: 3px; }

.table-glance { min-width: 0; }
.text-action { border: 0; background: transparent; color: var(--primary); font-weight: 600; cursor: pointer; padding: 7px 0; }
.glance-table { display: grid; gap: 2px; }
.glance-row {
  display: grid; grid-template-columns: 42px minmax(0,1fr) auto 36px; align-items: center; gap: 8px;
  min-height: 39px; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: .76rem;
}
.glance-row:last-child { border-bottom: 0; }
.glance-row.is-user { color: var(--text); background: color-mix(in srgb, var(--club-primary) 12%, transparent); margin-inline: -8px; padding-inline: 8px; }
.glance-position { display: flex; align-items: center; gap: 3px; font-weight: 600; }
.glance-row > small { color: var(--muted); white-space: nowrap; }

.lineup-visual-panel, .stadium-visual-panel { overflow: hidden; padding: 0; }
.lineup-visual-panel small, .stadium-visual-panel small { display: block; padding: 10px 13px 12px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.lineup-canvas { aspect-ratio: 720 / 980; max-height: min(70dvh, 720px); object-fit: contain; }
.stadium-canvas { aspect-ratio: 2 / 1; object-fit: cover; }

.statistics-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.statistics-toolbar h3 { margin-top: 4px; }
.statistics-toolbar label { width: min(290px, 45%); }
.statistics-panel .panel-heading-row p { color: var(--muted); margin-top: 5px; font-size: .74rem; line-height: 1.4; }
.ranking-list { display: grid; gap: 2px; max-height: min(62dvh, 640px); overflow: auto; }
.ranking-row {
  appearance: none; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: transparent;
  color: var(--text); display: grid; grid-template-columns: 32px 24px minmax(0,1fr) auto; align-items: center;
  gap: 9px; min-height: 52px; padding: 7px 4px; text-align: left;
}
button.ranking-row { cursor: pointer; }
button.ranking-row:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); }
.ranking-position { color: var(--muted); text-align: center; font-weight: 600; }
.ranking-main { min-width: 0; }
.ranking-main strong, .ranking-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking-main strong { font-size: .8rem; font-weight: 600; }
.ranking-main small { color: var(--muted); font-size: .68rem; margin-top: 3px; }
.ranking-value { font-size: .9rem; font-weight: 600; white-space: nowrap; }
.ranking-value small { font-size: .6rem; color: var(--muted); }
.statistics-record-grid { display: grid; gap: 12px; }
.record-match-row { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 7px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.record-match-row > span { color: var(--muted); font-size: .7rem; }
.record-match-row > div { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 8px; }
.record-match-row > div .team-label:last-child { justify-self: end; }
.record-match-row > small { grid-column: 2; color: var(--muted); font-size: .64rem; }

.table-club-cell { display: grid; gap: 2px; min-width: 150px; }
.zone-note { color: var(--muted); font-size: .59rem; letter-spacing: .04em; text-transform: uppercase; }
td.position { min-width: 48px; }
.rank-move { display: inline-flex; min-width: 20px; justify-content: center; font-size: .58rem; font-weight: 600; }
.rank-move.up { color: #33c878; }
.rank-move.down { color: #f06474; }
.rank-move.stable { color: var(--muted); }
.post-position { display: inline-flex; align-items: center; gap: 2px; }

.app-modal-overlay {
  position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 16px;
  background: rgba(5,8,13,.72); backdrop-filter: blur(10px);
}
.app-modal {
  width: min(100%, 580px); max-height: min(88dvh, 820px); overflow: hidden; display: grid; grid-template-rows: auto minmax(0,1fr);
  background: var(--panel); color: var(--text); border: 1px solid var(--line); box-shadow: 0 24px 80px rgba(0,0,0,.45);
}
.app-modal.is-wide { width: min(100%, 920px); }
.app-modal > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.app-modal > header h2 { margin-top: 3px; font-size: 1.15rem; }
.modal-close { width: 38px; height: 38px; border: 1px solid var(--line); background: var(--panel-2); color: var(--text); border-radius: 50%; font-size: 1.35rem; cursor: pointer; }
.app-modal-body { overflow: auto; padding: 16px; display: grid; gap: 12px; }
.help-center-grid { display: grid; gap: 8px; }
.help-center-grid article { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; padding: 10px; border-bottom: 1px solid var(--line); }
.help-center-grid article > span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: #07110c; font-weight: 600; }
.help-center-grid strong { font-weight: 600; }
.help-center-grid p { color: var(--muted); font-size: .72rem; line-height: 1.45; margin-top: 3px; }
.player-profile-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; }
.player-profile-head p { color: var(--muted); font-size: .72rem; margin-top: 4px; }
.player-profile-head > strong { font-size: 1.45rem; }
.player-profile-head > strong small { font-size: .62rem; color: var(--muted); }
.player-profile-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.player-profile-metrics > div { background: var(--panel-2); border: 1px solid var(--line); padding: 10px; }
.player-profile-metrics span, .player-profile-metrics strong { display: block; }
.player-profile-metrics span { color: var(--muted); font-size: .64rem; }
.player-profile-metrics strong { margin-top: 4px; }

/* Contrastes coerentes no claro e no escuro. */
html[data-theme="light"] .app-modal,
html[data-theme="light"] .quick-action-grid button,
html[data-theme="light"] .player-profile-metrics > div { background: #fff; color: #172033; }
html[data-theme="light"] .app-modal-overlay { background: rgba(23,32,51,.54); }
html[data-theme="light"] .rank-move.up { color: #087d45; }
html[data-theme="light"] .rank-move.down { color: #b72c42; }

/* O invólucro principal ocupa toda a tela no desktop, sem margem, raio ou moldura. */



/* mobile-only: regra ampla incorporada ao estilo-base */

  .app-modal { border-radius: 16px; }
  .command-center, .table-glance { margin-inline: -14px; border-inline: 0; border-radius: 0; }


@media (max-width: 480px){
  .statistics-toolbar { align-items: stretch; flex-direction: column; }
  .statistics-toolbar label { width: 100%; }
  .ranking-row { grid-template-columns: 27px 22px minmax(0,1fr) auto; gap: 6px; }
  .glance-row { grid-template-columns: 40px minmax(0,1fr) 34px; }
  .glance-row > small { display: none; }
  .player-profile-metrics { grid-template-columns: repeat(2,1fr); }
  .app-modal-overlay { padding: 0; place-items: end stretch; }
  .app-modal { width: 100%; max-height: 92dvh; border-radius: 16px 16px 0 0; border-inline: 0; border-bottom: 0; }
}
.stadium-title-row { display: flex; align-items: center; gap: 11px; }

/* ===== Etapa 12: painel modular, carreira dinâmica e campo ao vivo ===== */

/* Textos sobre cores variáveis precisam manter leitura em qualquer escudo/tema. */
.team-tone > strong,
.fixture-team strong,
.dashboard-hero h2,
.pitch-score .fixture-card strong,
.post-match-head strong,
.match-header strong {
  text-shadow: 0 1px 2px rgba(0,0,0,.76), 0 0 12px rgba(0,0,0,.32);
}

/* Subtabs seguem as superfícies do tema em vez de manter fundo escuro fixo. */
.subtabs {
  background: color-mix(in srgb, var(--panel-2) 82%, transparent);
  color: var(--text);
}
.subtab { color: color-mix(in srgb, var(--text) 68%, var(--muted)); }
.subtab:hover { background: color-mix(in srgb, var(--primary) 8%, var(--panel-2)); color: var(--text); }
.subtab.is-active {
  background: color-mix(in srgb, var(--primary) 14%, var(--panel));
  color: var(--text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, var(--line));
}
html[data-theme="light"] .subtabs { background: #edf1f6; border-color: rgba(23,32,51,.13); }
html[data-theme="light"] .subtab { color: #526176; }
html[data-theme="light"] .subtab.is-active { background: #fff; color: #172033; box-shadow: 0 3px 10px rgba(23,32,51,.10), inset 0 0 0 1px rgba(23,32,51,.08); }

/* A demonstração inicial usa todos os clubes e pode crescer sem empurrar a tela. */
.demo-match-list { max-height: min(50dvh, 520px); overflow: auto; overscroll-behavior: contain; padding-right: 3px; }
.demo-standings { max-height: min(50dvh, 520px); overflow: auto; overscroll-behavior: contain; padding-right: 3px; }
.demo-table-row { grid-template-columns: 22px minmax(0,1fr) auto 28px; }
.demo-table-row > span { display: flex; align-items: center; gap: 6px; min-width: 0; }
.demo-table-row > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Painel no estilo mural/Pinterest. Os cards podem ser reordenados e ocultados. */
.home-dashboard-grid {
  display: block !important;
  columns: 1;
  column-gap: 12px;
}
.home-dashboard-grid > * {
  break-inside: avoid;
  margin: 0 0 12px;
  width: 100%;
}
.home-dashboard-grid > .dashboard-hero { column-span: all; }
.home-dashboard-grid [hidden] { display: none !important; }
.dashboard-config-list { display: grid; gap: 7px; max-height: min(58dvh, 620px); overflow: auto; }
.dashboard-config-row {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px;
  border: 1px solid var(--line); background: var(--panel-2); padding: 9px 10px;
}
.dashboard-config-row label { display: flex; align-items: center; gap: 10px; color: var(--text); cursor: pointer; }
.dashboard-config-row label input { width: 18px; height: 18px; }
.dashboard-config-row label span { min-width: 0; }
.dashboard-config-row label strong, .dashboard-config-row label small { display: block; }
.dashboard-config-row label small { color: var(--muted); margin-top: 2px; }
.dashboard-config-row > div { display: flex; gap: 5px; }
.dashboard-config-row button {
  width: 36px; height: 36px; border: 1px solid var(--line); background: var(--panel); color: var(--text); cursor: pointer;
}
.dashboard-config-row button:disabled { opacity: .3; }
.modal-intro { color: var(--muted); line-height: 1.5; font-size: .78rem; }
.sticky-modal-actions {
  position: sticky; bottom: -16px; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
  margin: 4px -16px -16px; padding: 12px 16px calc(12px + var(--safe-bottom));
  border-top: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, transparent); backdrop-filter: blur(14px);
}
.button-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.btn.ghost { background: transparent; border: 1px solid color-mix(in srgb, var(--danger) 50%, var(--line)); color: var(--danger); }

/* Ações importantes não ficam perdidas no final de páginas longas. */
.sticky-action-bar,
.unemployed-action-bar,
.match-action-row {
  position: sticky;
  bottom: calc(70px + var(--safe-bottom));
  z-index: 25;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel) 91%, transparent);
  backdrop-filter: blur(16px);
  box-shadow: 0 -12px 30px rgba(0,0,0,.18);
}
.unemployed-action-bar { margin-bottom: 12px; }

/* Campo ao vivo: placar legível e visual tático animado. */
.pitch-score { color: #fff; }
.pitch-score .score,
.pitch-score .vs,
.pitch-score .fixture-team strong { color: #fff !important; }
.pitch-score .fixture-team { color: #fff; }
.live-pitch-shell {
  margin-top: 12px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(2,18,9,.35);
  overflow: hidden;
}
.live-pitch-canvas { display: block; width: 100%; height: auto; aspect-ratio: 960 / 470; background: #126b3d; }
.live-pitch-caption {
  display: grid; grid-template-columns: auto minmax(0,1fr); gap: 4px 8px; align-items: center;
  padding: 8px 10px; background: rgba(3,12,8,.78); color: #fff;
}
.live-pitch-caption .live-dot { grid-row: 1 / span 2; }
.live-pitch-caption strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.live-pitch-caption small { color: rgba(255,255,255,.68); font-size: .62rem; }

/* Notificações e gerador. */
.notification-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.notification-option-grid label {
  display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px;
  border: 1px solid var(--line); background: var(--panel-2); color: var(--text);
}
.notification-option-grid input { width: 17px; height: 17px; }
.generator-hero { background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 12%, var(--panel)), var(--panel)); }
.generator-hero p { color: var(--muted); line-height: 1.5; margin-top: 6px; }

/* Premiações anuais. */
.award-history { display: grid; gap: 10px; }
.award-season-card { border: 1px solid var(--line); background: var(--panel-2); overflow: hidden; }
.award-season-card > header { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; background: color-mix(in srgb, var(--primary) 10%, var(--panel)); }
.award-season-card > header span { color: var(--muted); font-size: .7rem; }
.award-season-card > div { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px 12px; border-top: 1px solid var(--line); }
.award-season-card > div span b, .award-season-card > div span small { display: block; }
.award-season-card > div span small { color: var(--muted); font-size: .68rem; margin-top: 2px; }

/* Modais grandes nunca extrapolam a tela. */
.app-modal-body { min-height: 0; max-height: calc(88dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
.app-modal.is-wide .app-modal-body { max-height: calc(90dvh - 72px); }

/* Desktop ocupa todo o viewport; a moldura principal não recebe padding/raio. */





/* mobile-only: regra ampla incorporada ao estilo-base */

  .notification-option-grid { grid-template-columns: 1fr; }
  .sticky-action-bar, .unemployed-action-bar, .match-action-row { grid-template-columns: 1fr; }
  .live-pitch-caption small { display: none; }
  .demo-match-list, .demo-standings { max-height: 42dvh; }

.manager-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--primary); color: #07110c; font-weight: 600; }
.topbar.is-unemployed { background: linear-gradient(135deg, #303846, #171b23); }
.editor-form > .btn[type="submit"],
.custom-club-builder > .btn[type="submit"] {
  position: sticky;
  bottom: calc(76px + var(--safe-bottom));
  z-index: 18;
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
}


/* ===== Etapa 13: carreira conectada, controles ao vivo e navegação ===== */
.topbar { grid-template-columns: auto auto minmax(0,1fr) auto; }
.history-controls { display: flex; align-items: center; gap: 4px; }
.history-controls button {
  width: 28px; height: 32px; display: grid; place-items: center; padding: 0;
  border: 1px solid rgba(255,255,255,.18); background: rgba(4,10,14,.22); color: #fff;
  font: 600 1.25rem/1 system-ui; cursor: pointer;
}
.history-controls button:first-child { border-radius: 9px 3px 3px 9px; }
.history-controls button:last-child { border-radius: 3px 9px 9px 3px; }
.history-controls button:hover { background: rgba(255,255,255,.13); }

.career-offer-panel { display: grid; gap: 9px; border-color: color-mix(in srgb, var(--primary) 35%, var(--line)); }
.career-offer-row {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 10px; border: 1px solid var(--line); background: var(--panel-2);
}
.career-offer-row > div:nth-child(2) { min-width: 0; }
.career-offer-row > div:nth-child(2) strong,
.career-offer-row > div:nth-child(2) span { display: block; }
.career-offer-row > div:nth-child(2) span { margin-top: 3px; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.career-offer-row > div:last-child { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.offer-symbol { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--primary) 18%, var(--panel)); color: var(--primary); font-size: 1.2rem; }

.live-management-bar {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 9px 10px; border: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, transparent);
  backdrop-filter: blur(14px); box-shadow: 0 8px 24px rgba(0,0,0,.16);
}
.live-momentum { min-width: 0; }
.live-momentum span, .live-momentum strong { display: block; }
.live-momentum span { color: var(--muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.live-momentum strong { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.live-management-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.live-management-actions .btn { min-height: 34px; }
.live-management-actions span { color: var(--muted); font-size: .62rem; }
.live-strategy-grid, .live-sub-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }

/* O campo é sempre escuro; textos e nomes mantêm contraste previsível. */
.live-pitch-canvas { background: #075b34; }
.live-pitch-caption, .pitch-score { text-shadow: 0 1px 3px rgba(0,0,0,.72); }

html[data-theme="light"] .live-management-bar,
html[data-theme="light"] .career-offer-row { background: #fff; }
html[data-theme="light"] .history-controls button { background: rgba(0,0,0,.24); }




/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar { grid-template-columns: auto auto minmax(0,1fr) auto; gap: 7px; }
  .history-controls { gap: 2px; }
  .history-controls button { width: 24px; height: 30px; font-size: 1.08rem; }
  .topbar > .crest.small, .topbar > .manager-avatar { width: 30px; height: 34px; }
  .club-meta strong { font-size: .82rem; }
  .club-meta span { font-size: .65rem; }
  .topbar .money { display: none; }
  .career-offer-row { grid-template-columns: auto minmax(0,1fr); }
  .career-offer-row > div:last-child, .career-offer-row > button { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .live-management-bar { grid-template-columns: 1fr; position: sticky; top: 0; z-index: 18; }
  .live-management-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .live-management-actions .btn { padding-inline: 5px; font-size: .67rem; }
  .live-strategy-grid, .live-sub-grid { grid-template-columns: 1fr; }


@media (max-width: 380px){
  .topbar-help { display: none; }
  .live-management-actions { grid-template-columns: 1fr; }
}

/* ===== Etapa 14: catálogo global, linguagem simples e modo espectador ===== */
.team-picker-tools {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 9px;
  margin: 10px 0;
}
.team-picker-tools label { min-width: 0; }
.setup-career-card .team-grid { max-height: min(48dvh, 560px); overflow: auto; overscroll-behavior: contain; }
.setup-career-card .team-card { min-height: 66px; }

.observer-screen {
  width: 100%; height: 100dvh; min-height: 0;
  display: grid; grid-template-rows: auto auto minmax(0,1fr) auto;
  overflow: hidden; background: var(--bg); color: var(--text);
}
.observer-header {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 10px 14px; border-bottom: 1px solid var(--line); background: var(--panel);
}
.observer-header > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 3px 7px; min-width: 0; }
.observer-header .live-dot { grid-row: 1 / span 2; }
.observer-header strong, .observer-header small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.observer-header small { color: var(--muted); font-size: .68rem; }
.observer-header > b { font-size: 1rem; color: var(--primary); }
.observer-featured {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 10px;
  min-height: 122px; padding: 14px;
  background: linear-gradient(110deg, color-mix(in srgb, var(--home-primary) 68%, #08110d), #101820 48%, color-mix(in srgb, var(--away-primary) 68%, #08110d));
  color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.8);
}
.observer-featured > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.observer-featured > div:last-child { justify-content: flex-end; text-align: right; }
.observer-featured .crest { width: 52px; height: 62px; flex: 0 0 52px; }
.observer-featured > div strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.observer-featured > span { text-align: center; }
.observer-featured > span b, .observer-featured > span small { display: block; }
.observer-featured > span b { font-size: 2rem; }
.observer-featured > span small { margin-top: 2px; font-size: .64rem; letter-spacing: .12em; }
.observer-groups { min-height: 0; overflow: auto; padding: 12px; }
.observer-group { margin-bottom: 12px; border: 1px solid var(--line); background: var(--panel); }
.observer-group > header {
  position: sticky; top: -12px; z-index: 2; display: flex; justify-content: space-between; gap: 10px;
  padding: 9px 10px; background: color-mix(in srgb, var(--panel) 94%, transparent); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);
}
.observer-group > header span { color: var(--muted); font-size: .68rem; }
.observer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 8px; }
.observer-tile {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 6px;
  min-height: 54px; padding: 7px 8px; border: 1px solid var(--line); background: var(--panel-2);
}
.observer-tile > span { display: flex; align-items: center; gap: 5px; min-width: 0; }
.observer-tile > span:nth-of-type(2) { justify-content: flex-end; text-align: right; }
.observer-tile > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .7rem; }
.observer-tile > strong { font-size: .86rem; }
.observer-tile > small { grid-column: 1 / -1; color: var(--muted); font-size: .58rem; text-align: center; }
.observer-tile.is-final { background: color-mix(in srgb, var(--primary) 6%, var(--panel-2)); }
.observer-actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 9px 12px calc(9px + var(--safe-bottom));
  border-top: 1px solid var(--line); background: var(--panel);
}
.observer-actions > [hidden] { display: none; }

/* Cabeçalhos explicativos podem ser largos; a tabela continua acessível no celular. */
.table-wrap { overflow: auto; overscroll-behavior-inline: contain; }
.table-wrap table { min-width: 780px; }
.table-wrap th { white-space: normal; line-height: 1.15; font-size: .64rem; }
.table-wrap td { white-space: nowrap; }
.league-selector { align-items: end; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .team-picker-tools { grid-template-columns: 1fr; }
  .setup-career-card .team-grid { max-height: 44dvh; }
  .observer-featured { min-height: 98px; padding: 10px 8px; gap: 6px; }
  .observer-featured .crest { width: 36px; height: 44px; flex-basis: 36px; }
  .observer-featured > div { display: grid; justify-items: center; text-align: center; gap: 4px; }
  .observer-featured > div:last-child { justify-items: center; text-align: center; }
  .observer-featured > div strong { max-width: 110px; font-size: .7rem; }
  .observer-featured > span b { font-size: 1.55rem; }
  .observer-grid { grid-template-columns: 1fr; padding: 6px; }
  .observer-groups { padding: 8px; }
  .observer-group > header { top: -8px; }
  .observer-tile { min-height: 48px; }
  .observer-actions { grid-template-columns: 1fr; }
  .table-wrap table { min-width: 710px; font-size: .68rem; }
  .table-wrap th, .table-wrap td { padding-inline: 7px; }
  .glance-row > small,
  .topbar .money,
  .topbar-help,
  .live-pitch-caption small { display: block !important; }
  .topbar .money { font-size: .58rem; max-width: 78px; overflow: hidden; text-overflow: ellipsis; }
  .topbar-help { width: 26px; height: 28px; }
  .glance-row { grid-template-columns: 42px minmax(0,1fr) minmax(74px,.6fr) 55px !important; }
  .glance-row > small { font-size: .58rem; line-height: 1.2; }


@media (max-width: 370px){
  .observer-tile > span b { font-size: .64rem; }
  .observer-featured > div strong { max-width: 86px; }
  .topbar { gap: 4px; padding-inline: 7px; }
  .topbar .money { max-width: 58px; }
}



/* ===== Etapa 15: modularidade, leitura e interação sem armadilhas ===== */
.topbar-settings {
  width: 32px; height: 32px; display: grid; place-items: center; padding: 0;
  border: 1px solid rgba(255,255,255,.2); background: rgba(3,10,13,.26); color: #fff;
  cursor: pointer; font-size: .92rem;
}
.topbar-settings:hover, .topbar-settings:focus-visible { background: rgba(255,255,255,.14); outline: 2px solid rgba(255,255,255,.55); outline-offset: 2px; }
.club-meta small { display: block; margin-top: 2px; color: rgba(255,255,255,.7); font-size: .6rem; line-height: 1.25; }
.nav-btn.is-disabled { opacity: .42; cursor: not-allowed; filter: saturate(.35); }

/* O CTA de personalização deve ficar sobre o canvas e receber clique sempre. */
.dashboard-hero { isolation: isolate; overflow: visible; }
.dashboard-hero::after { z-index: -1; pointer-events: none; }
.panel-heading-row .text-action, #customizeDashboardBtn { position: relative; z-index: 6; pointer-events: auto; touch-action: manipulation; }
.text-action:focus-visible { outline: 2px solid var(--primary); outline-offset: 4px; }
.dashboard-priority { break-inside: avoid; border-color: color-mix(in srgb, var(--primary) 42%, var(--line)); }

/* Brasões discretos onde são apenas identificadores. */
.team-label .crest.micro, .table-club-cell .crest.micro, .ranking-row .crest.micro,
.news-item .crest.micro, .calendar-list .crest.micro { width: 18px; height: 21px; flex-basis: 18px; }
.team-label.is-compact .crest.micro, .team-mini-chip .crest.micro { width: 16px; height: 19px; flex-basis: 16px; }
.is-clickable { cursor: pointer; }
.is-clickable:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Perfil de clube e elenco em popup. */
.team-profile-hero {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px;
  padding: 14px; color: #fff; background: linear-gradient(125deg, color-mix(in srgb, var(--team-primary) 72%, #09130f), color-mix(in srgb, var(--team-secondary) 62%, #101822));
  text-shadow: 0 1px 3px rgba(0,0,0,.78);
}
.team-profile-hero h3, .team-profile-hero p { margin: 0; }
.team-profile-hero p { margin-top: 3px; color: rgba(255,255,255,.78); font-size: .7rem; }
.team-profile-hero > strong { font-size: 1.45rem; }
.team-squad-modal-list { display: grid; gap: 6px; }
.team-squad-modal-row {
  display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 9px;
  padding: 9px 10px; border: 1px solid var(--line); background: var(--panel-2);
}
.team-squad-modal-row > span { color: var(--muted); font-size: .62rem; }
.team-squad-modal-row strong, .team-squad-modal-row small { display: block; }
.team-squad-modal-row small { margin-top: 2px; color: var(--muted); font-size: .65rem; line-height: 1.35; }
.team-squad-modal-row.is-starter { border-left: 3px solid var(--primary); }

/* Características e selos de jogadores. */
.player-tag { font-size: .58rem; line-height: 1; }
.attribute-grid { grid-template-columns: repeat(auto-fit,minmax(92px,1fr)); }
.attribute { min-width: 0; }
.attribute span { overflow-wrap: anywhere; }

/* Temporadas, finanças e sons modulares. */
.statistics-season-toolbar {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.35fr); align-items: end; gap: 10px;
}
.loan-panel { display: grid; gap: 10px; }
.loan-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 8px; }
.loan-option, .loan-active {
  border: 1px solid var(--line); background: var(--panel-2); color: var(--text); padding: 11px; text-align: left;
}
.loan-option { display: grid; gap: 7px; cursor: pointer; }
.loan-option:hover { border-color: var(--primary); }
.loan-option span strong, .loan-option span small { display: block; }
.loan-option small, .loan-active span { color: var(--muted); font-size: .67rem; }
.loan-active { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; }
.loan-active div strong, .loan-active div span { display: block; }
.custom-sound-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); gap: 8px; }
.custom-sound-grid > label { padding: 10px; border: 1px solid var(--line); background: var(--panel-2); }
.custom-sound-grid > label > span { min-height: 2.5em; color: var(--muted); font-size: .65rem; overflow-wrap: anywhere; }
.custom-sound-grid > label > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }

/* Popups de títulos e premiações. */
.celebration-card {
  min-height: 220px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 22px;
  color: #fff; text-align: center; background: radial-gradient(circle at 50% 25%, rgba(255,255,255,.2), transparent 36%), linear-gradient(135deg, color-mix(in srgb, var(--team-primary) 76%, #07110c), color-mix(in srgb, var(--team-secondary) 70%, #121822));
  text-shadow: 0 2px 5px rgba(0,0,0,.78);
}
.celebration-card .crest { width: 54px; height: 64px; }
.celebration-trophy { font-size: 2.6rem; filter: drop-shadow(0 4px 7px rgba(0,0,0,.45)); }
.celebration-card h3, .celebration-card strong, .celebration-card small { margin: 0; display: block; }
.celebration-card > strong { font-size: 1.35rem; color: #ffe58a; }
.celebration-details { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.celebration-details li { padding: 9px 10px; border: 1px solid var(--line); background: var(--panel-2); }

/* Ações permanecem acessíveis, mas nunca viram uma placa sobre o conteúdo. */
.sticky-action-bar, .unemployed-action-bar, .match-action-row {
  position: sticky; z-index: 12; bottom: 8px; width: min(100%, 720px); margin-inline: auto;
  padding: 6px; border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  background: color-mix(in srgb, var(--panel) 90%, transparent); backdrop-filter: blur(12px);
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}
.sticky-action-bar .btn, .unemployed-action-bar .btn, .match-action-row .btn { min-height: 38px; padding-block: 8px; }
.editor-form > .btn[type="submit"], .custom-club-builder > .btn[type="submit"] {
  position: static !important; width: auto; min-width: 160px; box-shadow: none !important; justify-self: start;
}

/* Modal: rolagem apenas no corpo; cabeçalho e ações permanecem previsíveis. */
.app-modal { max-height: min(92dvh, 920px); grid-template-rows: auto minmax(0,1fr); }
.app-modal-body { overscroll-behavior-y: contain; }
.sticky-modal-actions {
  position: sticky; bottom: -16px; z-index: 8; display: flex; justify-content: flex-end; gap: 8px;
  margin: 4px -16px -16px; padding: 10px 16px calc(10px + var(--safe-bottom));
  border-top: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, transparent); backdrop-filter: blur(10px);
}

/* Tema claro: controles secundários e subtabs legíveis. */
html[data-theme="light"] .topbar-settings { background: rgba(0,0,0,.28); }
html[data-theme="light"] .subtabs { background: #eef2f7 !important; color: #1d2937; }
html[data-theme="light"] .subtab { color: #3a4858 !important; background: transparent; }
html[data-theme="light"] .subtab.is-active { color: #111827 !important; background: #fff !important; box-shadow: 0 1px 4px rgba(23,32,51,.12); }
html[data-theme="light"] .loan-option,
html[data-theme="light"] .loan-active,
html[data-theme="light"] .team-squad-modal-row,
html[data-theme="light"] .custom-sound-grid > label { background: #fff; }

/* Em celular, prefira a rolagem da página. Só painéis genuinamente independentes continuam rolando. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  .bounded-scroll:not(.setup-career-card .team-grid):not(.observer-groups):not(.live-competition-list),
  .compact-scroll:not(.live-competition-list) {
    max-height: none !important; overflow: visible !important; overscroll-behavior: auto !important; }
  .content, #view { overscroll-behavior-y: auto; }
  .sticky-action-bar, .unemployed-action-bar, .match-action-row {
    position: static; width: 100%; margin-top: 10px; padding: 0; border: 0; background: transparent; backdrop-filter: none; box-shadow: none;
  }
  .app-modal-body { max-height: calc(92dvh - 70px); }
  .team-profile-hero { grid-template-columns: auto minmax(0,1fr); }
  .team-profile-hero > strong { grid-column: 1 / -1; justify-self: end; margin-top: -34px; }
  .statistics-season-toolbar { grid-template-columns: 1fr; }


@media (max-width: 520px){
  .club-meta small { font-size: .55rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar-settings { width: 27px; height: 29px; }
  .loan-options, .custom-sound-grid { grid-template-columns: 1fr; }
  .loan-active { grid-template-columns: 1fr auto; }
  .loan-active .btn { grid-column: 1 / -1; }
  .team-squad-modal-row { grid-template-columns: 48px minmax(0,1fr) auto; padding-inline: 8px; }
  .sticky-modal-actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); }
}



/* ===== Etapa 16: partida em duas metades, perfis e múltiplas carreiras ===== */
.save-slot-launcher { margin-bottom: 12px; }
.save-slot-list { display: grid; gap: 7px; }
.save-slot-row {
  display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px;
  padding: 9px 10px; border: 1px solid var(--line); background: var(--panel-2);
}
.save-slot-row strong, .save-slot-row span { display: block; }
.save-slot-row span { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.manager-avatar, .manager-profile-photo {
  object-fit: cover; border-radius: 50%; background: var(--panel-2); border: 1px solid rgba(255,255,255,.26);
}
.manager-profile-photo { width: 72px; height: 72px; }
.manager-profile-card { overflow: hidden; }
.manager-profile-head {
  display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 13px;
  margin: -14px -14px 14px; padding: 18px 15px;
  background: linear-gradient(125deg, color-mix(in srgb,var(--club-primary) 58%,#101722), color-mix(in srgb,var(--club-secondary) 52%,#111827));
  color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.74);
}
.manager-profile-head h3, .manager-profile-head p { margin: 0; }
.manager-profile-head p { margin-top: 4px; color: rgba(255,255,255,.76); font-size: .7rem; }
.attribute-editor-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(108px,1fr)); gap: 8px; }
.clone-player-panel { display: grid; gap: 9px; padding: 10px; border: 1px solid var(--line); background: var(--panel-2); }
.clone-section-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 6px; }
.clone-section-grid label { display: flex; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid var(--line); color: var(--text); }
.clone-section-grid input { width: 17px; height: 17px; }
.player-profile-head {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px;
  padding: 12px; background: color-mix(in srgb,var(--primary) 8%,var(--panel-2)); border: 1px solid var(--line);
}
.player-profile-head p { margin-top: 3px; color: var(--muted); font-size: .69rem; }
.player-profile-head > strong { font-size: 1.35rem; }
.player-profile-head > strong small { display: block; color: var(--muted); font-size: .55rem; text-align: right; }
.player-profile-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(105px,1fr)); gap: 7px; }
.player-profile-metrics > div { padding: 9px; border: 1px solid var(--line); background: var(--panel-2); }
.player-profile-metrics span, .player-profile-metrics strong { display: block; }
.player-profile-metrics span { color: var(--muted); font-size: .61rem; }
.player-profile-metrics strong { margin-top: 3px; font-size: .82rem; }
.player-profile-attributes { display: grid; grid-template-columns: repeat(auto-fit,minmax(118px,1fr)); gap: 6px; }
.player-profile-attributes > div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 8px; border-bottom: 1px solid var(--line); font-size: .68rem; }
.player-profile-attributes span { color: var(--muted); }

.live-info-tabs {
  min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px;
  padding: 4px; border: 1px solid var(--line); background: var(--panel);
}
.live-info-tabs button {
  min-width: 0; min-height: 34px; padding: 6px 5px; border: 0; background: transparent; color: var(--muted);
  font: inherit; font-size: .64rem; cursor: pointer;
}
.live-info-tabs button.is-active { background: color-mix(in srgb,var(--primary) 14%,var(--panel-2)); color: var(--text); box-shadow: inset 0 -2px 0 var(--primary); }
.live-info-workspace { min-height: 0; overflow: hidden; position: relative; }
.live-match-pane { display: none !important; min-height: 0; height: 100%; overflow: auto; overscroll-behavior: contain; }
.live-match-pane.is-active:not(.is-hidden) { display: block !important; }
.live-match-pane.match-events.is-active { display: block !important; }
.live-match-pane.other-live-panel.is-active { display: grid !important; }
.live-quick-statistics { padding: 10px; border: 1px solid var(--line); background: var(--panel); }
.live-stat-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.live-stat-grid > div { padding: 9px; border: 1px solid var(--line); background: var(--panel-2); }
.live-stat-grid span, .live-stat-grid strong { display: block; }
.live-stat-grid span { color: var(--muted); font-size: .6rem; }
.live-stat-grid strong { margin-top: 3px; font-size: .78rem; }
.live-lineups-pane { padding: 9px; border: 1px solid var(--line); background: var(--panel); }
.live-lineup-team {
  width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px;
  margin-bottom: 8px; padding: 10px; border: 1px solid var(--line); color: #fff; text-align: left; cursor: pointer;
  text-shadow: 0 1px 3px rgba(0,0,0,.7);
}
.live-lineup-team strong, .live-lineup-team small { display: block; }
.live-lineup-team small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: .62rem; }

/* Outros jogos: menos massa escura, nomes compactos e escudos realmente pequenos. */
.live-competition-list { background: color-mix(in srgb,var(--bg) 42%,var(--panel)); }
.live-competition-group { background: var(--panel); border-radius: 6px; }
.live-competition-group > header {
  background: color-mix(in srgb,var(--panel) 94%,var(--primary) 6%); color: var(--text); backdrop-filter: none;
}
.live-fixture-grid { gap: 3px; }
.live-score-tile {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) 24px;
  min-height: 36px; padding: 3px 4px; border-radius: 5px;
  background: linear-gradient(90deg,color-mix(in srgb,var(--home-primary) 6%,transparent),transparent 35% 65%,color-mix(in srgb,var(--away-primary) 6%,transparent)),var(--panel-2);
}
.live-score-tile .live-club { display: flex; align-items: center; gap: 4px; padding: 0; background: transparent !important; color: var(--text); text-shadow: none; }
.live-score-tile .live-club.away { flex-direction: row-reverse; text-align: right; }
.live-score-tile .live-club b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .55rem; font-weight: 600; }
.live-score-tile .crest.nano { width: 12px; height: 15px; flex: 0 0 12px; }
.live-score-tile > strong { font-size: .65rem; }
.live-score-tile > em { font-size: .46rem; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .match-screen {
    height: 100dvh; min-height: 0; padding: calc(5px + var(--safe-top)) 0 calc(4px + var(--safe-bottom)); gap: 4px;
    grid-template-rows: auto minmax(0,50dvh) auto auto minmax(0,1fr) auto auto;
  }
  .match-header, .live-management-bar, .live-info-tabs, .live-info-workspace, .match-stats, .post-match-summary, .match-action-row { margin-inline: 6px; }
  .pitch-score { min-height: 0; padding: 7px 6px 5px; border-inline: 0; border-radius: 0; display: grid; grid-template-rows: auto minmax(0,1fr); }
  .pitch-score::before { inset: 5px; }
  .pitch-score .fixture-card { min-height: 40px; }
  .pitch-score .fixture-team .crest { width: 25px; height: 30px; }
  .pitch-score .fixture-team strong { max-width: 95px; font-size: .65rem; }
  .pitch-score .score { font-size: 1.25rem; }
  .live-pitch-shell { min-height: 0; margin-top: 5px; display: grid; grid-template-rows: minmax(0,1fr) auto; }
  .live-pitch-canvas { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; object-fit: contain; }
  .live-pitch-caption { padding: 4px 7px; }
  .live-pitch-caption strong { font-size: .66rem; }
  .live-management-bar { position: static; padding: 5px 6px; gap: 4px; }
  .live-momentum { display: none; }
  .live-management-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
  .live-management-actions .btn { min-height: 32px; padding: 4px 3px; font-size: .59rem; }
  .live-info-tabs { min-height: 38px; }
  .live-info-tabs button { min-height: 29px; font-size: .57rem; }
  .live-info-workspace { min-height: 0; }
  .match-events { border-radius: 0; padding: 4px 7px; }
  .match-events .event { grid-template-columns: 31px 16px minmax(0,1fr); gap: 5px; padding: 5px 0; font-size: .66rem; }
  .other-live-panel { border-radius: 0; }
  .other-live-heading { padding: 5px 7px; }
  .other-live-heading span { display: none; }
  .live-competition-list { padding: 3px; }
  .live-competition-group { margin-bottom: 4px; }
  .live-competition-group > header { top: -3px; min-height: 23px; padding: 3px 5px; }
  .live-fixture-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 3px; }
  .live-score-tile { min-height: 31px; }
  .live-score-tile .live-club b { font-size: .5rem; }
  .live-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .match-action-row { position: static; padding: 4px; }


@media (max-width: 430px){
  .live-fixture-grid { grid-template-columns: 1fr; }
  .live-score-tile .live-club b { font-size: .57rem; }
  .manager-profile-head { grid-template-columns: 58px minmax(0,1fr); }
  .manager-profile-photo { width: 58px; height: 58px; }
  .player-profile-head { grid-template-columns: auto minmax(0,1fr); }
  .player-profile-head > strong { grid-column: 2; justify-self: end; margin-top: -26px; }
}




.confidence-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.confidence-split > div { padding: 8px; border: 1px solid var(--line); background: var(--panel-2); }
.confidence-split span, .confidence-split strong { display: block; }
.confidence-split span { color: var(--muted); font-size: .59rem; }
.confidence-split strong { margin: 2px 0 5px; font-size: .76rem; }
.progress-track i { display: block; height: 100%; background: var(--primary); }
.progress-track.fan span, .progress-track.fan i { background: #f2b84b; }
.team-squad-modal-row { width: 100%; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.team-squad-modal-row:hover { border-color: var(--primary); }
@media (max-width: 430px){ .confidence-split { grid-template-columns: 1fr; } }
.save-slot-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
@media (max-width: 430px){ .save-slot-row { grid-template-columns: 1fr; } .save-slot-actions { justify-content: stretch; } .save-slot-actions .btn { flex: 1; } }

/* Etapa 17 — fluxo ao vivo, modos de carreira e refinamento visual */
.topbar-menu-button,
.topbar-money {
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  background: color-mix(in srgb, #000 18%, transparent);
  color: #fff;
  min-height: 34px;
  border-radius: 10px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.topbar-money { padding: 6px 10px; white-space: nowrap; max-width: none; text-overflow: clip; overflow: visible; }
.topbar-menu-button { width: 36px; padding: 0; font-size: 1.2rem; line-height: 1; }
.quick-menu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.quick-menu-grid button {
  display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 3px 9px; align-items: center;
  padding: 12px; border: 1px solid var(--line); background: var(--panel-2); color: var(--text); text-align: left; cursor: pointer;
}
.quick-menu-grid button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: color-mix(in srgb,var(--primary) 14%,var(--panel)); color: var(--primary); font-size: 1rem; }
.quick-menu-grid strong { font-size: .75rem; }
.quick-menu-grid small { color: var(--muted); line-height: 1.35; }
.notification-center-list { display: grid; gap: 8px; }
.notification-center-list article { padding: 11px; border: 1px solid var(--line); background: var(--panel-2); }
.notification-center-list article > span { color: var(--primary); font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; }
.notification-center-list article strong, .notification-center-list article p { display: block; }
.notification-center-list article p { margin: 4px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }

.demo-newsroom { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.demo-log { display: grid; gap: 5px; max-height: 150px; overflow: auto; overscroll-behavior: contain; }
.demo-log article { display: grid; gap: 2px; padding: 7px 8px; background: color-mix(in srgb,var(--panel-2) 86%,transparent); border-left: 2px solid var(--primary); }
.demo-log article span { color: var(--muted); font-size: .52rem; text-transform: uppercase; letter-spacing: .06em; }
.demo-log article strong { font-size: .65rem; line-height: 1.35; }

.auto-manager-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; border-color: color-mix(in srgb,var(--primary) 24%,var(--line)); }
.auto-manager-panel.is-running { background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--panel)),var(--panel)); box-shadow: inset 3px 0 0 var(--primary); }
.auto-manager-panel h3, .auto-manager-panel p { margin: 3px 0; }
.auto-manager-panel p { color: var(--muted); line-height: 1.45; }
.auto-manager-actions { display: grid; gap: 6px; justify-items: end; max-width: 280px; }
.auto-manager-actions span { color: var(--muted); font-size: .61rem; text-align: right; line-height: 1.35; }
.mode-log-list { display: grid; gap: 6px; }
.mode-log-list article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: center; padding: 8px 9px; background: var(--panel-2); border: 1px solid var(--line); }
.mode-log-list article span { color: var(--muted); font-size: .55rem; }
.mode-log-list article strong { font-size: .67rem; }

.league-live-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.league-rules { align-items: center; }

.live-management-actions { align-items: stretch; }
.live-pause-button { background: color-mix(in srgb,var(--primary) 88%,#08120d); color: #fff; }
.live-pause-button.is-paused { background: #f1b84b; color: #201708; }
.live-info-tabs button[hidden] { display: none !important; }
.live-info-tabs #liveFinishTab { color: #fff; background: color-mix(in srgb,var(--primary) 78%,#0a1b11); }
.live-finish-pane { padding: 0 !important; background: transparent !important; overflow: auto; }
.live-finish-pane .post-match-summary { display: grid; gap: 10px; }
.finish-action-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 10px; background: var(--panel); border: 1px solid var(--line); position: sticky; bottom: 0; z-index: 4; }
.finish-action-row .btn { width: 100%; min-width: 0; }
.compact-help { margin-top: 10px; }
.live-quick-statistics .match-stats { margin-top: 10px; }

.live-competition-group { background: color-mix(in srgb,var(--panel) 92%,transparent); }
.live-competition-group > header { background: color-mix(in srgb,var(--panel-2) 94%,transparent); }
.live-score-tile {
  background: color-mix(in srgb,var(--surface) 78%,transparent);
  border-color: color-mix(in srgb,var(--line) 82%,transparent);
  box-shadow: none;
  padding: 5px 6px;
}
.live-score-tile::before, .live-score-tile::after { width: 2px; opacity: .8; }
.live-score-tile .crest.nano { width: 11px; height: 13px; flex-basis: 11px; }
.live-score-tile .live-club b { font-size: .57rem; }
.live-score-tile > strong { font-size: .67rem; }

.clone-search-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.clone-search-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; max-height: 251px; overflow: auto; margin: 8px 0; padding: 2px; overscroll-behavior: contain; }
.clone-candidate { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; align-items: center; padding: 8px; border: 1px solid var(--line); background: var(--panel-2); color: var(--text); text-align: left; cursor: pointer; }
.clone-candidate.is-selected { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.clone-candidate span, .clone-candidate strong, .clone-candidate small { display: block; min-width: 0; }
.clone-candidate strong, .clone-candidate small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.clone-candidate small { color: var(--muted); margin-top: 2px; font-size: .57rem; }
.clone-selected-player { min-height: 40px; display: flex; align-items: center; gap: 7px; padding: 8px; border: 1px dashed var(--line); color: var(--muted); }
.clone-selected-player strong { color: var(--text); }
.clone-selected-player span { font-size: .6rem; }
.clone-options { display: flex; flex-wrap: wrap; gap: 6px; margin: 9px 0; }
.clone-option-chip { position: relative; display: inline-flex !important; width: auto !important; padding: 0 !important; }
.clone-option-chip input { position: absolute; opacity: 0; pointer-events: none; }
.clone-option-chip span { display: inline-flex; min-height: 32px; align-items: center; padding: 5px 10px; border: 1px solid var(--line); background: var(--panel-2); color: var(--muted); cursor: pointer; font-size: .62rem; }
.clone-option-chip input:checked + span { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 13%,var(--panel)); color: var(--text); }

/* Respiro consistente em blocos aninhados sem aumentar o invólucro principal. */
.panel > .panel, .panel > form.panel, .panel > section.panel { margin-top: 10px; }
.settings-group > .toggle-row + .toggle-row { margin-top: 5px; }
.editor-form > details + button, .editor-form > .editor-grid + details { margin-top: 10px; }
.market-card-main .club-context .team-label b { max-width: 190px; }

html[data-theme="light"] .live-score-tile { background: rgba(255,255,255,.88); }
html[data-theme="light"] .live-competition-group > header { background: #eef2f6; color: #17202b; }
html[data-theme="light"] .topbar-money, html[data-theme="light"] .topbar-menu-button { color: #fff; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar .money.topbar-money { display: inline-flex !important; max-width: none !important; font-size: .56rem; padding: 5px 7px; }
  .topbar-actions { gap: 5px; }
  .topbar-menu-button { width: 32px; min-height: 31px; border-radius: 8px; }
  .quick-menu-grid { grid-template-columns: 1fr; }
  .setup-mode-switch { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .setup-mode-switch button { padding-inline: 4px; font-size: .6rem; }
  .auto-manager-panel { grid-template-columns: 1fr; }
  .auto-manager-actions { justify-items: stretch; max-width: none; }
  .auto-manager-actions span { text-align: left; }
  .match-screen { grid-template-rows: auto minmax(0,50dvh) auto auto minmax(0,1fr); }
  .match-header, .live-management-bar, .live-info-tabs, .live-info-workspace { margin-inline: 5px; }
  .live-management-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .live-management-actions #skipMatchBtn { grid-column: span 2; }
  .live-management-actions .btn { white-space: normal; line-height: 1.15; }
  .live-info-tabs { overflow-x: auto; justify-content: flex-start; }
  .live-info-tabs button { flex: 1 0 auto; padding-inline: 8px; }
  .finish-action-row { grid-template-columns: 1fr 1fr; margin: 0; border-inline: 0; border-radius: 0; }
  .clone-search-tools, .clone-search-results { grid-template-columns: 1fr; }
  .clone-search-results { max-height: 210px; }
  .demo-log { max-height: none; overflow: visible; }


@media (max-width: 430px){
  .topbar .crest.small { width: 27px; height: 32px; }
  .topbar-money { max-width: 80px !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  .live-management-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .live-management-actions #skipMatchBtn { grid-column: span 2; }
  .finish-action-row { gap: 5px; padding: 7px; }
  .finish-action-row .btn { font-size: .62rem; padding-inline: 5px; }
}



.auto-manager-log { grid-column: 1 / -1; width: 100%; }

/* Etapa 18 — transmissões visuais, automação contínua e compactação móvel */
.live-management-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 5px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  }
.live-management-actions .btn {
  flex: 1 0 auto;
  min-width: 0;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.live-management-actions .btn small { font-size: .52rem; opacity: .78; }
.live-action-label { white-space: nowrap; }
.live-finish-pane,
.live-finish-pane.is-active {
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 82px !important;
  }
.live-finish-pane .post-match-summary { min-height: max-content; }
.auto-manager-floating {
  position: fixed;
  z-index: 80;
  right: max(10px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  min-height: 42px;
  border: 1px solid color-mix(in srgb, #ff6678 62%, var(--line));
  background: color-mix(in srgb, #a9283a 90%, #111827);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.auto-advance-countdown {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 3px 10px;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb, var(--primary) 40%, var(--line));
  background: color-mix(in srgb, var(--primary) 8%, var(--panel));
}
.auto-advance-countdown span,
.auto-advance-countdown small { color: var(--muted); }
.auto-advance-countdown strong { grid-row: 1 / span 2; grid-column: 2; font-size: 1.45rem; }
.auto-advance-countdown small { font-size: .57rem; }

.icon-button {
  min-width: 34px;
  min-height: 34px;
  padding: 6px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  font: inherit;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
}
.observer-live-mode {
  height: 100dvh;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(210px, 44dvh) minmax(0,1fr) auto;
  gap: 7px;
  overflow: hidden;
  background: var(--bg);
}
.observer-clock { display: flex; align-items: center; gap: 6px; }
.observer-live-main {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(251px,.55fr);
  gap: 8px;
  padding-inline: 8px;
}
.observer-pitch-panel,
.observer-feed-panel {
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--panel);
}
.observer-pitch-panel { display: grid; grid-template-rows: minmax(0,1fr) auto; }
.observer-pitch-canvas { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.observer-feed-panel { display: grid; grid-template-rows: auto minmax(0,1fr); }
.observer-event-log {
  min-height: 0;
  overflow-y: auto;
  padding: 5px 8px;
  display: grid;
  align-content: start;
  gap: 2px;
}
.observer-event-log article {
  display: grid;
  grid-template-columns: 31px 18px minmax(0,1fr);
  gap: 5px;
  align-items: start;
  padding: 6px 0;
  border-bottom: 1px solid var(--line);
  font-size: .66rem;
}
.observer-event-log time { color: var(--muted); }
.observer-event-log p { margin: 0; line-height: 1.35; }
.observer-groups {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: auto;
  padding: 0 8px 8px;
}
.observer-tile .crest.micro,
.observer-tile .crest.nano { width: 14px; height: 17px; }
.observer-tile span { min-width: 0; }
.observer-tile span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .match-screen { grid-template-rows: auto minmax(0,50dvh) auto auto minmax(0,1fr) !important; }
  .live-management-bar { overflow: hidden; }
  .live-management-actions { width: 100%; gap: 3px; }
  .live-management-actions .btn {
    flex: 1 1 0;
    min-width: 42px;
    min-height: 32px;
    padding: 4px 5px;
    font-size: .66rem;
  }
  .live-management-actions .btn .live-action-label { display: none; }
  .live-management-actions .btn > span[aria-hidden] { font-size: .82rem; }
  .live-management-actions .btn small { font-size: .48rem; }
  .live-finish-pane,
  .live-finish-pane.is-active { padding-bottom: 96px !important; }
  .finish-action-row { position: sticky !important; bottom: 0; z-index: 8; margin: 0 !important; }
  .auto-manager-floating {
    right: 7px;
    bottom: calc(7px + env(safe-area-inset-bottom));
    min-height: 36px;
    padding: 7px 9px;
    font-size: .62rem;
  }
  .observer-live-mode {
    grid-template-rows: auto auto minmax(0,48dvh) minmax(0,1fr) auto;
    gap: 4px;
  }
  .observer-header { padding: calc(5px + var(--safe-top)) 6px 5px; }
  .observer-featured { margin-inline: 0; border-inline: 0; padding: 5px 7px; }
  .observer-featured .crest { width: 24px; height: 28px; }
  .observer-featured strong { font-size: .62rem; }
  .observer-live-main {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0,1fr) minmax(88px, 28%);
    gap: 4px;
    padding-inline: 0;
  }
  .observer-pitch-panel,
  .observer-feed-panel { border-inline: 0; }
  .observer-event-log article { font-size: .6rem; padding: 4px 6px; }
  .observer-groups { padding-inline: 4px; }
  .observer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; }
  .observer-tile { padding: 4px; min-height: 34px; }
  .observer-tile b { font-size: .52rem; }
  .observer-actions { padding: 5px 7px calc(5px + var(--safe-bottom)); }


@media (max-width: 430px){
  .observer-grid { grid-template-columns: 1fr; }
  .observer-live-main { grid-template-rows: minmax(0,1fr) minmax(82px, 24%); }
  .live-info-tabs button { padding-inline: 4px; }
  .home-dashboard-grid { gap: 8px; }
  .panel { padding: 10px; }
  .dashboard-hero { padding: 12px; }
  .quick-action-grid { gap: 5px; }
  .quick-action-grid button { min-height: 58px; padding: 7px; }
}

/* Base de desempenho do ao vivo e abas em linha única */
.live-info-tabs {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 3px;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  white-space: nowrap;
}
.live-info-tabs button {
  flex: 1 1 0;
  min-width: 58px;
  max-width: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
  line-height: 1;
}
.live-info-tabs button > span[aria-hidden="true"] { font-size: .78rem; }
.live-info-tabs #liveFinishTab:not([hidden]) { display: inline-flex !important; }

/* O encerramento continua usando a grade do ao vivo; somente o painel interno rola. */
.match-screen.is-finished {
  display: grid !important;
  overflow: hidden !important;
  padding-bottom: calc(4px + var(--safe-bottom)) !important;
}
.match-screen.is-finished > * + * { margin-top: 0 !important; }
.live-info-workspace {
  display: grid;
  contain: layout paint;
}
.live-match-pane {
  min-height: 0;
  contain: layout paint style;
}
.live-finish-pane,
.live-finish-pane.is-active {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 92px !important;
}
.live-finish-pane .post-match-summary {
  min-height: max-content;
  padding-bottom: 8px;
}

/* Reduz trabalho de pintura em listas extensas e no canvas. */
.live-pitch-canvas {
  contain: strict;
  transform: translateZ(0);
  backface-visibility: hidden;
}
.live-competition-group {
  contain: layout paint style;
  content-visibility: auto;
  contain-intrinsic-size: 140px;
}
.live-score-tile { contain: layout paint style; }
.match-events .event { contain: layout paint; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .match-screen,
  .match-screen.is-finished {
    grid-template-rows: auto minmax(0,50dvh) auto auto minmax(0,1fr) !important;
  }
  .live-info-tabs {
    margin-inline: 4px !important;
    padding: 3px;
    gap: 2px;
  }
  .live-info-tabs button {
    min-width: 54px;
    min-height: 31px;
    padding: 4px 3px;
    font-size: .54rem;
  }
  .live-info-workspace {
    margin-inline: 4px !important;
    min-height: 0;
    overflow: hidden;
  }
  .live-finish-pane,
  .live-finish-pane.is-active { padding-bottom: 100px !important; }


@media (max-width: 430px){
  .live-info-tabs button {
    min-width: 50px;
    gap: 2px;
    font-size: .5rem;
  }
  .live-info-tabs button .live-tab-label { display: none; }
  .live-info-tabs button::after {
    content: attr(data-short);
    display: inline;
    font-size: .49rem;
  }
  .live-info-tabs button > span[aria-hidden="true"] { font-size: .68rem; }
}



/* Etapa 20 — IndexedDB, qualidade visual restaurada e navegação em camadas */
.boot-screen {
  min-height: 100dvh; display: grid; place-content: center; justify-items: center; gap: 10px;
  padding: 24px; text-align: center; background: var(--bg); color: var(--text);
}
.boot-screen .boot-ball { font-size: 2.2rem; animation: boot-bounce 1.15s ease-in-out infinite; }
.boot-screen span { color: var(--muted); max-width: 38ch; }
.boot-screen.error strong { color: var(--danger); }
@keyframes boot-bounce { 50% { transform: translateY(-8px) rotate(8deg); } }

.topbar-club-summary {
  min-width: 0; appearance: none; border: 0; background: transparent; color: inherit;
  padding: 2px 5px; margin: 0; text-align: left; cursor: pointer; border-radius: 7px;
  font: inherit; display: grid; align-content: center; gap: 1px;
}
.topbar-club-summary:hover,
.topbar-club-summary:focus-visible { background: rgba(255,255,255,.09); outline: 2px solid rgba(255,255,255,.4); outline-offset: 1px; }
.header-detail-hero {
  display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 14px;
  padding: 16px; border-radius: 12px; overflow: hidden;
  background: linear-gradient(135deg,color-mix(in srgb,var(--team-primary,var(--club-primary)) 80%,#101820),color-mix(in srgb,var(--team-secondary,var(--club-secondary)) 74%,#101820));
  color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 2px 8px rgba(0,0,0,.45);
}
.header-detail-hero .crest { width: 62px; height: 72px; }
.header-detail-hero h3 { margin: 2px 0 4px; font-size: 1.25rem; }
.header-detail-hero p { margin: 0; color: rgba(255,255,255,.84); }
.header-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.header-detail-grid > div { padding: 10px; border: 1px solid var(--line); background: var(--panel-2); border-radius: 9px; }
.header-detail-grid span,.header-detail-grid strong { display: block; }
.header-detail-grid span { color: var(--muted); font-size: .69rem; }
.header-detail-grid strong { margin-top: 3px; font-size: .83rem; }

/* Textos sobre fundos variáveis precisam continuar legíveis com qualquer cor de clube. */
.team-tone,
.team-profile-hero,
.celebration-card,
.dashboard-hero,
.pitch-score,
.fixture-team,
.team-dual-tone,
.header-detail-hero,
.observer-featured-score,
.club-identity-card {
  --dynamic-text-shadow: 0 1px 2px rgba(0,0,0,.92), 0 2px 7px rgba(0,0,0,.48);
}
.team-tone strong,
.team-tone b,
.team-tone h1,
.team-tone h2,
.team-tone h3,
.team-profile-hero :is(strong,h3,p),
.celebration-card :is(strong,h3,small),
.dashboard-hero :is(strong,h1,h2,h3,p,span),
.pitch-score :is(strong,.score,.vs),
.fixture-team strong,
.team-dual-tone :is(strong,h2,p),
.header-detail-hero :is(strong,h3,p,span),
.observer-featured-score :is(strong,b,span),
.club-identity-card :is(strong,h3,p) { text-shadow: var(--dynamic-text-shadow); }

.manager-avatar,
.manager-profile-photo {
  display: grid !important; place-items: center !important; text-align: center; line-height: 1 !important;
  padding: 0 !important; overflow: hidden;
}
.manager-avatar:not(img),
.manager-profile-photo:not(img) { font-variant-numeric: tabular-nums; }

.app-modal-overlay { isolation: isolate; }
.app-modal > header { grid-template-columns: auto minmax(0,1fr) auto; }
.modal-back {
  width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line);
  background: var(--panel-2); color: var(--text); border-radius: 50%; font-size: 1.45rem; cursor: pointer;
}
.modal-back.is-hidden { visibility: hidden; pointer-events: none; }
.app-modal-body { min-height: 0; overscroll-behavior-y: contain; }

.live-pitch-canvas { image-rendering: auto; }
.pitch-score .fixture-card { min-height: 36px; }
.pitch-score .score { font-size: 1.18rem; line-height: 1; }
.pitch-score .vs { font-size: .51rem; letter-spacing: .08em; }
.pitch-score .fixture-team .crest { width: 25px; height: 30px; }
.pitch-score .fixture-team strong { font-size: .63rem; }

.finish-action-row {
  position: static !important; inset: auto !important; transform: none !important; z-index: auto !important;
  display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px;
  width: 100%; padding: 10px 0 2px !important; background: transparent !important; box-shadow: none !important;
}
.finish-action-row .btn { min-height: 44px; font-size: .82rem; padding: 10px 12px; white-space: normal; }
.live-finish-pane,
.live-finish-pane.is-active { padding-bottom: 18px !important; }
.live-finish-pane .post-match-summary { padding-bottom: 0; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .match-screen,
  .match-screen.is-finished {
    height: 100dvh;
    grid-template-rows: auto minmax(0,35dvh) auto auto minmax(0,1fr) !important;
  }
  .pitch-score { height: 35dvh; min-height: 0; }
  .pitch-score .fixture-card { min-height: 32px; padding-block: 2px; }
  .pitch-score .score { font-size: 1.04rem; }
  .pitch-score .fixture-team strong { max-width: 82px; font-size: .58rem; }
  .pitch-score .fixture-team .crest { width: 21px; height: 26px; }
  .live-pitch-caption { min-height: 24px; }
  .live-pitch-caption strong { font-size: .61rem; }
  .live-management-bar { min-height: 0; }
  .live-info-workspace { min-height: 0; overflow: hidden; }
  .live-match-pane { height: 100%; min-height: 0; overflow-y: auto; }
  .finish-action-row { grid-template-columns: 1fr 1fr; padding-inline: 2px !important; }
  .finish-action-row .btn { font-size: .75rem; }
  .header-detail-grid { grid-template-columns: 1fr 1fr; }


@media (max-width: 390px){
  .pitch-score .fixture-team strong { max-width: 68px; }
  .header-detail-grid { grid-template-columns: 1fr; }
  .finish-action-row .btn { min-height: 42px; padding-inline: 7px; }
}

/* Etapa 21 — redesign mobile-first do jogo ao vivo */

/* Abas e subabas nunca quebram títulos: deslizam horizontalmente. */
.subtabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  gap: 5px;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  white-space: nowrap;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.subtabs > * {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content;
  white-space: nowrap !important;
  scroll-snap-align: start;
}
.subtabs :is(button,a,span,strong) { white-space: nowrap !important; }
/* Cabeçalho do placar compacto; a altura economizada vai para o campo. */
.pitch-score {
  display: grid;
  grid-template-rows: 34px minmax(0,1fr);
  gap: 5px;
  padding: 6px;
}
.pitch-score::before { inset: 4px; border-radius: 10px; }
.pitch-score > .fixture-card {
  min-height: 0 !important;
  height: 34px;
  gap: 5px;
  padding: 0 3px;
}
.pitch-score .fixture-team.team-tone {
  min-height: 28px !important;
  height: 30px;
  padding: 2px 5px !important;
  border-radius: 7px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.pitch-score .fixture-team.team-tone::after { height: 2px; }
.pitch-score .fixture-team .crest { width: 19px !important; height: 23px !important; flex: 0 0 auto; }
.pitch-score .fixture-team strong {
  max-width: min(21vw,112px) !important;
  font-size: .62rem !important;
  line-height: 1.05;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: auto;
}
.pitch-score .score { font-size: 1.02rem !important; line-height: 1; }
.pitch-score .vs { font-size: .46rem !important; margin-top: 1px; }
.live-pitch-shell { margin-top: 0 !important; border-radius: 9px; overflow: hidden; }
.live-pitch-caption { min-height: 25px; padding: 4px 8px; }

/* Narração como linha do tempo, mais próxima de um centro de jogo. */
.match-events .event {
  grid-template-columns: 38px 24px minmax(0,1fr) !important;
  align-items: start;
  gap: 7px;
  padding: 9px 4px;
}
.match-events .event time { text-align: right; font-variant-numeric: tabular-nums; }
.match-events .event .event-icon {
  width: 22px; height: 22px; display: grid; place-items: center;
  border-radius: 50%; background: var(--panel-2); border: 1px solid var(--line);
  font-size: .7rem;
}
.match-events .event.goal .event-icon { background: color-mix(in srgb,var(--success) 24%,var(--panel-2)); }
.match-events .event.red .event-icon { background: color-mix(in srgb,var(--danger) 25%,var(--panel-2)); }

/* Estatísticas ao vivo completas. */
.live-quick-statistics { padding: 10px; }
.live-statistics-head {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 8px;
  padding: 9px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2);
}
.live-statistics-head > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 6px; min-width: 0; }
.live-statistics-head > div:last-child { direction: rtl; text-align: right; }
.live-statistics-head .team-inline { min-width: 0; }
.live-statistics-head .team-inline strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-statistics-head .crest { width: 22px; height: 26px; }
.live-statistics-head > span { display: grid; justify-items: center; min-width: 54px; }
.live-statistics-head > span strong { font-size: .95rem; }
.live-statistics-head small { color: var(--muted); font-size: .58rem; }
.live-match-reading {
  display: grid; grid-template-columns: 1.35fr 1fr .7fr; gap: 6px;
}
.live-match-reading article {
  min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel);
}
.live-match-reading span,.live-match-reading strong { display: block; }
.live-match-reading span { color: var(--muted); font-size: .58rem; }
.live-match-reading strong { margin-top: 3px; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-stat-board {
  display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--line);
}
.football-stat-row {
  display: grid; grid-template-columns: 54px minmax(0,1fr) 54px; align-items: center; gap: 7px;
  min-height: 37px; padding: 5px 8px; background: var(--panel);
}
.football-stat-row > strong { font-size: .72rem; font-variant-numeric: tabular-nums; }
.football-stat-row > strong:last-child { text-align: right; }
.football-stat-row > div { min-width: 0; display: grid; gap: 4px; }
.football-stat-row span { text-align: center; font-size: .61rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.football-stat-row i { display: flex; height: 4px; overflow: hidden; border-radius: 999px; background: var(--panel-2); }
.football-stat-row i b:first-child { background: var(--match-home,var(--team-primary,var(--primary))); border-radius: 999px 0 0 999px; }
.football-stat-row i b:last-child { background: var(--match-away,var(--team-secondary,#7c8aa0)); border-radius: 0 999px 999px 0; }
.live-quick-statistics .match-stats { margin: 0; border-radius: 9px; }

/* Escalações com identidade de futebol em vez de lista simples. */
.live-lineups-pane { padding: 10px; }
.live-lineups-intro { display: grid; gap: 3px; }
.live-lineups-intro > div { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.live-lineups-intro span,.live-lineups-intro small { color: var(--muted); font-size: .64rem; }
.football-team-sheets { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.football-team-sheet {
  position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 12px;
  background: linear-gradient(160deg,color-mix(in srgb,var(--team-primary) 12%,var(--panel)),var(--panel));
}
.football-team-sheet-head {
  width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px;
  padding: 8px; border: 0; border-bottom: 1px solid color-mix(in srgb,var(--team-primary) 28%,var(--line));
  background: color-mix(in srgb,var(--team-primary) 9%,transparent); color: var(--text); text-align: left; cursor: pointer;
}
.football-team-sheet-head .crest { width: 25px; height: 30px; }
.football-team-sheet-head span { min-width: 0; }
.football-team-sheet-head strong,.football-team-sheet-head small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-team-sheet-head strong { font-size: .73rem; }
.football-team-sheet-head small { color: var(--muted); font-size: .57rem; margin-top: 2px; }
.football-team-sheet-head > b { font-size: 1.1rem; }
.football-xi-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 7px; }
.football-player-chip {
  min-width: 0; display: grid; grid-template-columns: 21px minmax(0,1fr); align-items: center; column-gap: 4px;
  padding: 5px; border: 1px solid color-mix(in srgb,var(--team-primary) 22%,var(--line)); border-radius: 7px; background: color-mix(in srgb,var(--panel-2) 88%,transparent);
}
.football-player-chip i { grid-row: 1 / span 2; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--team-primary); color: #fff; font-style: normal; font-size: .56rem; font-weight: 600; text-shadow: 0 1px 2px #000; }
.football-player-chip b,.football-player-chip small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.football-player-chip b { font-size: .58rem; }
.football-player-chip small { color: var(--muted); font-size: .49rem; }
.football-team-sheet footer { display: flex; justify-content: space-between; gap: 8px; padding: 6px 8px; border-top: 1px solid var(--line); color: var(--muted); font-size: .55rem; }

/* Substituição visual com cartões de atletas. */
.substitution-workflow { display: grid; gap: 11px; }
.substitution-workflow > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.8fr); gap: 12px; align-items: end; }
.substitution-workflow h3,.substitution-workflow p { margin: 0; }
.substitution-workflow p { color: var(--muted); font-size: .73rem; }
.substitution-selection-summary {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 8px;
  padding: 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel-2);
}
.substitution-selection-summary article { min-width: 0; }
.substitution-selection-summary span,.substitution-selection-summary strong { display: block; }
.substitution-selection-summary span { color: var(--muted); font-size: .57rem; }
.substitution-selection-summary strong { margin-top: 2px; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.substitution-choice-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; min-height: 0; }
.substitution-choice-columns > section { min-width: 0; display: grid; grid-template-rows: auto minmax(0,1fr); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.substitution-column-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 8px; background: var(--panel-2); }
.substitution-column-head strong { font-size: .72rem; }
.substitution-column-head span { color: var(--muted); font-size: .55rem; }
.substitution-player-list { min-height: 0; max-height: 48dvh; overflow-y: auto; padding: 6px; display: grid; gap: 5px; overscroll-behavior: contain; }
.substitution-player-card {
  width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 7px;
  padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer;
}
.substitution-player-card:hover,.substitution-player-card:focus-visible { border-color: var(--primary); outline: none; }
.substitution-player-card.is-selected { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 11%,var(--panel)); box-shadow: inset 3px 0 var(--primary); }
.substitution-shirt { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px 9px 12px 12px; background: var(--shirt); color: var(--shirt-text); border: 2px solid rgba(255,255,255,.75); font-weight: 600; font-size: .7rem; }
.substitution-player-copy { min-width: 0; }
.substitution-player-copy strong,.substitution-player-copy small,.substitution-player-copy i { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.substitution-player-copy strong { font-size: .7rem; }
.substitution-player-copy small { color: var(--muted); font-size: .56rem; margin-top: 2px; }
.substitution-player-copy i { color: var(--primary); font-size: .5rem; font-style: normal; margin-top: 2px; }
.substitution-condition { font-size: .67rem; color: var(--success); }
.substitution-condition.is-low { color: var(--warning); }

/* Pequenos refinamentos de ritmo e espaçamento. */
.live-match-pane > * + * { margin-top: 9px; }
.live-competition-group + .live-competition-group { margin-top: 8px; }
.other-live-heading { padding: 8px 9px; }
.live-score-tile { gap: 4px; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .match-screen,
  .match-screen.is-finished {
    grid-template-rows: auto clamp(282px,46dvh,410px) auto auto minmax(0,1fr) !important;
  }
  .pitch-score { height: auto !important; min-height: 0; }
  .live-pitch-canvas { min-height: 0; }
  .live-management-bar { padding-block: 4px; }
  .live-management-actions { gap: 3px; }
  .live-management-actions .btn { min-height: 32px; padding: 4px 6px; }
  .football-team-sheets { grid-template-columns: 1fr; }
  .football-xi-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .live-match-reading { grid-template-columns: 1.25fr 1fr .72fr; }
  .football-stat-row { grid-template-columns: 48px minmax(0,1fr) 48px; min-height: 35px; padding-inline: 7px; }
  .substitution-workflow > header { grid-template-columns: 1fr; gap: 5px; }
  .substitution-choice-columns { grid-template-columns: 1fr 1fr; gap: 6px; }
  .substitution-player-list { max-height: 43dvh; padding: 4px; }
  .substitution-player-card { grid-template-columns: 29px minmax(0,1fr); gap: 5px; padding: 6px; }
  .substitution-shirt { width: 28px; height: 28px; }
  .substitution-condition { grid-column: 2; justify-self: start; font-size: .54rem; }


@media (max-width: 430px){
  .match-screen,
  .match-screen.is-finished { grid-template-rows: auto clamp(272px,45dvh,375px) auto auto minmax(0,1fr) !important; }
  .pitch-score > .fixture-card { height: 31px; }
  .pitch-score .fixture-team.team-tone { height: 28px; min-height: 26px !important; padding-inline: 3px !important; }
  .pitch-score .fixture-team strong { max-width: 72px !important; font-size: .55rem !important; }
  .pitch-score .fixture-team .crest { width: 17px !important; height: 20px !important; }
  .live-statistics-head { gap: 4px; padding: 7px 5px; }
  .live-statistics-head .team-inline strong { font-size: .59rem; }
  .live-statistics-head .crest { width: 18px; height: 22px; }
  .live-match-reading { grid-template-columns: 1fr 1fr; }
  .live-match-reading article:last-child { grid-column: 1 / -1; }
  .football-stat-row { grid-template-columns: 43px minmax(0,1fr) 43px; gap: 4px; }
  .football-stat-row span { font-size: .56rem; }
  .football-xi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .substitution-choice-columns { grid-template-columns: 1fr; }
  .substitution-player-list { max-height: 29dvh; }
}



/* Estratégia e papéis em cartões, sem selects genéricos. */
.live-strategy-board,.role-assignment-board { display: grid; gap: 10px; }
.live-strategy-board > header,.role-assignment-board > header { display: grid; gap: 3px; }
.live-strategy-board h3,.live-strategy-board p,.role-assignment-board h3,.role-assignment-board p { margin: 0; }
.live-strategy-board p,.role-assignment-board p { color: var(--muted); font-size: .72rem; }
.tactic-choice-group {
  display: grid; grid-template-columns: minmax(145px,.55fr) minmax(0,1.45fr); gap: 10px; align-items: center;
  padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel);
}
.tactic-choice-group > div:first-child strong,.tactic-choice-group > div:first-child span { display: block; }
.tactic-choice-group > div:first-child strong { font-size: .74rem; }
.tactic-choice-group > div:first-child span { color: var(--muted); font-size: .57rem; margin-top: 2px; }
.tactic-choice-options { display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
.tactic-choice {
  border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); color: var(--text);
  padding: 6px 9px; font: inherit; font-size: .62rem; cursor: pointer;
}
.tactic-choice.is-selected { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 17%,var(--panel-2)); color: var(--text); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 55%,transparent); }
.role-assignment-group { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.role-assignment-title { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 7px; padding: 8px; background: var(--panel-2); }
.role-assignment-title > i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: color-mix(in srgb,var(--primary) 18%,var(--panel)); color: var(--primary); font-style: normal; font-weight: 600; }
.role-assignment-title strong,.role-assignment-title small { display: block; }
.role-assignment-title strong { font-size: .72rem; }
.role-assignment-title small { color: var(--muted); font-size: .55rem; }
.role-player-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 6px; }
.role-player-card {
  min-width: 0; display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 6px; align-items: center;
  padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer;
}
.role-player-card > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--panel-2); font-size: .6rem; font-weight: 600; }
.role-player-card strong,.role-player-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-player-card strong { font-size: .62rem; }
.role-player-card small { color: var(--muted); font-size: .51rem; margin-top: 2px; }
.role-player-card.is-selected { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel)); box-shadow: inset 3px 0 var(--primary); }
.role-player-card.is-selected > span { background: var(--primary); color: #fff; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .tactic-choice-group { grid-template-columns: 1fr; gap: 6px; }
  .tactic-choice-options { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
  .tactic-choice { flex: 0 0 auto; white-space: nowrap; }
  .role-player-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }


/* Etapa 22 — feedback de ações e preenchimento integral das abas ao vivo */
.live-info-workspace {
  width: 100%;
  height: 100%;
  min-height: 0;
  align-self: stretch;
  overflow: hidden;
}
.live-match-pane {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: stretch;
}
.live-match-pane.match-events.is-active {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding-bottom: 14px;
  overscroll-behavior-y: auto;
  -webkit-overflow-scrolling: touch;
}
.live-match-pane.other-live-panel.is-active {
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.live-match-pane.other-live-panel.is-active .live-competition-list {
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  padding-bottom: 14px;
  overscroll-behavior-y: auto;
}
.live-management-actions .btn:disabled,
.live-management-actions .btn[aria-disabled="true"] {
  opacity: .42;
  filter: grayscale(.45);
  cursor: not-allowed;
  box-shadow: none;
}
.live-pause-button.is-ended { background: var(--panel-2); color: var(--muted); border-color: var(--line); }

.project-status-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.project-status-row h3 { margin: 0; }
.project-status-badge {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb,var(--success) 45%,var(--line));
  background: color-mix(in srgb,var(--success) 12%,var(--panel));
  color: var(--success);
  border-radius: 999px;
  font-size: .58rem;
  font-weight: 600;
}
.investment-confirmation {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: start;
  gap: 11px;
  padding: 11px;
  border: 1px solid color-mix(in srgb,var(--primary) 34%,var(--line));
  background: color-mix(in srgb,var(--primary) 8%,var(--panel));
  border-radius: 12px;
}
.investment-confirmation h3,
.investment-confirmation p { margin: 0; }
.investment-confirmation p { margin-top: 5px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.investment-confirmation-icon {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 11px; background: var(--primary); color: var(--on-primary,#fff);
  font-size: 1rem; box-shadow: 0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent);
}
.investment-summary-grid {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 10px;
}
.investment-summary-grid article { padding: 9px; border: 1px solid var(--line); background: var(--panel-2); border-radius: 9px; }
.investment-summary-grid span,
.investment-summary-grid strong { display: block; }
.investment-summary-grid span { color: var(--muted); font-size: .58rem; }
.investment-summary-grid strong { margin-top: 3px; font-size: .73rem; }
.expense-text { color: var(--danger); }
.investment-warning { margin: 9px 0 0; color: var(--muted); font-size: .64rem; line-height: 1.45; }
.investment-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }

.topbar-money { position: relative; }
.topbar-money.money-change-negative { animation: money-negative-pulse .82s ease; }
.topbar-money.money-change-positive { animation: money-positive-pulse .82s ease; }
.finance-flyout {
  position: fixed;
  z-index: 2400;
  transform: translate(-50%,0);
  pointer-events: none;
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 5px 8px;
  border-radius: 8px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.7);
  box-shadow: 0 9px 24px rgba(0,0,0,.26);
  animation: finance-flyout 1.8s cubic-bezier(.2,.78,.2,1) forwards;
}
.finance-flyout.is-expense { background: color-mix(in srgb,#b7283f 92%,#111827); }
.finance-flyout.is-income { background: color-mix(in srgb,#168a51 92%,#111827); }
.finance-flyout strong { font-size: .72rem; }
.finance-flyout span { font-size: .5rem; opacity: .88; white-space: nowrap; }
@keyframes finance-flyout {
  0% { opacity: 0; transform: translate(-50%,8px) scale(.92); }
  16% { opacity: 1; transform: translate(-50%,-5px) scale(1); }
  72% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%,-42px) scale(.96); }
}
@keyframes money-negative-pulse { 0%,100% { background: transparent; } 35% { background: rgba(255,76,99,.3); color: #fff; } }
@keyframes money-positive-pulse { 0%,100% { background: transparent; } 35% { background: rgba(50,209,125,.28); color: #fff; } }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .live-info-workspace { margin-bottom: 0 !important; }
  .live-match-pane.match-events.is-active,
  .live-match-pane.other-live-panel.is-active { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .investment-summary-grid { grid-template-columns: 1fr; }
  .investment-actions { position: sticky; bottom: 0; background: var(--panel); padding-top: 7px; }


/* Etapa 23 — tabela ao vivo, baliza no painel e ícones Font Awesome */
.fa-solid,
.fa-regular,
.fa-brands {
  display: inline-grid;
  place-items: center;
  line-height: 1;
  flex: 0 0 auto;
}
.navbar .icon .fa-solid,
.quick-action-grid .fa-solid { font-size: 1em; }
.history-controls .fa-solid,
.topbar-menu-button .fa-solid,
.icon-button .fa-solid { pointer-events: none; }
.live-management-actions .fa-solid { width: 1em; }
.live-info-tabs button > .fa-solid { font-size: .78rem; line-height: 1; }
.event-icon .fa-solid { width: 1em; }
.event-goal-icon { color: #f8fafc; filter: drop-shadow(0 1px 2px rgba(0,0,0,.55)); }
.event-yellow-icon { color: #f6c945; }
.event-red-icon { color: #ef5350; }
.event-injury-icon { color: #ff8a65; }
.event-substitution-icon { color: #5ee09b; }
.event-commentary-icon { color: var(--muted); font-size: .45em; }

.live-standings-pane,
.live-standings-pane.is-active {
  grid-template-rows: auto auto minmax(0,1fr) auto;
  min-height: 0;
  overflow: hidden !important;
  padding: 0 !important;
  background: var(--panel);
}
.live-standings-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb,var(--panel-2) 76%,transparent);
}
.live-standings-head div { min-width: 0; }
.live-standings-head strong,
.live-standings-head span { display: block; }
.live-standings-head strong { font-size: .82rem; }
.live-standings-head div > span { margin-top: 2px; color: var(--muted); font-size: .59rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-standings-minute {
  min-width: 46px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  text-align: center;
  font-size: .66rem;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0,0,0,.4);
}
.live-standings-explainer {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  color: var(--muted);
  font-size: .56rem;
  border-bottom: 1px solid var(--line);
}
.live-standings-explainer .fa-solid { color: var(--primary); }
.live-standings-table {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 12px;
}
.live-table-columns,
.live-table-row {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 45px 48px 50px;
  align-items: center;
  gap: 6px;
}
.live-table-columns {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 6px 10px;
  background: color-mix(in srgb,var(--panel) 94%,transparent);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .52rem;
}
.live-table-columns span:not(:nth-child(2)) { text-align: center; }
.live-table-row {
  position: relative;
  min-height: 39px;
  padding: 5px 10px;
  border-bottom: 1px solid color-mix(in srgb,var(--line) 74%,transparent);
  font-size: .62rem;
  overflow: hidden;
}
.live-table-row::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: transparent;
}
.live-table-row.is-continental::before { background: #4c8dff; }
.live-table-row.is-promotion::before { background: var(--success); }
.live-table-row.is-relegation::before { background: var(--danger); }
.live-table-row.is-user {
  background: color-mix(in srgb,var(--team-primary) 12%,var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--team-primary) 34%,transparent);
}
.live-table-row > span:not(.live-table-position),
.live-table-row > strong { text-align: center; font-variant-numeric: tabular-nums; }
.live-table-position { display: grid; grid-template-columns: 18px 25px; align-items: center; gap: 2px; }
.live-table-position > b { font-size: .68rem; text-align: center; }
.live-rank-move {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 22px;
  font-size: .48rem;
  font-weight: 600;
}
.live-rank-move.up { color: var(--success); }
.live-rank-move.down { color: var(--danger); }
.live-rank-move.stable { color: var(--muted); }
.live-rank-move .fa-solid { font-size: .54rem; }
.live-table-club {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.live-table-club .crest { width: 19px; height: 23px; flex: 0 0 auto; }
.live-table-club strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .62rem; }
.live-standings-note { margin: 0; padding: 8px 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .54rem; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .live-info-tabs button { flex: 1 0 58px; min-width: 58px; }
  .live-info-tabs button > .fa-solid { font-size: .68rem; }
  .live-table-columns,
  .live-table-row { grid-template-columns: 43px minmax(0,1fr) 38px 42px 44px; gap: 4px; }
  .live-table-columns { padding-inline: 7px; }
  .live-table-row { min-height: 36px; padding-inline: 7px; }
  .live-table-club .crest { width: 16px; height: 20px; }
  .live-table-club strong { font-size: .57rem; }



/* Etapa 24 — rolagem da tabela e dados individuais no ao vivo */
.live-match-pane.live-standings-pane.is-active {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.live-standings-table {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow-y: auto !important;
  overflow-x: hidden;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  }
.live-lineups-pane.is-active {
  display: block !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 16px;
}
.live-lineups-intro strong { display: inline-flex; align-items: center; gap: 6px; }
.live-player-spotlight {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb,var(--team-primary) 30%,var(--line));
  background: linear-gradient(105deg,color-mix(in srgb,var(--team-primary) 13%,var(--panel-2)),var(--panel-2));
  box-shadow: inset 3px 0 var(--team-primary);
}
.live-player-spotlight-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb,var(--team-primary) 22%,var(--panel));
  color: var(--team-primary);
}
.live-player-spotlight small,
.live-player-spotlight strong,
.live-player-spotlight span { display: block; }
.live-player-spotlight small { color: var(--muted); font-size: .5rem; text-transform: uppercase; letter-spacing: .08em; }
.live-player-spotlight strong { margin-top: 1px; font-size: .72rem; }
.live-player-spotlight span { margin-top: 2px; color: var(--muted); font-size: .55rem; }
.football-xi-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.football-player-chip {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 27px minmax(0,1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 6px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.football-player-chip:hover { border-color: color-mix(in srgb,var(--primary) 50%,var(--line)); }
.football-player-chip.is-sent-off { opacity: .68; box-shadow: inset 3px 0 var(--danger); }
.football-player-chip.is-injured { box-shadow: inset 3px 0 #ff8a65; }
.live-shirt-number {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb,var(--team-primary) 18%,var(--panel));
  color: var(--text);
  font-style: normal;
  font-size: .58rem;
  font-weight: 600;
}
.live-player-copy,
.live-player-copy b,
.live-player-copy small { min-width: 0; display: block; }
.live-player-copy b,
.live-player-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-player-copy b { font-size: .59rem; }
.live-player-copy small { margin-top: 2px; color: var(--muted); font-size: .47rem; }
.live-player-match-data { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 3px; max-width: 84px; }
.live-player-match-data > em {
  min-width: 27px;
  padding: 3px 4px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 15%,var(--panel));
  color: var(--text);
  font-style: normal;
  font-size: .52rem;
  font-weight: 600;
  text-align: center;
}
.live-player-event {
  min-width: 19px;
  height: 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 0 3px;
  border-radius: 999px;
  background: var(--panel);
  font-size: .44rem;
  border: 1px solid var(--line);
}
.live-player-event b { font-size: .42rem; }
.live-player-event .fa-solid { font-size: .48rem; }
.live-player-event.is-goal { color: var(--success); }
.live-player-event.is-assist { color: #62a9ff; }
.live-player-event.is-yellow { color: #e6b800; }
.live-player-event.is-red { color: var(--danger); }
.live-player-event.is-injury { color: #ff8a65; }
.live-player-event.is-sub { color: var(--primary); }
.football-team-sheet footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

@media (max-width: 430px){
  .football-xi-grid { grid-template-columns: 1fr; }
  .football-player-chip { grid-template-columns: 25px minmax(0,1fr) auto; padding: 5px 6px; }
  .live-shirt-number { width: 25px; height: 25px; }
  .live-player-match-data { max-width: 76px; }
  .live-player-spotlight { padding: 7px 8px; }
}


/* Etapa 25 — modernização visual, movimento configurável e negociação direta */
.topbar {
  grid-template-columns: auto auto minmax(0,1fr) auto !important;
  gap: 8px;
}
.topbar-page-context {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(0,0,0,.16);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
.topbar-page-context span { font-size: .62rem; white-space: nowrap; }
.topbar-page-context .fa-solid { font-size: .78rem; }
.history-controls { display: none !important; }

/* Superfícies modernas sem alterar a hierarquia funcional. */
.panel,
.settings-group,
.market-player-card,
.offer-card,
.football-team-sheet,
.live-standings-shell,
.player-profile-head,
.help-details,
.modal-card {
  border-color: color-mix(in srgb, var(--line) 82%, transparent);
}
.panel {
  background:
    linear-gradient(150deg, color-mix(in srgb, var(--panel) 96%, white 4%), color-mix(in srgb, var(--panel) 98%, var(--primary) 2%));
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.panel-title,
.view-title,
.settings-section-heading h3 { letter-spacing: -.018em; }
.btn,
button,
select,
input,
textarea { transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn:not(:disabled):active,
.nav-btn:not(:disabled):active,
.team-card:not(:disabled):active { transform: scale(.975); }
.btn .fa-solid,
.nav-btn .fa-solid { pointer-events: none; }
.btn {
  gap: 7px;
  align-items: center;
  justify-content: center;
}
.btn.secondary { background: color-mix(in srgb, var(--panel-2) 90%, var(--primary) 10%); }
input:focus,
select:focus,
textarea:focus {
  border-color: color-mix(in srgb, var(--primary) 72%, white 18%);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
  outline: none;
}

/* Movimento configurável. */
.motion-enabled .content > .view-title,
.motion-enabled .content > .panel,
.motion-enabled .content > section,
.motion-enabled .dashboard-masonry > [data-dashboard-widget] {
  animation: goooool-view-enter .28s cubic-bezier(.2,.72,.2,1) both;
}
.motion-enabled .dashboard-masonry > [data-dashboard-widget]:nth-child(2) { animation-delay: .025s; }
.motion-enabled .dashboard-masonry > [data-dashboard-widget]:nth-child(3) { animation-delay: .05s; }
.motion-enabled .dashboard-masonry > [data-dashboard-widget]:nth-child(4) { animation-delay: .075s; }
.motion-enabled .dashboard-masonry > [data-dashboard-widget]:nth-child(5) { animation-delay: .1s; }
.motion-enabled .modal-overlay { animation: goooool-overlay-in .2s ease both; }
.motion-enabled .modal-card { animation: goooool-modal-in .25s cubic-bezier(.18,.78,.24,1) both; }
.motion-enabled .event { animation: goooool-event-in .2s ease-out both; }
.motion-enabled .nav-btn.is-active .icon { animation: goooool-nav-pop .28s ease-out; }
.motion-enabled .money-flyout { animation-duration: 1.9s; }
.motion-enabled[data-motion-intensity="expressive"] .content > .panel,
.motion-enabled[data-motion-intensity="expressive"] .dashboard-masonry > [data-dashboard-widget] { animation-duration: .42s; }
.motion-enabled[data-motion-intensity="expressive"] .panel:hover,
.motion-enabled[data-motion-intensity="expressive"] .market-player-card:hover,
.motion-enabled[data-motion-intensity="expressive"] .football-player-chip:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.13); }
.motion-enabled[data-motion-intensity="expressive"] .goal-flash { animation: goooool-goal-flash .65s ease-out; }
@keyframes goooool-view-enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes goooool-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes goooool-modal-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes goooool-event-in { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
@keyframes goooool-nav-pop { 0% { transform: scale(.82); } 65% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes goooool-goal-flash { 0% { box-shadow: 0 0 0 0 color-mix(in srgb,var(--success) 52%,transparent); } 100% { box-shadow: 0 0 0 18px transparent; } }

/* Perfil e negociação direta — identidade da Etapa 25. */
.modern-player-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb,var(--primary) 18%,transparent), transparent 42%),
    var(--panel-2);
}
.player-profile-actionbar {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
  gap: 8px;
  margin: 10px 0;
}
.player-profile-actionbar .btn.is-active { color: #f6c945; border-color: #f6c945; }
.modern-metric-grid > div {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) auto;
  align-items: center;
  gap: 6px;
  min-height: 48px;
  padding: 8px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 88%,transparent);
  border: 1px solid var(--line);
}
.modern-metric-grid > div > .fa-solid { color: var(--primary); font-size: .72rem; }
.modern-metric-grid > div > span { min-width: 0; color: var(--muted); font-size: .55rem; }
.modern-metric-grid > div > strong { font-size: .66rem; text-align: right; }

.transfer-deal-hero {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background:
    linear-gradient(110deg,color-mix(in srgb,var(--team-primary) 26%,var(--panel)),color-mix(in srgb,var(--team-secondary) 18%,var(--panel)));
  border: 1px solid color-mix(in srgb,var(--team-primary) 50%,var(--line));
  color: var(--text);
}
.transfer-deal-hero h3,
.transfer-deal-hero p { margin: 0; }
.transfer-deal-hero p { margin-top: 3px; color: var(--muted); font-size: .62rem; }
.transfer-deal-hero > strong { font-size: 1.4rem; line-height: .9; text-align: center; }
.transfer-deal-hero > strong small { display: block; margin-top: 5px; color: var(--muted); font-size: .48rem; font-weight: 500; }
.quick-scout-card {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.quick-scout-card > header {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
}
.quick-scout-card > header > .fa-solid { color: var(--primary); }
.quick-scout-card header strong,
.quick-scout-card header span { display: block; }
.quick-scout-card header span { color: var(--muted); font-size: .55rem; margin-top: 2px; }
.quick-scout-card header em {
  min-width: 36px;
  padding: 5px 7px;
  border-radius: 999px;
  background: var(--panel);
  text-align: center;
  font-style: normal;
  font-size: .7rem;
}
.quick-scout-card .positive { color: var(--success); }
.quick-scout-card .negative { color: var(--danger); }
.quick-scout-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
  margin-top: 9px;
}
.quick-scout-grid > div {
  display: grid;
  gap: 2px;
  padding: 7px;
  border-radius: 9px;
  background: var(--panel);
  text-align: center;
}
.quick-scout-grid span { color: var(--muted); font-size: .5rem; }
.quick-scout-grid strong { font-size: .78rem; }
.quick-scout-grid small { font-size: .48rem; }
.direct-offer-form { display: grid; gap: 9px; margin-top: 10px; }
.deal-budget-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 11%,var(--panel-2));
  border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--line));
}
.deal-budget-strip span { color: var(--muted); font-size: .6rem; }
.offer-presets { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }
.offer-presets button {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  cursor: pointer;
}
.offer-presets button.is-active,
.offer-presets button:hover { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 13%,var(--panel)); }
.deal-status-note {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 8px;
  align-items: start;
  padding: 9px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--success) 9%,var(--panel-2));
  color: var(--muted);
  font-size: .58rem;
}
.deal-status-note .fa-solid { color: var(--success); margin-top: 2px; }
.deal-status-note.is-closed { background: color-mix(in srgb,var(--warning) 8%,var(--panel-2)); }
.deal-status-note.is-closed .fa-solid { color: var(--warning); }
.deal-submit { min-height: 44px; }

/* Controles, cartões e tabelas com leitura mais visual. */
.mini-row,
.deal-row,
.offer-card,
.save-slot-row,
.career-offer-row {
  border-radius: 10px;
}
.details-list > *,
.player-profile-attributes > div {
  transition: background .18s ease, border-color .18s ease;
}
.player-profile-attributes > div:hover { background: color-mix(in srgb,var(--primary) 8%,var(--panel-2)); }
.nav-btn.is-active::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .8;
}
.nav-btn { position: relative; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar-page-context { min-width: 32px; width: 32px; padding: 0; }
  .topbar-page-context span { display: none; }
  .topbar { grid-template-columns: auto auto minmax(0,1fr) auto !important; gap: 5px; }
  .quick-scout-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .modern-metric-grid > div { grid-template-columns: 16px minmax(0,1fr); }
  .modern-metric-grid > div > strong { grid-column: 2; text-align: left; }
  .player-profile-actionbar { grid-template-columns: 1fr 1fr; }


@media (max-width: 390px){
  .player-profile-actionbar { grid-template-columns: 1fr; }
  .transfer-deal-hero { grid-template-columns: auto minmax(0,1fr); }
  .transfer-deal-hero > strong { grid-column: 1 / -1; justify-self: stretch; padding: 6px; border-radius: 9px; background: rgba(0,0,0,.12); }
  .offer-presets { grid-template-columns: repeat(2,1fr); }
}

/* ===== Etapa 26 · modernização sistêmica ===== */
:root{
  --modern-border:color-mix(in srgb,var(--line) 78%,transparent);
  --modern-surface:color-mix(in srgb,var(--surface) 94%,var(--club-primary) 6%);
  --modern-surface-2:color-mix(in srgb,var(--surface-2) 91%,var(--club-primary) 9%);
  --modern-shadow:0 12px 34px rgba(4,12,24,.12);
  --modern-radius:18px;
}
.panel{
  border-color:var(--modern-border);
  box-shadow:0 8px 24px rgba(4,12,24,.065);
}
.panel:hover{border-color:color-mix(in srgb,var(--club-primary) 22%,var(--line));}
.btn,.subtab,.nav-button,button{transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .16s ease;}
.btn:not(:disabled):active,.subtab:not(:disabled):active,button:not(:disabled):active{transform:scale(.975);}
.btn i,.subtab i{margin-inline-end:.42rem;}

.subtabs{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:4px 2px 7px;}
.subtab{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:max-content;white-space:nowrap;padding:9px 13px;border:1px solid var(--modern-border);background:var(--modern-surface-2);border-radius:999px;}
.subtab i{margin:0;color:var(--muted);}
.subtab.is-active{border-color:color-mix(in srgb,var(--club-primary) 54%,var(--line));background:color-mix(in srgb,var(--club-primary) 14%,var(--surface));box-shadow:0 7px 18px color-mix(in srgb,var(--club-primary) 15%,transparent);}
.subtab.is-active i{color:var(--club-primary);}

.finance-flyout-modern{display:flex;align-items:center;gap:9px;min-width:150px;max-width:min(260px,calc(100vw - 20px));padding:9px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 44px rgba(0,0,0,.28);backdrop-filter:blur(14px);z-index:10030;}
.finance-flyout-modern .finance-flyout-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:rgba(255,255,255,.14);flex:0 0 auto;}
.finance-flyout-modern>span:last-child{display:grid;min-width:0;}
.finance-flyout-modern strong{font-size:.92rem;line-height:1.1;}
.finance-flyout-modern small{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.84;max-width:180px;}
.finance-flyout-modern.is-income{background:color-mix(in srgb,#087f4f 90%,transparent);color:#fff;}
.finance-flyout-modern.is-expense{background:color-mix(in srgb,#b4233e 90%,transparent);color:#fff;}

.tactic-command-center,.lineup-modern-layout,.roles-modern-layout{display:grid;gap:12px;min-width:0;}
.tactic-identity-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:112px;color:#fff;overflow:hidden;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.tactic-identity-card::after{content:"";position:absolute;inset:auto -30px -50px auto;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.09);}
.tactic-identity-main{display:flex;align-items:center;gap:12px;min-width:0;position:relative;z-index:1;}
.tactic-identity-main .crest{width:62px;height:62px;flex:0 0 auto;}
.tactic-identity-main h3{font-size:1.08rem;margin:2px 0 4px;}
.tactic-identity-main p{margin:0;font-size:.78rem;opacity:.9;}
.tactic-score-ring{--score:75;display:grid;place-items:center;width:67px;height:67px;border-radius:50%;flex:0 0 auto;position:relative;z-index:1;background:conic-gradient(#fff var(--score),rgba(255,255,255,.2) 0);}
.tactic-score-ring::after{content:"";position:absolute;inset:5px;border-radius:50%;background:color-mix(in srgb,var(--club-secondary) 78%,#0b1220);}
.tactic-score-ring strong,.tactic-score-ring span{position:relative;z-index:1;grid-column:1;grid-row:1;}
.tactic-score-ring strong{font-size:1.12rem;transform:translateY(-5px);}
.tactic-score-ring span{font-size:.57rem;transform:translateY(12px);opacity:.82;text-transform:uppercase;letter-spacing:.06em;}

.tactic-overview-panel{display:grid;gap:12px;}
.tactic-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.tactic-metric-row article{display:grid;gap:6px;padding:10px;border-radius:14px;background:var(--modern-surface-2);border:1px solid var(--modern-border);}
.tactic-metric-row span{font-size:.68rem;color:var(--muted);display:flex;align-items:center;gap:5px;}
.tactic-metric-row strong{font-size:1.05rem;}
.tactic-metric-row article>div{height:4px;background:color-mix(in srgb,var(--line) 78%,transparent);border-radius:999px;overflow:hidden;}
.tactic-metric-row i{display:block;height:100%;background:linear-gradient(90deg,var(--club-primary),color-mix(in srgb,var(--club-primary) 55%,#fff));border-radius:inherit;}
.tactic-advice{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:14px;background:color-mix(in srgb,#f4b740 12%,var(--surface));border:1px solid color-mix(in srgb,#f4b740 28%,var(--line));}
.tactic-advice>i{color:#ca8600;margin-top:2px;}
.tactic-advice span{display:grid;gap:2px;}
.tactic-advice small{color:var(--muted);line-height:1.42;}

.tactic-preview-panel{display:grid;gap:8px;overflow:hidden;}
.strategy-canvas{width:100%;height:260px;max-height:34vh;border-radius:14px;}
.tactic-preview-caption,.lineup-pitch-metrics{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-x:auto;font-size:.72rem;color:var(--muted);}
.tactic-preview-caption span,.lineup-pitch-metrics span{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;}
.tactic-modern-editor{display:grid;gap:11px;}
.tactic-modern-group{display:grid;gap:9px;padding:12px;border-radius:15px;background:var(--modern-surface-2);border:1px solid var(--modern-border);}
.tactic-modern-group header{display:flex;align-items:center;gap:9px;}
.tactic-modern-group header>span:last-child{display:grid;gap:2px;}
.tactic-modern-group small{color:var(--muted);font-size:.7rem;}
.tactic-group-icon,.role-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--club-primary) 14%,var(--surface));color:var(--club-primary);flex:0 0 auto;}
.tactic-modern-options{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;}
.tactic-modern-option{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid var(--modern-border);background:var(--surface);color:var(--text);font-size:.75rem;}
.tactic-modern-option.is-selected{background:color-mix(in srgb,var(--club-primary) 16%,var(--surface));border-color:color-mix(in srgb,var(--club-primary) 58%,var(--line));color:var(--text);box-shadow:0 6px 16px color-mix(in srgb,var(--club-primary) 13%,transparent);}
.tactic-modern-option.is-selected i{color:var(--club-primary);}
.tactic-save-row,.lineup-save-bar{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.3fr);gap:9px;}

.lineup-command-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.lineup-command-header h3{margin:3px 0;font-size:1rem;}
.lineup-command-header p{margin:0;color:var(--muted);font-size:.73rem;}
.lineup-command-header.is-ready{border-left:3px solid #21a66d;}
.lineup-command-header.has-warning{border-left:3px solid #dc8b16;}
.lineup-modern-pitch{overflow:hidden;}
.lineup-modern-pitch .lineup-canvas{height:min(47vh,430px);width:100%;border-radius:14px;}
.lineup-position-panel,.lineup-bench-panel{display:grid;gap:11px;}
.lineup-modern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.lineup-modern-slot{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;padding:9px;border:1px solid var(--modern-border);border-radius:14px;background:var(--modern-surface-2);color:var(--text);min-width:0;}
.lineup-modern-slot:hover{border-color:color-mix(in srgb,var(--club-primary) 45%,var(--line));background:color-mix(in srgb,var(--club-primary) 7%,var(--surface));}
.lineup-modern-slot.is-unavailable{opacity:.62;}
.lineup-modern-slot.is-empty{border-style:dashed;}
.slot-shirt,.bench-shirt,.player-choice-shirt{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--club-primary),var(--club-secondary));color:#fff;text-shadow:0 1px 2px #000;font-size:.75rem;font-style:normal;}
.lineup-slot-copy{display:grid;gap:2px;min-width:0;}
.lineup-slot-copy strong,.bench-player-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lineup-slot-copy small{font-size:.65rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lineup-slot-copy i,.bench-player-card i{height:3px;background:var(--line);border-radius:999px;overflow:hidden;}
.lineup-slot-copy i b,.bench-player-card i b{display:block;height:100%;background:#21a66d;}
.lineup-slot-rating{display:grid;text-align:right;gap:1px;}
.lineup-slot-rating strong{font-size:.94rem;}
.lineup-slot-rating small{font-size:.62rem;color:var(--muted);}
.bench-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.bench-player-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;padding:8px;border:1px solid var(--modern-border);border-radius:13px;background:var(--surface);color:var(--text);min-width:0;}
.bench-player-card>span:nth-child(2){display:grid;gap:2px;min-width:0;}
.bench-player-card small{font-size:.64rem;color:var(--muted);}
.bench-player-card em{font-size:.65rem;font-style:normal;color:var(--muted);}
.bench-player-card.is-selected{border-color:var(--club-primary);background:color-mix(in srgb,var(--club-primary) 11%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--club-primary) 35%,transparent);}

.lineup-picker-head,.roles-intro{display:flex;align-items:flex-start;gap:11px;}
.lineup-picker-head h3,.roles-intro h3{margin:2px 0 4px;}
.lineup-picker-head p,.roles-intro p{margin:0;color:var(--muted);font-size:.75rem;}
.visual-player-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
.visual-player-choice{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;padding:10px;border:1px solid var(--modern-border);border-radius:14px;background:var(--modern-surface-2);color:var(--text);min-width:0;}
.visual-player-choice>span:nth-child(2){display:grid;gap:2px;min-width:0;}
.visual-player-choice strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.visual-player-choice small{font-size:.66rem;color:var(--muted);}
.visual-player-choice i{font-size:.62rem;color:var(--club-primary);font-style:normal;}
.visual-player-choice em{grid-column:1/-1;font-size:.62rem;color:var(--club-primary);font-style:normal;}
.visual-player-choice.is-current{border-color:var(--club-primary);background:color-mix(in srgb,var(--club-primary) 10%,var(--surface));}

.roles-modern-layout{padding-bottom:4px;}
.role-modern-card{display:grid;gap:10px;}
.role-modern-card header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;}
.role-modern-card header>span:nth-child(2){display:grid;gap:2px;}
.role-modern-card header small{color:var(--muted);font-size:.68rem;}
.role-modern-card header>b{font-size:1rem;color:var(--club-primary);}
.role-player-strip{display:flex;gap:7px;overflow-x:auto;padding:2px 0 4px;}
.role-player-choice{display:grid;grid-template-columns:27px minmax(98px,1fr) auto;align-items:center;gap:7px;min-width:190px;padding:8px;border:1px solid var(--modern-border);border-radius:13px;background:var(--modern-surface-2);color:var(--text);text-align:left;}
.role-player-choice>span:first-child{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:color-mix(in srgb,var(--club-primary) 15%,var(--surface));color:var(--club-primary);font-size:.7rem;}
.role-player-choice>span:nth-child(2){display:grid;min-width:0;}
.role-player-choice strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.role-player-choice small{font-size:.61rem;color:var(--muted);}
.role-player-choice>b{font-size:.78rem;}
.role-player-choice.is-selected{border-color:var(--club-primary);background:color-mix(in srgb,var(--club-primary) 11%,var(--surface));box-shadow:0 6px 15px color-mix(in srgb,var(--club-primary) 10%,transparent);}
.role-player-choice.is-selected>i{color:var(--club-primary);}

.role-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.role-select-card{align-content:start;}
.role-selected-player{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--modern-border);border-radius:13px;background:var(--modern-surface-2);min-width:0;}
.role-selected-player>div{display:grid;gap:2px;min-width:0;}
.role-selected-player strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.76rem;}
.role-selected-player small{color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.role-selected-player>i{color:var(--club-primary);}
.role-selected-player.is-empty>i{color:var(--muted);}
.role-selected-shirt{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,var(--club-primary),var(--club-secondary));color:#fff;text-shadow:0 1px 2px #000;font-size:.74rem;font-weight:600;}
.role-player-select-wrap{display:grid;gap:6px;}
.role-player-select-wrap>span{font-size:.66rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.role-player-select-wrap select{width:100%;min-width:0;min-height:42px;border:1px solid var(--modern-border);border-radius:12px;background:var(--surface);color:var(--text);padding:9px 34px 9px 11px;font-size:.75rem;}
.role-player-select-wrap select:focus{outline:2px solid color-mix(in srgb,var(--club-primary) 50%,transparent);outline-offset:2px;border-color:var(--club-primary);}


@media (max-width:520px){
  .tactic-identity-card{min-height:100px;padding:12px;}
  .tactic-identity-main .crest{width:48px;height:48px;}
  .tactic-score-ring{width:58px;height:58px;}
  .tactic-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .strategy-canvas{height:235px;}
  .lineup-command-header{align-items:flex-start;}
  .lineup-command-header .btn{min-width:42px;padding-inline:10px;}
  .lineup-modern-grid,.bench-card-grid,.visual-player-picker{grid-template-columns:1fr;}
  .lineup-modern-pitch .lineup-canvas{height:min(43vh,380px);}
  .lineup-save-bar{grid-template-columns:.8fr 1.2fr;}
  .lineup-save-bar .btn,.tactic-save-row .btn{font-size:.75rem;padding-inline:8px;}
  .role-select-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){.finance-flyout-modern,.panel,.btn,.subtab,button{transition:none!important;animation:none!important;}}
.tactic-preset-panel{display:grid;gap:10px;}
.tactic-preset-panel .panel-heading-row small{color:var(--muted);font-size:.68rem;}
.tactic-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.tactic-preset-grid button{display:flex;align-items:center;gap:8px;text-align:left;padding:10px;border:1px solid var(--modern-border);border-radius:14px;background:var(--modern-surface-2);color:var(--text);min-width:0;}
.tactic-preset-grid button>i{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:color-mix(in srgb,var(--club-primary) 13%,var(--surface));color:var(--club-primary);flex:0 0 auto;}
.tactic-preset-grid button>span{display:grid;gap:2px;min-width:0;}
.tactic-preset-grid strong{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tactic-preset-grid small{font-size:.61rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:430px){.tactic-preset-grid{grid-template-columns:1fr}.tactic-preset-grid button{min-height:48px;}}

/* === Etapa 27: preparação, vestiário, médico e análise avançada === */
.locker-room-layout,.medical-layout,.opponent-prep-layout{display:grid;gap:14px;padding-bottom:18px}
.locker-hero,.medical-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--club-primary) 16%,var(--panel)),var(--panel));overflow:hidden}
.locker-hero h3,.medical-hero h3{margin:5px 0 6px;font-size:clamp(1.22rem,4vw,1.8rem)}
.locker-hero p,.medical-hero p{margin:0;color:var(--muted);max-width:680px}
.locker-score{width:92px;height:92px;flex:0 0 92px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--club-primary) calc(var(--locker-score,68)*1%),color-mix(in srgb,var(--border) 65%,transparent) 0);position:relative}
.locker-score::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--panel)}
.locker-score strong,.locker-score span{position:relative;z-index:1;line-height:1}
.locker-score strong{font-size:1.55rem}.locker-score span{font-size:.69rem;color:var(--muted);margin-top:-28px}
.locker-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.locker-metrics>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.locker-metrics span{font-size:.78rem;color:var(--muted)}.locker-metrics strong{font-size:1.05rem}
.locker-metrics i,.opponent-line-grid i{grid-column:1/-1;height:6px;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--border) 65%,transparent)}
.locker-metrics i b,.opponent-line-grid i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--club-primary),var(--success))}
.leader-grid,.opponent-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.leader-card,.opponent-player-grid button{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);text-align:left;min-width:0}
.leader-card:hover,.opponent-player-grid button:hover{border-color:var(--club-primary);transform:translateY(-1px)}
.leader-card>span,.opponent-player-grid button>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--club-primary) 15%,var(--panel));color:var(--club-primary)}
.leader-card>div,.opponent-player-grid button>div{display:grid;min-width:0;flex:1}.leader-card small,.opponent-player-grid small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leader-card>b{font-size:.78rem;color:var(--success)}
.locker-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.locker-group-list>div{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.locker-group-list>div>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;color:var(--club-primary)}.locker-group-list small{color:var(--muted)}
.promise-list{display:grid;gap:8px}.promise-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.75fr);align-items:center;gap:14px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.promise-list article>div:first-child{display:grid}.promise-list span{color:var(--muted);font-size:.78rem}
.promise-progress{display:grid;gap:5px}.promise-progress i{height:7px;border-radius:99px;overflow:hidden;background:var(--border)}.promise-progress i b{display:block;height:100%;background:linear-gradient(90deg,var(--club-primary),var(--success));border-radius:inherit}.promise-progress small{text-align:right;color:var(--muted)}
.conflict-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.conflict-card>span{color:var(--danger);font-size:1.1rem}.conflict-card>div{display:grid}.conflict-card small{color:var(--muted)}
.success-empty{color:var(--success)}
.medical-summary-icons{display:flex;gap:8px}.medical-summary-icons span{min-width:55px;padding:9px 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;place-items:center;gap:4px}.medical-summary-icons i{color:var(--club-primary)}
.medical-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:11px}.medical-player-card{display:grid;gap:10px}.medical-player-card.is-injured{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}
.medical-player-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.medical-player-card header>button{display:flex;align-items:center;gap:9px;color:var(--text);background:none;border:0;padding:0;text-align:left;min-width:0}.medical-player-card header>button>span:last-child{display:grid;min-width:0}.medical-player-card header small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.medical-shirt{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--club-primary) 16%,var(--panel));border:1px solid color-mix(in srgb,var(--club-primary) 30%,var(--border));font-weight:600}
.risk-badge{white-space:nowrap;padding:6px 8px;border-radius:99px;font-size:.72rem}.risk-badge.success{color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.risk-badge.warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.risk-badge.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}
.medical-status-row{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:var(--surface);font-size:.79rem}.medical-injury-note{margin:0;color:var(--danger);font-size:.8rem}
.medical-plan-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.medical-plan-row button{min-width:0;padding:8px 5px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:grid;gap:4px;place-items:center;font-size:.68rem}.medical-plan-row button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.medical-plan-row button.is-selected{border-color:var(--club-primary);color:var(--text);background:color-mix(in srgb,var(--club-primary) 12%,var(--surface))}
.opponent-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:112px}.opponent-hero h3{margin:4px 0}.opponent-hero p{margin:0;color:color-mix(in srgb,#fff 82%,transparent);text-shadow:0 1px 3px rgba(0,0,0,.55)}.scout-completeness{align-self:start;padding:7px 9px;border-radius:99px;background:rgba(0,0,0,.25);color:#fff;font-size:.72rem;text-shadow:0 1px 3px #000}
.opponent-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.opponent-line-grid>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.opponent-line-grid span{font-size:.76rem;color:var(--muted)}
.opponent-findings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.opponent-findings article{display:flex;gap:10px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.opponent-findings article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--club-primary) 13%,var(--panel));color:var(--club-primary)}.opponent-findings p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.opponent-recommendations{display:flex;justify-content:space-between;align-items:center;gap:16px}.opponent-recommendations p{margin:7px 0;color:var(--muted)}.opponent-recommendations p i{color:var(--success);margin-right:6px}
.promise-picker>p{color:var(--muted);margin-top:0}.promise-option-grid{display:grid;gap:9px}.promise-option-grid button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-align:left}.promise-option-grid button:hover{border-color:var(--club-primary);background:color-mix(in srgb,var(--club-primary) 8%,var(--surface))}.promise-option-grid button>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--club-primary) 15%,var(--panel));color:var(--club-primary)}.promise-option-grid button>div{display:grid}.promise-option-grid small{color:var(--muted);line-height:1.35}
.assistant-review-card,.heatmap-card{grid-column:1/-1}.assistant-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.assistant-review-grid article{padding:12px;border-radius:13px;border:1px solid var(--border);background:var(--surface)}.assistant-review-grid article>strong{display:block;margin-bottom:8px}.assistant-review-grid article:nth-child(1)>strong{color:var(--success)}.assistant-review-grid article:nth-child(2)>strong{color:var(--warning)}.assistant-review-grid article:nth-child(3)>strong{color:var(--club-primary)}.assistant-review-grid p{margin:7px 0;color:var(--muted);font-size:.8rem;line-height:1.4}
.heatmap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.heatmap-grid>div{display:grid;gap:7px}.heatmap-grid>div>strong{display:flex;align-items:center;gap:7px}.match-heatmap{display:block;width:100%;aspect-ratio:1.6;border-radius:12px;border:1px solid color-mix(in srgb,#fff 18%,var(--border));background:#075b36}


/* mobile-only: regra ampla incorporada ao estilo-base */

  .locker-hero,.medical-hero{align-items:flex-start}.locker-score{width:70px;height:70px;flex-basis:70px}.locker-score strong{font-size:1.25rem}.locker-score span{margin-top:-21px;font-size:.6rem}
  .locker-metrics{grid-template-columns:1fr}.promise-list article{grid-template-columns:1fr}.conflict-card{grid-template-columns:auto 1fr}.conflict-card .btn{grid-column:1/-1;width:100%}
  .medical-summary-icons{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.medical-hero{display:grid}.medical-player-grid{grid-template-columns:1fr}.medical-plan-row button span{display:none}.medical-plan-row button{font-size:.85rem}
  .opponent-hero{grid-template-columns:auto 1fr}.scout-completeness{grid-column:1/-1;justify-self:start}.opponent-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opponent-findings{grid-template-columns:1fr}.opponent-recommendations{display:grid}.opponent-recommendations .btn{width:100%}
  .assistant-review-grid,.heatmap-grid{grid-template-columns:1fr}.heatmap-card{padding-inline:10px}.match-heatmap{border-radius:9px}

.assistant-report-teaser{margin:10px 0 0;padding:9px 11px;border-radius:11px;background:color-mix(in srgb,var(--club-primary) 9%,var(--surface));color:var(--muted);font-size:.79rem}.assistant-report-teaser i{color:var(--club-primary);margin-right:5px}

/* Etapa 28 — Universo Vivo, museu e landing cinematográfica */
.landing-cinematic {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  min-height: 330px;
  background:
    radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--accent, #31d17c) 30%, transparent), transparent 34%),
    linear-gradient(145deg, #0b1410, #10251a 58%, #07100c);
  color: #fff;
  border: 0;
}
.landing-cinematic::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: linear-gradient(to bottom, #000, transparent 92%);
}
.landing-brand-mark { width: 148px; height: 170px; display: grid; place-items: center; z-index: 1; filter: drop-shadow(0 22px 30px rgba(0,0,0,.3)); }
.landing-brand-mark svg { width: 100%; height: 100%; }
.landing-copy { z-index: 1; }
.landing-copy h1 { margin: 12px 0; max-width: 760px; font-size: clamp(2.5rem, 6vw, 5rem); line-height: .93; letter-spacing: -.055em; }
.landing-copy h1 em { color: #72e7aa; font-style: normal; }
.landing-copy p { max-width: 720px; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.landing-promise-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; z-index: 1; }
.landing-promise-grid > div { display: grid; grid-template-columns: auto auto 1fr; gap: 9px; align-items: center; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); backdrop-filter: blur(10px); }
.landing-promise-grid i { color: #72e7aa; }
.landing-promise-grid strong { font-size: 1.2rem; }
.landing-promise-grid span { color: rgba(255,255,255,.68); font-size: .82rem; }
.landing-spotlight { grid-column: 1 / -1; min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; border-top: 1px solid rgba(255,255,255,.12); z-index: 1; }
.landing-spotlight .crest { width: 24px; height: 28px; }
.landing-spotlight small { color: rgba(255,255,255,.64); margin-left: 6px; }

.living-home-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(125deg, color-mix(in srgb, var(--team-primary) 18%, var(--panel)), var(--panel) 58%); }
.home-hero-orbit { position: absolute; width: 220px; aspect-ratio: 1; right: -80px; top: -90px; border-radius: 50%; border: 38px solid color-mix(in srgb, var(--team-primary) 18%, transparent); z-index: -1; animation: homeOrbit 12s linear infinite; }
@keyframes homeOrbit { to { transform: rotate(360deg); } }

.decision-card { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 14px; align-items: start; border-inline-start: 4px solid var(--accent); }
.decision-card.quiet { opacity: .88; }
.decision-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--panel-2)); font-size: 1.2rem; }
.decision-card h3 { margin: 3px 0 5px; }
.decision-card p { margin: 0 0 10px; color: var(--muted); }
.decision-choice-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }

.legacy-pulse-card { overflow: hidden; }
.legacy-pulse-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0; }
.legacy-pulse-grid > div { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; padding: 10px; background: var(--panel-2); border: 1px solid var(--border); border-radius: 12px; }
.legacy-pulse-grid i { grid-row: 1 / span 2; color: var(--accent); }
.legacy-pulse-grid strong { font-size: 1.15rem; }
.legacy-pulse-grid span { font-size: .72rem; color: var(--muted); }
.legacy-teaser, .rivalry-teaser { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--border); }
.legacy-teaser > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #f6c654; background: color-mix(in srgb, #f6c654 12%, var(--panel-2)); }
.legacy-teaser div { display: grid; gap: 2px; }
.legacy-teaser small, .rivalry-teaser span { color: var(--muted); }
.rivalry-teaser { justify-content: space-between; }

.legacy-center { padding-bottom: 30px; }
.legacy-museum-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; align-items: center; background: linear-gradient(120deg, color-mix(in srgb, var(--team-primary) 48%, #101418), color-mix(in srgb, var(--team-secondary) 32%, #101418)); color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.65); }
.legacy-museum-hero .crest { width: 88px; height: 104px; }
.legacy-museum-hero h2 { margin: 4px 0; }
.legacy-museum-hero p { color: rgba(255,255,255,.78); }
.legacy-hero-stats { display: grid; gap: 6px; min-width: 130px; }
.legacy-hero-stats span { display: flex; justify-content: space-between; gap: 10px; font-size: .8rem; }
.trophy-cabinet { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.trophy-cabinet article { display: grid; grid-template-columns: 46px 1fr; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--border); background: linear-gradient(145deg, color-mix(in srgb, #eebf4f 12%, var(--panel-2)), var(--panel-2)); border-radius: 14px; }
.trophy-cabinet article > span { width: 42px; height: 42px; display: grid; place-items: center; color: #d39b22; font-size: 1.2rem; }
.trophy-cabinet article div { display: grid; gap: 2px; }
.trophy-cabinet small { color: var(--muted); }
.club-icons-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.club-icon-card { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 11px; border: 1px solid var(--border); border-radius: 13px; background: var(--panel-2); color: var(--text); text-align: left; }
.club-icon-card > span { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--panel); color: var(--muted); }
.club-icon-card div { display: grid; gap: 2px; min-width: 0; }
.club-icon-card small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.club-icon-card b { color: var(--accent); }
.club-icon-card.legacy-level-3 > span, .club-icon-card.legacy-level-4 > span { color: #f2bf43; background: color-mix(in srgb, #f2bf43 12%, var(--panel)); }
.rivalry-list { display: grid; gap: 8px; }
.rivalry-list article { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: center; padding: 11px; background: var(--panel-2); border: 1px solid var(--border); border-radius: 12px; }
.rivalry-clubs { display: flex; align-items: center; justify-content: center; gap: 8px; }
.rivalry-clubs .crest { width: 28px; height: 34px; }
.rivalry-list article > div:last-child { display: grid; gap: 5px; }
.rivalry-list small { color: var(--muted); }
.career-memory-timeline, .manager-journey { display: grid; gap: 0; }
.career-memory-timeline article, .manager-journey article { display: grid; grid-template-columns: 42px 1fr; gap: 12px; position: relative; padding: 10px 0; }
.career-memory-timeline article:not(:last-child)::after, .manager-journey article:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 48px; bottom: -4px; width: 1px; background: var(--border); }
.career-memory-timeline article > span, .manager-journey article > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, var(--panel-2)); border: 1px solid var(--border); }
.career-memory-timeline article div, .manager-journey article div { display: grid; gap: 3px; }
.career-memory-timeline small, .manager-journey small { color: var(--muted); }
.career-memory-timeline p { margin: 0; color: var(--muted); }
.personality-description { margin: -2px 0 12px; color: var(--muted); }
.personality-badge { color: #7f8cff; }
.legacy-badge { color: #d6a32b; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .landing-cinematic { grid-template-columns: 1fr; min-height: 0; padding: 24px 18px; }
  .landing-brand-mark { width: 88px; height: 102px; position: absolute; right: 12px; top: 12px; opacity: .24; }
  .landing-copy h1 { font-size: clamp(2.35rem, 12vw, 3.8rem); max-width: 92%; }
  .landing-copy p { max-width: 94%; font-size: .93rem; }
  .landing-promise-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5px; }
  .landing-promise-grid > div { grid-template-columns: 1fr; text-align: center; padding: 9px 5px; }
  .landing-promise-grid span { font-size: .63rem; }
  .landing-spotlight { flex-wrap: wrap; font-size: .78rem; padding-inline: 4px; }
  .landing-spotlight small { width: 100%; text-align: center; }
  .legacy-pulse-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .legacy-pulse-grid > div { grid-template-columns: 1fr; text-align: center; padding: 8px 4px; }
  .legacy-pulse-grid i { grid-row: auto; }
  .legacy-museum-hero { grid-template-columns: auto 1fr; }
  .legacy-museum-hero .crest { width: 62px; height: 74px; }
  .legacy-hero-stats { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); min-width: 0; }
  .legacy-hero-stats span { display: grid; text-align: center; }
  .club-icons-grid { grid-template-columns: 1fr; }
  .rivalry-list article { grid-template-columns: 82px 1fr; }
  .decision-card { grid-template-columns: 42px minmax(0,1fr); }
  .decision-icon { width: 40px; height: 40px; }


[data-reduced-motion="true"] .home-hero-orbit,
[data-interface-animations="false"] .home-hero-orbit { animation: none !important; }
.hall-of-fame-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); gap: 9px; }
.hall-of-fame-grid article { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid color-mix(in srgb, #f0bd3e 35%, var(--border)); background: color-mix(in srgb, #f0bd3e 8%, var(--panel-2)); border-radius: 13px; }
.hall-of-fame-grid article > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #d49a19; background: color-mix(in srgb, #f0bd3e 15%, var(--panel)); }
.hall-of-fame-grid article div { display: grid; gap: 2px; min-width: 0; }
.hall-of-fame-grid small { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hall-of-fame-grid b { color: #d49a19; }

/* Etapa 29 — sistema visual unificado, cabeçalho reativo e navegação estável */
:root {
  --surface: var(--panel);
  --surface-2: var(--panel-2);
  --border: var(--line);
  --success: #32d17d;
  --surface-soft: color-mix(in srgb, var(--panel-2) 84%, transparent);
  --surface-hover: color-mix(in srgb, var(--club-primary) 8%, var(--panel-2));
  --radius-panel: 16px;
  --radius-control: 11px;
}
html[data-theme="light"] {
  --surface: #fff;
  --surface-2: #f1f4f8;
  --border: rgba(28,39,57,.13);
  --success: #087d45;
  --surface-soft: #f6f8fb;
  --surface-hover: color-mix(in srgb, var(--club-primary) 7%, #fff);
}

/* Cabeçalho: informação financeira completa sem reticências. */
.topbar { min-width: 0; }
.topbar-actions { min-width: 0; flex: 0 0 auto; }
.topbar-money,
.topbar-status-money {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: none !important;
  padding: 6px 10px;
  border-radius: 11px;
  overflow: visible !important;
  text-overflow: clip !important;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}
.topbar-money > i { font-size: .78rem; opacity: .86; }
.topbar-money > span,
.topbar-status-money { line-height: 1.05; }
.topbar-money small,
.topbar-status-money small {
  display: block;
  margin-bottom: 2px;
  color: rgba(255,255,255,.7);
  font-size: .52rem;
  font-weight: 500;
  letter-spacing: .025em;
}
.topbar-money strong,
.topbar-status-money strong {
  display: block;
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 430px){
  .topbar { grid-template-columns: auto auto minmax(0,1fr) auto !important; gap: 5px; }
  .topbar-page-context { width: 31px; min-width: 31px; padding-inline: 0; }
  .topbar-page-context span { display: none; }
  .topbar-money { padding: 5px 7px !important; gap: 5px; }
  .topbar-money > i,
  .topbar-money small { display: none; }
  .topbar-money strong { font-size: .65rem; }
  .topbar-club-summary small { display: none; }
}
@media (max-width: 350px){
  .topbar-money strong { font-size: .58rem; }
  .topbar-menu-button { width: 29px; }
}

/* Configurações instantâneas. */
.settings-autosave-banner {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--primary) 26%, var(--line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--primary) 8%, var(--panel));
  color: var(--text);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.settings-autosave-banner > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb, var(--primary) 17%, transparent);
  color: var(--primary);
}
.settings-autosave-banner div { display: grid; gap: 2px; min-width: 0; }
.settings-autosave-banner small { color: var(--muted); font-size: .68rem; }
.settings-autosave-banner.is-saved { background: color-mix(in srgb, var(--success) 14%, var(--panel)); border-color: color-mix(in srgb, var(--success) 46%, var(--line)); }
.danger-settings-zone {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  border-color: color-mix(in srgb, var(--danger) 25%, var(--line));
}
.danger-settings-zone p { margin-top: 4px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.danger-settings-zone .btn { width: auto; min-width: 150px; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .danger-settings-zone { grid-template-columns: 1fr; }
  .danger-settings-zone .btn { width: 100%; }


/* Central de jogos importantes com a mesma linguagem de abas do jogo controlado. */
.observer-live-mode {
  height: 100dvh;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto auto minmax(0,1fr) auto;
  overflow: hidden;
  background: var(--bg);
}
.observer-live-tabs {
  margin: 7px 8px 0;
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  min-height: 42px;
  }
.observer-live-tabs .subtab {
  flex: 1 0 auto;
  min-width: 76px;
  white-space: nowrap;
}
.observer-tab-workspace { min-height: 0; overflow: hidden; padding: 7px 8px 0; }
.observer-tab-pane { display: none; height: 100%; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.observer-tab-pane.is-active { display: block; }
.observer-tab-pane .observer-feed-panel,
.observer-tab-pane .observer-event-log,
.observer-tab-pane .observer-groups,
.observer-tab-pane .observer-live-standings { min-height: 100%; height: 100%; }
.observer-tab-pane .observer-feed-panel { display: grid; grid-template-rows: auto minmax(0,1fr); }
.observer-tab-pane .observer-event-log { overflow-y: auto; }
.observer-tab-pane .observer-groups { overflow-y: auto; padding-bottom: 12px; }
.observer-live-standings { display: grid; grid-template-rows: auto minmax(0,1fr); padding: 12px; }
.observer-live-standings .live-table-scroll { min-height: 0; overflow-y: auto; }
.observer-actions { position: static !important; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .observer-header { min-height: 47px; }
  .observer-featured { min-height: 58px; padding-block: 5px; }
  .observer-featured .crest.small { width: 30px; height: 34px; }
  .observer-featured > div strong { font-size: .64rem; }
  .observer-featured > span b { font-size: 1.25rem; }
  .observer-live-tabs { margin-inline: 5px; }
  .observer-live-tabs .subtab { min-width: 68px; padding-inline: 7px; }
  .observer-tab-workspace { padding-inline: 5px; }


/* Correção de contraste no tema escuro para superfícies modernas e relatórios. */
html[data-theme="dark"] :is(
  .assistant-review-grid article,
  .assistant-review-grid article > strong,
  .assistant-review-grid p,
  .medical-status-row,
  .locker-metrics > div,
  .promise-list article,
  .opponent-line-grid > div,
  .opponent-findings article,
  .tactic-modern-option,
  .bench-player-card,
  .role-player-choice,
  .settings-autosave-banner,
  .observer-live-standings,
  .match-detail-card,
  .help-details
) { color: var(--text); }
html[data-theme="dark"] :is(.assistant-review-grid p,.medical-status-row small,.promise-list small,.help-details p) { color: var(--muted); }
html[data-theme="dark"] .assistant-review-grid article:nth-child(3) > strong { color: color-mix(in srgb, var(--club-primary) 58%, white 42%); }

/* Design system aplicado de forma uniforme às abas novas e antigas. */
.content :is(.panel,.settings-group,.market-player-card,.offer-card,.football-team-sheet,.ranking-row,.calendar-match,.cup-card,.news-card,.history-card,.scout-card,.medical-player-card) {
  border-color: color-mix(in srgb, var(--line) 86%, transparent);
}
.content .panel > :is(.panel,.info-box,.table-wrap,.compact-scroll,.bounded-scroll,.mini-list,.ranking-list) {
  margin-top: 10px;
}
.content .panel > .panel {
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel-2) 92%, var(--club-primary) 8%);
  box-shadow: none;
}
.content :is(.mini-row,.ledger-row,.save-slot-row,.career-offer-row,.notification-center-list article,.demo-table-row) {
  border-radius: 11px;
  border-color: color-mix(in srgb, var(--line) 84%, transparent);
}
.content :is(.panel-heading-row,.settings-section-heading,.market-heading,.club-heading) + * { margin-top: 10px; }
.content :is(.panel-title,.view-title,h2,h3) + p { margin-top: 5px; }
.content :is(.btn,.text-action,.icon-button):focus-visible { outline: 2px solid color-mix(in srgb, var(--primary) 72%, white 18%); outline-offset: 2px; }

/* Grupos de ações incompletos não deixam uma coluna vazia. */
:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.finish-action-row,.investment-actions,.custom-sound-grid > label > div,.match-action-row) > :only-child {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.finish-action-row,.investment-actions,.match-action-row):has(> [hidden]) > :not([hidden]) {
  grid-column: 1 / -1;
  width: 100%;
}

/* Evita saltos visuais ao atualizar áreas internas. */
.content { overflow-anchor: none; scroll-behavior: auto; }
.navbar { overflow-anchor: none; }
.subtabs { scroll-behavior: smooth; }
.reduced-motion .subtabs { scroll-behavior: auto; }

/* Etapa 29 — editor pessoal e fluxo comunitário */
.community-editor-intro {
  display: grid;
  gap: 12px;
  border-color: color-mix(in srgb, var(--club-primary) 32%, var(--line));
  background: color-mix(in srgb, var(--panel) 91%, var(--club-primary) 9%);
}
.community-editor-flow {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  color: var(--muted);
}
.community-editor-flow span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .76rem;
}
.community-editor-flow > i { color: var(--muted); font-size: .66rem; }
.pack-actions .editor-action-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .pack-actions .editor-action-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }

@media (max-width: 420px){
  .community-editor-flow { display: grid; grid-template-columns: 1fr; }
  .community-editor-flow > i { display: none; }
  .pack-actions .editor-action-grid { grid-template-columns: 1fr; }
}

/* Etapa 30 — pilha de avisos e estúdio social */
.share-studio-dialog { width: min(100%, 980px); }
.share-preview-head > div > p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.share-studio-layout { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(280px,1fr); gap: 14px; min-height: 0; }
.share-type-list { display: grid; align-content: start; gap: 8px; min-width: 0; }
.share-type-card {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.share-type-card:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--primary) 42%,var(--line)); }
.share-type-card.is-active { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)); }
.share-type-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: color-mix(in srgb,var(--primary) 13%,transparent); color: var(--primary); }
.share-type-card strong,
.share-type-card small { display: block; }
.share-type-card strong { font-size: .76rem; }
.share-type-card small { margin-top: 2px; color: var(--muted); font-size: .61rem; line-height: 1.35; }
.share-type-card > .fa-chevron-right { color: var(--muted); font-size: .72rem; }
.share-studio-preview-column { min-width: 0; display: grid; align-content: start; gap: 10px; }
.share-preview-loading { min-height: 330px; display: grid; place-items: center; gap: 8px; color: var(--muted); font-size: .75rem; }
.share-preview-loading .fa-spinner { animation: share-spin .85s linear infinite; }
@keyframes share-spin { to { transform: rotate(360deg); } }
.share-caption-label { display: grid; gap: 5px; font-size: .68rem; color: var(--muted); }
.share-caption-label textarea { resize: vertical; min-height: 76px; }
.share-studio-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .share-studio-overlay { place-items: end center; padding: 0; }
  .share-studio-dialog { width: 100%; max-height: 94dvh; border-radius: 20px 20px 0 0; border-bottom: 0; }
  .share-studio-layout { grid-template-columns: 1fr; }
  .share-type-list { display: flex; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 4px; }
  .share-type-card { min-width: 190px; scroll-snap-align: start; }
  .share-preview-canvas { width: min(100%, 300px); }
  .share-preview-loading { min-height: 300px; }
  .share-studio-actions { grid-template-columns: 1fr 1fr; }
  .share-studio-actions > :last-child { grid-column: 1 / -1; }


/* === Etapa 31 — atalhos confiáveis, campo estabilizado e refinamento visual === */
.quick-menu-grid button {
  position: relative;
  overflow: hidden;
  min-height: 68px;
  border-radius: 15px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--panel-2) 94%, var(--primary) 6%), var(--panel-2));
  box-shadow: 0 7px 20px rgba(0,0,0,.07);
}
.quick-menu-grid button::after {
  content: "";
  position: absolute;
  inset: auto -28px -36px auto;
  width: 78px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 9%, transparent);
  pointer-events: none;
}
.quick-menu-grid button:hover,
.quick-menu-grid button:focus-visible {
  border-color: color-mix(in srgb, var(--primary) 48%, var(--line));
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.11);
}
.quick-menu-grid button > span {
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 16%, transparent);
}
.quick-menu-grid strong { font-size: .79rem; letter-spacing: -.01em; }

.quick-nav-target {
  position: relative;
  z-index: 1;
  animation: quick-nav-arrival 1.35s cubic-bezier(.2,.72,.2,1);
}
@keyframes quick-nav-arrival {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary) 0%, transparent); }
  24% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 35%, transparent), 0 15px 38px color-mix(in srgb, var(--primary) 16%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--primary) 0%, transparent); }
}

.tactic-preview-panel {
  min-width: 0;
  gap: 10px;
  overflow: visible;
}
.tactic-preview-heading { margin-bottom: 0; }
.strategy-canvas-shell {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 220px;
  overflow: hidden;
  border-radius: 17px;
  border: 1px solid color-mix(in srgb, white 14%, var(--line));
  background: #075e38;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 12px 28px rgba(0,0,0,.14);
}
.strategy-canvas {
  display: block;
  width: 100%;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: 4 / 3;
  border-radius: 0;
}
.tactic-preview-caption {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
}
.tactic-preview-caption > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--modern-border);
  border-radius: 11px;
  background: var(--modern-surface-2);
  color: var(--muted);
  font-size: .68rem;
}
.tactic-preview-caption strong { color: var(--text); }

.motion-enabled .quick-menu-grid button { animation: goooool-shortcut-in .3s cubic-bezier(.18,.78,.24,1) both; }
.motion-enabled .quick-menu-grid button:nth-child(2) { animation-delay: .035s; }
.motion-enabled .quick-menu-grid button:nth-child(3) { animation-delay: .07s; }
.motion-enabled .quick-menu-grid button:nth-child(4) { animation-delay: .105s; }
.motion-enabled .quick-menu-grid button:nth-child(5) { animation-delay: .14s; }
.motion-enabled .quick-menu-grid button:nth-child(6) { animation-delay: .175s; }
.motion-enabled .subtab.is-active { animation: goooool-tab-settle .24s ease-out; }
.motion-enabled :is(.quick-action-grid,.tactic-preset-grid) button:hover i { transform: translateY(-1px) scale(1.06); }
@keyframes goooool-shortcut-in { from { opacity: 0; transform: translateY(9px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes goooool-tab-settle { from { transform: scale(.96); } to { transform: scale(1); } }


@media (max-width: 520px){
  .strategy-canvas-shell { min-height: 188px; border-radius: 14px; }
  .tactic-preview-caption { grid-template-columns: 1fr; }
  .quick-menu-grid button { min-height: 64px; }
}
@media (prefers-reduced-motion: reduce){
  .quick-nav-target,
  .motion-enabled .quick-menu-grid button,
  .motion-enabled .subtab.is-active { animation: none !important; }
}

/* Corrige os seletores das animações dos modais atuais. */
.motion-enabled .app-modal-overlay { animation: goooool-overlay-in .2s ease both; }
.motion-enabled .app-modal { animation: goooool-modal-in .25s cubic-bezier(.18,.78,.24,1) both; transform-origin: center bottom; }
@media (prefers-reduced-motion: reduce){
  .motion-enabled .app-modal-overlay,
  .motion-enabled .app-modal { animation: none !important; }
}


/* === Etapa 32 — pós-jogo personalizável e momentos visuais no ao vivo === */
.live-pitch-shell { position: relative; isolation: isolate; }
.live-event-overlay {
  --live-event-color: var(--success);
  position: absolute;
  z-index: 4;
  top: clamp(12px, 5%, 24px);
  left: 50%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: min(88%, 430px);
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, var(--live-event-color) 56%, rgba(255,255,255,.34));
  border-radius: 15px;
  background: color-mix(in srgb, rgba(7,13,11,.94) 86%, var(--live-event-color) 14%);
  box-shadow: 0 16px 34px rgba(0,0,0,.32), 0 0 24px color-mix(in srgb, var(--live-event-color) 24%, transparent);
  color: #fff;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -14px) scale(.94);
  backdrop-filter: blur(13px) saturate(1.18);
}
.live-event-overlay[hidden] { display: none !important; }
.live-event-overlay.is-visible { animation: live-event-arrive .46s cubic-bezier(.18,.86,.24,1.16) both; }
.live-event-overlay-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: color-mix(in srgb, var(--live-event-color) 24%, rgba(255,255,255,.08));
  border: 1px solid color-mix(in srgb, var(--live-event-color) 58%, transparent);
  color: color-mix(in srgb, var(--live-event-color) 64%, white 36%);
  font-size: 1.05rem;
}
.live-event-overlay > div { min-width: 0; display: grid; gap: 2px; }
.live-event-overlay strong { letter-spacing: .075em; font-size: .86rem; }
.live-event-overlay small { overflow: hidden; color: rgba(255,255,255,.78); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.live-event-overlay.is-goal { width: min(91%, 460px); padding-block: 12px; }
.live-event-overlay.is-goal strong { font-size: 1.02rem; letter-spacing: .12em; }
.live-event-overlay.is-yellow { --live-event-color: #f6ca45; }
.live-event-overlay.is-red { --live-event-color: #ff495c; }
.live-event-overlay.is-injury { --live-event-color: #ff9b4b; }
.live-event-overlay.is-substitution { --live-event-color: #52b8ff; }

.live-pitch-shell.is-impact-goal .live-pitch-canvas { animation: live-pitch-goal-impact .68s cubic-bezier(.22,.8,.24,1); }
.live-pitch-shell.is-impact-penalty .live-pitch-canvas,
.live-pitch-shell.is-impact-red .live-pitch-canvas { animation: live-pitch-strong-impact .48s cubic-bezier(.22,.8,.24,1); }
.live-pitch-shell.is-impact-yellow .live-pitch-canvas,
.live-pitch-shell.is-impact-injury .live-pitch-canvas,
.live-pitch-shell.is-impact-substitution .live-pitch-canvas { animation: live-pitch-soft-impact .34s cubic-bezier(.22,.8,.24,1); }
@keyframes live-event-arrive {
  0% { opacity: 0; transform: translate(-50%, -15px) scale(.92); }
  58% { opacity: 1; transform: translate(-50%, 2px) scale(1.015); }
  100% { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
@keyframes live-pitch-goal-impact {
  0%,100% { transform: translate3d(0,0,0) rotate(0); }
  12% { transform: translate3d(-7px,2px,0) rotate(-.16deg); }
  26% { transform: translate3d(6px,-2px,0) rotate(.14deg); }
  42% { transform: translate3d(-4px,1px,0) rotate(-.09deg); }
  60% { transform: translate3d(3px,-1px,0) rotate(.06deg); }
  78% { transform: translate3d(-1px,0,0) rotate(-.02deg); }
}
@keyframes live-pitch-strong-impact {
  0%,100% { transform: translate3d(0,0,0); }
  22% { transform: translate3d(-4px,1px,0); }
  46% { transform: translate3d(4px,-1px,0); }
  70% { transform: translate3d(-2px,0,0); }
}
@keyframes live-pitch-soft-impact {
  0%,100% { transform: translate3d(0,0,0); }
  35% { transform: translate3d(-2px,0,0); }
  68% { transform: translate3d(2px,0,0); }
}

.post-match-collapsible-card { padding: 0 !important; overflow: hidden; transition: border-color .2s ease, background-color .2s ease; }
.post-match-collapsible-card.is-collapsed { border-color: color-mix(in srgb, var(--line) 80%, var(--club-primary) 20%); }
.post-match-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 11px 13px;
}
.post-match-card-header > div { min-width: 0; display: grid; gap: 2px; }
.post-match-card-header h3 { margin: 0; font-size: .84rem; }
.post-match-card-header small { color: var(--muted); font-size: .6rem; }
.post-match-card-header .kicker { margin: 0; }
.post-match-card-header .badge { justify-self: start; margin-top: 3px; }
.post-match-card-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--muted);
  font: inherit;
  font-size: .62rem;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.post-match-card-toggle:hover,
.post-match-card-toggle:focus-visible { color: var(--text); border-color: color-mix(in srgb, var(--club-primary) 55%, var(--line)); background: color-mix(in srgb, var(--club-primary) 10%, var(--panel-2)); }
.post-match-card-toggle:active { transform: scale(.96); }
.post-match-card-body { display: grid; grid-template-rows: 1fr; opacity: 1; transition: grid-template-rows .32s cubic-bezier(.2,.72,.22,1), opacity .22s ease; }
.post-match-card-collapse { min-height: 0; overflow: hidden; }
.post-match-card-content { padding: 0 13px 13px; }
.post-match-collapsible-card.is-collapsed .post-match-card-body { grid-template-rows: 0fr; opacity: 0; }
.post-match-collapsible-card.is-collapsed .post-match-card-toggle { color: color-mix(in srgb, var(--club-primary) 70%, var(--text)); }
.post-match-collapsible-card.is-collapsed .post-match-card-header { background: color-mix(in srgb, var(--club-primary) 4%, transparent); }

@media (max-width: 520px){
  .live-event-overlay { width: calc(100% - 22px); top: 9px; padding: 8px 10px; border-radius: 12px; }
  .live-event-overlay-icon { width: 36px; height: 36px; border-radius: 10px; }
  .live-event-overlay strong { font-size: .72rem; }
  .live-event-overlay.is-goal strong { font-size: .86rem; }
  .live-event-overlay small { font-size: .58rem; }
  .post-match-card-toggle span { display: none; }
  .post-match-card-toggle { width: 34px; padding-inline: 0; }
}
.reduced-motion .live-event-overlay.is-visible { animation: none; opacity: 1; transform: translate(-50%, 0); }
.reduced-motion .live-event-overlay::after,
.reduced-motion .live-event-overlay-icon,
.reduced-motion .progress-track.is-live-progress > span::after,
.reduced-motion .progress-live-caption .fa-solid { animation: none !important; }
.reduced-motion .live-pitch-shell[class*="is-impact-"] .live-pitch-canvas { animation: none !important; }
.reduced-motion .post-match-card-body { transition: none; }


/* === Etapa 33 — regulamentos reais, pênaltis modernos e auditoria Font Awesome === */
/* Font Awesome acompanha a cor semântica do elemento que o contém. */
.fa-solid,
.fa-regular,
.fa-brands { color: inherit; }

:is(
  button,
  a,
  .btn,
  .subtab,
  .nav-btn,
  .nav-button,
  .icon-button,
  .text-action,
  .topbar-menu-button,
  .topbar-page-context,
  .topbar-money,
  .quick-menu-grid button,
  .quick-action-grid button,
  .history-controls button,
  .live-info-tabs button,
  .live-management-actions button,
  .share-type-card,
  .post-match-card-toggle
) :is(.fa-solid,.fa-regular,.fa-brands) {
  color: currentColor !important;
}
.subtab i,
.subtab.is-active i { color: currentColor !important; }

/* Cores informativas permanecem explícitas apenas em eventos e estados. */
.event-goal-icon { color: #f8fafc !important; }
.event-yellow-icon { color: #f6c945 !important; }
.event-red-icon { color: #ef5350 !important; }
.event-injury-icon { color: #ff8a65 !important; }
.event-substitution-icon { color: #5ee09b !important; }
.event-extra-time-icon { color: var(--warning) !important; }
.event-shootout-icon { color: var(--primary) !important; }
.event-commentary-icon { color: var(--muted) !important; }

.cup-format-note {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 7px;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.45;
}
.cup-format-note .fa-solid { margin-top: 2px; color: currentColor; }
.fixture-card .score {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  min-width: 76px;
  line-height: 1;
}
.fixture-card .score b { font-size: 1.16rem; }
.fixture-card .score small,
.post-match-head > strong small {
  display: block;
  color: var(--muted);
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}
.post-match-head > strong { display: grid; gap: 3px; }

.match-screen { position: relative; isolation: isolate; }
.shootout-celebration {
  position: absolute;
  z-index: 30;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .34s ease;
}
.shootout-celebration.is-visible { opacity: 1; }
.shootout-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--winner-primary, var(--primary)) 28%, transparent), transparent 46%),
    rgba(3,8,12,.78);
  backdrop-filter: blur(10px) saturate(1.14);
}
.shootout-card {
  --winner-primary: var(--primary);
  position: relative;
  width: min(100%, 490px);
  overflow: hidden;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--winner-primary) 58%, rgba(255,255,255,.24));
  border-radius: 22px;
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--winner-primary) 15%, rgba(15,23,30,.97)), rgba(7,12,18,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.08);
  color: #fff;
  text-align: center;
  transform: translateY(14px) scale(.92);
  transition: transform .48s cubic-bezier(.18,.86,.24,1.12);
}
.shootout-card::before,
.shootout-card::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.shootout-card::before {
  width: 190px;
  height: 190px;
  top: -118px;
  left: calc(50% - 95px);
  border: 1px solid color-mix(in srgb, var(--winner-primary) 54%, transparent);
  box-shadow: 0 0 54px color-mix(in srgb, var(--winner-primary) 28%, transparent);
}
.shootout-card::after {
  width: 8px;
  height: 8px;
  top: 26px;
  left: calc(50% - 4px);
  background: #fff;
  box-shadow: 0 0 22px 8px color-mix(in srgb, var(--winner-primary) 46%, transparent);
}
.shootout-celebration.is-visible .shootout-card { transform: translateY(0) scale(1); }
.shootout-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 15px;
  color: rgba(255,255,255,.76);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.shootout-kicker .fa-solid { color: currentColor; }
.shootout-teams {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 12px;
}
.shootout-teams > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.74);
}
.shootout-teams article {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-width: 0;
}
.shootout-teams article > strong {
  max-width: 100%;
  overflow: hidden;
  color: #fff;
  font-size: .76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shootout-teams article > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  min-height: 10px;
}
.shootout-teams article > div i {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 50%;
  color:#fff;
  font-style:normal;
  font-size:.76rem;
  line-height:1;
  opacity: 0;
  transform: scale(.25);
}
.shootout-teams article > div i > span { transform:translateY(-.5px); }
.shootout-teams article > div i.is-goal {
  background: #48d68b;
  border-color: #8df4bd;
  color:#07140d;
  box-shadow:0 0 0 2px rgba(72,214,139,.14);
}
.shootout-teams article > div i.is-miss {
  background: #e54f61;
  border-color: #ff8e99;
  color:#21070b;
  box-shadow:0 0 0 2px rgba(229,79,97,.16);
}
.shootout-celebration.is-visible .shootout-teams article > div i {
  animation: shootout-kick-pop .28s calc(.34s + var(--kick-index) * .12s) cubic-bezier(.2,.9,.25,1.28) both;
}
.shootout-teams article > b {
  font-size: 2rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.shootout-card h3 { margin: 16px 0 3px; color: #fff; font-size: 1.03rem; }
.shootout-card > small { color: rgba(255,255,255,.68); font-size: .66rem; }
@keyframes shootout-kick-pop {
  0% { opacity: 0; transform: scale(.2); }
  70% { opacity: 1; transform: scale(1.28); }
  100% { opacity: 1; transform: scale(1); }
}

@media (max-width: 520px){
  .shootout-celebration { padding: 10px; }
  .shootout-card { padding: 15px 11px; border-radius: 18px; }
  .shootout-teams { gap: 7px; }
  .shootout-teams > span { width: 27px; height: 27px; }
  .shootout-teams article > b { font-size: 1.62rem; }
  .fixture-card .score { min-width: 62px; }
}
.reduced-motion .shootout-celebration,
.reduced-motion .shootout-card { transition: none; }
.reduced-motion .shootout-teams article > div i { animation: none !important; opacity: 1; transform: none; }


/* Ajustes da transmissão internacional para prorrogação e pênaltis. */
.observer-screen { position: relative; isolation: isolate; }
.observer-featured > span > b,
.observer-tile [data-observer-score] { display: grid; place-items: center; gap: 2px; }
.observer-featured > span > b small,
.observer-tile [data-observer-score] small,
.international-fixture-row > strong small {
  display: block;
  color: currentColor;
  font-size: .5rem;
  font-weight: 600;
  line-height: 1.2;
  opacity: .72;
  text-transform: uppercase;
}

.live-event-overlay.is-extra-time { --live-event-color: var(--warning); }
.live-event-overlay.is-shootout { --live-event-color: var(--primary); }
.live-pitch-shell.is-impact-extra-time .live-pitch-canvas { animation: live-pitch-soft-impact .42s cubic-bezier(.22,.8,.24,1); }
.live-pitch-shell.is-impact-shootout .live-pitch-canvas { animation: live-pitch-strong-impact .58s cubic-bezier(.22,.8,.24,1); }

/* === Etapa 34 — editor lateral, arbitragem, VAR e integridade === */
.editor-workspace-layout {
  display: grid;
  grid-template-columns: minmax(176px, .26fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.editor-side-menu {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--panel);
}
.editor-side-menu button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
}
.editor-side-menu button:hover,
.editor-side-menu button:focus-visible {
  border-color: var(--border);
  background: var(--panel-2);
  color: var(--text);
}
.editor-side-menu button.is-active {
  border-color: color-mix(in srgb, var(--primary) 52%, var(--border));
  background: color-mix(in srgb, var(--primary) 13%, var(--panel-2));
  color: var(--text);
}
.editor-side-menu button i { width: 1.2em; color: currentColor !important; }
.editor-main-content { min-width: 0; display: grid; gap: 12px; scroll-margin-top: 14px; }
.compact-toggle { min-height: 100%; align-self: stretch; }
.community-hub-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.community-hub-actions { margin-bottom: 12px; }

.integrity-action { color: currentColor; }
.integrity-decision-panel { display: grid; gap: 14px; }
.integrity-decision-panel header h3 { margin: 4px 0; }
.integrity-decision-panel header p { margin: 0; color: var(--muted); }
.integrity-meter,
.integrity-cost {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--panel-2);
}
.integrity-meter > i {
  grid-column: 1 / -1;
  display: block;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--border) 78%, transparent);
}
.integrity-meter > i > b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--danger), var(--warning), var(--success));
}
.integrity-warning {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 11px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--danger) 55%, var(--border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--danger) 9%, var(--panel));
  color: var(--text);
}
.integrity-warning > i { margin-top: 2px; color: var(--danger) !important; }
.integrity-warning p { margin: 4px 0 0; color: var(--muted); }

.live-event-overlay.is-var-check,
.live-event-overlay.is-var-decision { --live-event-color: var(--primary); }
.live-pitch-shell.is-impact-var-check .live-pitch-canvas,
.live-pitch-shell.is-impact-var-decision .live-pitch-canvas { animation: live-pitch-soft-impact .42s cubic-bezier(.22,.8,.24,1); }
.live-event-overlay.is-stoppage-time { --live-event-color: var(--warning); }
.live-pitch-shell.is-impact-stoppage-time .live-pitch-canvas { animation: live-pitch-soft-impact .36s cubic-bezier(.22,.8,.24,1); }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .editor-workspace-layout { grid-template-columns: 1fr; }
  .editor-side-menu {
    position: sticky;
    top: 0;
    z-index: 12;
    grid-template-columns: repeat(3, minmax(0,1fr));
    overflow-x: auto;
    border-radius: 0 0 14px 14px;
  }
  .editor-side-menu button { justify-content: center; min-width: 0; padding-inline: 7px; text-align: center; }
  .editor-side-menu button span { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
  .community-hub-hero { flex-direction: column; }


/* Etapa 35 · perfis de experiência */
.gameplay-mode-panel{overflow:hidden}
.gameplay-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.gameplay-mode-card{display:grid;gap:8px;align-content:start;min-height:148px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.gameplay-mode-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.gameplay-mode-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}
.gameplay-mode-card>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.gameplay-mode-card strong{font-size:1rem}
.gameplay-mode-card small{color:var(--muted);line-height:1.45}
html.simplified-management [data-dashboard-widget="legacyPulse"],html.simplified-management .assistant-review-grid{display:none}
html:not(.advanced-metrics) .advanced-metric,html:not(.advanced-metrics) [data-advanced-metric]{display:none!important}

/* mobile-only: regra ampla incorporada ao estilo-base */
.gameplay-mode-grid{grid-template-columns:1fr}.gameplay-mode-card{min-height:0}

/* ===== Etapa 36 · abertura de jogo, placares, profundidade e modais ===== */
.game-opening-hero {
  position: relative;
  min-height: clamp(620px, 82vh, 860px);
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(251px, .75fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 28px;
  padding: clamp(28px, 6vw, 76px);
  border-radius: 0 0 34px 34px;
  background:
    radial-gradient(circle at 50% 118%, rgba(40, 211, 126, .34), transparent 45%),
    linear-gradient(180deg, rgba(4, 10, 18, .18), rgba(4, 9, 16, .95)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 76px),
    #07131f;
}
.game-opening-hero::before {
  content: "";
  position: absolute;
  inset: auto -8% -28% -8%;
  height: 62%;
  z-index: -2;
  transform: perspective(760px) rotateX(58deg);
  transform-origin: bottom;
  border: 2px solid rgba(255,255,255,.22);
  background:
    linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.3) 49.8% 50.2%, transparent 50.3%),
    radial-gradient(circle at center, transparent 0 18%, rgba(255,255,255,.28) 18.3% 18.8%, transparent 19.1%),
    repeating-linear-gradient(90deg, rgba(29,154,90,.82) 0 9%, rgba(24,135,78,.82) 9% 18%);
  box-shadow: 0 -40px 110px rgba(19,171,94,.15);
}
.game-opening-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(ellipse at 50% 7%, rgba(255,255,255,.13), transparent 22%),
    linear-gradient(115deg, transparent 0 12%, rgba(255,255,255,.04) 12.2% 12.8%, transparent 13% 100%);
}
.stadium-light { position: absolute; top: -18%; width: 34%; height: 62%; z-index: -1; opacity: .72; filter: blur(2px); pointer-events: none; }
.stadium-light::before { content:""; position:absolute; inset:0; clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%); background: linear-gradient(180deg, rgba(255,255,255,.28), transparent 88%); }
.stadium-light-left { left: -4%; transform: rotate(-10deg); }
.stadium-light-right { right: -4%; transform: rotate(10deg); }
.game-opening-copy { max-width: 760px; align-self: center; }
.game-opening-copy h1 { margin: 14px 0 18px; font-size: clamp(3rem, 8vw, 7.6rem); line-height: .88; letter-spacing: -.075em; text-transform: uppercase; text-wrap: balance; }
.game-opening-copy h1 em { color: var(--primary); font-style: normal; text-shadow: 0 0 42px color-mix(in srgb, var(--primary) 44%, transparent); }
.game-opening-copy p { max-width: 620px; font-size: clamp(1rem, 2vw, 1.22rem); color: rgba(255,255,255,.75); }
.landing-brand-mark { position: absolute; top: 24px; right: 28px; width: 74px; opacity: .9; }
.landing-brand-mark svg { width: 100%; height: auto; }
.opening-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.opening-actions .btn { min-height: 52px; padding-inline: 22px; border-radius: 16px; }
.opening-primary { box-shadow: 0 16px 44px color-mix(in srgb, var(--primary) 22%, transparent); }
.opening-scoreboard { justify-self: end; width: min(100%, 330px); padding: 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(4,10,18,.68); backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); text-align: center; }
.opening-scoreboard > span { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; background: rgba(231,62,62,.16); color: #ff7f7f; font-size: .72rem; font-weight: 600; letter-spacing: .12em; }
.opening-scoreboard > span::before { content:""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(255,127,127,.1); }
.opening-scoreboard > div { display: grid; grid-template-columns: 1fr auto auto auto 1fr; align-items: center; gap: 9px; margin: 18px 0 9px; }
.opening-scoreboard b { font-size: 1rem; letter-spacing: .08em; }
.opening-scoreboard strong { font-size: clamp(2.4rem, 6vw, 4.5rem); line-height: 1; font-variant-numeric: tabular-nums; }
.opening-scoreboard i { color: var(--muted); font-style: normal; }
.opening-scoreboard small { color: rgba(255,255,255,.62); }
.game-opening-hero .landing-promise-grid { grid-column: 1 / -1; width: min(100%, 760px); margin: 0; background: rgba(4,10,18,.6); border-color: rgba(255,255,255,.12); backdrop-filter: blur(14px); }
.game-opening-hero .landing-spotlight { position: absolute; right: clamp(24px, 5vw, 70px); bottom: 34px; max-width: 340px; }
.setup-stage { position: relative; z-index: 2; }
.setup-career-card { overflow: visible; }
.setup-selected-team { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin: 14px 0 20px; padding: clamp(18px, 3vw, 28px); min-height: 144px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--team-primary, var(--primary)) 35%, var(--line)); border-radius: 24px; background: linear-gradient(125deg, color-mix(in srgb, var(--team-primary, var(--primary)) 22%, var(--panel)), var(--panel) 72%); }
.setup-selected-team::after { content:""; position:absolute; width:220px; height:220px; right:-70px; top:-72px; border-radius:50%; border:40px solid color-mix(in srgb, var(--team-primary, var(--primary)) 12%, transparent); pointer-events:none; }
.setup-selected-team .crest { width: 88px; height: 88px; filter: drop-shadow(0 14px 20px rgba(0,0,0,.28)); }
.setup-selected-team h3 { font-size: clamp(1.45rem, 4vw, 2.3rem); margin: 2px 0 5px; }
.setup-selected-team p { color: var(--muted); }
.setup-team-rating { position: relative; z-index: 1; display:flex; flex-direction:column; align-items:center; min-width:68px; padding:12px; border-radius:18px; background: color-mix(in srgb, var(--team-primary, var(--primary)) 16%, var(--panel-2)); }
.setup-team-rating strong { font-size:1.65rem; }
.setup-team-rating small { font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.team-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; max-height: min(50dvh, 520px); padding: 4px; }
.team-select { position:relative; min-height: 92px; border-radius:18px; align-items:center; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.team-select:hover { transform: translateY(-2px); }
.team-select.is-selected, .team-select[aria-pressed="true"] { border-color: var(--team-primary, var(--primary)); background: color-mix(in srgb, var(--team-primary, var(--primary)) 13%, var(--panel-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--team-primary, var(--primary)) 35%, transparent); }
.team-select .team-rating-badge { margin-left:auto; min-width:42px; padding:7px 8px; border-radius:12px; text-align:center; background:var(--chip); font-weight:600; }

/* Placar consistente: mandante = nome + escudo; visitante = escudo + nome. */
.modern-scoreline { --score-gap: clamp(8px, 2vw, 18px); }
.fixture-card.modern-scoreline, .post-match-scoreline.modern-scoreline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; justify-content:center; gap:var(--score-gap); text-align:center; }
.score-fixture-team { display:flex; align-items:center; min-width:0; gap:clamp(7px,1.4vw,12px); }
.score-fixture-team.is-home { justify-content:flex-end; text-align:right; }
.score-fixture-team.is-away { justify-content:flex-start; text-align:left; }
.score-fixture-team strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.score-fixture-team .crest { flex:0 0 auto; }
.fixture-card.modern-scoreline > .score, .fixture-card.modern-scoreline > .vs, .post-match-scoreline.modern-scoreline > strong { min-width: clamp(74px, 15vw, 126px); font-variant-numeric: tabular-nums; text-align:center; }
.fixture-card.modern-scoreline > .score b, .post-match-scoreline.modern-scoreline > strong { font-size:clamp(1.7rem,5vw,3.2rem); letter-spacing:-.04em; }
.fixture-card.modern-scoreline > .score small, .post-match-scoreline.modern-scoreline > strong small { display:block; margin-top:3px; font-size:.72rem; letter-spacing:0; color:var(--muted); }
.fixture-short-name { display:none; }
html[data-compact-score-names="true"] .fixture-full-name { display:none; }
html[data-compact-score-names="true"] .fixture-short-name { display:inline; }
.demo-match.modern-scoreline, .observer-tile.modern-scoreline, .calendar-fixture.modern-scoreline { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px; text-align:center; }
.demo-match.modern-scoreline > em, .observer-tile.modern-scoreline > small { grid-column:1 / -1; }
.score-team { display:flex; align-items:center; gap:7px; min-width:0; }
.score-team.is-home { justify-content:flex-end; text-align:right; }
.score-team.is-away { justify-content:flex-start; text-align:left; }
.score-team b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-match-head { text-align:center; }
.post-match-scoreline { width:min(100%,720px); margin-inline:auto; }

/* Centro do treinador e mundo vivo. */
.coach-center-card { border-color: color-mix(in srgb, var(--primary) 30%, var(--line)); background: linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--panel)), var(--panel)); }
.coach-priority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.coach-priority { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:16px; color:var(--text); background:var(--panel-2); text-align:left; }
.coach-priority > span:first-child { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; color:var(--primary); background:color-mix(in srgb, var(--primary) 12%, transparent); }
.coach-priority strong, .coach-priority small { display:block; }
.coach-priority small { margin-top:3px; color:var(--muted); line-height:1.35; }
.coach-priority.is-danger { border-color:color-mix(in srgb, var(--danger) 38%, var(--line)); }
.coach-priority.is-warning { border-color:color-mix(in srgb, #f3ad3d 38%, var(--line)); }
.world-pulse-strip { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); }
.world-pulse-strip > span { color:var(--text); font-weight:600; }
.world-pulse-strip small + small::before { content:"•"; margin-right:12px; }

.player-psychology-panel, .player-agent-panel { padding:16px; border:1px solid var(--line); border-radius:18px; background:var(--panel-2); }
.psychology-trait-grid, .identity-priority-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.psychology-trait-grid > div, .identity-priority-grid > div { padding:11px; border-radius:14px; background:var(--chip); }
.psychology-trait-grid span, .identity-priority-grid span { display:block; color:var(--muted); font-size:.78rem; }
.psychology-trait-grid strong, .identity-priority-grid strong { display:block; margin:3px 0 8px; font-size:1.15rem; }
.psychology-trait-grid i, .identity-priority-grid i { display:block; height:6px; overflow:hidden; border-radius:999px; background:var(--line); }
.psychology-trait-grid i b, .identity-priority-grid i b { display:block; height:100%; border-radius:inherit; background:var(--primary); }
.player-talk-area { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.player-talk-area small { display:block; color:var(--muted); margin-top:3px; }
.player-talk-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.player-talk-actions button { min-height:38px; padding:8px 11px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--chip); }
.agent-contract-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.agent-contract-grid article { display:flex; gap:10px; align-items:flex-start; padding:12px; border-radius:14px; background:var(--chip); }
.agent-contract-grid article > span { color:var(--primary); }
.agent-contract-grid strong, .agent-contract-grid small { display:block; }
.agent-contract-grid small { margin-top:4px; color:var(--muted); line-height:1.35; }
.academy-philosophy-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,.42fr); align-items:end; gap:18px; }
.club-identity-panel .panel-heading-row { align-items:end; }
.club-identity-panel .panel-heading-row label { min-width:min(100%,260px); }
.club-identity-panel p { margin-top:12px; color:var(--muted); }
.saved-tactical-plans > p { color:var(--muted); }
.saved-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:12px 0; }
.saved-plan-grid article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.saved-plan-grid article > span { color:var(--primary); }
.saved-plan-grid strong, .saved-plan-grid small { display:block; }
.saved-plan-grid small { color:var(--muted); margin-top:3px; }
.saved-plan-grid article > div:last-child { display:flex; gap:5px; }
.saved-plan-grid button { width:36px; height:36px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:var(--chip); }
.save-plan-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }

/* Modais: nenhum conteúdo pode ser esmagado por alturas herdadas. */
.app-modal { width:min(100%,680px); max-height:min(94dvh,940px); display:grid; grid-template-rows:auto minmax(0,1fr); overflow:hidden; }
.app-modal.is-wide { width:min(100%,980px); }
.app-modal-body { display:flex; flex-direction:column; align-items:stretch; gap:12px; min-width:0; min-height:0; max-height:none; overflow-y:auto; overflow-x:hidden; padding:16px; -webkit-overflow-scrolling:touch; }
.app-modal-body > * { flex:0 0 auto; min-width:0; }
.app-modal-body > :is(section,article,form,fieldset,details,.panel,.settings-group,.editor-grid,.dashboard-config-list,.promise-option-grid,.visual-player-picker,.help-center-grid) { height:auto !important; min-height:min-content; max-height:none; }
.app-modal-body :is(.bounded-scroll,.compact-scroll,.news-feed,.academy-list,.retired-list,.visual-player-picker) { height:auto !important; min-height:120px; max-height:min(54dvh,560px); overflow:auto; }
.app-modal-body canvas { flex:0 0 auto; max-width:100%; height:auto; }
.app-modal-body .sticky-modal-actions { position:sticky; bottom:-16px; z-index:4; margin-top:auto; padding:12px 0 16px; background:linear-gradient(180deg, transparent, var(--panel) 22%); }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .game-opening-hero { min-height:auto; grid-template-columns:1fr; padding:72px 20px 30px; border-radius:0 0 24px 24px; }
  .game-opening-copy h1 { font-size:clamp(2.8rem,16vw,5rem); }
  .opening-scoreboard { justify-self:stretch; width:100%; }
  .game-opening-hero .landing-promise-grid { grid-template-columns:repeat(3,1fr); }
  .game-opening-hero .landing-spotlight { position:static; grid-column:1; max-width:none; }
  .landing-brand-mark { width:54px; top:18px; right:18px; }
  .setup-selected-team { grid-template-columns:auto minmax(0,1fr); }
  .setup-team-rating { grid-column:1 / -1; flex-direction:row; justify-content:center; gap:8px; }
  .team-grid { grid-template-columns:1fr; max-height:58dvh; }
  .fixture-card.modern-scoreline, .post-match-scoreline.modern-scoreline { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:7px; }
  .fixture-full-name { display:none; }
  .fixture-short-name { display:inline; }
  .score-fixture-team { gap:5px; }
  .score-fixture-team .crest { width:38px; height:38px; }
  .fixture-card.modern-scoreline > .score, .fixture-card.modern-scoreline > .vs, .post-match-scoreline.modern-scoreline > strong { min-width:64px; }
  .coach-priority-grid, .psychology-trait-grid, .identity-priority-grid, .agent-contract-grid, .saved-plan-grid { grid-template-columns:1fr; }
  .player-talk-area, .academy-philosophy-panel { align-items:stretch; grid-template-columns:1fr; flex-direction:column; }
  .player-talk-actions { justify-content:flex-start; }
  .save-plan-form { grid-template-columns:1fr; }
  .app-modal-overlay { padding:0; place-items:end stretch; }
  .app-modal, .app-modal.is-wide { width:100%; max-height:96dvh; border-radius:20px 20px 0 0; border-inline:0; border-bottom:0; }
  .app-modal-body { padding:14px; }


@media (prefers-reduced-motion: no-preference){
  .motion-enabled .game-opening-hero::before { animation: opening-pitch-breathe 7s ease-in-out infinite alternate; }
  .motion-enabled .opening-scoreboard { animation: opening-scoreboard-float 4.8s ease-in-out infinite; }
  .motion-enabled .setup-selected-team { animation: selected-team-enter .32s ease both; }
}
@keyframes opening-pitch-breathe { to { transform:perspective(760px) rotateX(56deg) translateY(-8px); filter:saturate(1.1); } }
@keyframes opening-scoreboard-float { 50% { transform:translateY(-7px); } }
@keyframes selected-team-enter { from { opacity:.45; transform:translateY(7px); } }
/* Ajustes da composição real do seletor de clube. */
.setup-selected-team { display:block; }
.selected-team-visual { position:relative; z-index:1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; }
.selected-team-visual .crest { width:88px; height:88px; filter:drop-shadow(0 14px 20px rgba(0,0,0,.28)); }
.selected-team-visual h3 { margin:2px 0 5px; font-size:clamp(1.45rem,4vw,2.3rem); }
.selected-team-visual > strong { font-size:2rem; padding:12px; border-radius:16px; background:color-mix(in srgb,var(--team-primary,var(--primary)) 16%,var(--panel-2)); }
.selected-team-meta { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; padding-top:14px; border-top:1px solid color-mix(in srgb,var(--team-primary,var(--primary)) 25%,var(--line)); color:var(--muted); }
.selected-team-meta span { display:inline-flex; align-items:center; gap:7px; }
.selected-team-meta i { color:currentColor; }
.team-card { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; min-height:92px; padding:13px; border:1px solid var(--line); border-radius:18px; color:var(--text); background:var(--panel-2); text-align:left; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.team-card:hover { transform:translateY(-2px); }
.team-card.is-selected, .team-card[aria-pressed="true"] { border-color:var(--team-primary,var(--primary)); background:color-mix(in srgb,var(--team-primary,var(--primary)) 13%,var(--panel-2)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--team-primary,var(--primary)) 35%,transparent); }
.team-card > span strong, .team-card > span span { display:block; }
.team-card > span span { margin-top:3px; color:var(--muted); font-size:.78rem; }
.team-card .crest { width:48px; height:52px; }
.team-card-rating { min-width:42px; padding:7px 8px; border-radius:12px; text-align:center; background:var(--chip); font-weight:600; }

/* mobile-only: regra ampla incorporada ao estilo-base */
.selected-team-visual{grid-template-columns:auto minmax(0,1fr)}.selected-team-visual>strong{grid-column:1/-1;text-align:center}.selected-team-meta{display:grid;grid-template-columns:1fr}

/* Etapa 36 · refinamento final da abertura em telas amplas e móveis. */
.game-opening-hero {
  width: 100%;
  max-width: none;
  flex: 0 0 auto;
}
.game-opening-copy h1 {
  font-size: clamp(3rem, 7vw, 6.8rem);
  letter-spacing: -.065em;
}

/* mobile-only: regra ampla incorporada ao estilo-base */

  .game-opening-hero {
    min-height: 780px;
    align-content: center;
  }
  .game-opening-copy h1 {
    font-size: clamp(3rem, 15vw, 4.4rem);
    letter-spacing: -.055em;
  }

@media (max-width: 390px){
  .game-opening-hero {
    min-height: 740px;
    padding-inline: 16px;
  }
  .game-opening-copy h1 { font-size: clamp(2.75rem, 14.5vw, 3.8rem); }
}

/* Placar de destaque da abertura e leitura da força do clube. */
.game-opening-hero .landing-spotlight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 4px 10px;
  padding: 12px 0 0;
  text-align: center;
}
.game-opening-hero .landing-spotlight > .live-dot { grid-column: 1; }
.game-opening-hero .landing-spotlight > .spotlight-score-team.is-home { grid-column: 2; justify-self: end; }
.game-opening-hero .landing-spotlight > strong { grid-column: 3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.game-opening-hero .landing-spotlight > .spotlight-score-team.is-away { grid-column: 4; justify-self: start; }
.game-opening-hero .landing-spotlight > small { grid-column: 2 / 5; justify-self: center; margin: 0; }
.spotlight-score-team { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.spotlight-score-team b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-team-visual > strong::before {
  content: "FORÇA";
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .1em;
}
.record-match-row .score-team.is-home { justify-content: flex-end; }
.record-match-row .score-team.is-away { justify-content: flex-start; }

/* O Centro do Treinador se adapta à largura real do card, não apenas à viewport. */
.coach-priority-grid {
  grid-template-columns: repeat(auto-fit, minmax(251px, 1fr));
}

/* ===== Etapa 37 · Wiki completa de como jogar ===== */
.wiki-page {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding-bottom: 28px;
}
.wiki-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  gap: 24px;
  overflow: hidden;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--line));
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--primary) 24%, transparent), transparent 38%),
    linear-gradient(135deg, color-mix(in srgb, var(--primary) 8%, var(--panel)), var(--panel));
}
.wiki-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -110px;
  width: 300px;
  height: 300px;
  border: 48px solid color-mix(in srgb, var(--primary) 8%, transparent);
  border-radius: 50%;
  pointer-events: none;
}
.wiki-hero-copy { position: relative; z-index: 1; min-width: 0; }
.wiki-hero h1 {
  max-width: 16ch;
  margin: 10px 0 14px;
  font-size: clamp(2rem, 5vw, 4.8rem);
  line-height: .96;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.wiki-hero p { max-width: 72ch; color: var(--muted); line-height: 1.65; }
.wiki-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin-top: 22px; }
.wiki-hero-actions .btn { width: auto; white-space: nowrap; }
.wiki-search-box {
  flex: 1 1 360px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  color: var(--muted);
  background: color-mix(in srgb, var(--panel-2) 88%, transparent);
}
.wiki-search-box:focus-within { border-color: color-mix(in srgb, var(--primary) 70%, var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 13%, transparent); }
.wiki-search-box input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; }
.wiki-search-box input::placeholder { color: color-mix(in srgb, var(--muted) 82%, transparent); }
.wiki-search-box kbd { min-width: 24px; padding: 3px 6px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--panel); text-align: center; font-size: .72rem; }
.wiki-hero-stats { position: relative; z-index: 1; display: grid; gap: 10px; align-content: center; }
.wiki-hero-stats article { padding: 15px 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(0,0,0,.16); backdrop-filter: blur(12px); }
.wiki-hero-stats span, .wiki-hero-stats small { display: block; color: var(--muted); }
.wiki-hero-stats strong { display: block; margin: 4px 0 2px; font-size: clamp(1.7rem, 4vw, 2.45rem); font-variant-numeric: tabular-nums; }

.wiki-progress-panel {
  display: grid;
  grid-template-columns: auto minmax(150px, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
}
.wiki-progress-panel > div:first-child { display: flex; align-items: center; gap: 11px; }
.wiki-progress-panel > div:first-child > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--panel-2)); }
.wiki-progress-panel strong, .wiki-progress-panel small { display: block; }
.wiki-progress-panel small { margin-top: 2px; color: var(--muted); }
.wiki-progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: var(--panel-2); }
.wiki-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary-2), var(--primary)); transition: width .28s ease; }
.wiki-progress-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.wiki-progress-filters button,
.wiki-category-strip button {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--panel-2);
  cursor: pointer;
}
.wiki-progress-filters button.is-active,
.wiki-category-strip button.is-active { border-color: color-mix(in srgb, var(--primary) 55%, var(--line)); color: var(--text); background: color-mix(in srgb, var(--primary) 14%, var(--panel-2)); }

.wiki-paths { display: grid; gap: 12px; }
.wiki-section-heading > span { color: var(--primary); font-size: .7rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.wiki-section-heading h2 { margin-top: 4px; font-size: clamp(1.15rem, 2vw, 1.55rem); }
.wiki-path-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.wiki-path-grid button {
  position: relative;
  display: grid;
  gap: 6px;
  min-height: 145px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--text);
  background: var(--panel);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.wiki-path-grid button:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--primary) 45%, var(--line)); background: color-mix(in srgb, var(--primary) 5%, var(--panel)); }
.wiki-path-grid button > span { color: var(--primary); font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.wiki-path-grid button > strong { font-size: 1rem; }
.wiki-path-grid button > small { color: var(--muted); line-height: 1.45; }
.wiki-path-grid button > i { position: absolute; right: 15px; bottom: 15px; color: var(--primary); }

.wiki-category-strip {
  display: flex;
  gap: 7px;
  padding: 2px 0 5px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
}
.wiki-category-strip button { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; scroll-snap-align: start; }

.wiki-workspace {
  display: grid;
  grid-template-columns: minmax(265px, .72fr) minmax(0, 2.28fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
}
.wiki-index {
  position: sticky;
  top: 0;
  display: grid;
  gap: 12px;
  min-width: 0;
  max-height: calc(100dvh - 180px);
  padding: 15px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--panel);
}
.wiki-index > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.wiki-index > header > strong { padding: 5px 8px; border-radius: 9px; color: var(--primary); background: color-mix(in srgb, var(--primary) 11%, var(--panel-2)); font-size: .75rem; }
.wiki-index label { color: var(--muted); font-size: .78rem; font-weight: 600; }
.wiki-index select { width: 100%; margin-top: 6px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--panel-2); }
.wiki-topic-list { min-height: 220px; overflow-y: auto; padding-right: 3px; }
.wiki-result-group { display: grid; gap: 5px; padding-bottom: 13px; }
.wiki-result-group > header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 5px; color: var(--muted); }
.wiki-result-group > header > span { color: var(--primary); }
.wiki-result-group > header small { min-width: 24px; padding: 3px 6px; border-radius: 999px; background: var(--panel-2); text-align: center; }
.wiki-topic-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--text);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.wiki-topic-row:hover { background: var(--panel-2); }
.wiki-topic-row.is-active { border-color: color-mix(in srgb, var(--primary) 48%, var(--line)); background: color-mix(in srgb, var(--primary) 10%, var(--panel-2)); }
.wiki-topic-row > span:nth-child(2) { min-width: 0; }
.wiki-topic-row strong, .wiki-topic-row small { display: block; }
.wiki-topic-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; }
.wiki-topic-row small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.wiki-topic-state { color: var(--muted); }
.wiki-topic-row.is-active .wiki-topic-state,
.wiki-topic-row > i:last-child { color: var(--primary); }
.wiki-no-results { display: grid; justify-items: center; gap: 7px; padding: 28px 12px; color: var(--muted); text-align: center; }
.wiki-no-results > i { font-size: 1.8rem; }
.wiki-no-results strong { color: var(--text); }

.wiki-reader { min-width: 0; }
.wiki-article { display: grid; gap: 16px; min-width: 0; }
.wiki-article-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 7%, var(--panel)), var(--panel));
}
.wiki-article-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 17px; color: var(--primary); background: color-mix(in srgb, var(--primary) 13%, var(--panel-2)); font-size: 1.35rem; }
.wiki-article-hero h1 { margin: 6px 0 9px; font-size: clamp(1.65rem, 3.6vw, 3rem); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.wiki-article-hero p { max-width: 74ch; color: var(--muted); line-height: 1.6; }
.wiki-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.wiki-badges > span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .7rem; }
.wiki-badges > .badge { color: var(--text); }
.wiki-article-actions { display: flex; flex-direction: column; gap: 7px; }
.icon-text-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--panel-2); cursor: pointer; white-space: nowrap; }
.icon-text-button.is-active { border-color: color-mix(in srgb, var(--primary) 55%, var(--line)); color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, var(--panel-2)); }

.wiki-learning-callout,
.wiki-mode-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--primary) 7%, var(--panel));
}
.wiki-learning-callout > span,
.wiki-mode-note > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--panel-2)); }
.wiki-learning-callout p,
.wiki-mode-note p { margin-top: 4px; color: var(--muted); line-height: 1.55; }
.wiki-section { display: grid; gap: 12px; padding: clamp(17px, 2.4vw, 24px); border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.wiki-section > p { color: var(--muted); line-height: 1.55; }
.wiki-impact-list { display: grid; gap: 9px; }
.wiki-impact-card {
  display: grid;
  grid-template-columns: auto minmax(160px, 1fr) minmax(150px, .8fr) minmax(150px, .8fr);
  align-items: stretch;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-2);
}
.wiki-impact-number { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--panel)); font-weight: 600; }
.wiki-impact-main { align-self: center; padding: 4px 5px; }
.wiki-impact-main h3 { font-size: .95rem; }
.wiki-impact-main p { margin-top: 5px; color: var(--muted); line-height: 1.42; font-size: .82rem; }
.wiki-impact-outcome { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; padding: 10px; border-radius: 13px; background: color-mix(in srgb, var(--panel) 84%, transparent); }
.wiki-impact-outcome > span { padding-top: 1px; }
.wiki-impact-outcome strong, .wiki-impact-outcome p { display: block; }
.wiki-impact-outcome p { margin-top: 4px; color: var(--muted); line-height: 1.4; font-size: .78rem; }
.wiki-impact-outcome.is-benefit > span { color: var(--primary); }
.wiki-impact-outcome.is-risk > span { color: var(--warning); }
.wiki-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wiki-check-list,
.wiki-mistake-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.wiki-check-list li,
.wiki-mistake-list li { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: start; padding: 10px 11px; border-radius: 13px; background: var(--panel-2); color: var(--muted); line-height: 1.45; }
.wiki-check-list li > i { color: var(--primary); }
.wiki-mistake-list li > i { color: var(--danger); }
.wiki-practice-section { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.wiki-practice-section .btn { width: auto; }
.wiki-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.wiki-related-grid button { display: grid; gap: 5px; min-height: 112px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; color: var(--text); background: var(--panel-2); text-align: left; cursor: pointer; }
.wiki-related-grid button:hover { border-color: color-mix(in srgb, var(--primary) 40%, var(--line)); }
.wiki-related-grid span { color: var(--primary); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.wiki-related-grid small { color: var(--muted); line-height: 1.35; }
.wiki-source-note { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.wiki-source-note i { color: var(--primary); margin-top: 2px; }
.wiki-glossary-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.wiki-glossary-list article { padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel-2); }
.wiki-glossary-list p { margin-top: 5px; color: var(--muted); line-height: 1.45; }

.standalone-wiki-screen { display: grid; grid-template-rows: auto minmax(0,1fr); gap: 0; padding: 0; background: var(--bg); }
.standalone-wiki-topbar { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 70px; padding: calc(12px + var(--safe-top)) 18px 12px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--panel) 94%, transparent); }
.standalone-wiki-topbar > div { text-align: center; }
.standalone-wiki-topbar strong, .standalone-wiki-topbar span { display: block; }
.standalone-wiki-topbar > div span { margin-top: 2px; color: var(--muted); font-size: .74rem; }
.standalone-wiki-screen > .content { overflow-y: auto; padding: 18px; }

html[data-theme="light"] .wiki-hero-stats article { background: rgba(255,255,255,.55); }
html[data-theme="light"] .wiki-impact-card,
html[data-theme="light"] .wiki-topic-row:hover,
html[data-theme="light"] .wiki-check-list li,
html[data-theme="light"] .wiki-mistake-list li { box-shadow: inset 0 0 0 1px rgba(23,32,51,.025); }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .wiki-path-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .wiki-impact-card { grid-template-columns: auto minmax(0,1fr) minmax(150px,.8fr); }
  .wiki-impact-outcome.is-risk { grid-column: 2 / -1; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .wiki-hero { grid-template-columns: 1fr; }
  .wiki-hero-stats { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .wiki-progress-panel { grid-template-columns: 1fr; }
  .wiki-progress-filters { justify-content: flex-start; }
  .wiki-workspace { grid-template-columns: 1fr; }
  .wiki-index { position: static; max-height: none; }
  .wiki-topic-list { max-height: 390px; }
  .wiki-article-hero { grid-template-columns: auto minmax(0,1fr); }
  .wiki-article-actions { grid-column: 1 / -1; flex-direction: row; }
  .wiki-two-column { grid-template-columns: 1fr; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .wiki-page { gap: 14px; }
  .wiki-hero { padding: 20px 16px; border-radius: 20px; }
  .wiki-hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .wiki-hero-actions { display: grid; grid-template-columns: 1fr; }
  .wiki-search-box { min-width: 0; width: 100%; }
  .wiki-hero-actions .btn { width: 100%; }
  .wiki-hero-stats { grid-template-columns: 1fr; }
  .wiki-hero-stats article { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 2px 8px; }
  .wiki-hero-stats article strong { grid-row: 1 / 3; grid-column: 2; }
  .wiki-path-grid { grid-template-columns: 1fr; }
  .wiki-path-grid button { min-height: 122px; }
  .wiki-progress-panel { padding: 13px; }
  .wiki-progress-filters { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .wiki-progress-filters button { width: 100%; }
  .wiki-index { padding: 13px; border-radius: 18px; }
  .wiki-topic-list { max-height: 58dvh; }
  .wiki-article-hero { grid-template-columns: 1fr; padding: 17px; }
  .wiki-article-icon { width: 48px; height: 48px; }
  .wiki-article-actions { grid-column: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .icon-text-button span { display: none; }
  .wiki-impact-card { grid-template-columns: auto minmax(0,1fr); }
  .wiki-impact-main { padding-right: 0; }
  .wiki-impact-outcome { grid-column: 1 / -1; }
  .wiki-impact-outcome.is-risk { grid-column: 1 / -1; }
  .wiki-practice-section { grid-template-columns: 1fr; }
  .wiki-practice-section .btn { width: 100%; }
  .wiki-glossary-list { grid-template-columns: 1fr; }
  .standalone-wiki-topbar { grid-template-columns: auto minmax(0,1fr); }
  .standalone-wiki-topbar > .badge { display: none; }
  .standalone-wiki-topbar .btn { font-size: 0; }
  .standalone-wiki-topbar .btn i { font-size: .9rem; }
  .standalone-wiki-screen > .content { padding: 12px; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .navbar .nav-btn[data-view="wiki"] { display: none; }

.standalone-wiki-topbar,
.standalone-wiki-screen > .content { grid-column: 1 / -1 !important; }
.wiki-settings-panel { border-color: color-mix(in srgb, var(--primary) 26%, var(--line)); }
.wiki-settings-panel .btn { width: auto; }

/* mobile-only: regra ampla incorporada ao estilo-base */
 .wiki-settings-panel .btn { width: 100%; } 

/* ===== Etapa 38 · Mercado moderno e cabeçalhos sistêmicos ===== */
.main-view-hero {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
  padding:clamp(17px,2.8vw,25px);
  border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));
  border-radius:22px;
  background:
    radial-gradient(circle at 96% 8%,color-mix(in srgb,var(--primary) 17%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel) 95%,var(--primary) 5%),var(--panel));
  box-shadow:0 16px 38px rgba(0,0,0,.09);
  overflow:hidden;
}
.main-view-icon {
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:18px;
  color:var(--primary);
  background:color-mix(in srgb,var(--primary) 13%,var(--panel-2));
  border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  font-size:1.35rem;
}
.main-view-hero h2 { margin:4px 0 7px; font-size:clamp(1.35rem,2.8vw,2.05rem); line-height:1; letter-spacing:-.035em; }
.main-view-hero p { max-width:72ch; color:var(--muted); font-size:.8rem; line-height:1.5; }
.main-view-stats { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.main-view-stats > span { display:grid; gap:3px; min-width:88px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--panel-2) 88%,transparent); }
.main-view-stats small { color:var(--muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.06em; }
.main-view-stats strong { font-size:.82rem; }
.main-view-stats .is-alert strong { color:var(--warning); }
.club-heading {
  padding:16px 18px;
  border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));
  border-radius:20px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 95%,var(--primary) 5%),var(--panel));
  box-shadow:0 12px 30px rgba(0,0,0,.075);
}
.club-heading .view-title { font-size:clamp(1.3rem,2.5vw,1.9rem); }

.market-tab-content { display:grid; gap:12px; min-width:0; }
.market-command-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:12px;
  padding:clamp(18px,3vw,28px);
  border:1px solid color-mix(in srgb,var(--team-primary) 48%,var(--line));
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 82% -10%,rgba(255,255,255,.18),transparent 35%),
    linear-gradient(120deg,color-mix(in srgb,var(--team-primary) 82%,#0a1220),color-mix(in srgb,var(--team-secondary) 68%,#0b1220));
  box-shadow:0 20px 48px color-mix(in srgb,var(--team-primary) 20%,rgba(0,0,0,.2));
  overflow:hidden;
  isolation:isolate;
}
.market-command-hero::after {
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  right:-75px;
  bottom:-145px;
  border-radius:50%;
  border:28px solid rgba(255,255,255,.07);
  z-index:-1;
}
.market-command-main { display:flex; align-items:center; gap:14px; min-width:0; }
.market-command-icon { display:grid; place-items:center; width:62px; height:62px; flex:0 0 auto; border:1px solid rgba(255,255,255,.2); border-radius:19px; background:rgba(0,0,0,.18); font-size:1.35rem; }
.market-command-main h2 { margin:5px 0 7px; font-size:clamp(1.7rem,4vw,2.65rem); line-height:.95; letter-spacing:-.045em; }
.market-command-main p { color:rgba(255,255,255,.8); font-size:.78rem; line-height:1.45; }
.market-command-hero .kicker { color:rgba(255,255,255,.75); }
.market-budget-card { display:grid; gap:4px; min-width:210px; padding:13px 15px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:rgba(5,10,18,.22); backdrop-filter:blur(10px); }
.market-budget-card > span { color:rgba(255,255,255,.75); font-size:.65rem; }
.market-budget-card > span i { margin-right:6px; }
.market-budget-card strong { font-size:1.25rem; letter-spacing:-.025em; }
.market-budget-card small { color:rgba(255,255,255,.66); font-size:.6rem; }
.market-kpi-grid,
.contract-dashboard,
.market-offer-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:12px; }
.market-kpi-grid > button,
.contract-dashboard > article,
.market-offer-summary > article {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:88px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:17px;
  color:var(--text);
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,var(--primary) 4%),var(--panel));
  text-align:left;
  box-shadow:0 8px 22px rgba(0,0,0,.055);
}
.market-kpi-grid > button { cursor:pointer; }
.market-kpi-grid > button:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 42%,var(--line)); box-shadow:0 13px 30px rgba(0,0,0,.095); }
.market-kpi-grid > button > span,
.contract-dashboard > article > span,
.market-offer-summary > article > span { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel-2)); }
.market-kpi-grid div,
.contract-dashboard div,
.market-offer-summary div { min-width:0; }
.market-kpi-grid small,
.contract-dashboard small,
.market-offer-summary small { display:block; color:var(--muted); font-size:.57rem; text-transform:uppercase; letter-spacing:.055em; }
.market-kpi-grid strong,
.contract-dashboard strong,
.market-offer-summary strong { display:block; margin-top:2px; font-size:1.08rem; }
.market-kpi-grid em,
.contract-dashboard em,
.market-offer-summary em { display:block; margin-top:2px; color:var(--muted); font-size:.58rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.contract-dashboard > .is-danger { border-color:color-mix(in srgb,var(--danger) 45%,var(--line)); }
.contract-dashboard > .is-danger > span,
.contract-dashboard > .is-danger strong { color:var(--danger); }

.market-filter-shell { padding:15px; }
.market-filter-heading,
.market-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.market-filter-heading h3,
.market-section-heading h3 { margin-top:3px; font-size:1rem; }
.market-filter-reset { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:7px 10px; border:1px solid var(--line); border-radius:11px; color:var(--muted); background:var(--panel-2); cursor:pointer; }
.market-filter-reset:hover { color:var(--text); border-color:color-mix(in srgb,var(--primary) 38%,var(--line)); }
.market-filter-grid { display:grid; grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(130px,.7fr)) auto; align-items:end; gap:9px; }
.market-filter-grid label { display:grid; gap:6px; min-width:0; }
.market-filter-grid label > span { color:var(--muted); font-size:.63rem; font-weight:600; }
.market-filter-grid label > span i { margin-right:5px; color:var(--primary); }
.market-filter-grid input,
.market-filter-grid select { min-width:0; }
.market-filter-submit { min-height:44px; white-space:nowrap; }
.market-result-summary { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:.66rem; }
.market-result-summary strong { color:var(--text); }
.market-result-summary small { font-size:.6rem; }
.market-window-notice { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:11px; padding:12px 14px; border:1px solid var(--line); border-radius:15px; background:var(--panel); }
.market-window-notice > i { display:grid; place-items:center; width:35px; height:35px; border-radius:11px; }
.market-window-notice strong { display:block; font-size:.78rem; }
.market-window-notice p { margin-top:3px; color:var(--muted); font-size:.66rem; line-height:1.45; }
.market-window-notice.is-open { border-color:color-mix(in srgb,var(--success) 38%,var(--line)); }
.market-window-notice.is-open > i { color:var(--success); background:color-mix(in srgb,var(--success) 12%,var(--panel-2)); }
.market-window-notice.is-closed,
.market-window-notice.is-warning { border-color:color-mix(in srgb,var(--warning) 35%,var(--line)); }
.market-window-notice.is-closed > i,
.market-window-notice.is-warning > i { color:var(--warning); background:color-mix(in srgb,var(--warning) 12%,var(--panel-2)); }

.market-player-grid,
.market-contract-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:11px; align-items:start; }
.market-player-card-v2,
.contract-card-v2 { position:relative; padding:0; overflow:hidden; border-radius:19px; box-shadow:0 10px 28px rgba(0,0,0,.075); }
.market-player-card-v2:hover,
.contract-card-v2:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--primary) 32%,var(--line)); box-shadow:0 15px 34px rgba(0,0,0,.11); }
.market-player-card-v2.is-listed::before,
.contract-card-v2.is-expiring::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--success); }
.contract-card-v2.is-expiring::before { background:var(--danger); }
.market-player-open {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  width:100%;
  padding:13px;
  border:0;
  color:var(--text);
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,var(--primary) 4%),var(--panel));
  text-align:left;
  cursor:pointer;
}
.market-player-open:hover { background:color-mix(in srgb,var(--primary) 7%,var(--panel)); }
.market-player-open.is-static { cursor:default; }
.market-club-crest,
.market-free-avatar { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; border:1px solid var(--line); background:var(--panel-2); }
.market-club-crest .crest { width:34px; height:34px; }
.market-free-avatar { color:var(--primary); font-size:1.05rem; }
.market-player-copy { display:block; min-width:0; }
.market-player-copy small,
.market-player-copy strong,
.market-player-copy em { display:block; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.market-player-copy small { color:var(--primary); font-size:.57rem; font-weight:600; text-transform:uppercase; letter-spacing:.055em; }
.market-player-copy strong { margin-top:3px; font-size:.88rem; }
.market-player-copy em { margin-top:3px; color:var(--muted); font-size:.62rem; font-style:normal; }
.market-overall { display:grid; place-items:center; min-width:48px; min-height:48px; padding:5px; border-radius:14px; color:var(--text); background:color-mix(in srgb,var(--primary) 12%,var(--panel-2)); border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line)); }
.market-overall strong { font-size:1.05rem; line-height:1; }
.market-overall small { margin-top:2px; color:var(--muted); font-size:.48rem; }
.market-fit-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 9px; align-items:center; padding:10px 13px 0; }
.market-fit-line span { color:var(--muted); font-size:.58rem; }
.market-fit-line strong { font-size:.66rem; }
.market-fit-line i { grid-column:1 / -1; display:block; height:5px; border-radius:999px; background:var(--panel-2); overflow:hidden; }
.market-fit-line i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 65%,#f5c451),var(--primary)); }
.market-metrics-v2 { margin:10px 13px 0; }
.market-metrics-v2 > span { grid-template-columns:auto minmax(0,1fr); align-items:center; gap:2px 6px; padding:8px; }
.market-metrics-v2 > span > i { grid-row:1 / 3; color:var(--primary); font-size:.68rem; }
.market-metrics-v2 small,
.market-metrics-v2 strong { grid-column:2; }
.market-metrics-v2 strong { font-size:.64rem; }
.market-player-card-v2 .market-badges,
.contract-card-v2 .player-badges { padding:0 13px; }
.market-player-card-v2 .market-actions,
.contract-card-v2 .market-actions { margin:10px 0 0; padding:10px 13px 13px; border-top:1px solid var(--line); background:color-mix(in srgb,var(--panel-2) 58%,transparent); }
.market-player-card-v2 .market-actions .btn span { white-space:nowrap; }
.market-empty-state { grid-column:1 / -1; min-height:230px; border:1px dashed var(--line); border-radius:18px; background:var(--panel); }
.market-empty-state > i { font-size:1.45rem; color:var(--primary); }
.market-empty-state strong { margin-top:7px; }
.market-empty-state p { max-width:42ch; margin:5px auto 0; color:var(--muted); line-height:1.45; }

.market-offer-summary { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:0; }
.market-offers-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.market-section-card { padding:15px; min-width:0; }
.market-history-section { grid-column:1 / -1; }
.market-offer-list { display:grid; gap:9px; }
.modern-offer-card {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  margin:0;
  padding:11px;
  border-radius:15px;
  box-shadow:none;
}
.modern-offer-card.needs-action { border-color:color-mix(in srgb,var(--primary) 35%,var(--line)); background:color-mix(in srgb,var(--primary) 4%,var(--panel)); }
.offer-club-mark { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:13px; background:var(--panel-2); }
.offer-club-mark .crest { width:30px; height:30px; }
.offer-main { min-width:0; }
.offer-main small,
.offer-main strong,
.offer-main span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.offer-main small { color:var(--primary); font-size:.54rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.offer-main strong { margin-top:2px; font-size:.78rem; }
.offer-main span { margin-top:3px; color:var(--muted); font-size:.6rem; }
.modern-offer-card .offer-value { display:grid; gap:2px; text-align:right; }
.modern-offer-card .offer-value small { color:var(--muted); font-size:.53rem; }
.modern-offer-card .offer-value strong { font-size:.76rem; }
.modern-offer-card .offer-value em { color:var(--muted); font-size:.52rem; font-style:normal; }
.modern-offer-card .offer-actions { grid-column:2 / -1; margin:0; justify-content:flex-end; }
.modern-offer-card .offer-actions .btn { flex:0 1 auto; }
.modern-deal-row { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); border-radius:13px; background:var(--panel-2); }
.modern-deal-row .deal-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,var(--panel)); }
.modern-deal-row > div { min-width:0; }
.modern-deal-row > div strong,
.modern-deal-row > div span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.modern-deal-row > div span { margin-top:3px; color:var(--muted); font-size:.6rem; }
.modern-deal-row > small { grid-column:auto; grid-row:auto; color:var(--primary); font-weight:600; white-space:nowrap; }

.free-agent-hero,
.free-agent-modal-hero,
.contract-renew-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; padding:16px; border:1px solid color-mix(in srgb,var(--primary) 26%,var(--line)); border-radius:19px; background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--panel)),var(--panel)); }
.free-agent-hero > span,
.free-agent-modal-hero > span,
.contract-renew-hero > span { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; color:var(--primary); background:color-mix(in srgb,var(--primary) 13%,var(--panel-2)); }
.free-agent-hero h3,
.free-agent-modal-hero h3,
.contract-renew-hero h3 { margin:3px 0 4px; font-size:1.08rem; }
.free-agent-hero p,
.free-agent-modal-hero p,
.contract-renew-hero p { color:var(--muted); font-size:.66rem; line-height:1.42; }
.free-agent-hero > strong,
.free-agent-modal-hero > strong,
.contract-renew-hero > strong { display:grid; gap:2px; text-align:right; font-size:.9rem; }
.free-agent-hero > strong small,
.free-agent-modal-hero > strong small,
.contract-renew-hero > strong small { color:var(--muted); font-size:.52rem; font-weight:500; }
.contract-player-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:13px; }
.contract-player-head > div { min-width:0; }
.contract-player-head small,
.contract-player-head strong,
.contract-player-head em { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.contract-player-head small { color:var(--primary); font-size:.55rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.contract-player-head strong { margin-top:3px; font-size:.84rem; }
.contract-player-head em { margin-top:3px; color:var(--muted); font-size:.6rem; font-style:normal; }
.contract-value-strip { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 13px; padding:9px 10px; border-radius:11px; background:var(--panel-2); color:var(--muted); font-size:.61rem; }
.contract-value-strip i { color:var(--primary); margin-right:4px; }
.contract-value-strip strong { color:var(--text); font-size:.66rem; white-space:nowrap; }
.market-modal-form { display:grid; gap:12px; margin-top:14px; }
.market-modal-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; padding:11px; border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line)); border-radius:13px; color:var(--muted); background:color-mix(in srgb,var(--primary) 7%,var(--panel-2)); font-size:.68rem; line-height:1.45; }
.market-modal-note i { color:var(--primary); margin-top:2px; }
.range-field { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; min-height:44px; padding:0 10px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.range-field input[type="range"] { min-height:0; padding:0; border:0; background:transparent; box-shadow:none; }
.range-field strong { min-width:42px; text-align:right; }

/* Refinamento geral das abas antigas sem alterar a estrutura. */
:is(#squadTabContent,#tacticsTabContent,#competitionContent,#clubTabContent) > .panel,
:is(#squadTabContent,#tacticsTabContent,#competitionContent,#clubTabContent) > section.panel { border-radius:18px; }
:is(#squadTabContent,#tacticsTabContent,#competitionContent,#clubTabContent) .section-heading,
:is(#squadTabContent,#tacticsTabContent,#competitionContent,#clubTabContent) .panel-heading-row { padding-bottom:8px; border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent); }
.content .empty { border-radius:15px; }
.content .empty > i { color:var(--primary); }
.motion-enabled .market-player-card-v2,
.motion-enabled .modern-offer-card,
.motion-enabled .contract-card-v2 { animation:goooool-view-enter .25s cubic-bezier(.2,.72,.2,1) both; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .market-filter-grid { grid-template-columns:minmax(200px,1.2fr) repeat(2,minmax(125px,.7fr)); }
  .market-filter-grid .market-filter-submit { grid-column:auto; }
  .market-filter-grid label:nth-of-type(4) { grid-column:auto; }
  .market-kpi-grid,
  .contract-dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .main-view-hero { grid-template-columns:auto minmax(0,1fr); }
  .main-view-stats { grid-column:1 / -1; justify-content:flex-start; }
  .market-command-hero { grid-template-columns:1fr; }
  .market-budget-card { min-width:0; }
  .market-offers-layout { grid-template-columns:1fr; }
  .market-history-section { grid-column:auto; }
  .modern-offer-card { grid-template-columns:auto minmax(0,1fr) auto; }
  .modern-offer-card > .badge { grid-column:2; justify-self:start; }
  .modern-offer-card .offer-value { grid-column:3; grid-row:1 / 3; }
  .modern-offer-card .offer-actions { grid-column:1 / -1; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .main-view-hero { padding:15px; gap:11px; border-radius:18px; }
  .main-view-icon { width:48px; height:48px; border-radius:15px; font-size:1.08rem; }
  .main-view-hero p { font-size:.7rem; }
  .main-view-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .main-view-stats > span { min-width:0; }
  .market-command-hero { padding:17px; border-radius:20px; }
  .market-command-icon { width:52px; height:52px; border-radius:16px; }
  .market-kpi-grid,
  .contract-dashboard,
  .market-offer-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-offer-summary > article:last-child { grid-column:1 / -1; }
  .market-filter-heading { align-items:flex-start; }
  .market-filter-reset { font-size:0; width:36px; justify-content:center; }
  .market-filter-reset i { font-size:.72rem; }
  .market-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .market-filter-grid .market-search-field,
  .market-filter-grid .market-filter-submit { grid-column:1 / -1; }
  .market-result-summary { align-items:flex-start; flex-direction:column; gap:3px; }
  .market-player-grid,
  .market-contract-grid { grid-template-columns:1fr; }
  .free-agent-hero,
  .free-agent-modal-hero,
  .contract-renew-hero { grid-template-columns:auto minmax(0,1fr); }
  .free-agent-hero > strong,
  .free-agent-modal-hero > strong,
  .contract-renew-hero > strong { grid-column:1 / -1; padding:8px 10px; border-radius:11px; background:var(--panel-2); text-align:left; }

@media (max-width:410px){
  .market-command-main { align-items:flex-start; }
  .market-command-main p { font-size:.68rem; }
  .market-kpi-grid > button,
  .contract-dashboard > article,
  .market-offer-summary > article { grid-template-columns:1fr; min-height:105px; align-content:start; }
  .market-kpi-grid > button > span,
  .contract-dashboard > article > span,
  .market-offer-summary > article > span { width:34px; height:34px; }
  .market-player-open { grid-template-columns:auto minmax(0,1fr); }
  .market-player-open .market-overall { grid-column:1 / -1; width:100%; min-height:38px; grid-template-columns:auto auto; gap:5px; justify-content:center; }
  .market-metrics-v2 { grid-template-columns:1fr; }
  .market-player-card-v2 .market-actions { display:grid; grid-template-columns:1fr; }
  .modern-offer-card { grid-template-columns:auto minmax(0,1fr); }
  .modern-offer-card .offer-value { grid-column:1 / -1; grid-row:auto; padding:8px; border-radius:10px; background:var(--panel-2); text-align:left; }
  .modern-offer-card > .badge { grid-column:2; }
  .contract-player-head { grid-template-columns:auto minmax(0,1fr); }
  .contract-player-head .market-overall { grid-column:1 / -1; width:100%; min-height:38px; grid-template-columns:auto auto; gap:5px; justify-content:center; }
  .contract-value-strip { align-items:flex-start; flex-direction:column; }
}

/* ===== Etapa 39 · Central de Futebol offline-first ===== */
.football-center-hero{
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--club-primary,#31d17c) 28%,transparent),transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,var(--club-primary,#31d17c) 8%),var(--panel));
}
.fc-workspace{display:grid;gap:16px;min-width:0;animation:panelEnter .28s ease both}
.fc-tabs{position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--background) 92%,transparent);backdrop-filter:blur(14px);padding-block:8px}
.fc-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fc-command-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,white 4%),var(--panel));min-width:0}
.fc-command-card>div{min-width:0}.fc-command-card h3{margin:3px 0 5px;font-size:1rem}.fc-command-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.fc-command-card small{color:var(--club-primary,#31d17c);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.fc-command-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:color-mix(in srgb,var(--club-primary,#31d17c) 14%,var(--panel));color:var(--club-primary,#31d17c);font-size:1.1rem}
.fc-insight-panel{display:grid;gap:14px}.fc-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fc-insight{display:flex;gap:10px;padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--surface);min-width:0}.fc-insight>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:color-mix(in srgb,currentColor 12%,transparent)}.fc-insight strong{display:block;font-size:.86rem}.fc-insight p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.fc-insight.is-success{color:var(--success,#31d17c)}.fc-insight.is-warning{color:var(--warning,#f4bf4f)}.fc-insight.is-danger{color:var(--danger,#ff6b6b)}.fc-insight.is-info{color:var(--accent,#65a6ff)}.fc-insight div{color:var(--text)}
.fc-scout-hero,.fc-style-hero,.fc-community-hero,.fc-deadline-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--club-primary,#31d17c) 16%,var(--panel)),var(--panel));overflow:hidden}.fc-scout-hero h3,.fc-style-hero h3,.fc-community-hero h3,.fc-deadline-hero h3{margin:4px 0 7px}.fc-scout-hero p,.fc-style-hero p,.fc-community-hero p,.fc-deadline-hero p{margin:0;color:var(--muted);max-width:72ch;line-height:1.55}
.fc-scout-layout,.fc-deadline-layout,.fc-data-layout,.fc-community-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}
.fc-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fc-form label{display:grid;gap:6px;color:var(--muted);font-size:.8rem}.fc-form input,.fc-form select{width:100%;min-width:0}.fc-form .btn{align-self:end}
.fc-assignment-list,.fc-report-list,.fc-deadline-feed,.fc-pack-list{display:grid;gap:10px;margin-top:14px}.fc-assignment-list article{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.fc-assignment-list article>span{color:var(--club-primary,#31d17c)}.fc-assignment-list article>div{display:grid;gap:4px;flex:1}.fc-assignment-list small{color:var(--muted)}.fc-assignment-list progress,.fc-style-grid progress{width:100%;height:8px;accent-color:var(--club-primary,#31d17c)}
.fc-report-list>article{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.fc-report-list header{display:flex;justify-content:space-between;gap:12px;padding:12px;background:color-mix(in srgb,var(--panel) 92%,var(--club-primary,#31d17c) 8%)}.fc-report-list header div{display:grid}.fc-report-list header small{color:var(--muted)}.fc-report-list header>span{font-size:.75rem;color:var(--muted)}.fc-report-player{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid var(--border)}.fc-report-player div{display:grid;min-width:0}.fc-report-player small{color:var(--muted);font-size:.76rem}.fc-report-player>b{display:grid;text-align:right;font-size:.96rem}.fc-report-player>b small{font-weight:500;font-size:.65rem;text-transform:uppercase}
.fc-staff-intro{padding:18px}.fc-staff-intro p{margin:.4rem 0 0;color:var(--muted);line-height:1.55}.fc-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fc-staff-card{border:1px solid var(--border);border-radius:21px;background:var(--panel);padding:16px;display:grid;gap:14px}.fc-staff-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.fc-staff-card header>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--club-primary,#31d17c);background:color-mix(in srgb,var(--club-primary,#31d17c) 13%,var(--surface))}.fc-staff-card header div{min-width:0}.fc-staff-card header small{color:var(--muted)}.fc-staff-card h3{margin:2px 0;font-size:1rem}.fc-staff-card p{margin:0;color:var(--muted);font-size:.78rem}.fc-staff-card header>b{display:grid;text-align:center;font-size:1.45rem;color:var(--club-primary,#31d17c)}.fc-staff-card header>b small{font-size:.58rem;letter-spacing:.08em}.fc-staff-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fc-staff-metrics span{display:grid;gap:3px;padding:9px;border-radius:12px;background:var(--surface);min-width:0}.fc-staff-metrics small{font-size:.66rem;color:var(--muted)}.fc-staff-metrics strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis}.fc-staff-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.fc-deadline-hero{position:relative;background:linear-gradient(120deg,color-mix(in srgb,var(--panel) 86%,#b45309 14%),var(--panel))}.fc-deadline-hero.is-live:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,#f59e0b 10%,transparent),transparent);animation:deadlineSweep 3.2s linear infinite;pointer-events:none}.fc-deadline-clock{display:grid;place-items:center;min-width:138px;padding:14px;border:1px solid color-mix(in srgb,var(--warning,#f4bf4f) 35%,var(--border));border-radius:18px;background:color-mix(in srgb,var(--panel) 84%,transparent);text-align:center}.fc-deadline-clock strong{font-size:2rem;color:var(--warning,#f4bf4f)}.fc-deadline-clock small{font-size:.7rem;color:var(--muted);max-width:12ch}.fc-deadline-feed article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.fc-deadline-feed article>span{color:var(--warning,#f4bf4f)}.fc-deadline-feed article div{display:grid;gap:3px}.fc-deadline-feed small{color:var(--muted)}.fc-deadline-guide ul,.fc-community-rules ul{margin:12px 0 18px;padding-left:1.25rem;color:var(--muted);line-height:1.7}
.fc-style-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fc-style-grid article{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.fc-style-grid article>div{display:flex;justify-content:space-between;gap:8px}.fc-style-grid span{color:var(--muted);font-size:.78rem}.fc-style-grid strong{color:var(--club-primary,#31d17c)}.fc-compare-form{grid-template-columns:1fr 1fr auto}.fc-comparison-result{margin-top:14px}.fc-comparison-head{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;text-align:center;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.fc-comparison-head>div{display:grid;place-items:center;gap:4px}.fc-comparison-head small{color:var(--muted)}.fc-comparison-head>span{color:var(--club-primary,#31d17c)}.fc-comparison-rows{display:grid;margin-top:8px}.fc-comparison-rows article{display:grid;grid-template-columns:1fr 1.2fr 1fr;text-align:center;gap:8px;padding:9px;border-bottom:1px solid var(--border)}.fc-comparison-rows span{color:var(--muted)}.fc-comparison-rows .is-best{color:var(--success,#31d17c)}.fc-insight-list{display:grid;gap:9px}.fc-insight-list article{display:flex;gap:10px;padding:11px;border-radius:13px;background:var(--surface);border:1px solid var(--border)}.fc-insight-list article>span{color:var(--club-primary,#31d17c)}.fc-insight-list p{margin:3px 0 0;color:var(--muted);font-size:.8rem}
.fc-community-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 84%,#2563eb 16%),var(--panel))}.fc-offline-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;color:var(--accent,#65a6ff);background:color-mix(in srgb,var(--accent,#65a6ff) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--accent,#65a6ff) 30%,var(--border));white-space:nowrap}.fc-pack-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.fc-pack-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--club-primary,#31d17c) 12%,var(--panel));color:var(--club-primary,#31d17c)}.fc-pack-card>div{min-width:0}.fc-pack-card small,.fc-pack-card p{color:var(--muted)}.fc-pack-card p{margin:3px 0 0;font-size:.78rem}.fc-pack-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fc-file-button{position:relative;overflow:hidden}
.market-overall.is-estimated strong{font-size:.9rem;letter-spacing:-.03em}.market-overall.is-estimated small{font-size:.53rem;max-width:72px}.scouting-uncertainty-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid color-mix(in srgb,var(--accent,#65a6ff) 30%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--accent,#65a6ff) 8%,var(--panel));margin-bottom:12px}.scouting-uncertainty-note>i{color:var(--accent,#65a6ff);font-size:1.1rem}.scouting-uncertainty-note p{margin:3px 0 0;color:var(--muted);font-size:.8rem}
.matchday-cinematic{position:relative;display:grid;gap:18px;padding:24px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--home-primary) 24%,#0a0f17),#07100c 58%,color-mix(in srgb,var(--away-primary) 20%,#07100c));color:#fff;min-height:460px}.matchday-cinematic>*{position:relative;z-index:2}.matchday-lights{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 10% 5%,rgba(255,255,255,.28),transparent 18%),radial-gradient(circle at 90% 5%,rgba(255,255,255,.22),transparent 18%);animation:matchdayPulse 3s ease-in-out infinite}.matchday-stage{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:220px}.matchday-team{display:grid;place-items:center;gap:8px;text-align:center}.matchday-team .crest{width:94px;height:94px;filter:drop-shadow(0 14px 20px rgba(0,0,0,.35))}.matchday-team strong{font-size:1.1rem}.matchday-team small{opacity:.72;letter-spacing:.12em}.matchday-versus{display:grid;place-items:center;gap:5px}.matchday-versus span{font-size:.67rem;font-weight:600;letter-spacing:.15em;color:#c9f8dc}.matchday-versus strong{font-size:2.3rem;text-shadow:0 6px 22px rgba(0,0,0,.45)}.matchday-versus small{opacity:.68}.matchday-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.matchday-info-grid span{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon small" "icon strong";column-gap:10px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(4,12,8,.5);backdrop-filter:blur(8px)}.matchday-info-grid i{grid-area:icon;align-self:center}.matchday-info-grid small{grid-area:small;opacity:.7}.matchday-info-grid strong{grid-area:strong;font-size:.8rem}.matchday-actions{display:flex;justify-content:center;gap:10px;margin-top:auto}.matchday-actions .btn{min-width:170px}
@keyframes deadlineSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes matchdayPulse{0%,100%{opacity:.6}50%{opacity:1}}

/* mobile-only: regra ampla incorporada ao estilo-base */
.fc-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-scout-layout,.fc-deadline-layout,.fc-data-layout,.fc-community-layout{grid-template-columns:1fr}

/* mobile-only: regra ampla incorporada ao estilo-base */
.fc-overview-grid,.fc-staff-grid{grid-template-columns:1fr}.fc-command-card{grid-template-columns:auto 1fr}.fc-command-card>.btn{grid-column:1/-1;width:100%}.fc-form,.fc-compare-form{grid-template-columns:1fr}.fc-staff-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-scout-hero,.fc-style-hero,.fc-community-hero,.fc-deadline-hero{align-items:flex-start;flex-direction:column}.fc-deadline-clock{width:100%}.fc-pack-card{grid-template-columns:auto 1fr}.fc-pack-actions,.fc-pack-card>.btn{grid-column:1/-1;width:100%}.fc-pack-actions .btn{flex:1}.matchday-stage{grid-template-columns:1fr auto 1fr;gap:8px}.matchday-team .crest{width:68px;height:68px}.matchday-team strong{font-size:.8rem}.matchday-info-grid{grid-template-columns:1fr}.scouting-uncertainty-note{grid-template-columns:auto 1fr}.scouting-uncertainty-note .btn{grid-column:1/-1;width:100%}
@media (max-width:480px){.fc-insight-grid,.fc-style-grid{grid-template-columns:1fr}.fc-report-player{grid-template-columns:auto minmax(0,1fr)}.fc-report-player>b{grid-column:2;text-align:left}.fc-deadline-feed article{grid-template-columns:auto 1fr}.fc-deadline-feed .btn{grid-column:1/-1;width:100%}.matchday-cinematic{padding:17px;min-height:420px}.matchday-stage{grid-template-columns:1fr}.matchday-versus{order:-1}.matchday-team{grid-template-columns:auto 1fr;justify-items:start;text-align:left}.matchday-team.is-away{grid-template-columns:auto 1fr}.matchday-team .crest{width:56px;height:56px}.matchday-actions{flex-direction:column}.matchday-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.fc-deadline-hero.is-live:before,.matchday-lights{animation:none}}
.adaptive-opponent-warning{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-color:color-mix(in srgb,var(--warning,#f4bf4f) 32%,var(--border));background:color-mix(in srgb,var(--warning,#f4bf4f) 7%,var(--panel))}.adaptive-opponent-warning>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--warning,#f4bf4f) 13%,var(--surface));color:var(--warning,#f4bf4f)}.adaptive-opponent-warning p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
/* mobile-only: regra ampla incorporada ao estilo-base */
.adaptive-opponent-warning{grid-template-columns:auto 1fr}.adaptive-opponent-warning .btn{grid-column:1/-1;width:100%}


/* ===== Etapa 40–42 · navegação personalizável, camadas estáveis e interface compacta ===== */
:root {
  --z-content-sticky: 30;
  --z-toast: 880;
  --z-navigation: 900;
  --z-system-overlay: 1200;
}

/* Cabeçalho e barra principal nunca são cobertos por elementos da página durante a rolagem. */
.topbar { position: relative; z-index: var(--z-navigation); isolation: isolate; }
.navbar { z-index: var(--z-navigation); isolation: isolate; overflow: visible; }
.content { position: relative; z-index: 0; isolation: isolate; }
.content :is(.fc-tabs,.live-management-bar,.live-info-tabs,.lineup-save-bar,.finish-action-row,.sticky-modal-actions,.statistics-toolbar,thead th) { z-index: var(--z-content-sticky) !important; }
.finance-flyout,
.finance-flyout-modern { z-index: calc(var(--z-navigation) - 10) !important; }
.toast-stack { z-index: var(--z-toast); }
.app-modal-overlay,
.share-preview-overlay,
.penalty-picker-overlay { z-index: var(--z-system-overlay) !important; }

/* A barra móvel tem sempre uma única linha: dois atalhos, Jogar, dois atalhos. */
.navbar { display: block; }
.navbar-mobile {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 2px;
}

.navbar-mobile .nav-btn {
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  padding: 5px 2px;
  overflow: hidden;
  white-space: nowrap;
}
.navbar-mobile .nav-btn > span:last-child {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .56rem;
}
.navbar-mobile .nav-play {
  width: 62px;
  min-width: 62px;
  min-height: 62px;
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 50%;
  transform: translateY(-13px);
  padding: 6px;
}
.navbar-mobile .nav-play .icon { font-size: 1.36rem; }
.navbar-mobile .nav-play > span:last-child { font-size: .58rem; }

@media (max-width: 360px){
  .navbar-mobile .nav-play { width: 56px; min-width: 56px; min-height: 56px; transform: translateY(-10px); }
  .navbar-mobile .nav-btn > span:last-child { font-size: .5rem; }
}



/* Todos os submenus funcionais permanecem em uma linha e rolam horizontalmente. */
.subtabs,
.live-info-tabs,
.observer-live-tabs,
.editor-side-menu,
.fc-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 7px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  padding: 5px 2px 8px;
}
.subtabs > *,
.live-info-tabs > *,
.observer-live-tabs > *,
.editor-side-menu > *,
.fc-tabs > * {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content;
  white-space: nowrap;
  scroll-snap-align: center;
}
.editor-workspace-layout { grid-template-columns: minmax(0,1fr) !important; }
.editor-side-menu { position: sticky; top: 0; z-index: var(--z-content-sticky); background: color-mix(in srgb,var(--panel) 94%,transparent); backdrop-filter: blur(14px); }
.editor-side-menu button { grid-template-columns: auto auto !important; min-height: 42px; padding: 8px 11px; }

/* Toast compacto: informa sem cobrir cards ou controles. */
.toast-stack {
  right: max(8px, env(safe-area-inset-right));
  bottom: calc(76px + env(safe-area-inset-bottom));
  width: min(310px, calc(100vw - 16px));
  gap: 6px;
}
.toast {
  grid-template-columns: 28px minmax(0,1fr) auto 24px;
  gap: 7px;
  min-height: 48px;
  padding: 7px 7px 8px;
  border-left-width: 3px;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
}
.toast-icon { width: 27px; height: 27px; border-radius: 8px; font-size: .78rem; }
.toast-copy strong { font-size: .69rem; }
.toast-copy p { margin-top: 2px; font-size: .64rem; line-height: 1.25; }
.toast-count { padding: 1px 5px; font-size: .58rem; }
.toast-close { width: 23px; height: 23px; border-radius: 7px; }
.toast-progress { height: 2px; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .toast-stack { left: auto; right: 8px; width: min(300px, calc(100vw - 16px)); bottom: calc(72px + env(safe-area-inset-bottom)); }
  .toast { min-height: 46px; border-radius: 11px; }


/* Menu completo e editor da barra inferior. */
.quick-menu-section { display: grid; gap: 10px; }
.quick-menu-section + .quick-menu-section { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.all-areas-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.all-areas-grid button {
  min-width: 0; min-height: 92px; display: grid; place-items: center; align-content: center; gap: 5px;
  padding: 10px 7px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); color: var(--text); text-align: center;
}
.all-areas-grid button > span { font-size: 1rem; color: var(--primary); }
.all-areas-grid button strong { font-size: .72rem; }
.all-areas-grid button small { color: var(--muted); font-size: .57rem; }
.all-areas-grid button:disabled { opacity: .4; }
.nav-custom-preview,
.settings-nav-preview { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: end; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-2); }
.nav-custom-preview > span,
.settings-nav-preview > span { min-width: 0; min-height: 52px; display: grid; place-items: center; align-content: center; gap: 4px; color: var(--muted); text-align: center; }
.nav-custom-preview small,
.settings-nav-preview small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .55rem; }
.nav-custom-preview-play,
.settings-nav-preview .is-play { width: 58px; min-width: 58px !important; min-height: 58px !important; justify-self: center; border-radius: 50%; background: linear-gradient(180deg,var(--primary),var(--primary-2)); color: #07110c !important; }
.nav-custom-list { display: grid; gap: 7px; }
.nav-custom-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-2); padding: 6px; }
.nav-custom-row.is-selected { border-color: color-mix(in srgb,var(--primary) 55%,var(--line)); background: color-mix(in srgb,var(--primary) 8%,var(--panel-2)); }
.nav-custom-row > button { min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 9px; align-items: center; border: 0; background: transparent; color: var(--text); text-align: left; }
.nav-custom-row > button > span:first-child { color: var(--primary); text-align: center; }
.nav-custom-row strong,.nav-custom-row small { display: block; }
.nav-custom-row small { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.nav-custom-row > div { display: flex; gap: 4px; }
.nav-custom-row > div button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); color: var(--text); }
.navigation-settings-panel .btn { margin-top: 10px; }

/* Termos simplificados preservam leitura e evitam que nomes longos estourem cards. */
.player-pos { min-width: 42px; width: auto; padding-inline: 6px; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .all-areas-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nav-custom-row { grid-template-columns: minmax(0,1fr); }
  .nav-custom-row > div { justify-content: flex-end; }


/* ===== Etapa 41 · transmissão compacta, uniformes legíveis e pênaltis manuais ===== */
.live-event-overlay {
  top: 8px;
  left: 8px;
  right: auto;
  grid-template-columns: auto auto minmax(0,1fr);
  gap: 6px;
  width: min(292px, calc(100% - 16px));
  min-height: 38px;
  padding: 5px 8px 5px 6px;
  border-radius: 11px;
  box-shadow: 0 8px 20px rgba(0,0,0,.24);
  transform: translateY(-8px) scale(.97);
  backdrop-filter: blur(10px) saturate(1.12);
}
.live-event-overlay.is-away { left: auto; right: 8px; }
.live-event-overlay.is-neutral { left: 50%; right: auto; transform: translate(-50%,-8px) scale(.97); }
.live-event-overlay.is-visible { animation: live-event-compact-home .28s cubic-bezier(.2,.82,.28,1.08) both; }
.live-event-overlay.is-away.is-visible { animation-name: live-event-compact-away; }
.live-event-overlay.is-neutral.is-visible { animation-name: live-event-compact-neutral; }
.live-event-overlay.is-goal { width: min(306px, calc(100% - 16px)); padding-block: 6px; }
.live-event-overlay-icon,
.live-event-team-crest {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
}
.live-event-team-crest {
  overflow: hidden;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.15);
}
.live-event-team-crest[hidden] { display: none !important; }
.live-event-team-crest .crest { width: 23px; height: 23px; }
.live-event-overlay-icon {
  border-radius: 8px;
  font-size: .76rem;
}
.live-event-overlay > div { gap: 0; line-height: 1.08; }
.live-event-overlay strong,
.live-event-overlay.is-goal strong {
  overflow: hidden;
  font-size: .66rem;
  letter-spacing: .045em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.live-event-overlay small {
  max-width: 100%;
  font-size: .56rem;
  line-height: 1.15;
}
.live-event-overlay::before,
.live-event-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.live-event-overlay::before {
  inset: 1px;
  border: 1px solid color-mix(in srgb, var(--live-event-color) 58%, rgba(255,255,255,.12));
  opacity: .78;
}
.live-event-overlay::after {
  background: linear-gradient(115deg, transparent 8%, color-mix(in srgb, var(--live-event-color) 20%, rgba(255,255,255,.28)) 38%, transparent 66%);
  transform: translateX(-125%);
  opacity: .85;
}
.live-event-overlay.is-visible::after { animation: live-event-sheen .72s ease both; }
.live-event-overlay.is-goal { width: min(320px, calc(100% - 16px)); }
.live-event-overlay.is-goal.is-visible { animation-duration: .4s; }
.live-event-overlay.is-goal .live-event-overlay-icon { animation: live-event-goal-burst .8s cubic-bezier(.18,.84,.22,1.25); }
.live-event-overlay.is-yellow .live-event-overlay-icon,
.live-event-overlay.is-red .live-event-overlay-icon { transform-origin: 50% 0%; }
.live-event-overlay.is-yellow.is-visible .live-event-overlay-icon { animation: live-event-card-drop .5s cubic-bezier(.2,.92,.22,1.08); }
.live-event-overlay.is-red.is-visible .live-event-overlay-icon { animation: live-event-card-drop .58s cubic-bezier(.2,.92,.22,1.08), live-event-red-alert .85s ease; }
.live-event-overlay.is-substitution.is-visible .live-event-overlay-icon { animation: live-event-swap .58s cubic-bezier(.2,.82,.2,1.08); }
.live-event-overlay.is-injury.is-visible .live-event-overlay-icon { animation: live-event-medical .75s ease; }
.live-event-overlay.is-var-check.is-visible .live-event-overlay-icon,
.live-event-overlay.is-var-decision.is-visible .live-event-overlay-icon { animation: live-event-var-pulse .8s ease; }
.live-event-overlay.is-penalty.is-visible .live-event-overlay-icon,
.live-event-overlay.is-shootout.is-visible .live-event-overlay-icon { animation: live-event-target-lock .82s ease; }

/* Destaque rápido e grande para o gol do time controlado. */
.live-event-overlay.is-user-goal {
  --live-event-color: var(--success) !important;
  top:clamp(14px,8%,42px);
  left:50%;
  right:auto;
  width:min(88%,560px);
  min-height:clamp(96px,28%,150px);
  grid-template-columns:auto auto minmax(0,1fr);
  gap:clamp(9px,2vw,16px);
  padding:clamp(14px,3vw,24px);
  border-width:2px;
  border-radius:22px;
  background:
    radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--live-event-color) 32%,transparent),transparent 42%),
    linear-gradient(135deg,rgba(5,15,11,.97),color-mix(in srgb,rgba(5,15,11,.95) 72%,var(--live-event-color) 28%));
  box-shadow:0 24px 58px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.08),0 0 38px color-mix(in srgb,var(--live-event-color) 40%,transparent);
  transform:translate(-50%,-18px) scale(.78);
  overflow:hidden;
}
.live-event-overlay.is-user-goal .live-event-team-crest,
.live-event-overlay.is-user-goal .live-event-overlay-icon {
  width:clamp(48px,9vw,64px);
  height:clamp(48px,9vw,64px);
  border-radius:17px;
}
.live-event-overlay.is-user-goal .live-event-team-crest .crest {
  width:clamp(40px,7vw,54px);
  height:clamp(40px,7vw,54px);
}
.live-event-overlay.is-user-goal .live-event-overlay-icon {
  font-size:clamp(1.1rem,3vw,1.65rem);
  background:color-mix(in srgb,var(--live-event-color) 38%,rgba(255,255,255,.08));
}
.live-event-overlay.is-user-goal > div {
  align-content:center;
  gap:6px;
}
.live-event-overlay.is-user-goal strong,
.live-event-overlay.is-user-goal.is-goal strong {
  overflow:visible;
  color:#fff;
  font-size:clamp(1.35rem,4.4vw,2.35rem);
  line-height:.95;
  letter-spacing:.08em;
  text-overflow:clip;
  white-space:normal;
  text-shadow:0 3px 16px rgba(0,0,0,.52);
}
.live-event-overlay.is-user-goal small {
  display:block;
  overflow:visible;
  color:rgba(255,255,255,.9);
  font-size:clamp(.72rem,1.9vw,.98rem);
  line-height:1.25;
  text-overflow:clip;
  white-space:normal;
}
.live-event-overlay.is-user-goal.is-visible {
  animation:live-user-goal-arrive .44s cubic-bezier(.12,.88,.22,1.2) both;
}
.live-event-overlay.is-user-goal::after {
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.14) 32%,rgba(255,255,255,.58) 49%,rgba(255,255,255,.14) 66%,transparent 100%);
}
.live-event-overlay.is-user-goal.is-visible::before {
  animation:live-user-goal-ring .8s ease-out both;
}
.live-event-overlay.is-user-goal.is-visible .live-event-overlay-icon {
  animation:live-user-goal-ball .7s cubic-bezier(.2,.9,.24,1.25) both;
}

/* Eventos decisivos aparecem maiores que os avisos rotineiros, sem cobrir o campo inteiro. */
.live-event-overlay.is-important-event {
  top:10px;
  left:50%;
  right:auto;
  width:min(78%,420px);
  min-height:54px;
  padding:9px 12px;
  border-radius:15px;
  transform:translate(-50%,-10px) scale(.94);
}
.live-event-overlay.is-important-event.is-visible {
  animation:live-important-event-arrive .34s cubic-bezier(.18,.84,.22,1.12) both;
}
.live-event-overlay.is-important-event strong {
  font-size:.78rem;
  white-space:normal;
}
.live-event-overlay.is-important-event small {
  white-space:normal;
  font-size:.61rem;
}
.live-event-overlay.is-penalty-miss { --live-event-color: #f0646f; }
.event-penalty-miss-icon { color: #f0646f !important; }
@keyframes live-event-compact-home {
  0% { opacity:0; transform:translate(-8px,-6px) scale(.96); }
  100% { opacity:1; transform:translate(0,0) scale(1); }
}
@keyframes live-event-compact-away {
  0% { opacity:0; transform:translate(8px,-6px) scale(.96); }
  100% { opacity:1; transform:translate(0,0) scale(1); }
}
@keyframes live-event-compact-neutral {
  0% { opacity:0; transform:translate(-50%,-7px) scale(.96); }
  100% { opacity:1; transform:translate(-50%,0) scale(1); }
}
@keyframes live-user-goal-arrive {
  0% { opacity:0; transform:translate(-50%,-18px) scale(.72); filter:saturate(.8) brightness(.78); }
  56% { opacity:1; transform:translate(-50%,3px) scale(1.045); filter:saturate(1.18) brightness(1.08); }
  100% { opacity:1; transform:translate(-50%,0) scale(1); filter:saturate(1) brightness(1); }
}
@keyframes live-user-goal-ball {
  0% { transform:translateY(-18px) rotate(-18deg) scale(.7); }
  58% { transform:translateY(3px) rotate(7deg) scale(1.15); }
  100% { transform:translateY(0) rotate(0) scale(1); }
}
@keyframes live-user-goal-ring {
  0% { box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--live-event-color) 0%,transparent); }
  45% { box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--live-event-color) 18%,transparent); }
  100% { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--live-event-color) 38%,transparent); }
}
@keyframes live-important-event-arrive {
  0% { opacity:0; transform:translate(-50%,-12px) scale(.9); }
  70% { opacity:1; transform:translate(-50%,2px) scale(1.02); }
  100% { opacity:1; transform:translate(-50%,0) scale(1); }
}
@keyframes live-event-sheen {
  0% { transform: translateX(-125%); opacity: 0; }
  18% { opacity: .72; }
  100% { transform: translateX(130%); opacity: 0; }
}
@keyframes live-event-goal-burst {
  0% { transform: scale(.75) rotate(-10deg); box-shadow: 0 0 0 0 rgba(72,214,139,0); }
  45% { transform: scale(1.18) rotate(6deg); box-shadow: 0 0 0 8px rgba(72,214,139,.16); }
  100% { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(72,214,139,0); }
}
@keyframes live-event-card-drop {
  0% { transform: translateY(-12px) rotate(-14deg); }
  55% { transform: translateY(2px) rotate(6deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
@keyframes live-event-red-alert {
  0%,100% { filter: saturate(1); }
  35% { filter: saturate(1.28) brightness(1.12); }
}
@keyframes live-event-swap {
  0% { transform: translateX(-8px) scale(.9); }
  45% { transform: translateX(8px) scale(1.08); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes live-event-medical {
  0%,100% { transform: scale(1); }
  28% { transform: scale(1.16); }
  58% { transform: scale(.92); }
}
@keyframes live-event-var-pulse {
  0%,100% { transform: scale(1); filter: saturate(1); }
  40% { transform: scale(1.12); filter: saturate(1.22); }
}
@keyframes live-event-target-lock {
  0% { transform: scale(.88) rotate(-8deg); }
  45% { transform: scale(1.12) rotate(0deg); }
  100% { transform: scale(1) rotate(0deg); }
}
.live-team-key {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin-left:auto;
  min-width:0;
}
.live-team-key > span {
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:2px 6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.76);
  font-size:.53rem;
  font-weight:600;
  white-space:nowrap;
}
.live-team-key > span.is-user {
  border-color:rgba(255,255,255,.66);
  background:rgba(255,255,255,.13);
  color:#fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.16);
}
.live-team-key i {
  width:8px;
  height:8px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:var(--key-color);
  box-shadow:0 0 0 1px rgba(0,0,0,.25);
}

.penalty-minigame-overlay {
  z-index: var(--z-system-overlay) !important;
  align-items:center;
  overflow-y:auto;
  padding:clamp(10px,2vw,20px);
  background:rgba(2,7,6,.78);
  backdrop-filter:blur(12px);
}
.penalty-minigame {
  width:min(680px,100%);
  max-height:none !important;
  overflow:visible !important;
  display:grid;
  gap:12px;
  padding:clamp(13px,2.2vw,20px);
  border-color:color-mix(in srgb,var(--penalty-team) 46%,var(--line));
  background:color-mix(in srgb,var(--panel) 95%,var(--penalty-team) 5%);
}
.penalty-mini-score {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
}
.penalty-mini-score article {
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:5px;
  min-width:0;
}
.penalty-mini-score article:last-child { direction:rtl; }
.penalty-mini-score article:last-child > * { direction:ltr; }
.penalty-mini-score article strong { font-size:.68rem; }
.penalty-mini-score article > span { display:flex; gap:3px; min-width:0; }
.penalty-mini-score article > span i {
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid color-mix(in srgb,var(--muted) 70%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--muted) 24%,var(--panel));
  color:var(--text);
  font-style:normal;
  font-size:.7rem;
  line-height:1;
  box-shadow:0 2px 7px rgba(0,0,0,.14);
}
.penalty-mini-score article > span i > span { transform:translateY(-.5px); }
.penalty-mini-score article > span i.is-goal {
  border-color:color-mix(in srgb,var(--success) 80%,white 20%);
  background:var(--success);
  color:#07140d;
}
.penalty-mini-score article > span i.is-miss {
  border-color:color-mix(in srgb,var(--danger) 82%,white 18%);
  background:var(--danger);
  color:#fff;
}
.penalty-mini-score article b { font-size:1rem; }
.penalty-mini-score > em { color:var(--muted); font-size:.58rem; font-style:normal; text-align:center; white-space:nowrap; }
.penalty-mini-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.penalty-mini-head > div { min-width:0; }
.penalty-mini-head h3 { margin:3px 0 4px; font-size:1.05rem; }
.penalty-mini-head p { margin:0; max-width:54ch; color:var(--muted); font-size:.72rem; line-height:1.38; }
.penalty-mode-badge {
  flex:0 0 auto;
  padding:5px 8px;
  border:1px solid color-mix(in srgb,var(--penalty-team) 45%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--penalty-team) 10%,var(--panel-2));
  color:var(--text);
  font-size:.6rem;
  font-weight:600;
}
.penalty-duel-people {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
}
.penalty-duel-people article {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
}
.penalty-duel-people article:last-child { flex-direction:row-reverse; text-align:right; }
.penalty-duel-people article > span:last-child { min-width:0; display:grid; }
.penalty-duel-people small,
.penalty-duel-people em { color:var(--muted); font-size:.56rem; font-style:normal; }
.penalty-duel-people strong { overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.penalty-duel-people > b { color:var(--penalty-team); }
.penalty-glove {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:color-mix(in srgb,var(--penalty-team) 12%,var(--panel));
  color:var(--penalty-team);
}
.penalty-goal-target {
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  aspect-ratio:16/8.4;
  min-height:210px;
  overflow:hidden;
  padding:0;
  border:4px solid rgba(255,255,255,.92);
  border-bottom-width:7px;
  border-radius:10px 10px 3px 3px;
  background:
    radial-gradient(circle at 50% 92%,rgba(255,255,255,.12),transparent 26%),
    linear-gradient(180deg,#14243a 0%,#0c1725 58%,#143925 59%,#0a2b19 100%);
  box-shadow:inset 0 -30px 60px rgba(0,0,0,.25),0 12px 26px rgba(0,0,0,.25);
  color:#fff;
  cursor:crosshair;
  touch-action:none;
}
.penalty-goal-target::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(ellipse at 50% 15%,rgba(255,255,255,.16),transparent 42%);
}
.penalty-net-lines {
  position:absolute;
  inset:0;
  opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.26) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.26) 1px,transparent 1px);
  background-size:8.333% 16.666%;
  transform:perspective(500px) rotateX(-2deg);
}
.penalty-mini-keeper {
  position:absolute;
  z-index:3;
  left:50%;
  top:64%;
  width:54px;
  height:72px;
  transform:translate(-50%,-50%);
  transition:left .42s cubic-bezier(.2,.8,.2,1),top .42s cubic-bezier(.2,.8,.2,1),transform .42s ease;
}
.penalty-mini-keeper::before,
.penalty-mini-keeper::after {
  content:"";
  position:absolute;
  top:25px;
  width:32px;
  height:8px;
  border-radius:999px;
  background:#f6d34f;
}
.penalty-mini-keeper::before { right:26px; transform:rotate(-18deg); transform-origin:right center; }
.penalty-mini-keeper::after { left:26px; transform:rotate(18deg); transform-origin:left center; }
.penalty-mini-keeper i {
  position:absolute;
  left:50%;
  top:17px;
  width:25px;
  height:37px;
  border-radius:10px 10px 7px 7px;
  background:#f6d34f;
  transform:translateX(-50%);
  box-shadow:0 -10px 0 -3px #d9a66f;
}
.penalty-goal-target.is-resolved .penalty-mini-keeper {
  left:var(--keeper-x);
  top:var(--keeper-y);
  transform:translate(-50%,-50%);
}
.penalty-mini-ball {
  position:absolute;
  z-index:5;
  left:50%;
  top:112%;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  color:#101010;
  font-size:1rem;
  transform:translate(-50%,-50%) scale(1);
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.42));
  transition:left .52s cubic-bezier(.16,.78,.22,1),top .52s cubic-bezier(.16,.78,.22,1),transform .52s ease;
}
.penalty-goal-target.is-resolved .penalty-mini-ball {
  left:var(--ball-x);
  top:var(--ball-y);
  transform:translate(-50%,-50%) scale(.68) rotate(300deg);
}
.penalty-tap-hint {
  position:absolute;
  z-index:6;
  left:50%;
  bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(0,0,0,.44);
  color:#fff;
  font-size:.6rem;
  transform:translateX(-50%);
  backdrop-filter:blur(8px);
}
.penalty-goal-target.is-resolved .penalty-tap-hint { opacity:0; }
.penalty-goal-target.is-goal { box-shadow:inset 0 0 0 999px rgba(35,180,101,.09),0 12px 26px rgba(0,0,0,.25); }
.penalty-goal-target.is-saved { box-shadow:inset 0 0 0 999px rgba(64,154,255,.10),0 12px 26px rgba(0,0,0,.25); }
.penalty-goal-target.is-miss { box-shadow:inset 0 0 0 999px rgba(235,77,94,.10),0 12px 26px rgba(0,0,0,.25); }
.penalty-mini-result {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel-2);
}
.penalty-mini-result strong { font-size:.7rem; }
.penalty-mini-result small { color:var(--muted); font-size:.62rem; text-align:right; }
.penalty-mini-result.is-goal { border-color:color-mix(in srgb,var(--success) 55%,var(--line)); }
.penalty-mini-result.is-saved { border-color:color-mix(in srgb,var(--primary) 55%,var(--line)); }
.penalty-mini-result.is-miss { border-color:color-mix(in srgb,var(--danger) 55%,var(--line)); }
.penalty-minigame-overlay.is-leaving { opacity:0; transition:opacity .2s ease; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .live-event-overlay,
  .live-event-overlay.is-goal { width:min(255px,calc(100% - 12px)); top:6px; left:6px; padding:4px 6px; border-radius:9px; }
  .live-event-overlay.is-away { left:auto; right:6px; }
  .live-event-overlay.is-neutral { left:50%; right:auto; }
  .live-event-overlay-icon,
  .live-event-team-crest { width:24px; height:24px; border-radius:7px; }
  .live-event-team-crest .crest { width:20px; height:20px; }
  .live-event-overlay strong,.live-event-overlay.is-goal strong { font-size:.6rem; }
  .live-event-overlay small { font-size:.51rem; }
  .live-event-overlay.is-user-goal {
    width:calc(100% - 18px);
    top:8px;
    min-height:92px;
    padding:12px;
    border-radius:17px;
    grid-template-columns:auto auto minmax(0,1fr);
  }
  .live-event-overlay.is-user-goal .live-event-team-crest,
  .live-event-overlay.is-user-goal .live-event-overlay-icon { width:42px; height:42px; border-radius:13px; }
  .live-event-overlay.is-user-goal .live-event-team-crest .crest { width:36px; height:36px; }
  .live-event-overlay.is-user-goal strong,.live-event-overlay.is-user-goal.is-goal strong { font-size:1.12rem; }
  .live-event-overlay.is-user-goal small { font-size:.64rem; }
  .live-event-overlay.is-important-event { width:calc(100% - 18px); }
  .live-pitch-caption { align-items:flex-start; flex-wrap:wrap; }
  .live-team-key { width:100%; justify-content:flex-start; }
  .penalty-minigame-overlay { align-items:flex-start; padding:8px; }
  .penalty-minigame { gap:9px; padding:11px; }
  .penalty-mini-head { display:grid; }
  .penalty-mode-badge { justify-self:start; }
  .penalty-duel-people { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:5px; }
  .penalty-duel-people article { padding:6px; gap:5px; }
  .penalty-duel-people article .crest { display:none; }
  .penalty-goal-target { min-height:180px; aspect-ratio:1.55/1; }
  .penalty-mini-score article { grid-template-columns:auto minmax(0,1fr) auto; }
  .penalty-mini-score article > span { grid-column:1/-1; order:4; }
  .penalty-mini-score > em { font-size:.5rem; }
  .penalty-mini-result { display:grid; gap:2px; }
  .penalty-mini-result small { text-align:left; }

.reduced-motion .live-event-overlay.is-visible { animation:none !important; opacity:1; }
.reduced-motion .live-event-overlay.is-home.is-visible,
.reduced-motion .live-event-overlay.is-away.is-visible { transform:none; }
.reduced-motion .live-event-overlay.is-neutral.is-visible { transform:translateX(-50%); }
.reduced-motion .live-event-overlay.is-user-goal.is-visible,
.reduced-motion .live-event-overlay.is-important-event.is-visible { animation:none !important; opacity:1; transform:translateX(-50%); }
.reduced-motion .live-event-overlay.is-user-goal::before,
.reduced-motion .live-event-overlay.is-user-goal .live-event-overlay-icon { animation:none !important; }
.reduced-motion .penalty-mini-ball,
.reduced-motion .penalty-mini-keeper,
.reduced-motion .penalty-minigame-overlay { transition:none !important; }

/* ===== Etapa 44 · navegação enxuta, fluxo ao vivo e perfil renovado ===== */
:root {
  --topbar-compact-height: 52px;
  --bottom-nav-compact-height: 58px;
}

/* Mais área útil sem sacrificar alvos de toque. */
.topbar {
  min-height: var(--topbar-compact-height);
  padding: calc(6px + var(--safe-top)) 8px 6px !important;
  gap: 6px !important;
}
.topbar > .crest.small { width: 24px; height: 29px; flex-basis: 24px; }
.topbar-page-context {
  width: 31px;
  min-width: 31px;
  min-height: 31px;
  padding: 0 7px;
  border-radius: 9px;
}
.topbar-page-context .fa-solid { font-size: .72rem; }
.topbar-club-summary { padding: 3px 5px !important; min-height: 0; }
.topbar-club-summary strong { font-size: .76rem; line-height: 1.1; }
.topbar-club-summary span { margin-top: 1px; font-size: .58rem; line-height: 1.15; }
.topbar-club-summary small { margin-top: 1px; font-size: .49rem; line-height: 1.1; }
.topbar-actions { gap: 4px; }
.topbar-money,
.topbar-status-money { min-height: 31px; padding: 4px 7px !important; border-radius: 9px; gap: 5px; }
.topbar-money strong,
.topbar-status-money strong { font-size: .65rem; }
.topbar-money small,
.topbar-status-money small { font-size: .46rem; }
.topbar-menu-button { width: 31px; min-width: 31px; height: 31px; padding: 0; border-radius: 9px; font-size: 1rem; }

.navbar {
  padding: 4px 5px calc(4px + var(--safe-bottom)) !important;
}
.navbar-mobile .nav-btn {
  min-height: 44px;
  padding: 3px 2px;
  border-radius: 10px;
  gap: 1px;
}
.navbar-mobile .nav-btn .icon { font-size: 1rem; }
.navbar-mobile .nav-btn > span:last-child { font-size: .51rem; }
.navbar-mobile .nav-play {
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  transform: translateY(-8px);
  box-shadow: 0 7px 18px color-mix(in srgb,var(--primary) 28%,rgba(0,0,0,.42));
}
.navbar-mobile .nav-play .icon { font-size: 1.12rem; }
.navbar-mobile .nav-play > span:last-child { font-size: .52rem; }
.content { padding-bottom: calc(68px + var(--safe-bottom)); }

/* Toasts comuns aparecem abaixo do cabeçalho e nunca atrás da barra inferior. */
.toast-stack {
  top: calc(var(--safe-top) + var(--topbar-compact-height) + 6px);
  bottom: auto !important;
  z-index: calc(var(--z-navigation) - 8) !important;
}
.toast-stack.is-live-context { top: 44px; }
/* A movimentação financeira é a única mensagem autorizada a sobrepor o cabeçalho. */
.finance-flyout,
.finance-flyout-modern { z-index: calc(var(--z-system-overlay) - 40) !important; }

/* Cabeçalho da transmissão em uma faixa baixa, sem crescer com textos longos. */
.match-header {
  min-height: 38px;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px 8px !important;
  overflow: hidden;
}
.match-header > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: 6px; }
.match-header > div > strong {
  min-width: 0;
  max-width: 42vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .68rem;
}
.match-header > div > span {
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .55rem !important;
}
.match-header .match-official {
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .49rem;
  line-height: 1.15;
  opacity: .8;
}
.match-header .minute { min-width: 44px; padding: 5px 7px; font-size: .72rem; text-align: center; }

/* Dia de jogo: os dois clubes permanecem lado a lado em qualquer largura. */
.matchday-stage {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center;
  gap: 8px !important;
}
.matchday-team {
  min-width: 0;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  place-items: center !important;
  text-align: center !important;
}
.matchday-team strong {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.matchday-team.is-away { grid-template-columns: 1fr !important; }
.matchday-versus { order: initial !important; }

/* A leitura pós-jogo sempre reserva espaço e mantém as três respostas legíveis. */
.assistant-review-card .post-match-card-content { min-height: 96px; }
.assistant-review-grid article { min-height: 118px; }
.assistant-review-grid p:empty { display: none; }

/* Perfil do técnico com leitura de carreira, identidade e edição separadas. */
.manager-profile-modern { gap: 12px; }
.manager-profile-hero-modern {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid color-mix(in srgb,var(--club-primary) 38%,var(--line));
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 10%, color-mix(in srgb,var(--club-primary) 28%,transparent), transparent 36%),
    linear-gradient(135deg,color-mix(in srgb,var(--club-primary) 50%,#101722),color-mix(in srgb,var(--club-secondary) 62%,#0b111b));
  color: #fff;
}
.manager-profile-identity { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 14px; min-width: 0; }
.manager-profile-photo-modern { width: 84px; height: 84px; border: 3px solid rgba(255,255,255,.36); box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.manager-profile-identity h2 { margin: 3px 0; font-size: 1.45rem; }
.manager-profile-identity p { margin: 0; color: rgba(255,255,255,.76); font-size: .72rem; }
.manager-profile-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.manager-profile-badges > span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(0,0,0,.2); font-size: .61rem; }
.manager-profile-score { display: grid; place-items: center; min-width: 96px; padding: 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(0,0,0,.22); }
.manager-profile-score small,.manager-profile-score span { font-size: .58rem; opacity: .72; }
.manager-profile-score strong { font-size: 2rem; line-height: 1; }
.manager-profile-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.manager-profile-kpis article { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.manager-profile-kpis article > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 11px; color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)); }
.manager-profile-kpis small,.manager-profile-kpis strong { display: block; }
.manager-profile-kpis small { color: var(--muted); font-size: .59rem; }
.manager-profile-kpis strong { font-size: .92rem; }
.manager-style-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.manager-style-grid article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.manager-style-grid article > span { min-width: 0; font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manager-style-grid article > strong { font-size: .72rem; color: var(--primary); }
.manager-style-grid article > i { grid-column: 1/-1; height: 6px; border-radius: 999px; overflow: hidden; background: color-mix(in srgb,var(--line) 68%,transparent); }
.manager-style-grid article > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--primary),var(--primary-2)); }
.manager-profile-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.manager-profile-form label { min-width: 0; display: grid; gap: 6px; color: var(--muted); font-size: .7rem; }
.manager-profile-form-wide { grid-column: 1/-1; }
.manager-photo-field { padding: 10px; border: 1px dashed var(--line); border-radius: 12px; background: var(--panel-2); }
.manager-profile-actions { display: flex; justify-content: flex-end; gap: 8px; }
.manager-profile-actions .btn { width: auto; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar-club-summary span,
  .topbar-club-summary small { display: none; }
  .topbar-club-summary strong { font-size: .69rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .topbar-money > i,
  .topbar-money small { display: none; }
  .matchday-cinematic { min-height: 390px; padding: 15px; gap: 12px; }
  .matchday-stage { min-height: 142px; }
  .matchday-team .crest { width: 58px; height: 58px; }
  .matchday-team strong { font-size: .66rem; }
  .matchday-team small { font-size: .52rem; }
  .matchday-versus strong { font-size: 1.55rem; }
  .matchday-versus span { font-size: .5rem; }
  .manager-profile-hero-modern { grid-template-columns: 1fr; padding: 16px; }
  .manager-profile-score { position: absolute; right: 13px; top: 13px; min-width: 66px; padding: 8px; }
  .manager-profile-score strong { font-size: 1.4rem; }
  .manager-profile-identity { padding-right: 62px; }
  .manager-profile-photo-modern { width: 66px; height: 66px; }
  .manager-profile-identity h2 { font-size: 1.05rem; }
  .manager-profile-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-style-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .manager-profile-form { grid-template-columns: 1fr 1fr; }


@media (max-width: 430px){
  :root { --topbar-compact-height: 46px; --bottom-nav-compact-height: 54px; }
  .topbar { grid-template-columns: auto auto minmax(0,1fr) auto !important; min-height: 46px; }
  .topbar-page-context { width: 28px; min-width: 28px; min-height: 28px; }
  .topbar > .crest.small { width: 21px; height: 25px; }
  .topbar-menu-button { width: 28px; min-width: 28px; height: 28px; }
  .topbar-money { min-height: 28px; padding-inline: 5px !important; }
  .navbar-mobile .nav-btn { min-height: 41px; }
  .navbar-mobile .nav-play { width: 48px; min-width: 48px; min-height: 48px; transform: translateY(-7px); }
  .content { padding-bottom: calc(62px + var(--safe-bottom)); }
  .toast-stack { top: calc(var(--safe-top) + 50px); width: min(286px,calc(100vw - 14px)); right: 7px; }
  .match-header > div > strong { max-width: 48vw; font-size: .62rem; }
  .match-header .match-official { font-size: .45rem; }
  .matchday-stage { grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr) !important; gap: 4px !important; }
  .matchday-team .crest { width: 50px; height: 50px; }
  .matchday-team strong { font-size: .59rem; }
  .matchday-versus strong { font-size: 1.3rem; }
  .matchday-info-grid span { padding: 8px; }
  .manager-profile-identity { grid-template-columns: 54px minmax(0,1fr); gap: 9px; padding-right: 54px; }
  .manager-profile-photo-modern { width: 54px; height: 54px; }
  .manager-profile-badges > span { font-size: .54rem; padding: 4px 6px; }
  .manager-profile-kpis article { padding: 8px; }
  .manager-profile-kpis article > span { width: 29px; height: 29px; flex-basis: 29px; }
  .manager-style-grid,
  .manager-profile-form { grid-template-columns: 1fr; }
  .manager-profile-form-wide { grid-column: 1; }
  .manager-profile-actions { flex-direction: column; }
  .manager-profile-actions .btn { width: 100%; }
}



/* Etapa 44 · refinamentos de navegação, modais e leitura */
.share-preview-loading[hidden],
.share-preview-canvas img[hidden],
[hidden] { display: none !important; }

/* A leitura técnica continua disponível também no modo Básico. */
html.simplified-management .assistant-review-card .assistant-review-grid,
html.simplified-management .app-modal .assistant-review-grid { display: grid !important; }

/* Os cards principais do início preservam a mesma linguagem arredondada no celular. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  .home-dashboard-grid > .command-center,
  .home-dashboard-grid > .table-glance,
  .command-center,
  .table-glance {
    margin-inline: 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    overflow: hidden;
  }


/* Rodapés de modal nunca encostam nas laterais ou nas áreas seguras do aparelho. */
.app-modal-body .sticky-modal-actions {
  margin-inline: 0 !important;
  padding: 12px max(14px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)) !important;
  border-radius: 15px 15px 0 0;
}
@media (max-width: 520px){
  .app-modal-body { padding-inline: 12px !important; }
  .app-modal-body .sticky-modal-actions { gap: 8px; }
}

/* Etapa 44 · cabeçalho compacto com contexto útil */
.topbar-club-short,
.topbar-compact-meta { display: none; }
.notification-button { position: relative; overflow: visible !important; }
.notification-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 17px;
  height: 17px;
  padding-inline: 4px;
  display: grid;
  place-items: center;
  border: 2px solid color-mix(in srgb, var(--club-primary) 72%, #101722);
  border-radius: 999px;
  background: #c92d4b;
  color: #fff;
  font-size: .5rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(0,0,0,.24);
  pointer-events: none;
}
.notification-badge.is-dot { min-width: 9px; width: 9px; height: 9px; padding: 0; border-width: 1px; color: transparent; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar-club-summary strong { display: flex !important; align-items: center; gap: 5px; min-width: 0; }
  .topbar-club-summary strong > .topbar-club-name { display: none !important; }
  .topbar-club-summary strong > .topbar-club-short {
    display: inline !important;
    flex: 0 0 auto;
    font-size: .69rem;
    font-weight: 600;
  }
  .topbar-club-summary strong > .topbar-compact-meta {
    display: inline !important;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,255,255,.72);
    font-size: .53rem;
    font-weight: 600;
  }

@media (max-width: 390px){
  .topbar-page-context { display: none !important; }
  .topbar { grid-template-columns: auto minmax(0,1fr) auto !important; }
  .topbar-club-summary strong > .topbar-compact-meta { font-size: .49rem; }
}

/* Central de notificações com leitura, ações e badge discretos. */
.notification-center-modern { display: grid; gap: 12px; }
.notification-center-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-2);
}
.notification-center-toolbar h3,
.notification-center-toolbar p { margin: 0; }
.notification-center-toolbar p { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.notification-center-item {
  display: grid !important;
  grid-template-columns: 8px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  border-radius: 14px;
  transition: border-color .2s ease, background .2s ease;
}
.notification-center-item.is-unread {
  border-color: color-mix(in srgb, var(--primary) 44%, var(--line));
  background: color-mix(in srgb, var(--primary) 8%, var(--panel-2));
}
.notification-status { width: 7px; height: 7px; border-radius: 50%; background: var(--line); }
.notification-center-item.is-unread .notification-status { background: var(--primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--primary) 13%,transparent); }
.notification-copy { min-width: 0; }
.notification-copy > small { color: var(--primary); font-size: .56rem; text-transform: uppercase; letter-spacing: .07em; }
.notification-copy strong,
.notification-copy p { display: block; }
.notification-copy p { margin: 3px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.notification-item-actions { display: flex; align-items: center; gap: 6px; }
.notification-item-actions .icon-action { width: 30px; height: 30px; border-radius: 9px; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .notification-center-toolbar { align-items: flex-start; flex-direction: column; }
  .notification-center-item { grid-template-columns: 7px minmax(0,1fr); }
  .notification-item-actions { grid-column: 2; justify-content: flex-start; }


/* A aba Final está sempre visível, mas comunica claramente quando ainda está bloqueada. */
.live-info-tabs #liveFinishTab[disabled] {
  display: inline-flex !important;
  opacity: .42;
  filter: saturate(.35);
  cursor: not-allowed;
  background: color-mix(in srgb, var(--panel-2) 90%, transparent);
  color: var(--muted);
}
.live-info-tabs #liveFinishTab:not([disabled]) { opacity: 1; filter: none; }

/* Perfil do clube e elenco em linguagem visual moderna. */
.team-profile-modern { gap: 12px; }
.team-profile-hero-modern {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--team-primary) 42%, var(--line));
  background:
    radial-gradient(circle at 12% 16%, color-mix(in srgb,var(--team-primary) 28%,transparent), transparent 36%),
    linear-gradient(135deg,color-mix(in srgb,var(--team-primary) 52%,#111923),color-mix(in srgb,var(--team-secondary) 68%,#0b1119));
  color: #fff;
  overflow: hidden;
}
.team-profile-crest-stage { display: grid; place-items: center; gap: 4px; min-width: 88px; }
.team-profile-crest-stage .crest { width: 76px; height: 82px; }
.team-profile-crest-stage > span { font-size: .6rem; font-weight: 600; letter-spacing: .08em; opacity: .75; }
.team-profile-title { min-width: 0; }
.team-profile-title h3 { margin: 3px 0; font-size: 1.35rem; }
.team-profile-title p { margin: 0; color: rgba(255,255,255,.74); font-size: .7rem; }
.team-profile-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.team-profile-tags span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(0,0,0,.2); font-size: .58rem; }
.team-profile-rating { display: grid; place-items: center; min-width: 104px; padding: 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(0,0,0,.22); }
.team-profile-rating small,
.team-profile-rating span { font-size: .57rem; opacity: .72; }
.team-profile-rating strong { font-size: 2rem; line-height: 1.05; }
.team-profile-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.team-profile-kpis article { display: flex; align-items: center; gap: 9px; padding: 10px; min-width: 0; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
.team-profile-kpis article > span { display: grid; place-items: center; width: 33px; height: 33px; flex: 0 0 33px; border-radius: 10px; color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)); }
.team-profile-kpis small,
.team-profile-kpis strong { display: block; }
.team-profile-kpis small { color: var(--muted); font-size: .56rem; }
.team-profile-kpis strong { font-size: .85rem; }
.team-squad-modern-panel { display: grid; gap: 9px; }
.team-squad-modern-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.team-squad-modern-panel h3 { margin: 2px 0 0; }
.team-squad-modal-list.modern { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.team-squad-modal-row.modern {
  grid-template-columns: auto auto minmax(0,1fr) auto auto;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 13px;
  border-left-width: 1px;
}
.team-squad-modal-row.modern.is-starter { border-left: 3px solid var(--primary); }
.team-player-role { width: 48px; text-align: center; }
.team-player-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--panel); color: var(--text) !important; font-weight: 600; }
.team-player-copy { min-width: 0; }
.team-player-copy strong,
.team-player-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-player-fitness { display: block; width: 100%; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: var(--line); }
.team-player-fitness b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--primary),var(--success)); }
.team-player-meta { text-align: right; }
.team-player-meta small,
.team-player-meta strong { display: block; }
.team-player-meta small { color: var(--muted); font-size: .55rem; white-space: nowrap; }
.team-player-meta strong { font-size: 1rem; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .team-profile-hero-modern { grid-template-columns: auto minmax(0,1fr); padding: 14px; }
  .team-profile-rating { grid-column: 1/-1; grid-template-columns: 1fr auto 1fr; justify-items: start; min-width: 0; width: 100%; padding: 9px 12px; }
  .team-profile-rating strong { font-size: 1.3rem; }
  .team-profile-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-squad-modal-list.modern { grid-template-columns: 1fr; }

@media (max-width: 430px){
  .team-profile-crest-stage { min-width: 58px; }
  .team-profile-crest-stage .crest { width: 54px; height: 60px; }
  .team-profile-title h3 { font-size: 1rem; }
  .team-profile-tags span:nth-child(n+3) { display: none; }
  .team-squad-modal-row.modern { grid-template-columns: auto auto minmax(0,1fr) auto; }
  .team-player-role { display: none; }
  .team-squad-modal-row.modern > .fa-solid:last-child { display: none; }
}

/* Campo de biografia no mesmo nível visual dos demais controles. */
.manager-biography-field {
  position: relative;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel-2);
}
.manager-biography-field .field-title { display: flex; align-items: center; gap: 7px; color: var(--text); font-weight: 600; }
.manager-biography-field > small { color: var(--muted); font-size: .64rem; }
.manager-biography-field textarea {
  width: 100%;
  min-height: 116px;
  resize: vertical;
  border: 1px solid color-mix(in srgb,var(--line) 84%,transparent);
  border-radius: 12px;
  background: var(--panel);
  color: var(--text);
  padding: 11px 12px 24px;
  font: inherit;
  line-height: 1.5;
}
.biography-counter { position: absolute; right: 24px; bottom: 19px; color: var(--muted); font-size: .55rem; pointer-events: none; }

/* Estúdio de compartilhamento: estado de geração e endereço claros. */
.share-card-address { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.share-card-address > i { color: var(--primary); }
.share-card-address small,
.share-card-address strong { display: block; }
.share-card-address small { color: var(--muted); font-size: .56rem; }
.share-card-address strong { font-size: .7rem; word-break: break-all; }

/* ===== Etapa 44 · escudos fiéis e transmissões unificadas ===== */
svg.crest {
  color: initial;
  forced-color-adjust: none;
}
svg.crest[data-crest-generated="true"] path {
  vector-effect: non-scaling-stroke;
}
img.crest[data-crest-custom="true"] {
  display: block;
  object-fit: contain;
  object-position: center;
  overflow: hidden;
  color: transparent;
  forced-color-adjust: none;
}

/* O modo espectador usa a mesma estrutura visual da partida controlada. */
.observer-live-mode.match-screen {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: auto minmax(210px, 50dvh) auto auto minmax(0,1fr) !important;
  gap: 7px;
  overflow: hidden;
  padding: calc(6px + var(--safe-top)) 8px calc(6px + var(--safe-bottom));
  background: var(--bg);
}
.observer-live-mode .observer-header {
  grid-column: 1 !important;
  grid-row: auto !important;
  min-height: 38px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel) 96%,transparent);
}
.observer-live-mode .observer-header-copy {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 1px !important;
}
.observer-live-mode .observer-header-copy strong,
.observer-live-mode .observer-header-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.observer-live-mode .observer-header-copy strong { font-size: .72rem; }
.observer-live-mode .observer-header-copy span { color: var(--muted); font-size: .55rem; }
.observer-live-mode .observer-clock b {
  min-width: 44px;
  padding: 5px 7px;
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  text-align: center;
  font-size: .7rem;
}
.observer-live-mode .observer-pitch-score {
  grid-column: 1 !important;
  grid-row: auto !important;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  padding: 5px;
  gap: 5px;
}
.observer-live-mode .observer-featured {
  min-height: 38px;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center;
  gap: 6px;
  padding: 3px 7px !important;
  border: 0;
  border-radius: 9px;
  background: rgba(3,12,8,.42) !important;
}
.observer-live-mode .observer-featured > .fixture-team {
  display: flex !important;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 0;
  background: transparent;
}
.observer-live-mode .observer-featured > .fixture-team.is-away { justify-content: flex-start; text-align: left; }
.observer-live-mode .observer-featured > .fixture-team.is-home { justify-content: flex-end; text-align: right; }
.observer-live-mode .observer-featured .crest { width: 19px !important; height: 23px !important; flex: 0 0 19px !important; }
.observer-live-mode .observer-featured .fixture-team strong { max-width: 100%; font-size: .61rem; }
.observer-live-mode .observer-featured .score-center { display: grid !important; gap: 0 !important; justify-items: center; }
.observer-live-mode .observer-featured .score { font-size: 1.02rem !important; }
.observer-live-mode .observer-featured .vs { font-size: .46rem !important; letter-spacing: .08em; }
.observer-live-mode .observer-pitch-panel {
  position: relative;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  overflow: hidden;
  border: 0;
  border-radius: 9px;
  background: #075b34;
}
.observer-live-mode .observer-pitch-canvas { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.observer-live-mode .observer-management-bar {
  grid-column: 1 !important;
  grid-row: auto !important;
  position: static !important;
  min-height: 38px;
  padding: 4px 7px;
}
.observer-live-mode .observer-management-bar .live-management-actions { display: flex; width: auto; }
.observer-live-mode .observer-live-tabs {
  grid-column: 1 !important;
  grid-row: auto !important;
  margin: 0;
  min-height: 36px;
}
.observer-live-mode .observer-live-tabs > button {
  flex: 1 0 82px;
  min-width: 82px;
  min-height: 36px;
}
.observer-live-mode .observer-tab-workspace {
  grid-column: 1 !important;
  grid-row: auto !important;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}
.observer-live-mode .observer-tab-pane {
  display: none;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  overflow: auto;
}
.observer-live-mode .observer-tab-pane.is-active { display: block !important; }
.observer-live-mode .observer-tab-pane.other-live-panel.is-active {
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  overflow: hidden !important;
}
.observer-live-mode .observer-event-log {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 10px;
}
.observer-live-mode .observer-event-log .event {
  display: grid;
  grid-template-columns: 36px 24px minmax(0,1fr);
  align-items: start;
  gap: 7px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}
.observer-live-mode .observer-groups { height: 100%; min-height: 0; overflow-y: auto; padding: 7px; }
.observer-live-mode .observer-group { margin: 0 0 7px; border-radius: 11px; overflow: hidden; }
.observer-live-mode .observer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.observer-live-mode .observer-tile { min-height: 42px; }
.observer-live-mode .observer-tile > em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: .54rem;
  font-style: normal;
  text-align: center;
}
.observer-event-overlay { z-index: 7; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .observer-live-mode.match-screen {
    grid-template-rows: auto minmax(190px, 46dvh) auto auto minmax(0,1fr) !important;
    padding-inline: 5px;
    gap: 4px;
  }
  .observer-live-mode .observer-header { padding-top: 4px; }
  .observer-live-mode .observer-management-bar { grid-template-columns: minmax(0,1fr) auto; }
  .observer-live-mode .observer-management-bar .live-momentum strong { font-size: .62rem; }
  .observer-live-mode .observer-management-bar .live-management-actions { display: flex; }
  .observer-live-mode .observer-management-bar .btn { flex: 0 0 auto; min-width: 38px; }
  .observer-live-mode .observer-grid { grid-template-columns: 1fr; }
  .observer-live-mode .observer-live-tabs > button { flex-basis: 72px; min-width: 72px; }


/* Etapa 44 — refinamentos de identidade, navegação, ajustes e competições. */
:root { --on-primary: #07110c; --club-contrast: #fff; }
.btn:not(.secondary):not(.danger):not(.ghost),
.nav-play,
.settings-nav-preview .is-play { color: var(--on-primary) !important; }

/* O seletor de experiência fica sempre em uma linha e preserva a posição da página. */
.setup-mode-switch {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.setup-mode-switch button {
  flex: 1 0 max(104px, 31%);
  white-space: nowrap;
  scroll-snap-align: center;
}
.advanced-club-generation { border-color: color-mix(in srgb,var(--primary) 34%,var(--line)); background: color-mix(in srgb,var(--primary) 6%,var(--panel-2)); }
.advanced-club-generation > p { color: var(--muted); line-height: 1.5; }
.advanced-mode-toggle { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:color-mix(in srgb,var(--primary) 11%,var(--panel)); color:var(--text) !important; font-weight:600; }
.advanced-mode-toggle input { width:20px !important; height:20px; accent-color:var(--primary); }
.warning-box { border-color: color-mix(in srgb,var(--warning) 34%,var(--line)); }

.opening-scoreboard b,
.demo-match .score-team b,
.landing-spotlight :is(.spotlight-score-team,.score-team) b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opening-scoreboard b { max-width: 105px; letter-spacing: 0 !important; font-size: .78rem !important; }
.demo-match.modern-scoreline .score-team { min-width:0; }
.demo-match.modern-scoreline .score-team b { max-width: 128px; }

/* Ajustes em abas independentes, sem a página única gigantesca. */
.settings-tabs {
  position: sticky;
  top: -1px;
  z-index: calc(var(--z-content-sticky, 20) + 1);
  display: flex;
  gap: 7px;
  margin: 0 0 12px;
  padding: 7px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb,var(--panel) 92%,transparent);
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
  backdrop-filter: blur(16px);
}
.settings-tabs button {
  flex: 0 0 auto;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 600;
  cursor: pointer;
}
.settings-tabs button.is-active {
  color: var(--text);
  border-color: color-mix(in srgb,var(--primary) 34%,var(--line));
  background: color-mix(in srgb,var(--primary) 13%,var(--panel-2));
  box-shadow: inset 0 -2px 0 var(--primary);
}
.settings-tabs button .fa-solid { color: var(--primary); }
.settings-group[hidden] { display: none !important; }

/* A barra inferior segue exatamente o desenho da prévia de ajustes. */
.navbar-mobile {
  align-items: end;
  gap: 4px;
  padding-inline: 5px;
  border: 1px solid var(--line);
  border-radius: 17px 17px 0 0;
  background: color-mix(in srgb,var(--panel-2) 94%,transparent);
  box-shadow: 0 -12px 32px rgba(0,0,0,.2);
}
.navbar-mobile .nav-btn:not(.nav-play) {
  min-height: 52px;
  border: 0;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}
.navbar-mobile .nav-btn:not(.nav-play).is-active,
.navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
  color: var(--primary);
  background: transparent;
  box-shadow: inset 0 -2px 0 var(--primary);
}
.navbar-mobile .nav-play {
  width: 58px;
  min-width: 58px;
  min-height: 58px;
  border: 1px solid color-mix(in srgb,var(--primary) 66%,white 14%);
  background: linear-gradient(180deg,var(--primary),var(--primary-2));
  transform: translateY(-9px);
}

/* Cabeçalho compacto, mas com nome real e contexto útil. */
.topbar-club-summary strong { display:flex !important; align-items:center; gap:6px; min-width:0; }
.topbar-club-summary .topbar-club-name {
  display:block !important;
  min-width:0;
  max-width: 190px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.topbar-club-summary .topbar-compact-meta {
  display:inline !important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.68);
  font-size:.52rem;
  font-weight:600;
}

/* mobile-only: regra ampla incorporada ao estilo-base */

  .topbar-club-summary strong > .topbar-club-name { display:block !important; max-width: 118px; font-size:.68rem; }
  .topbar-club-summary strong > .topbar-compact-meta { display:inline !important; font-size:.48rem; }
  .topbar-club-summary > span { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar-club-summary > small { max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 390px){
  .topbar-club-summary strong > .topbar-club-name { max-width: 96px; }
  .topbar-club-summary strong > .topbar-compact-meta { max-width: 116px; }
}

/* Copa do Mundo: grupos arejados e bandeiras em emoji, sem brasões artificiais. */
.world-groups { gap: 14px; padding: 3px; max-height: 62dvh; }
.world-group { border-radius: 16px; box-shadow: 0 9px 24px rgba(0,0,0,.1); }
.world-group > header { padding: 10px 12px; font-size: .72rem; }
.world-group-row {
  grid-template-columns: 22px minmax(0,1fr) auto auto;
  gap: 9px;
  min-height: 58px;
  padding: 9px 11px;
  font-size: .66rem;
}
.world-group-row > span:first-child { display:grid; place-items:center; width:22px; height:22px; border-radius:7px; background:var(--panel); font-weight:600; }
.world-team-mark { min-width:0; }
.national-team-label { display:flex !important; align-items:center; gap:9px; min-width:0; padding:0 !important; background:none !important; color:inherit !important; text-align:left !important; }
.national-team-label strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.7rem; }
.national-flag-emoji { flex:0 0 auto; font-size:1.8rem; line-height:1; filter:drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.international-fixture-row .national-team-label { min-height:74px; justify-content:center; flex-direction:column; gap:6px; padding:9px !important; border:1px solid var(--line); border-radius:13px; background:var(--panel-2) !important; color:var(--text) !important; }
.international-fixture-row .national-flag-emoji { font-size:2.3rem; }
.international-fixture-row .national-team-label strong { max-width:100%; font-size:.68rem; text-align:center; }
@media (max-width: 520px){
  .world-groups { grid-template-columns: 1fr; }
  .world-group-row { grid-template-columns: 22px minmax(0,1fr) auto; }
  .world-group-row > small { grid-column:2; }
  .world-group-row > b { grid-column:3; grid-row:1 / span 2; }
}

/* Notificações em cartões modernos e ações grandes o suficiente para toque. */
.notification-center-list { display:grid; gap:9px; }
.notification-center-item {
  grid-template-columns: 7px 42px minmax(0,1fr) auto !important;
  gap: 11px;
  padding: 12px !important;
  border: 1px solid var(--line);
  background: linear-gradient(135deg,var(--panel-2),color-mix(in srgb,var(--panel-2) 94%,var(--primary) 6%));
}
.notification-kind-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:color-mix(in srgb,var(--primary) 14%,var(--panel)); color:var(--primary) !important; font-size:1rem !important; }
.notification-item-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.notification-action-btn { min-height:34px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; font-size:.61rem; font-weight:600; cursor:pointer; }
.notification-action-btn.is-primary { color:var(--on-primary); background:linear-gradient(180deg,var(--primary),var(--primary-2)); border-color:transparent; }
.notification-action-btn.is-read { color:var(--text); background:var(--panel); }
.notification-read-label { display:inline-flex; align-items:center; gap:5px; color:var(--muted) !important; font-size:.59rem !important; text-transform:none !important; letter-spacing:0 !important; }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .notification-center-item { grid-template-columns:7px 38px minmax(0,1fr) !important; align-items:start; }
  .notification-kind-icon { width:38px; height:38px; }
  .notification-item-actions { grid-column:3; justify-content:flex-start; }


/* Prévia de compartilhamento sem corte ou deformação. */
.share-preview-canvas img { width:100%; height:100%; max-height:min(58dvh,680px); object-fit:contain; object-position:center; }

/* Nomes completos em placares permanecem legíveis e truncam apenas quando necessário. */
:is(.record-match-row,.calendar-fixture,.post-table-row,.live-team-key) b,
.live-team-key span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-table-club b { max-width: 180px; }
.live-team-key span { max-width: 48%; }
/* Nome completo é o padrão; a sigla permanece apenas como dado secundário ou fallback extremo. */
.fixture-full-name { display:inline !important; }
.fixture-short-name { display:none !important; }
.fixture-team strong,
.team-label b { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ===== Etapa 45 · contraste claro, rolagem estável e ao vivo compacto ===== */
:root {
  --shadow-surface: 0 8px 24px rgba(0,0,0,.16);
  --shadow-floating: 0 16px 38px rgba(0,0,0,.24);
  --shadow-inset: inset 0 0 0 1px rgba(255,255,255,.035);
}
html[data-theme="light"] {
  --shadow-surface: 0 7px 20px rgba(28,39,57,.075);
  --shadow-floating: 0 14px 34px rgba(28,39,57,.13);
  --shadow-inset: inset 0 0 0 1px rgba(28,39,57,.035);
}

/* Sombras de superfícies claras usam tons neutros e nunca halos preparados para fundo escuro. */
html[data-theme="light"] :is(
  .panel,.app-modal,.settings-tabs,.settings-nav-preview,.nav-custom-preview,
  .match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,
  .live-standings-pane,.live-management-bar,.live-info-tabs,.notification-center-item,
  .role-modern-card,.role-assignment-group,.substitution-choice-columns>section,
  .football-team-sheet,.live-player-spotlight,.team-squad-modal-row,.market-kpi-grid>button,
  .contract-dashboard>article,.market-offer-summary>article,.wiki-impact-card,.wiki-topic-row
) {
  box-shadow: var(--shadow-surface);
}
html[data-theme="light"] :is(.toast,.app-modal,.share-preview-dialog) { box-shadow: var(--shadow-floating); }
html[data-theme="light"] :is(.panel,.app-modal,.match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,.live-standings-pane,.live-management-bar,.live-info-tabs,.navbar,.settings-nav-preview,.nav-custom-preview)
  :is(h1,h2,h3,h4,p,span,strong,b,small,em,i,button,label,summary) { text-shadow: none; }
html[data-theme="light"] :is(.panel,.app-modal,.match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,.live-standings-pane,.live-management-bar,.live-info-tabs) { color: var(--text); }
html[data-theme="light"] :is(.panel,.app-modal,.match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,.live-standings-pane,.live-management-bar,.live-info-tabs) :is(p,small,em) { color: var(--muted); }
html[data-theme="light"] :is(.btn.secondary,.btn.ghost,.icon-button,.modal-back,.topbar-menu-button) { box-shadow: none; }

/* O tema claro remove sombras tipográficas por padrão. Elas retornam apenas em fundos realmente escuros. */
html[data-theme="light"] body :is(h1,h2,h3,h4,p,span,strong,b,small,em,i,button,label,summary) { text-shadow: none; }
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) { color: #fff; }
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) :is(p,small,span) { color: rgba(255,255,255,.80); }
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) :is(strong,b,h1,h2,h3,.score,.vs) { color: #fff; }
html[data-theme="light"] :is(
  .pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,.header-detail-hero,
  .manager-profile-hero-modern,.team-profile-hero-modern,.matchday-cinematic,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card
) :is(strong,b,h1,h2,h3,p,.score,.vs) { text-shadow: var(--dynamic-text-shadow,0 1px 2px rgba(0,0,0,.78)); }

/* .team-tone também aparece em cartões claros; nesses componentes o texto segue o tema. */
html[data-theme="light"] :is(
  .team-card.team-tone,.job-card.team-tone,.national-offer.team-tone,.editor-club-preview.team-tone,
  .player-editor-heading.team-tone,.transfer-deal-hero.team-tone,.football-team-sheet.team-tone
) { color: var(--text); }
html[data-theme="light"] :is(
  .team-card.team-tone,.job-card.team-tone,.national-offer.team-tone,.editor-club-preview.team-tone,
  .player-editor-heading.team-tone,.transfer-deal-hero.team-tone,.football-team-sheet.team-tone
) :is(strong,b,h1,h2,h3) { color: var(--text); text-shadow: none; }
html[data-theme="light"] :is(
  .team-card.team-tone,.job-card.team-tone,.national-offer.team-tone,.editor-club-preview.team-tone,
  .player-editor-heading.team-tone,.transfer-deal-hero.team-tone,.football-team-sheet.team-tone
) :is(p,small,span,em) { color: var(--muted); text-shadow: none; }

/* Ao vivo claro: controles, ícones, tabelas e narração sem texto claro sobre fundo claro. */
html[data-theme="light"] .match-screen { color: var(--text); }
html[data-theme="light"] .match-header,
html[data-theme="light"] .live-management-bar,
html[data-theme="light"] .live-info-tabs,
html[data-theme="light"] .live-info-workspace,
html[data-theme="light"] .match-events,
html[data-theme="light"] .other-live-panel,
html[data-theme="light"] .live-quick-statistics,
html[data-theme="light"] .live-lineups-pane,
html[data-theme="light"] .live-standings-pane {
  background: #fff;
  color: var(--text);
  border-color: rgba(28,39,57,.14);
}
html[data-theme="light"] .match-header :is(strong,span,small),
html[data-theme="light"] .live-management-bar :is(strong,span,small),
html[data-theme="light"] .live-info-tabs button,
html[data-theme="light"] .match-events .event,
html[data-theme="light"] .other-live-heading,
html[data-theme="light"] .live-competition-group,
html[data-theme="light"] .live-standings-head,
html[data-theme="light"] .live-table-row,
html[data-theme="light"] .football-team-sheet,
html[data-theme="light"] .football-player-chip { color: var(--text); text-shadow: none; }
html[data-theme="light"] .live-info-tabs button:not(.is-active) { color: #536174; }
html[data-theme="light"] .live-info-tabs button.is-active { color: #142033; background: color-mix(in srgb,var(--primary) 12%,#fff); }
html[data-theme="light"] .live-info-tabs button .fa-solid,
html[data-theme="light"] .live-standings-explainer .fa-solid,
html[data-theme="light"] .other-live-heading .fa-solid { color: var(--primary); }
html[data-theme="light"] .event-commentary-icon { color: #5e6b7d; }
html[data-theme="light"] .event-goal-icon { color: #087d45; filter: none; }
html[data-theme="light"] .event-substitution-icon { color: #087d45; }
html[data-theme="light"] .live-competition-list { background: #eef2f6; }
html[data-theme="light"] .live-competition-group { background: #fff; }
html[data-theme="light"] .live-competition-group > header { background: #edf2f7; color: #172033; }
html[data-theme="light"] .live-score-tile { background: #f7f9fc; border-color: rgba(28,39,57,.12); color: #172033; box-shadow: none; }
html[data-theme="light"] .live-score-tile :is(.live-club,b,strong,em) { color: #172033; text-shadow: none; }
html[data-theme="light"] .live-score-tile > em { color: #667085; }
html[data-theme="light"] .live-table-columns { background: #f4f7fa; color: #5c697a; }
html[data-theme="light"] .live-table-row.is-user { background: color-mix(in srgb,var(--team-primary) 10%,#fff); }
html[data-theme="light"] .live-player-event { box-shadow: none; }
html[data-theme="light"] .role-player-card,
html[data-theme="light"] .substitution-player-card,
html[data-theme="light"] .football-player-chip { background: #fff; color: #172033; }

/* Placar de todos os jogos: nome, escudo, placar, escudo, nome. */
.live-score-tile {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  grid-template-rows: minmax(18px,1fr) auto;
  align-items: center;
  column-gap: 6px;
  row-gap: 0;
  min-height: 40px;
  padding: 4px 6px;
}
.live-score-tile .live-club.home {
  grid-column: 1;
  grid-row: 1 / span 2;
  flex-direction: row-reverse !important;
  justify-content: flex-start;
  text-align: right !important;
}
.live-score-tile .live-club.away {
  grid-column: 3;
  grid-row: 1 / span 2;
  flex-direction: row !important;
  justify-content: flex-start;
  text-align: left !important;
}
.live-score-tile > strong { grid-column: 2; grid-row: 1; align-self: end; min-width: 34px; }
.live-score-tile > em { grid-column: 2; grid-row: 2; align-self: start; justify-self: center; text-align: center; white-space: nowrap; }
.live-score-tile .live-club b { flex: 1 1 auto; }

/* Barra inferior e prévia usam a mesma geometria simples. */
.navbar-mobile,
.settings-nav-preview,
.nav-custom-preview {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr));
  align-items: end;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
}
.navbar-mobile { border-inline: 0 !important; border-bottom: 0 !important; }
.navbar-mobile .nav-btn:not(.nav-play),
.settings-nav-preview > span:not(.is-play),
.nav-custom-preview > span:not(.nav-custom-preview-play) {
  min-height: 52px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.navbar-mobile .nav-play,
.settings-nav-preview .is-play,
.nav-custom-preview-play {
  width: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  transform: translateY(-8px) !important;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--primary) 24%,transparent) !important;
}
.settings-nav-preview .is-play,
.nav-custom-preview-play { align-self: end; }

/* Papéis: estado selecionado e nota sempre na mesma linha e ocupando pouco espaço. */
.role-player-choice {
  grid-template-columns: 25px minmax(82px,1fr) auto !important;
  gap: 6px !important;
  min-width: 166px !important;
  padding: 6px 7px !important;
  border-radius: 10px !important;
}
.role-player-choice > span:first-child { width: 25px !important; height: 25px !important; }
.role-choice-score {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  min-width: 35px;
  color: var(--text);
}
.role-choice-score > b { font-size: .73rem; }
.role-choice-score > i { width: 14px; color: var(--primary); font-size: .65rem; }
.role-player-card {
  grid-template-columns: 25px minmax(0,1fr) 16px !important;
  gap: 5px !important;
  padding: 5px 6px !important;
}
.role-player-check { display: grid; place-items: center; width: 16px; color: var(--primary); font-style: normal; font-size: .65rem; }
.role-player-card.is-selected { box-shadow: inset 2px 0 var(--primary); }

/* Espectador: somente controles úteis no cabeçalho, sem barra vazia. */
.observer-live-mode.match-screen {
  grid-template-rows: auto minmax(210px,50dvh) auto minmax(0,1fr) !important;
}
.observer-live-mode .observer-clock { display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px; }
.observer-live-mode .observer-clock .icon-button { width: 30px; min-width: 30px; height: 30px; min-height: 32px; padding: 0; }
.observer-live-mode .observer-clock .observer-continue-button { color: var(--on-primary); background: linear-gradient(180deg,var(--primary),var(--primary-2)); border-color: transparent; }
.observer-live-mode .observer-management-bar { display: none !important; }
.observer-live-mode .observer-live-tabs { margin-top: 0; }

@media (max-width: 430px){
  .live-score-tile { min-height: 42px; padding-inline: 5px; }
  .live-score-tile .live-club b { font-size: .55rem; }
  .navbar-mobile .nav-play,
  .settings-nav-preview .is-play,
  .nav-custom-preview-play { width: 50px !important; min-width: 50px !important; min-height: 50px !important; transform: translateY(-6px) !important; }
  .role-player-choice { min-width: 150px !important; }
  .observer-live-mode .observer-header { grid-template-columns: auto minmax(0,1fr) auto !important; }
}


/* Auditoria de sombras do tema claro: profundidade suave, sem halos pretos pesados. */
html[data-theme="light"] .game-shell { box-shadow: 0 22px 60px rgba(28,39,57,.12); }
html[data-theme="light"] :is(
  .market-card,.contract-card,.offer-card,.auto-manager-floating,.finance-flyout,.finance-flyout-modern,
  .main-view-hero,.club-heading,.market-player-card-v2,.contract-card-v2,.quick-menu-grid button,
  .strategy-canvas-shell,.world-group,.settings-tabs,.notification-center-item
) { box-shadow: var(--shadow-surface); }
html[data-theme="light"] :is(.market-player-card-v2:hover,.contract-card-v2:hover,.quick-menu-grid button:hover,.quick-menu-grid button:focus-visible) {
  box-shadow: 0 10px 24px rgba(28,39,57,.105);
}
html[data-theme="light"] :is(.sticky-action-bar,.unemployed-action-bar,.match-action-row,.navbar-mobile) {
  box-shadow: 0 -8px 20px rgba(28,39,57,.075);
}
html[data-theme="light"] .setup-mode-switch button.is-active { box-shadow: 0 4px 12px rgba(28,39,57,.09); }
html[data-theme="light"] .toggle-row input::after { box-shadow: 0 2px 5px rgba(28,39,57,.16); }
html[data-theme="light"] .manager-profile-photo-modern { box-shadow: 0 10px 24px rgba(28,39,57,.14); }
html[data-theme="light"] .world-group { box-shadow: 0 6px 18px rgba(28,39,57,.065); }

/* Ao vivo claro: todo texto interno de superfícies claras herda cores legíveis. */
html[data-theme="light"] :is(
  .match-header,.live-management-bar,.live-info-tabs,.live-info-workspace,.match-events,.other-live-panel,
  .live-quick-statistics,.live-lineups-pane,.live-standings-pane,.football-team-sheet,.live-competition-group,
  .live-score-tile,.live-table-row,.live-standings-head,.live-player-spotlight
) :is(button,label,summary,strong,b,h1,h2,h3,h4,span) { color: var(--text); text-shadow: none; }
html[data-theme="light"] :is(
  .match-header,.live-management-bar,.live-info-tabs,.live-info-workspace,.match-events,.other-live-panel,
  .live-quick-statistics,.live-lineups-pane,.live-standings-pane,.football-team-sheet,.live-competition-group,
  .live-score-tile,.live-table-row,.live-standings-head,.live-player-spotlight
) :is(p,small,em) { color: var(--muted); text-shadow: none; }
html[data-theme="light"] .football-team-sheet-head { background: color-mix(in srgb,var(--team-primary) 7%,#fff); color: var(--text); }
html[data-theme="light"] .football-team-sheet-head > b,
html[data-theme="light"] .football-team-sheet-head > b .fa-solid { color: var(--team-primary); }
html[data-theme="light"] .football-player-chip .live-shirt-number { color: #fff; text-shadow: none; }
html[data-theme="light"] .live-player-event.is-goal,
html[data-theme="light"] .live-player-event.is-assist,
html[data-theme="light"] .live-player-event.is-sub { color: #087d45; }
html[data-theme="light"] .live-player-event.is-yellow { color: #8a6500; }
html[data-theme="light"] .live-player-event.is-red,
html[data-theme="light"] .live-player-event.is-injury { color: #b4233b; }
html[data-theme="light"] .live-management-actions .btn:not(.live-pause-button):not(.integrity-action) {
  background: #f1f4f8; color: #172033; border-color: rgba(28,39,57,.14); box-shadow: none;
}
html[data-theme="light"] .live-management-actions .btn:not(.live-pause-button):not(.integrity-action) :is(span,small,.fa-solid) { color: inherit; }
html[data-theme="light"] .observer-live-mode .observer-clock .icon-button:not(.observer-continue-button) {
  background: #f1f4f8; color: #172033; border-color: rgba(28,39,57,.14); box-shadow: none;
}

/* Barra real e duas prévias compartilham exatamente a mesma base e o mesmo botão central. */
.navbar-mobile,
.settings-nav-preview,
.nav-custom-preview {
  min-height: 58px;
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-inline: 0 !important;
  border-bottom: 0 !important;
}
.navbar-mobile .nav-btn,
.settings-nav-preview > span,
.nav-custom-preview > span {
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 4px 2px !important;
}
.navbar-mobile .nav-play,
.settings-nav-preview .is-play,
.nav-custom-preview-play {
  justify-self: center !important;
  align-self: end !important;
  padding: 0 !important;
  aspect-ratio: 1 !important;
}
html[data-theme="light"] :is(.navbar-mobile,.settings-nav-preview,.nav-custom-preview) { background: #fff !important; }

/* Indicadores selecionados ficam em coluna estável, sem quebrar a linha. */
:is(.role-player-choice,.role-player-card) .fa-check { display: inline-block; line-height: 1; }
.role-player-choice > :nth-child(2), .role-player-card > :nth-child(2) { min-width: 0; }
.role-player-choice > :nth-child(2) :is(strong,small), .role-player-card > :nth-child(2) :is(strong,small) {
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ===== Base visual da Etapa 46, consolidada na versão 48 ===== */
:root {
  --mobile-page-gutter: 10px;
  --bottom-nav-base-height: 58px;
  --bottom-nav-rise: 8px;
  --bottom-nav-final-height: calc(var(--bottom-nav-base-height) + var(--bottom-nav-rise) + var(--safe-bottom));
  --surface-radius: 18px;
  --surface-border: color-mix(in srgb, var(--line) 88%, transparent);
}

/* Página inicial: todos os cartões principais usam a mesma linguagem visual. */
.setup-stage { align-items: start; }
.setup-stage .landing-surface,
.setup-actions > .setup-help {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--surface-border);
  border-radius: var(--surface-radius);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 97%, var(--primary) 3%), var(--panel));
  box-shadow: var(--shadow-surface);
}
.setup-stage .landing-surface::before,
.setup-actions > .setup-help::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 34%, var(--secondary, var(--club-secondary))));
  opacity: .9;
}
.landing-live-card { padding: 16px; }
.landing-live-card .landing-demo-head,
.landing-save-card .panel-heading-row,
.landing-career-card .panel-heading-row,
.landing-create-card .settings-section-heading { padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.landing-live-card .demo-live-block,
.landing-live-card .demo-table-block,
.landing-live-card .demo-newsroom {
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel-2) 96%, var(--primary) 4%);
}
.landing-live-card .demo-live-block,
.landing-live-card .demo-table-block { padding: 10px; }
.landing-live-card .demo-newsroom { padding: 10px; }
.landing-save-card .save-slot-list,
.landing-career-card .team-grid { margin-top: 10px; }
.landing-career-card .manager-name-field,
.landing-career-card .team-picker-tools,
.landing-create-card > label,
.landing-create-card > .editor-grid,
.landing-create-card > details { margin-top: 10px; }
.setup-actions > .btn,
.setup-actions > .file-button { border-radius: 13px; }

/* Cards do painel inicial seguem o mesmo ritmo e hierarquia. */
.home-dashboard-grid > .panel {
  border: 1px solid var(--surface-border);
  border-radius: var(--surface-radius);
  box-shadow: var(--shadow-surface);
}
.home-dashboard-grid > .panel:not(.dashboard-hero) {
  background: linear-gradient(180deg, color-mix(in srgb, var(--panel) 98%, var(--primary) 2%), var(--panel));
}
.home-dashboard-grid .panel-heading-row { min-height: 34px; }
.home-dashboard-grid .panel-heading-row > div { min-width: 0; }
.home-dashboard-grid .panel-heading-row h3,
.home-dashboard-grid .panel-heading-row .panel-title { overflow-wrap: anywhere; }

/* Placares repetidos: sem cápsulas ou borda arredondada envolvendo cada clube. */
:is(.demo-match,.live-score-tile,.observer-tile,.record-match-row > div,.calendar-fixture,.post-match-scoreline,.fixture-card.modern-scoreline) {
  border-radius: 0 !important;
}
:is(.demo-match,.live-score-tile,.observer-tile) {
  border-inline: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  background: transparent !important;
}
:is(.demo-match-list,.live-fixture-grid,.observer-grid) > :last-child {
  border-bottom: 0 !important;
}
:is(.modern-scoreline,.live-score-tile,.observer-tile) :is(.fixture-team,.score-team,.live-club) {
  border: 0 !important;
  border-radius: 0 !important;
  padding-inline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.demo-match.modern-scoreline {
  min-height: 40px;
  padding: 6px 2px;
}
.live-score-tile {
  min-height: 42px;
  padding: 5px 2px;
}
.live-competition-group,
.observer-group {
  overflow: hidden;
  border-radius: 10px;
}
.live-fixture-grid,
.observer-grid { gap: 0 !important; }

/* Dia de jogo respeita o tema claro em toda a superfície. */
html[data-theme="light"] .matchday-cinematic {
  color: var(--text);
  text-shadow: none;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--home-primary) 13%, transparent), transparent 34%),
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--away-primary) 13%, transparent), transparent 34%),
    linear-gradient(180deg, #ffffff, #f4f7fa);
  border-color: rgba(28,39,57,.13);
  box-shadow: 0 18px 44px rgba(28,39,57,.12);
}
html[data-theme="light"] .matchday-cinematic::before {
  opacity: .16;
  filter: saturate(.68) brightness(1.35);
}
html[data-theme="light"] .matchday-cinematic :is(strong,span,h1,h2,h3,p) { color: var(--text); text-shadow: none; }
html[data-theme="light"] .matchday-cinematic :is(small,.kicker) { color: var(--muted); text-shadow: none; }
html[data-theme="light"] .matchday-versus span { color: color-mix(in srgb, var(--primary) 78%, #173326); }
html[data-theme="light"] .matchday-info-grid span {
  border-color: rgba(28,39,57,.12);
  background: rgba(255,255,255,.84);
  box-shadow: 0 5px 15px rgba(28,39,57,.055);
}
html[data-theme="light"] .matchday-team .crest { filter: drop-shadow(0 8px 15px rgba(28,39,57,.14)); }

/* Uma única caixa física para a navegação inferior; o botão central ocupa a elevação prevista. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  .navbar {
    height: var(--bottom-nav-final-height) !important;
    min-height: var(--bottom-nav-final-height) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
  }
  .navbar-mobile {
    position: absolute;
    inset: auto 0 0;
    height: calc(var(--bottom-nav-base-height) + var(--safe-bottom));
    min-height: calc(var(--bottom-nav-base-height) + var(--safe-bottom));
    padding: 0 0 var(--safe-bottom) !important;
    border: 0 !important;
    border-top: 1px solid var(--line) !important;
    background: var(--panel) !important;
    box-shadow: 0 -7px 18px rgba(0,0,0,.12) !important;
  }
  html[data-theme="light"] .navbar-mobile {
    background: #fff !important;
    box-shadow: 0 -7px 18px rgba(28,39,57,.07) !important;
  }
  .navbar-mobile .nav-btn:not(.nav-play) { min-height: var(--bottom-nav-base-height) !important; }
  .navbar-mobile .nav-play { transform: translateY(calc(-1 * var(--bottom-nav-rise))) !important; }
  .content { padding-bottom: calc(var(--bottom-nav-final-height) + 8px) !important; }


/* Seleções: bandeira em emoji é o único símbolo visual em qualquer tela. */
.national-crest-emoji {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  line-height: 1;
  font-size: 2rem;
  background: transparent;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.18));
}
.national-crest-emoji.is-nano { width: 18px; height: 18px; font-size: 1rem; }
.national-crest-emoji.is-micro,
.national-crest-emoji.is-tiny { width: 24px; height: 24px; font-size: 1.3rem; }
.national-crest-emoji.is-small { width: 42px; height: 42px; font-size: 2.15rem; }
.national-crest-emoji.is-medium { width: 54px; height: 54px; font-size: 2.8rem; }
.national-crest-emoji.is-featured,
.national-crest-emoji.is-large { width: 76px; height: 76px; font-size: 4rem; }
.international-hero .national-crest-emoji,
.national-offer .national-crest-emoji { justify-self: center; }
.live-score-tile .national-crest-emoji.is-nano { width: 18px; height: 18px; font-size: 1rem; }
.score-fixture-team .national-crest-emoji { width: 42px; height: 42px; font-size: 2.2rem; }
.pitch-score .score-fixture-team .national-crest-emoji { width: 30px; height: 30px; font-size: 1.65rem; }
html[data-theme="light"] .national-crest-emoji,
html[data-theme="light"] .national-flag-emoji { filter: drop-shadow(0 2px 3px rgba(28,39,57,.12)); }

/* Pós-jogo: fluxo vertical real, sem cards absolutos, contenção ou sobreposição. */
.live-info-workspace,
.live-match-pane { contain: none !important; }
.live-finish-pane,
.live-finish-pane.is-active {
  position: relative !important;
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 0 12px !important;
  isolation: isolate;
}
.live-finish-pane > .post-match-summary {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
.live-finish-pane .post-match-head {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 13px;
  overflow: hidden;
}
.live-finish-pane .post-match-head > .post-match-result-copy {
  display: block !important;
  width: 100%;
  min-height: 0;
  margin: 0 !important;
}
.live-finish-pane .post-match-scoreline { width: 100%; margin: 0; }
.live-finish-pane .post-match-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr);
  grid-auto-flow: row;
  align-items: start;
  gap: 10px;
  width: 100%;
  min-height: 0;
}
.live-finish-pane .post-match-collapsible-card {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  overflow: clip;
  contain: none !important;
}
.live-finish-pane .post-match-card-body,
.live-finish-pane .post-match-card-collapse,
.live-finish-pane .post-match-card-content { position: relative; min-width: 0; }
.live-finish-pane .finish-action-row {
  position: static !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 2px !important;
  border: 0 !important;
  background: transparent !important;
}


/* Repetições ganham os mesmos espaçamentos, divisores e estados. */
:is(.save-slot-list,.mini-list,.ranking-list,.notification-center-list,.demo-match-list,.live-fixture-grid,.observer-grid) {
  display: grid;
  gap: 0;
}
:is(.save-slot-row,.mini-row,.ranking-row,.notification-center-item) {
  border-radius: 0;
  border-inline: 0;
  border-top: 0;
  box-shadow: none;
}
:is(.save-slot-list,.mini-list,.ranking-list,.notification-center-list) > :last-child { border-bottom: 0; }

/* Em celular, superfícies de página usam a largura disponível e evitam bordas laterais decorativas. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  :root { --surface-radius: 0px; }
  .content { padding-inline: 0 !important; }
  .content > :is(.view-title,.subtabs,.settings-tabs,.main-view-hero,.league-selector),
  .content > .stack > :not(.panel),
  .content > form:not(.panel) { margin-inline: var(--mobile-page-gutter); }
  .content > .stack { gap: 8px; }
  .content > .panel,
  .content > .stack > .panel,
  .content > .stack > section.panel,
  .home-dashboard-grid > .panel,
  .settings-group,
  .main-view-hero,
  .club-heading,
  .market-command-hero {
    border-inline: 0 !important;
    border-radius: 0 !important;
    margin-inline: 0 !important;
    box-shadow: none !important;
  }
  .setup-screen { padding-inline: 0 !important; }
  .setup-hero { border-radius: 0 !important; }
  .setup-stage { gap: 10px; padding-inline: 0 !important; }
  .setup-stage > .landing-surface,
  .setup-actions > .landing-surface,
  .setup-actions > .setup-help {
    border-inline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .setup-actions { gap: 9px; }
  .setup-actions > :not(.landing-surface):not(.setup-help) { margin-inline: var(--mobile-page-gutter); }
  .setup-actions > .landing-surface,
  .setup-actions > .setup-help { padding-inline: var(--mobile-page-gutter); }
  .landing-live-card { padding-inline: var(--mobile-page-gutter); }
  .landing-live-card .demo-live-block,
  .landing-live-card .demo-table-block,
  .landing-live-card .demo-newsroom { border-inline: 0; border-radius: 0; margin-inline: calc(-1 * var(--mobile-page-gutter)); padding-inline: var(--mobile-page-gutter); }
  .live-competition-group,
  .observer-group { border-inline: 0; border-radius: 0; }
  .match-header,
  .live-management-bar,
  .live-info-tabs,
  .live-info-workspace { margin-inline: 0 !important; border-inline: 0 !important; border-radius: 0 !important; }
  .live-finish-pane .post-match-head,
  .live-finish-pane .post-match-collapsible-card { border-inline: 0 !important; border-radius: 0 !important; }
  .live-finish-pane .post-match-grid { gap: 7px; }


/* O painel final só entra no fluxo quando a aba Pós-jogo estiver ativa. */
.live-finish-pane:not(.is-active) { display: none !important; }
.live-finish-pane.is-active { display: block !important; }

/* ===== Etapa 51 · sombras essenciais, contraste e submenus consistentes ===== */
:root {
  --control-strong-bg: #238a57;
  --control-strong-hover: #1a754a;
  --control-strong-text: #ffffff;
  --control-paused-bg: #8a5b00;
  --control-paused-text: #ffffff;
  --floating-shadow: 0 18px 48px rgba(0,0,0,.30);
  --edge-shadow: 0 -5px 14px rgba(0,0,0,.10);
}
html[data-theme="light"] {
  --control-strong-bg: #0b7544;
  --control-strong-hover: #075f37;
  --control-strong-text: #ffffff;
  --control-paused-bg: #765000;
  --control-paused-text: #ffffff;
  --floating-shadow: 0 18px 44px rgba(28,39,57,.16);
  --edge-shadow: 0 -4px 12px rgba(28,39,57,.055);
}

/* Superfícies comuns não precisam de profundidade artificial. */
html body :is(
  .panel,
  [class$="-card"], [class*="-card "],
  [class$="-row"], [class*="-row "],
  .main-view-hero, .club-heading, .world-group,
  .settings-tabs, .subtabs, .live-info-tabs, .observer-live-tabs,
  .editor-side-menu, .fc-tabs, .wiki-category-strip, .wiki-progress-filters,
  .settings-nav-preview, .nav-custom-preview, .navbar-mobile,
  .matchday-cinematic, .matchday-info-grid > span,
  .opening-scoreboard, .strategy-canvas-shell
) {
  box-shadow: none !important;
}

/* Sombras permanecem apenas em elementos realmente flutuantes sobre conteúdo variável. */
.toast,
.app-modal,
.share-preview-dialog,
.finance-flyout,
.finance-flyout-modern {
  box-shadow: var(--floating-shadow) !important;
}

/* mobile-only: regra ampla incorporada ao estilo-base */

  .navbar-mobile { box-shadow: none !important; }


/* Foco e estados usam contorno/borda em vez de halo decorativo. */
:is(input,select,textarea,button,a,[tabindex]):focus-visible {
  outline: 2px solid color-mix(in srgb,var(--primary) 72%,transparent);
  outline-offset: 2px;
  box-shadow: none !important;
}
tr.promotion-row td:first-child { border-left: 3px solid var(--primary); }
tr.relegation-row td:first-child { border-left: 3px solid var(--danger); }
tr.continental-row td:first-child { border-left: 3px solid #347fc4; }
:is(.auto-manager-panel.is-running,.substitution-player-card.is-selected,.role-player-card.is-selected,.football-player-chip.is-sent-off,.football-player-chip.is-injured) {
  border-left-width: 3px !important;
  border-left-style: solid !important;
}
.auto-manager-panel.is-running,
.substitution-player-card.is-selected,
.role-player-card.is-selected { border-left-color: var(--primary) !important; }
.football-player-chip.is-sent-off { border-left-color: var(--danger) !important; }
.football-player-chip.is-injured { border-left-color: #c95f2a !important; }

/* Text-shadow somente em superfícies com fotografia, campo ou gradiente variável. */
html body :is(h1,h2,h3,h4,p,span,strong,b,small,em,i,button,label,summary) {
  text-shadow: none !important;
}
:is(
  .topbar,
  .pitch-score,
  .live-pitch-caption,
  .live-event-overlay,
  .header-detail-hero,
  .manager-profile-hero-modern,
  .team-profile-hero-modern,
  .market-command-hero,
  .celebration-card,
  .tactic-identity-card,
  .opponent-hero,
  .legacy-museum-hero,
  .shootout-card,
  .game-opening-hero,
  .club-identity-card
) :is(h1,h2,h3,h4,p,span,strong,b,small,em) {
  text-shadow: 0 1px 2px rgba(0,0,0,.72) !important;
}
html[data-theme="light"] .matchday-cinematic :is(h1,h2,h3,h4,p,span,strong,b,small,em) {
  text-shadow: none !important;
}

/* Todos os submenus compartilham a linguagem visual e a rolagem horizontal de Ajustes. */
:is(
  .subtabs,
  .settings-tabs,
  .live-info-tabs,
  .observer-live-tabs,
  .editor-side-menu,
  .fc-tabs,
  .wiki-category-strip,
  .wiki-progress-filters,
  .setup-mode-switch
) {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: 100%;
  max-width: 100%;
  margin-bottom: 12px;
  padding: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb,var(--panel) 94%,transparent) !important;
  backdrop-filter: blur(12px);
}
:is(
  .subtabs,
  .settings-tabs,
  .live-info-tabs,
  .observer-live-tabs,
  .editor-side-menu,
  .fc-tabs,
  .wiki-category-strip,
  .wiki-progress-filters,
  .setup-mode-switch
) > :is(button,a) {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: 40px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: .68rem;
  font-weight: 600;
  white-space: nowrap;
  scroll-snap-align: center;
}
:is(
  .subtabs,
  .settings-tabs,
  .live-info-tabs,
  .observer-live-tabs,
  .editor-side-menu,
  .fc-tabs,
  .wiki-category-strip,
  .wiki-progress-filters,
  .setup-mode-switch
) > :is(button,a).is-active,
:is(
  .subtabs,
  .settings-tabs,
  .live-info-tabs,
  .observer-live-tabs,
  .editor-side-menu,
  .fc-tabs,
  .wiki-category-strip,
  .wiki-progress-filters,
  .setup-mode-switch
) > :is(button,a)[aria-selected="true"] {
  color: var(--text) !important;
  border-color: color-mix(in srgb,var(--primary) 38%,var(--line)) !important;
  border-bottom-color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)) !important;
  box-shadow: none !important;
}
:is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters,.setup-mode-switch) > :is(button,a) .fa-solid {
  color: currentColor !important;
}
#view > :is(.subtabs,.settings-tabs,.fc-tabs,.wiki-category-strip) {
  position: sticky;
  top: 0;
  z-index: calc(var(--z-content-sticky,20) + 1);
}

/* Tema claro: contraste previsível em qualquer superfície ou controle. */
html[data-theme="light"] :is(
  .content,.panel,[class$="-card"],[class*="-card "],[class$="-row"],[class*="-row "],
  .settings-group,.settings-tabs,.subtabs,.live-info-tabs,.observer-live-tabs,
  .editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters,
  .app-modal,.match-events,.other-live-panel,.live-info-workspace,.live-quick-statistics,
  .live-lineups-pane,.live-standings-pane,.football-team-sheet
) {
  color: var(--text);
}
html[data-theme="light"] :is(
  .panel,[class$="-card"],[class*="-card "],[class$="-row"],[class*="-row "],
  .settings-group,.app-modal,.match-events,.other-live-panel,.live-info-workspace,
  .live-quick-statistics,.live-lineups-pane,.live-standings-pane,.football-team-sheet
) :is(h1,h2,h3,h4,strong,b,label,summary) {
  color: var(--text);
}
html[data-theme="light"] :is(
  .panel,[class$="-card"],[class*="-card "],[class$="-row"],[class*="-row "],
  .settings-group,.app-modal,.match-events,.other-live-panel,.live-info-workspace,
  .live-quick-statistics,.live-lineups-pane,.live-standings-pane,.football-team-sheet
) :is(p,small,em) {
  color: var(--muted);
}
html[data-theme="light"] :is(input,select,textarea,option) {
  color: #172033 !important;
  background-color: #ffffff !important;
  border-color: rgba(28,39,57,.18) !important;
}
html[data-theme="light"] :is(input,textarea)::placeholder { color: #6b7789; opacity: 1; }
html[data-theme="light"] :is(button,.icon-button,.modal-back,.modal-close) { color: var(--text); }
html[data-theme="light"] .btn.secondary,
html[data-theme="light"] .btn.ghost {
  color: #172033 !important;
  background: #eef2f6 !important;
  border-color: rgba(28,39,57,.15) !important;
}
html[data-theme="light"] .btn.danger { color: #fff !important; }
html[data-theme="light"] :is(.badge,.rank-move,.notification-status,.live-player-event) { text-shadow: none !important; }
html[data-theme="light"] table { color: #172033; }
html[data-theme="light"] th { color: #4b596b; }
html[data-theme="light"] td { color: #172033; }

/* Controles da transmissão não dependem da cor do clube. */
.live-pause-button,
.observer-live-mode .observer-clock #observerPauseBtn,
.observer-live-mode .observer-clock #observerSkipBtn {
  color: var(--control-strong-text) !important;
  background: var(--control-strong-bg) !important;
  border-color: transparent !important;
}
.live-pause-button :is(span,small,.fa-solid),
.observer-live-mode .observer-clock :is(#observerPauseBtn,#observerSkipBtn) .fa-solid {
  color: inherit !important;
}
.live-pause-button.is-paused {
  color: var(--control-paused-text) !important;
  background: var(--control-paused-bg) !important;
}
.live-pause-button:not(:disabled):hover,
.observer-live-mode .observer-clock :is(#observerPauseBtn,#observerSkipBtn):not(:disabled):hover {
  background: var(--control-strong-hover) !important;
}
.live-pause-button.is-ended,
.live-pause-button:disabled,
.observer-live-mode .observer-clock :is(#observerPauseBtn,#observerSkipBtn):disabled {
  color: var(--muted) !important;
  background: var(--panel-2) !important;
  border-color: var(--line) !important;
}

/* Bloco arredondado nunca encosta na borda da tela; full-bleed usa cantos retos. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  #view > :is(.subtabs,.settings-tabs,.fc-tabs,.wiki-category-strip) {
    width: calc(100% - (var(--mobile-page-gutter) * 2)) !important;
    margin-inline: var(--mobile-page-gutter) !important;
  }
  .match-screen :is(.live-info-tabs,.observer-live-tabs),
  .live-info-workspace,
  .match-header,
  .live-management-bar {
    border-inline: 0 !important;
    border-radius: 0 !important;
    margin-inline: 0 !important;
  }
  .content > :is(.panel,.main-view-hero,.club-heading,.market-command-hero),
  .content > .stack > .panel {
    border-radius: 0 !important;
    margin-inline: 0 !important;
  }
  .content :is(.panel,[class$="-card"],[class*="-card "]) :is(.panel,[class$="-card"],[class*="-card "]) {
    margin-inline: 0;
  }


/* Exceções de contraste: estas superfícies continuam escuras/dinâmicas também no tema claro. */
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) {
  color: #ffffff;
}
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) :is(h1,h2,h3,h4,strong,b,label,summary,button) {
  color: #ffffff !important;
}
html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) :is(p,small,em,span) {
  color: rgba(255,255,255,.82);
}
html[data-theme="light"] .topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context,.club-meta) {
  color: #ffffff !important;
}


/* Auditoria final de sombras: profundidade apenas para camadas sobrepostas. */
:is(
  .game-shell,.app-screen,.navbar-mobile,.nav-play,.settings-nav-play,.nav-custom-play,
  .subtab.is-active,.live-info-tabs button.is-active,.setup-mode-switch button.is-active,
  .danger-dot,.live-dot,.level-dots i.is-on,.team-label i,.theme-preview-dot,
  .toggle-row input::after,.notification-badge,.notification-status,
  .team-select.is-selected,.team-select[aria-pressed="true"],
  .team-card.is-selected,.team-card[aria-pressed="true"],
  .clone-candidate.is-selected,.tactic-choice.is-selected,.tactic-modern-option.is-selected,
  .bench-player-card.is-selected,.role-player-choice.is-selected,
  .wiki-search-box:focus-within,.opening-primary,.opening-scoreboard > span::before,
  .quick-menu-grid button,.quick-menu-grid button > span,
  .investment-confirmation-icon,.live-table-row.is-user,.live-player-spotlight,
  .football-player-chip:hover
) {
  box-shadow: none !important;
}

/* Estas camadas flutuam sobre conteúdo variável e conservam separação visual. */
:is(
  .toast,.app-modal,.share-preview-dialog,.finance-flyout,.finance-flyout-modern,
  .live-event-overlay,.shootout-card,.penalty-minigame-panel,.auto-manager-floating
) {
  box-shadow: var(--floating-shadow) !important;
}

/* No celular, todo bloco que conserva cantos arredondados recebe respiro lateral. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  #view > :is(
    .settings-autosave-banner,.market-kpi-grid,.gameplay-mode-grid,
    .settings-nav-preview,.nav-custom-preview,.world-groups,
    .competition-group-grid,.setup-mode-switch
  ) {
    width: calc(100% - (var(--mobile-page-gutter) * 2)) !important;
    margin-inline: var(--mobile-page-gutter) !important;
  }


/* Cards de mercado usam borda e movimento, sem sombra decorativa. */
:is(
  .market-kpi-grid > button,.market-kpi-grid > button:hover,
  .contract-dashboard > article,.market-offer-summary > article,
  .market-player-card-v2,.market-player-card-v2:hover,
  .contract-card-v2,.contract-card-v2:hover
) {
  box-shadow: none !important;
}

/* ===== Etapa 51 · notificações unificadas, cards com respiro e competições ao vivo ===== */

/* O modal de compartilhamento usa uma área rolável própria; cabeçalho e ações não comprimem a prévia. */
.share-studio-dialog {
  width: min(100%, 980px);
  max-height: min(94dvh, 900px);
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.share-studio-dialog .share-preview-head {
  flex: 0 0 auto;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
.share-studio-body {
  min-height: 0;
  overflow-y: auto;
  padding: 16px 18px;
  display: grid;
  gap: 16px;
}
.share-studio-dialog .share-studio-layout { gap: 18px; }
.share-studio-dialog .share-preview-canvas {
  width: min(100%, 430px);
  aspect-ratio: 4 / 5;
  display: grid;
  place-items: center;
  background: #0b0d12;
}
.share-studio-dialog .share-preview-canvas img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
.share-studio-dialog .share-preview-loading { min-height: 0; height: 100%; }
.share-studio-dialog .share-caption-label textarea { min-height: 104px; }
.share-studio-dialog .share-studio-actions {
  flex: 0 0 auto;
  margin: 0;
  padding: 12px 18px calc(12px + var(--safe-bottom));
  border-top: 1px solid var(--line);
  background: var(--panel);
}
.share-matchup-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-2);
}
.share-matchup-team {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.share-matchup-team.is-home { justify-content: flex-end; text-align: right; }
.share-matchup-team.is-away { justify-content: flex-start; text-align: left; }
.share-matchup-team strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.share-matchup-team .crest { flex: 0 0 auto; filter: none; }
.share-matchup-score { min-width: 92px; display: grid; justify-items: center; gap: 3px; text-align: center; }
.share-matchup-score small,
.share-matchup-score span { color: var(--muted); font-size: .56rem; }
.share-matchup-score strong { font-size: 1.3rem; line-height: 1; }

/* Mata-mata no ao vivo: a aba Tabela acompanha a fase da competição, não a liga nacional. */
.live-standings-table.is-knockout { display: grid; gap: 10px; }
.live-knockout-stage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .64rem;
}
.live-knockout-stage strong { color: var(--text); }
.live-knockout-grid { display: grid; gap: 0; }
.live-knockout-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(76px,auto) minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 9px 8px;
  border-bottom: 1px solid var(--line);
}
.live-knockout-row:last-child { border-bottom: 0; }
.live-knockout-row.is-featured { background: color-mix(in srgb,var(--primary) 8%,transparent); }
.live-knockout-team {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
}
.live-knockout-team.is-home { justify-content: flex-end; text-align: right; }
.live-knockout-team.is-away { justify-content: flex-start; text-align: left; }
.live-knockout-team strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .67rem; }
.live-knockout-team.is-winner strong { color: var(--primary); }
.live-knockout-team.is-winner::after { content: "✓"; color: var(--primary); font-weight: 600; }
.live-knockout-team.is-home.is-winner::after { order: -1; }
.live-knockout-score { display: grid; justify-items: center; gap: 3px; text-align: center; }
.live-knockout-score strong { font-size: .96rem; }
.live-knockout-score small { color: var(--muted); font-size: .54rem; white-space: nowrap; }

/* Cards arredondados nunca encostam na lateral do celular. Contêineres retos continuam full-bleed. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  :root { --mobile-card-gutter: max(10px, var(--mobile-page-gutter)); --mobile-card-radius: 18px; }

  #view > :is(
    .panel,
    .settings-group,
    .main-view-hero,
    .club-heading,
    .market-command-hero,
    [class$="-card"],
    [class*="-card "]
  ) {
    width: calc(100% - (var(--mobile-card-gutter) * 2)) !important;
    margin-inline: var(--mobile-card-gutter) !important;
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
  }

  #view > :is(
    .stack,
    .home-dashboard-grid,
    .cup-grid,
    .calendar-list,
    .competition-group-grid,
    .world-groups,
    .notification-center-list,
    .ranking-list,
    .save-slot-list
  ):has(> :is(.panel,[class$="-card"],[class*="-card "],.calendar-week,.world-group)) {
    width: calc(100% - (var(--mobile-card-gutter) * 2)) !important;
    margin-inline: var(--mobile-card-gutter) !important;
  }

  #view > :is(
    .stack,
    .home-dashboard-grid,
    .cup-grid,
    .calendar-list,
    .competition-group-grid,
    .world-groups
  ) > :is(.panel,[class$="-card"],[class*="-card "],.calendar-week,.world-group) {
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
    margin-inline: 0 !important;
  }

  .setup-stage > .landing-surface,
  .setup-actions > :is(.landing-surface,.setup-help) {
    width: calc(100% - (var(--mobile-card-gutter) * 2)) !important;
    margin-inline: var(--mobile-card-gutter) !important;
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
  }

  .share-studio-overlay { padding: 0; place-items: end center; }
  .share-studio-dialog {
    width: 100%;
    height: min(96dvh, 920px);
    max-height: 96dvh;
    border-radius: 20px 20px 0 0;
    border-bottom: 0;
  }
  .share-studio-dialog .share-preview-head { padding: 13px 14px; }
  .share-preview-head > div > p { max-width: 42ch; }
  .share-studio-body { padding: 14px; gap: 14px; }
  .share-studio-layout { grid-template-columns: 1fr; gap: 12px; }
  .share-type-list { display: flex; gap: 7px; overflow-x: auto; padding: 0; }
  .share-type-card {
    min-width: 138px;
    grid-template-columns: 34px minmax(0,1fr);
    min-height: 54px;
    padding: 8px 9px;
  }
  .share-type-card > .fa-chevron-right,
  .share-type-card small { display: none; }
  .share-studio-dialog .share-preview-canvas { width: min(100%, 390px); }
  .share-studio-dialog .share-studio-actions {
    grid-template-columns: repeat(2,minmax(0,1fr));
    padding: 10px 10px calc(10px + var(--safe-bottom));
    gap: 7px;
  }
  .share-studio-actions > :last-child { grid-column: auto; }
  .share-studio-actions .btn { min-height: 44px; padding: 8px 6px; font-size: .62rem; }
  .share-matchup-summary { gap: 8px; padding: 10px; }
  .share-matchup-team { flex-direction: column; gap: 5px; text-align: center !important; justify-content: center !important; }
  .share-matchup-team.is-home { flex-direction: column-reverse; }
  .share-matchup-team strong { width: 100%; font-size: .64rem; text-align: center; }
  .share-matchup-score { min-width: 68px; }
  .share-matchup-score strong { font-size: 1.05rem; }
  .share-matchup-score small { max-width: 84px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }


/* A normalização identifica qualquer grupo de cards renderizado dinamicamente.
   O grupo recebe respiro lateral; superfícies retas sem cards continuam full-bleed. */

/* mobile-only: regra ampla incorporada ao estilo-base */

  #view > :is(.mobile-rounded-page-card,.mobile-rounded-card-group) {
    width: calc(100% - (var(--mobile-card-gutter) * 2)) !important;
    margin-inline: var(--mobile-card-gutter) !important;
  }
  #view > .mobile-rounded-page-card {
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
  }
  #view > .mobile-rounded-card-group :is(
    .panel,.settings-group,.main-view-hero,.club-heading,.market-command-hero,
    .calendar-week,.world-group,[class$="-card"],[class*="-card "]
  ) {
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
  }



/* mobile-only: regra ampla incorporada ao estilo-base */

  /* Cards internos de telas full-bleed, como o Ao vivo, recebem o próprio respiro
     sem reduzir a largura de toda a transmissão. */
  #view .mobile-edge-rounded-card {
    width: calc(100% - (var(--mobile-card-gutter) * 2)) !important;
    margin-inline: var(--mobile-card-gutter) !important;
    border-inline: 1px solid var(--surface-border, var(--line)) !important;
    border-radius: var(--mobile-card-radius) !important;
  }


/* ===== Etapa 51 · abas previsíveis, papéis compactos, ao vivo legível e compartilhamento refinado ===== */

/* Submenus empilhados: cada nível respeita a altura do anterior e o último recebe z-index maior. */
.content {
  isolation: isolate;
}
.content .is-sticky-submenu {
  position: sticky !important;
  top: var(--sticky-menu-top, 0px) !important;
  z-index: var(--sticky-menu-z, 600) !important;
  isolation: isolate;
  background-color: var(--panel) !important;
  background-image: none !important;
  background-clip: padding-box !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.14);
}
html[data-theme="light"] .content .is-sticky-submenu {
  background-color: #ffffff !important;
}
.content .is-sticky-submenu::before {
  content: "";
  position: absolute;
  inset: -4px -1px;
  z-index: -1;
  background: color-mix(in srgb, var(--bg) 94%, transparent);
  pointer-events: none;
}

/* Papéis: o indicador fica contido, alinhado e sem ultrapassar o cartão. */
.role-player-choice {
  overflow: hidden !important;
  isolation: isolate;
}
.role-choice-score {
  justify-self: end;
  flex: 0 0 auto;
  min-width: 42px;
  max-width: 52px;
  padding-left: 4px;
}
.role-choice-score > i {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px;
  display: grid !important;
  place-items: center !important;
  border-radius: 50%;
  line-height: 1 !important;
}
.role-choice-score > i.fa-check,
.role-choice-score > i[data-fa-i2svg] {
  color: var(--on-primary, #fff) !important;
  background: var(--primary);
  font-size: .56rem !important;
}
.role-choice-score > i:empty { visibility: hidden; }

/* Métricas de estratégia: ícones tratados como elementos gráficos, não quadrados crus. */
.tactic-metric-row article > span {
  min-height: 28px;
}
.tactic-metric-row article > span > .fa-solid {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 13%, var(--panel));
  border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--line));
  font-size: .66rem;
}

/* Propostas seguem a mesma malha e hierarquia das demais páginas. */
.market-tab-content {
  min-width: 0;
  display: grid;
  gap: 12px;
}
.market-offer-summary {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
  gap: 9px !important;
  margin: 0 !important;
}
.market-offer-summary > article,
.market-offer-summary > article:last-child {
  grid-column: auto !important;
  min-height: 78px;
  align-content: center;
}
.market-offers-layout {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}
.market-section-card {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.market-section-card .market-section-heading { margin-bottom: 0; }
.market-offer-list,
.market-deal-timeline { min-width: 0; }
.modern-offer-card {
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  grid-auto-rows: auto;
  min-width: 0;
  overflow: hidden;
}
.modern-offer-card > .badge {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  max-width: 100%;
}
.modern-offer-card .offer-main { grid-column: 2; grid-row: 1 / span 2; }
.modern-offer-card .offer-value {
  grid-column: 3;
  grid-row: 2;
  align-self: start;
  min-width: 84px;
}
.modern-offer-card .offer-actions {
  grid-column: 1 / -1 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
  width: 100%;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}
.modern-offer-card .offer-actions .btn {
  width: 100%;
  min-width: 0;
  justify-content: center;
}

/* Destaque da aba Times: medalha perfeitamente centralizada. */
.live-player-spotlight-icon {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.live-player-spotlight-icon > .fa-solid {
  display: grid !important;
  place-items: center !important;
  width: 1em;
  height: 1em;
  margin: 0 !important;
  line-height: 1 !important;
}

/* Estado final do controle de pausa mantém contraste explícito nos dois temas. */
:root {
  --control-ended-bg: #303846;
  --control-ended-text: #f8fafc;
}
html[data-theme="light"] {
  --control-ended-bg: #e8edf3;
  --control-ended-text: #243247;
}
.live-pause-button.is-ended,
.live-pause-button.is-ended:disabled {
  opacity: 1 !important;
  color: var(--control-ended-text) !important;
  background: var(--control-ended-bg) !important;
  border-color: color-mix(in srgb, var(--control-ended-text) 20%, var(--line)) !important;
}
.live-pause-button.is-ended :is(.fa-solid,span) { color: inherit !important; }

/* Central de jogos com leitura confortável em telas pequenas. */
.live-score-tile {
  min-height: 56px !important;
  padding: 8px 6px !important;
  column-gap: 8px !important;
}
.live-score-tile .crest.nano,
.live-score-tile .national-crest-emoji.is-nano {
  width: 21px !important;
  height: 25px !important;
  flex: 0 0 21px !important;
}
.live-score-tile .live-club { gap: 6px !important; }
.live-score-tile .live-club b { font-size: .67rem !important; line-height: 1.2; }
.live-score-tile > strong { min-width: 42px !important; font-size: .86rem !important; line-height: 1.1; }
.live-score-tile > em { font-size: .56rem !important; margin-top: 2px; }
.live-table-row { min-height: 42px; }
.live-table-club .crest { width: 22px !important; height: 26px !important; }
.live-table-club strong { font-size: .66rem !important; }
.football-player-chip { min-height: 42px; }
.football-player-chip strong,
.football-player-chip b { font-size: .66rem; }

/* Compartilhamento: editor compacto, sem conteúdo encavalado e com textarea tratada. */
.share-studio-dialog {
  width: min(94vw, 900px) !important;
  max-height: min(92dvh, 860px) !important;
  border-radius: 22px !important;
}
.share-studio-dialog .share-preview-head {
  padding: 14px 16px !important;
}
.share-studio-dialog .share-preview-head h2 { margin-top: 2px; }
.share-studio-dialog .share-preview-head p { margin-top: 4px; font-size: .68rem; }
.share-studio-body {
  padding: 14px 16px !important;
  gap: 12px !important;
}
.share-type-list {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 7px !important;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1px 0 3px;
}
.share-type-card {
  flex: 0 0 auto;
  min-width: 0 !important;
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 6px 10px !important;
  border-radius: 12px !important;
}
.share-type-card > span {
  width: 26px !important;
  height: 26px !important;
  border-radius: 8px !important;
}
.share-type-card > strong { font-size: .68rem !important; white-space: nowrap; }
.share-editor-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) minmax(230px, .9fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}
.share-studio-preview-column,
.share-copy-column { min-width: 0; }
.share-copy-column {
  display: grid;
  gap: 10px;
  align-content: start;
}
.share-studio-dialog .share-preview-canvas {
  width: min(100%, 390px) !important;
  margin-inline: auto;
  border-radius: 16px;
  overflow: hidden;
}
.share-studio-dialog .share-preview-canvas img {
  width: 100%;
  height: auto;
  max-height: min(54dvh, 590px) !important;
  object-fit: contain;
}
.share-caption-label {
  display: grid;
  gap: 7px !important;
  color: var(--text) !important;
  font-weight: 600;
}
.share-caption-label > span { font-size: .68rem; }
.share-caption-label textarea {
  width: 100%;
  min-height: 142px !important;
  max-height: 280px;
  padding: 11px 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 13px !important;
  color: var(--text);
  background: var(--panel-2);
  font: inherit;
  font-size: .72rem;
  line-height: 1.5;
  resize: vertical;
}
.share-caption-label textarea:focus {
  border-color: var(--primary) !important;
  outline: 2px solid color-mix(in srgb, var(--primary) 22%, transparent);
  outline-offset: 1px;
}
.share-card-address {
  min-width: 0;
  padding: 9px 10px !important;
  border-radius: 12px !important;
}
.share-card-address strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.share-studio-actions {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 8px !important;
  padding: 11px 16px calc(11px + env(safe-area-inset-bottom, 0px)) !important;
}
.share-studio-actions .btn { min-width: 0; justify-content: center; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .market-tab-content { padding-inline: var(--mobile-page-gutter); }
  .market-offer-summary { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .market-offer-summary > article { min-height: 74px !important; padding: 9px !important; }
  .market-section-card { border-radius: 16px !important; border-inline: 1px solid var(--line) !important; }
  .share-studio-overlay { place-items: end center; padding: 0; }
  .share-studio-dialog {
    width: 100% !important;
    max-height: 94dvh !important;
    border-radius: 20px 20px 0 0 !important;
  }
  .share-editor-grid { grid-template-columns: 1fr; gap: 10px; }
  .share-studio-dialog .share-preview-canvas { width: min(100%, 310px) !important; }
  .share-caption-label textarea { min-height: 108px !important; }
  .share-matchup-summary { padding: 9px !important; }


@media (max-width: 430px){
  .modern-offer-card {
    grid-template-columns: 38px minmax(0,1fr) !important;
    gap: 8px !important;
  }
  .modern-offer-card > .badge { grid-column: 2; grid-row: 2; justify-self: start; }
  .modern-offer-card .offer-main { grid-column: 2; grid-row: 1; }
  .modern-offer-card .offer-value {
    grid-column: 1 / -1;
    grid-row: 3;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 9px;
    border-radius: 10px;
    background: var(--panel-2);
    text-align: left;
  }
  .modern-offer-card .offer-actions { grid-row: 4; }
  .live-score-tile { min-height: 52px !important; padding-inline: 4px !important; }
  .live-score-tile .crest.nano,
  .live-score-tile .national-crest-emoji.is-nano { width: 19px !important; height: 23px !important; flex-basis: 19px !important; }
  .live-score-tile .live-club b { font-size: .61rem !important; }
  .live-score-tile > strong { min-width: 38px !important; font-size: .8rem !important; }
  .share-studio-actions .btn { padding-inline: 5px !important; font-size: .62rem; }
}

/* O estado selecionado usa contraste e borda, sem deslocar o conteúdo com sombra. */
.role-player-choice.is-selected { box-shadow: none !important; }

/* ===== Versão 51 · seleções jogáveis, avisos modernos e propostas padronizadas ===== */
.national-squad-manager {
  display: grid;
  gap: 14px;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--club-primary) 32%, var(--line));
}
.national-squad-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}
.national-squad-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.national-squad-title > div { min-width: 0; }
.national-squad-title h3,
.national-squad-title p { margin: 0; }
.national-squad-title p { margin-top: 4px; color: var(--muted); font-size: .69rem; line-height: 1.45; }
.national-squad-readiness {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--text);
  background: var(--panel-2);
}
.national-squad-readiness > i { font-size: 1rem; }
.national-squad-readiness > span { display: grid; gap: 2px; }
.national-squad-readiness strong { font-size: .66rem; }
.national-squad-readiness small { color: var(--muted); font-size: .56rem; }
.national-squad-readiness.is-ready { border-color: color-mix(in srgb, #20a566 42%, var(--line)); }
.national-squad-readiness.is-ready > i { color: #20a566; }
.national-squad-readiness.is-warning { border-color: color-mix(in srgb, #d59628 45%, var(--line)); }
.national-squad-readiness.is-warning > i { color: #d59628; }
.national-squad-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 8px;
}
.national-squad-summary article {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.national-squad-summary article > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  border-radius: 11px;
  color: var(--club-primary-contrast, var(--on-primary));
  background: var(--club-primary);
}
.national-squad-summary article > div { display: grid; gap: 2px; min-width: 0; }
.national-squad-summary small { color: var(--muted); font-size: .56rem; }
.national-squad-summary strong { font-size: .95rem; line-height: 1; }
.national-squad-summary strong em { margin-left: 2px; color: var(--muted); font-size: .56rem; font-style: normal; font-weight: 600; }
.national-squad-tabs { margin: 0; }
.national-squad-tabs button { display: inline-flex; align-items: center; gap: 6px; }
.national-squad-tabs button > span {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  color: var(--muted);
  background: var(--panel-2);
  font-size: .54rem;
}
.national-squad-tabs button.is-active > span { color: inherit; background: color-mix(in srgb, currentColor 12%, transparent); }
.national-squad-filters {
  display: grid;
  grid-template-columns: minmax(210px,1.45fr) repeat(4,minmax(118px,.75fr));
  gap: 8px;
  align-items: end;
}
.national-squad-filters label { display: grid; gap: 5px; min-width: 0; }
.national-squad-filters label > span { color: var(--muted); font-size: .56rem; font-weight: 600; }
.national-squad-filters input,
.national-squad-filters select {
  width: 100%;
  min-width: 0;
  min-height: 39px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--text);
  background: var(--panel-2);
  font: inherit;
  font-size: .66rem;
}
.national-squad-search { position: relative; }
.national-squad-search > i {
  position: absolute;
  left: 11px;
  bottom: 12px;
  z-index: 1;
  color: var(--muted);
  pointer-events: none;
}
.national-squad-search input { padding-left: 31px; }
.national-player-list { display: grid; gap: 7px; min-width: 0; }
.national-player-card {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 52px auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.national-player-card.is-called { border-color: color-mix(in srgb, var(--club-primary) 38%, var(--line)); }
.national-player-card.is-starter { background: color-mix(in srgb, var(--club-primary) 7%, var(--panel-2)); }
.national-player-club {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--panel);
}
.national-player-club .crest { width: 27px !important; height: 31px !important; }
.national-player-flag { font-size: 1.45rem; line-height: 1; }
.national-player-copy { display: grid; gap: 2px; min-width: 0; }
.national-player-copy small { color: var(--club-primary); font-size: .55rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.national-player-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.national-player-copy span { color: var(--muted); font-size: .58rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.national-player-overall { display: grid; place-items: center; gap: 1px; min-width: 48px; }
.national-player-overall strong { font-size: 1rem; }
.national-player-overall small { color: var(--muted); font-size: .52rem; }
.national-player-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.national-player-actions button {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: var(--panel);
  font: inherit;
  font-size: .58rem;
  font-weight: 600;
  cursor: pointer;
}
.national-player-actions button.is-active {
  color: var(--club-primary-contrast, var(--on-primary));
  border-color: transparent;
  background: var(--club-primary);
}
.national-player-actions button:disabled { opacity: .42; cursor: not-allowed; }

/* Central de notificações: paleta semântica com contraste estável nos dois temas. */
.notification-center-modern { gap: 14px; }
.notification-center-list { gap: 9px; }
.notification-center-item {
  --notification-accent: #4e5f74;
  position: relative;
  grid-template-columns: 4px 44px minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  min-width: 0;
  padding: 11px 12px 11px 0 !important;
  overflow: hidden;
  border: 1px solid var(--line) !important;
  border-radius: 15px !important;
  background: var(--panel-2) !important;
}
.notification-center-item.is-unread {
  border-color: color-mix(in srgb, var(--notification-accent) 28%, var(--line)) !important;
  background: color-mix(in srgb, var(--notification-accent) 5%, var(--panel-2)) !important;
}
.notification-card-accent {
  align-self: stretch;
  width: 4px;
  min-height: 100%;
  border-radius: 0 4px 4px 0;
  background: var(--notification-accent);
}
.notification-kind-icon {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--notification-accent) 34%, var(--line)) !important;
  border-radius: 12px !important;
  color: var(--notification-accent) !important;
  background: color-mix(in srgb, var(--notification-accent) 14%, var(--panel)) !important;
}
.notification-kind-icon :is(i,svg,path) { color: inherit !important; fill: currentColor; }
.notification-copy { display: grid; gap: 4px; min-width: 0; }
.notification-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; }
.notification-meta small {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 3px 6px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--notification-accent) 30%, transparent);
  border-radius: 999px;
  color: var(--notification-accent) !important;
  background: color-mix(in srgb, var(--notification-accent) 10%, transparent);
  font-size: .54rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .055em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.notification-meta time { flex: 0 0 auto; color: var(--muted); font-size: .53rem; }
.notification-copy > strong { color: var(--text); font-size: .7rem; line-height: 1.25; }
.notification-copy > p { margin: 0 !important; color: var(--muted); font-size: .62rem !important; line-height: 1.45 !important; }
.notification-related-team { display: inline-flex; align-items: center; gap: 5px; width: fit-content; margin-top: 3px; color: var(--muted); font-size: .55rem; }
.notification-related-team .crest { width: 15px !important; height: 18px !important; }
.notification-item-actions { justify-content: flex-end !important; }
.notification-action-btn { min-height: 32px !important; border-radius: 10px !important; }
.notification-read-label { padding: 6px 8px; border-radius: 9px; background: var(--panel); }

/* Mercado > Propostas: três seções com o mesmo ritmo e alinhamento. */
.market-proposal-section { gap: 0 !important; padding: 0 !important; overflow: hidden; }
.market-proposal-header {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 12px 13px;
  border-bottom: 1px solid var(--line);
  background: var(--panel-2);
}
.market-proposal-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 12%, var(--panel));
}
.market-proposal-header > div { min-width: 0; }
.market-proposal-header h3,
.market-proposal-header p { margin: 0; }
.market-proposal-header h3 { margin-top: 2px; font-size: .78rem; }
.market-proposal-header p { margin-top: 3px; color: var(--muted); font-size: .58rem; line-height: 1.4; }
.market-proposal-count {
  min-width: 62px;
  display: grid;
  place-items: center;
  gap: 1px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--text);
  background: var(--panel);
  text-align: center;
}
.market-proposal-count strong { font-size: .86rem; line-height: 1; }
.market-proposal-count small { color: var(--muted); font-size: .5rem; white-space: nowrap; }
.market-proposal-count.has-action { border-color: color-mix(in srgb, #d59628 45%, var(--line)); color: #b87912; background: color-mix(in srgb, #d59628 8%, var(--panel)); }
.market-proposal-body { display: grid; gap: 8px; padding: 10px; min-width: 0; }
.market-proposal-body .empty { margin: 0; }
.market-proposal-section .modern-offer-card,
.market-proposal-section .modern-deal-row { margin: 0; }

.live-stat-team {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 58px;
}
.live-stat-team-identity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
}
.live-stat-team-identity > strong {
  min-width: 34px;
  padding: 3px 5px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--text);
  background: var(--panel-2);
  font-size: .67rem;
  letter-spacing: .04em;
  text-align: center;
}
.live-stat-team-identity .crest { width: 22px; height: 26px; flex: 0 0 auto; }
.live-stat-team-identity .national-crest-emoji { flex: 0 0 auto; }
.live-stat-team > small { color: var(--muted); font-size: .52rem; white-space: nowrap; }
@media (max-width: 390px){
  .live-stat-team { min-width: 50px; }
  .live-stat-team-identity { gap: 3px; }
  .live-stat-team-identity .crest { width: 19px; height: 23px; }
  .live-stat-team-identity > strong { min-width: 30px; padding-inline: 4px; font-size: .61rem; }
}


/* mobile-only: regra ampla incorporada ao estilo-base */

  .national-squad-head { align-items: flex-start; flex-direction: column; }
  .national-squad-readiness { width: 100%; }
  .national-squad-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .national-squad-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .national-squad-search { grid-column: 1 / -1; }
  .national-player-card { grid-template-columns: 38px minmax(0,1fr) 46px; }
  .national-player-actions { grid-column: 1 / -1; }
  .notification-center-item { grid-template-columns: 4px 38px minmax(0,1fr) !important; align-items: start !important; }
  .notification-kind-icon { width: 36px !important; height: 36px !important; }
  .notification-item-actions { grid-column: 3; justify-content: flex-start !important; padding-top: 4px; }


@media (max-width: 460px){
  .national-squad-summary { grid-template-columns: 1fr; }
  .national-squad-summary article { min-height: 52px; }
  .national-squad-filters { grid-template-columns: 1fr; }
  .national-squad-search { grid-column: auto; }
  .national-player-card { grid-template-columns: 36px minmax(0,1fr) 42px; gap: 8px; padding: 8px; }
  .national-player-club { width: 34px; height: 34px; }
  .national-player-copy strong { font-size: .67rem; }
  .national-player-copy span { font-size: .54rem; }
  .national-player-actions button { padding-inline: 7px; }
  .notification-center-item { padding-right: 9px !important; }
  .notification-meta { align-items: flex-start; flex-direction: column; gap: 1px; }
  .notification-item-actions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .notification-item-actions .notification-action-btn { width: 100%; }
  .market-proposal-header { grid-template-columns: 38px minmax(0,1fr); padding: 10px; }
  .market-proposal-icon { width: 36px; height: 36px; }
  .market-proposal-count { grid-column: 2; justify-self: start; min-width: 0; display: inline-flex; gap: 5px; padding: 6px 8px; }
  .market-proposal-count strong { font-size: .7rem; }
}
.national-player-limit-note {
  padding: 9px 10px;
  border: 1px dashed var(--line);
  border-radius: 12px;
  color: var(--muted);
  background: var(--panel-2);
  font-size: .58rem;
  line-height: 1.45;
  text-align: center;
}

/* Goooool v52 — modo seleção, SVG e pódios */
.svg-crest-field {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.svg-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 10px;
  color: var(--text);
  background: var(--panel);
  font-weight: 600;
  cursor: pointer;
}
.svg-upload-button input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.code-area.is-svg-source {
  width: 100%;
  min-height: 138px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px 12px;
  color: var(--text);
  background: var(--input-bg, var(--panel));
  font: 600 .72rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.national-duty-dashboard { display: grid; gap: 14px; }
.national-duty-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
  border-radius: 18px;
  color: var(--club-text, #fff);
  background: linear-gradient(135deg,var(--club-primary),var(--club-secondary));
}
.national-duty-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.national-duty-identity h2 { margin: 3px 0 5px; font-size: clamp(1.45rem,5vw,2.2rem); }
.national-duty-identity p { margin: 0; max-width: 620px; color: inherit; opacity: .85; }
.national-duty-stage { display: grid; gap: 3px; min-width: 180px; padding: 12px 14px; border: 1px solid currentColor; border-radius: 13px; background: color-mix(in srgb, #000 18%, transparent); }
.national-duty-stage small,.national-duty-stage span { opacity: .78; }
.national-duty-next { display: grid; gap: 14px; }
.national-duty-next > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.national-duty-ready { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 9px; font-size: .68rem; font-weight: 600; }
.national-duty-ready.is-ready { color: var(--success-text,#11643a); background: var(--success-soft,#e6f7ee); }
.national-duty-ready.is-warning { color: var(--warning-text,#7a4b00); background: var(--warning-soft,#fff4d6); }
.national-duty-fixture { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 14px; padding: 14px 0; border-block: 1px solid var(--line); }
.national-duty-fixture > div { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.national-duty-fixture > span { display: grid; justify-items: center; gap: 3px; }
.national-duty-fixture > span b { font-size: 1.3rem; }
.national-duty-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.national-duty-kpis { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.national-duty-kpis article { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 2px 9px; align-items: center; min-height: 76px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.national-duty-kpis article > span { grid-row: 1 / 3; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--club-primary); background: color-mix(in srgb,var(--club-primary) 12%,var(--panel)); }
.national-duty-kpis small { color: var(--muted); }
.national-duty-recent .international-fixture { margin-top: 8px; }
.national-main-view-hero .main-view-icon { background: transparent; }
.national-tactics-editor { display: grid; gap: 16px; }
.national-tactics-editor > header { display: flex; align-items: center; gap: 12px; }
.national-tactics-editor > header h3 { margin: 2px 0; }
.national-tactics-editor > header p { margin: 0; color: var(--muted); }
.national-tactic-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.national-tactic-groups label { display: grid; gap: 6px; }
.national-tactic-groups label > span { color: var(--muted); font-size: .66rem; font-weight: 600; }

.international-share-studio { display: grid; grid-template-columns: minmax(220px,.75fr) minmax(260px,1fr); gap: 18px; align-items: start; }
.international-share-preview { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); }
.international-share-preview img { display: block; width: 100%; height: auto; }
.international-share-copy { display: grid; gap: 12px; }
.international-share-copy p { display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: var(--panel-2); }
.international-share-copy textarea { width: 100%; min-height: 112px; padding: 11px 12px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--input-bg,var(--panel)); font: inherit; line-height: 1.45; }

.celebration-card.is-placement .celebration-trophy { color: var(--club-primary); }
.celebration-card .placement-rank { display: inline-grid; place-items: center; min-width: 54px; min-height: 34px; padding: 4px 10px; border: 1px solid currentColor; border-radius: 999px; font-weight: 600; }
.competition-podium { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; align-items: end; }
.competition-podium article { display: grid; justify-items: center; gap: 7px; padding: 14px 10px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); text-align: center; }
.competition-podium article.is-first { min-height: 148px; border-color: color-mix(in srgb,#d6a600 55%,var(--line)); }
.competition-podium article > span { font-size: 1.7rem; font-weight: 600; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .national-duty-dashboard { margin-inline: var(--mobile-card-gutter,10px); }
  .national-duty-hero { grid-template-columns: 1fr; padding: 16px; }
  .national-duty-stage { min-width: 0; }
  .national-duty-next > header { flex-direction: column; }
  .national-duty-fixture { gap: 8px; }
  .national-duty-fixture > div { flex-direction: column; gap: 5px; font-size: .7rem; }
  .national-duty-actions { display: grid; grid-template-columns: 1fr; }
  .national-duty-kpis { grid-template-columns: 1fr; }
  .national-tactic-groups { grid-template-columns: 1fr; }
  .international-share-studio { grid-template-columns: 1fr; }
  .international-share-preview { max-width: 340px; margin-inline: auto; }
  .competition-podium { grid-template-columns: 1fr; align-items: stretch; }
  .competition-podium article.is-first { order: -1; min-height: 0; }


/* Goooool v52 — histórico de pódios e resumo das copas */
.competition-podium-history {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(251px,1fr));
  gap: 10px;
}
.competition-podium-history-card {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.competition-podium-history-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--line);
}
.competition-podium-history-card > header div { display: grid; gap: 2px; min-width: 0; }
.competition-podium-history-card > header strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.competition-podium-history-row {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 9px;
  background: var(--panel);
}
.competition-podium-history-row > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--text);
  background: var(--panel-3,var(--panel-2));
  font-size: .63rem;
  font-weight: 600;
}
.competition-podium-history-row > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; }
.competition-podium-history-row > small { color: var(--muted); font-size: .54rem; text-align: right; }
.competition-podium-history-row.is-first > span { color: #6d5200; background: #f7df85; }
.competition-podium-history-row.is-second > span { color: #394454; background: #dce2ea; }
.competition-podium-history-row.is-third > span { color: #623612; background: #e6b887; }
.cup-podium-mini {
  display: grid;
  gap: 6px;
  padding-block: 8px;
  border-block: 1px solid var(--line);
}
.cup-podium-mini > span {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.cup-podium-mini > span > b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--panel-2);
  font-size: .6rem;
}
.cup-podium-mini .team-label { min-width: 0; }
.cup-podium-mini .team-label + .team-label { margin-top: 3px; }

@media (max-width: 520px){
  .competition-podium-history { grid-template-columns: 1fr; }
  .competition-podium-history-row { grid-template-columns: 28px minmax(0,1fr); }
  .competition-podium-history-row > small { grid-column: 2; text-align: left; }
}

/* ===== Etapa 57 · auditoria completa de temas e controles ===== */
:root {
  /* Aliases usados por componentes modernos que antes ficavam sem valor. */
  --accent: var(--primary);
  --chip: color-mix(in srgb, var(--panel-2) 90%, var(--primary) 10%);
  --radius-lg: 16px;
  --background: var(--bg);
  --toggle-track: color-mix(in srgb, var(--muted) 36%, var(--panel-2));
  --toggle-track-border: color-mix(in srgb, var(--muted) 32%, var(--line));
  --toggle-thumb: #ffffff;
}

html[data-theme="light"] {
  /* Os estados sem clube carregado também precisam de contraste garantido. */
  --on-primary: #ffffff;
  --danger: #bd2d45;
  --warning: #8a5100;
  --chip: color-mix(in srgb, var(--primary) 7%, #eef2f6);
  --toggle-track: #cbd3de;
  --toggle-track-border: #aeb9c7;
  --toggle-thumb: #ffffff;
}

/* A regra global antiga para inputs claros não pode apagar controles especiais. */
html[data-theme="light"] input:is([type="checkbox"],[type="radio"],[type="range"],[type="color"]) {
  background-color: transparent !important;
  accent-color: var(--primary);
}
html[data-theme="light"] input:is([type="checkbox"],[type="radio"],[type="range"]) {
  border-color: transparent !important;
}
html[data-theme="light"] input[type="color"] {
  color: transparent !important;
  border-color: rgba(28,39,57,.20) !important;
}

/* Switches dos Ajustes: trilha, botão, estados e foco são explícitos nos dois temas. */
.toggle-row input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  background: var(--toggle-track) !important;
  border: 1px solid var(--toggle-track-border) !important;
  color: transparent !important;
  box-shadow: none !important;
}
.toggle-row input[type="checkbox"]::after {
  background: var(--toggle-thumb) !important;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  box-shadow: none !important;
}
.toggle-row input[type="checkbox"]:checked {
  background: var(--primary) !important;
  border-color: color-mix(in srgb, var(--primary) 78%, #000 22%) !important;
}
.toggle-row input[type="checkbox"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--primary) 72%, transparent);
  outline-offset: 3px;
}
.toggle-row input[type="checkbox"]:disabled {
  opacity: .58;
  cursor: not-allowed;
}

/* Checkboxes e radios nativos fora dos switches continuam com a cor do tema. */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--primary);
}

/* Sliders permanecem nativos, mas sem a caixa branca criada pelo override global. */
input[type="range"],
.range-field input[type="range"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  accent-color: var(--primary);
}

/* Uploads visíveis acompanham o tema sem afetar inputs ocultos dentro de botões. */
input[type="file"] { color: var(--muted); }
input[type="file"]::file-selector-button {
  margin-inline-end: 9px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--text);
  background: var(--panel-2);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
html[data-theme="light"] input[type="file"]::file-selector-button {
  color: #172033;
  background: #eef2f6;
  border-color: rgba(28,39,57,.16);
}

/* Cards de experiência e chips passam a usar variáveis realmente definidas. */
.gameplay-mode-card:hover,
.gameplay-mode-card:focus-visible { border-color: var(--accent); }
.gameplay-mode-card.active {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface-2));
}
/* Contraste de textos semânticos em superfícies claras. */
html[data-theme="light"] .info-box {
  color: #235b8f;
  border-color: rgba(35,91,143,.24);
  background: rgba(35,91,143,.075);
}
html[data-theme="light"] :is(
  .player-profile-actionbar .btn.is-active,
  .tactic-advice > i,
  .trophy-cabinet article > span,
  .hall-of-fame-grid article > span,
  .hall-of-fame-grid b,
  .legacy-badge
) { color: #805400; }
html[data-theme="light"] .personality-badge { color: #5d4bb2; }
html[data-theme="light"] .national-squad-readiness.is-ready > i { color: #087d45; }
html[data-theme="light"] .national-squad-readiness.is-warning > i,
html[data-theme="light"] .market-proposal-count.has-action { color: #805400; }
html[data-theme="light"] :is(input,textarea)::placeholder { color: #5c687a; }

/* Cada assunto tem cor própria, mas nunca herda a cor do clube. */
html[data-theme="dark"] .notification-center-item.notification-kind-medical { --notification-accent: #ff918b; }
html[data-theme="dark"] .notification-center-item.notification-kind-lineup { --notification-accent: #9fc5ff; }
html[data-theme="dark"] .notification-center-item.notification-kind-market { --notification-accent: #70b7ef; }
html[data-theme="dark"] .notification-center-item.notification-kind-career { --notification-accent: #ffc36a; }
html[data-theme="dark"] .notification-center-item.notification-kind-international { --notification-accent: #c19aef; }
html[data-theme="dark"] .notification-center-item.notification-kind-history { --notification-accent: #f4c767; }
html[data-theme="dark"] .notification-center-item.notification-kind-finance { --notification-accent: #68d7a0; }
html[data-theme="dark"] .notification-center-item.notification-kind-competitions { --notification-accent: #8eb4ff; }
html[data-theme="dark"] .notification-center-item.notification-kind-news,
html[data-theme="dark"] .notification-center-item.notification-kind-general { --notification-accent: #b7c4d6; }
html[data-theme="light"] .notification-center-item.notification-kind-medical { --notification-accent: #922f2a; }
html[data-theme="light"] .notification-center-item.notification-kind-lineup { --notification-accent: #245b9e; }
html[data-theme="light"] .notification-center-item.notification-kind-market { --notification-accent: #145f93; }
html[data-theme="light"] .notification-center-item.notification-kind-career { --notification-accent: #7a4d00; }
html[data-theme="light"] .notification-center-item.notification-kind-international { --notification-accent: #62359d; }
html[data-theme="light"] .notification-center-item.notification-kind-history { --notification-accent: #745000; }
html[data-theme="light"] .notification-center-item.notification-kind-finance { --notification-accent: #086f40; }
html[data-theme="light"] .notification-center-item.notification-kind-competitions { --notification-accent: #244e96; }
html[data-theme="light"] .notification-center-item.notification-kind-news,
html[data-theme="light"] .notification-center-item.notification-kind-general { --notification-accent: #40536c; }

/* V55 — cabeçalho de Dados ao vivo com escudos e siglas sem herdar a grade antiga. */
.live-statistics-head > .live-stat-team {
  grid-template-columns: 1fr;
  direction: ltr;
  text-align: center;
}
.live-statistics-head > .live-stat-team.is-away { direction: ltr; text-align: center; }
.national-player-card.is-unavailable {
  border-color: color-mix(in srgb, var(--warning) 52%, var(--line));
  background: color-mix(in srgb, var(--warning) 6%, var(--panel));
}
.national-player-card.is-unavailable .national-player-copy > span { color: var(--warning-text, var(--warning)); }

/* =========================================================
   V56 — regulamentos, inscrição, Janela FIFA e sistemas de carreira
   ========================================================= */
.registration-layout,.regulations-layout,.career-audit-layout{display:grid;gap:12px;min-width:0}
.registration-header,.audit-hero,.regulations-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.registration-header>div,.audit-hero>div,.regulations-intro>div{min-width:0}
.registration-header p,.audit-hero p,.regulations-intro p{color:var(--muted);margin-top:5px;line-height:1.45}
.registration-header label{display:grid;gap:5px;min-width:min(220px,100%);color:var(--muted);font-size:.78rem}
.registration-summary,.audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.registration-summary article,.audit-metrics article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);min-width:0}
.registration-summary article span,.audit-metrics article span{color:var(--muted);font-size:.72rem;line-height:1.2}
.registration-summary article strong,.audit-metrics article strong{font-size:1rem;overflow-wrap:anywhere}
.registration-summary.is-valid article{border-color:color-mix(in srgb,var(--primary) 32%,var(--line))}
.registration-summary.has-warning article{border-color:color-mix(in srgb,var(--warning) 28%,var(--line))}
.registration-rule-note{display:flex;align-items:center;justify-content:space-between;gap:10px}
.registration-rule-note>div{display:grid;gap:3px}.registration-rule-note span{color:var(--muted);font-size:.76rem}
.registration-issues{display:grid;gap:6px}.registration-issues>div{padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warning) 7%,var(--panel));color:var(--warning-text,var(--warning));font-size:.78rem}
.registration-list-panel{display:grid;gap:10px}.registration-player-list{display:grid;gap:7px}
.registration-player{display:grid;grid-template-columns:auto minmax(0,1fr) 70px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--panel-2);min-width:0}
.registration-player.is-selected{border-color:color-mix(in srgb,var(--club-primary) 55%,var(--line));background:color-mix(in srgb,var(--club-primary) 8%,var(--panel))}
.registration-player-check{display:grid;place-items:center}.registration-player-check input{position:absolute;opacity:0;pointer-events:none}.registration-player-check span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:var(--muted);background:var(--panel)}
.registration-player.is-selected .registration-player-check span{color:var(--club-primary);border-color:color-mix(in srgb,var(--club-primary) 55%,var(--line))}
.registration-player-main{display:grid;gap:3px;min-width:0}.registration-player-main strong,.registration-player-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registration-player-main small{color:var(--muted);font-size:.72rem}.registration-player-main>div{display:flex;gap:4px;flex-wrap:wrap}
.registration-number{display:grid;gap:3px;color:var(--muted);font-size:.65rem;text-align:center}.registration-number input{width:100%;min-width:0;text-align:center;padding:7px 4px}
.registration-save{position:sticky;bottom:calc(var(--navbar-final-height,68px) + 6px);z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,transparent)}

.regulations-list{display:grid;gap:9px}.regulation-card{padding:0;overflow:hidden}.regulation-card>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;cursor:pointer;list-style:none}.regulation-card>summary::-webkit-details-marker{display:none}.regulation-card>summary span:nth-child(2){display:grid;gap:3px;min-width:0}.regulation-card>summary small{color:var(--muted);font-size:.72rem}.regulation-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--club-primary) 12%,var(--panel-2));color:var(--club-primary)}
.regulation-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px;border-top:1px solid var(--line)}.regulation-body section{padding:10px 0 0}.regulation-body h4{margin:0 0 5px;font-size:.8rem}.regulation-body p,.regulation-body ol{margin:0;color:var(--muted);font-size:.73rem;line-height:1.45}.regulation-body ol{padding-left:18px}

.audit-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.audit-list{display:grid;gap:8px}.audit-issue{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px}.audit-issue>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--panel-2)}.audit-issue p{color:var(--muted);font-size:.75rem;line-height:1.45;margin-top:3px}.audit-issue small{display:block;color:var(--primary);margin-top:5px}.audit-issue em{font-size:.68rem;text-transform:uppercase;font-style:normal;color:var(--muted)}.audit-issue.is-critical{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.audit-issue.is-warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--line))}.audit-issue.is-info{border-color:color-mix(in srgb,var(--primary) 32%,var(--line))}

.tactical-abc-panel{display:grid;gap:10px}.tactical-abc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tactical-abc-card{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);min-width:0}.tactical-abc-card header{display:flex;align-items:center;gap:8px}.tactical-abc-card header>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--club-primary);color:var(--club-primary-contrast,#fff);font-weight:600}.tactical-abc-card header div{display:grid;min-width:0}.tactical-abc-card small,.tactical-abc-card p{color:var(--muted);font-size:.7rem;line-height:1.35}.tactical-abc-card>div{display:flex;gap:5px;flex-wrap:wrap}
.live-abc-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.live-abc-plans button{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);color:var(--text);text-align:left}.live-abc-plans button>b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--club-primary);color:var(--club-primary-contrast,#fff)}.live-abc-plans button>span{display:grid;font-size:.72rem}.live-abc-plans button small{color:var(--muted);font-size:.62rem}.live-abc-plans button.is-selected{border-color:var(--club-primary)}

.fifa-window-card{display:grid;gap:10px}.fifa-window-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.fifa-window-card p,.fifa-window-note{color:var(--muted);font-size:.75rem;line-height:1.4}.fifa-window-card.is-current{border-color:color-mix(in srgb,var(--primary) 38%,var(--line))}.fifa-window-note{display:flex;align-items:center;gap:6px}.qualifier-table{display:grid;gap:9px}.qualifier-rows{display:grid}.qualifier-rows article{display:grid;grid-template-columns:25px 30px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 2px;border-bottom:1px solid var(--line)}.qualifier-rows article:last-child{border-bottom:0}.qualifier-rows article.is-user{color:var(--club-primary);font-weight:600}.qualifier-rows small{color:var(--muted);font-size:.68rem}.qualifier-rows b{font-size:.73rem}

.batch-add-sub{justify-self:start}.batch-substitution-list{display:grid;gap:6px}.batch-substitution-list>article{display:grid;grid-template-columns:24px minmax(0,1fr) auto minmax(0,1fr) 30px;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.batch-substitution-list>article>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--club-primary);color:var(--club-primary-contrast,#fff);font-size:.68rem;font-weight:600}.batch-substitution-list>article div{display:grid;min-width:0}.batch-substitution-list>article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.batch-substitution-list>article small{color:var(--muted);font-size:.62rem}.batch-substitution-list>article button{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--danger)}

.tournament-award-list{display:grid;gap:8px}.tournament-award-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel-2)}.tournament-award-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:11px;cursor:pointer;list-style:none}.tournament-award-card>summary::-webkit-details-marker{display:none}.tournament-award-card>summary>div{display:grid}.tournament-award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 10px}.tournament-award-person{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left}.tournament-award-person>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--primary) 12%,var(--panel-2));color:var(--primary)}.tournament-award-person>div{display:grid;min-width:0}.tournament-award-person small,.tournament-award-person em{color:var(--muted);font-size:.65rem;font-style:normal}.tournament-award-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-of-tournament{padding:10px;border-top:1px solid var(--line)}.team-of-tournament header{display:grid;margin-bottom:8px}.team-of-tournament>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.team-of-tournament button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:2px 7px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);text-align:left}.team-of-tournament button span{grid-row:1/3;align-self:center;color:var(--primary);font-size:.66rem}.team-of-tournament button small{color:var(--muted);font-size:.62rem}

html[data-theme="light"] :is(.registration-player,.tactical-abc-card,.tournament-award-card,.live-abc-plans button,.batch-substitution-list>article){background:#f4f7fa}
html[data-theme="light"] :is(.registration-player.is-selected,.fifa-window-card.is-current){background:color-mix(in srgb,var(--club-primary) 6%,#fff)}
html[data-theme="light"] .registration-save{background:rgba(255,255,255,.97)}

@media (max-width:520px){
  .registration-header,.audit-hero,.regulations-intro{align-items:stretch;flex-direction:column}.registration-header label{min-width:0;width:100%}
  .registration-summary,.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .regulation-body{grid-template-columns:1fr}.tactical-abc-grid{grid-template-columns:1fr}.live-abc-plans{grid-template-columns:1fr}
  .tournament-award-grid,.team-of-tournament>div{grid-template-columns:1fr}
  .registration-player{grid-template-columns:auto minmax(0,1fr) 58px}.registration-player-main>div{display:none}
  .qualifier-rows article{grid-template-columns:22px 27px minmax(0,1fr) auto}.qualifier-rows small{display:none}
}

/* V56 · Faixas de classificação internacional */
.qualifier-rows article{grid-template-columns:25px 30px minmax(0,1fr) auto auto auto}
.qualifier-rows article.is-direct-zone{border-inline-start:3px solid var(--success);padding-inline-start:7px}
.qualifier-rows em{font-size:.66rem;font-style:normal;color:var(--muted);white-space:nowrap}
.qualifier-rows article.is-direct-zone em{color:var(--success);font-weight:600}
.live-table-row.is-direct-zone{border-inline-start:3px solid var(--success)}
.live-world-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin: 0 0 8px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.live-world-group-head > span,
.live-world-group-head > strong { display: block; min-width: 0; }
.live-world-group-head > span { color: var(--muted); font-size: .66rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.live-world-group-head > strong { color: var(--text); font-size: .72rem; line-height: 1.25; text-align: right; }
@media (max-width: 390px) {
  .live-world-group-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .live-world-group-head > strong { text-align: left; }
}

@media (max-width:520px){
  .qualifier-rows article{grid-template-columns:22px 27px minmax(0,1fr) auto auto}
  .qualifier-rows small{display:none}
  .qualifier-rows em{font-size:.62rem}
}

/* =========================================================
   V57 — modo seleção obrigatório e identidade integral da Copa
   ========================================================= */
.world-cup-required-note,
.national-lock-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--club-primary) 42%, var(--line));
  background: color-mix(in srgb, var(--club-primary) 9%, var(--panel));
  color: var(--text);
}
.world-cup-required-note {
  flex: 1 1 220px;
  padding: 9px 11px;
  border-radius: 12px;
  font-size: .74rem;
  line-height: 1.35;
}
.national-lock-badge {
  padding: 6px 9px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 600;
}
html.national-duty-active .topbar {
  border-bottom-color: color-mix(in srgb, var(--club-primary) 52%, var(--line));
}
html.national-duty-active .navbar {
  border-top-color: color-mix(in srgb, var(--club-primary) 48%, var(--line));
}
html.national-duty-active .topbar-status-money,
html.national-duty-active .national-duty-status {
  border-color: color-mix(in srgb, var(--club-primary) 42%, var(--line));
  background: color-mix(in srgb, var(--club-primary) 9%, var(--panel));
}
html[data-theme="light"].national-duty-active :is(.world-cup-required-note,.national-lock-badge,.topbar-status-money,.national-duty-status) {
  background: color-mix(in srgb, var(--club-primary) 7%, #fff);
}
@media (max-width: 520px){
  .world-cup-required-note { flex-basis: 100%; }
  .national-lock-badge { white-space: normal; text-align: left; }
}

/* ==========================================================
   V58 · Contexto oficial da seleção, Mercado e desempenho
   ========================================================== */
.team-context-container {
  min-width: 0;
  width: 100%;
}
.national-team-shell {
  --official-context-accent: var(--club-primary, var(--primary));
}
.national-team-context {
  position: relative;
  isolation: isolate;
}
.national-team-context::before {
  content: "SELEÇÃO OFICIAL · COPA DO MUNDO";
  display: block;
  margin: 0 12px 10px;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--club-primary, var(--primary)) 32%, var(--line));
  border-radius: 11px;
  color: var(--club-primary-contrast, var(--text));
  background: var(--club-primary, var(--primary));
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: center;
}
.national-context-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin: 0 12px 12px;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--club-primary, var(--primary)) 28%, var(--line));
  border-radius: 18px;
  background: color-mix(in srgb, var(--club-primary, var(--primary)) 7%, var(--panel));
}
.national-context-banner-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--club-primary, var(--primary)) 12%, var(--panel-2));
}
.national-context-banner h2,
.national-context-banner p { margin: 0; }
.national-context-banner h2 { margin-top: 3px; font-size: 1rem; }
.national-context-banner p { margin-top: 4px; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.national-context-status {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 5px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
  white-space: nowrap;
}
.national-context-status strong { font-size: .82rem; }
.national-context-status small { color: var(--muted); font-size: .52rem; }
.national-squad-container { min-width: 0; }

/* Mercado: clubes lado a lado, jogador no eixo central. */
.market-negotiation-workspace { gap: 14px !important; }
.market-negotiation-card,
.market-deal-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
}
.market-negotiation-card.needs-action {
  border-color: color-mix(in srgb, var(--primary) 42%, var(--line));
  background: color-mix(in srgb, var(--primary) 3%, var(--panel));
}
.market-negotiation-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  border-bottom: 1px solid var(--line);
  background: var(--panel-2);
}
.market-negotiation-card > header > small {
  color: var(--muted);
  font-size: .54rem;
  white-space: nowrap;
}
.market-offer-route,
.market-deal-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(92px, .76fr) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 12px;
}
.market-route-team {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.market-route-team:last-child { direction: rtl; text-align: right; }
.market-route-team:last-child .market-route-copy { direction: ltr; }
.market-route-crest {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.market-route-crest .crest { width: 30px; height: 32px; }
.market-route-copy { min-width: 0; }
.market-route-copy small,
.market-route-copy strong,
.market-route-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-route-copy small { color: var(--muted); font-size: .5rem; text-transform: uppercase; letter-spacing: .05em; }
.market-route-copy strong { margin-top: 2px; font-size: .68rem; }
.market-route-copy em { margin-top: 2px; color: var(--primary); font-size: .54rem; font-style: normal; font-weight: 600; }
.market-route-player {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 0;
  text-align: center;
}
.market-route-player small,
.market-route-player strong { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-route-player small { color: var(--muted); font-size: .49rem; }
.market-route-player strong { font-size: .67rem; }
.market-route-player > span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-top: 2px;
  border-radius: 50%;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--panel-2));
}
.market-negotiation-card > footer,
.market-deal-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 11px;
  border-top: 1px solid var(--line);
  background: var(--panel-2);
}
.market-offer-price { display: grid; gap: 1px; min-width: 0; }
.market-offer-price small { color: var(--muted); font-size: .5rem; }
.market-offer-price strong { font-size: .76rem; }
.market-offer-price em { color: var(--muted); font-size: .5rem; font-style: normal; }
.market-negotiation-card .offer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  min-width: 0;
}
.market-negotiation-card .offer-actions .btn { min-width: 0; }
.market-offer-closed { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .56rem; }
.market-deal-card > footer > strong { font-size: .65rem; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .national-team-context::before { margin-inline: 10px; }
  .national-context-banner { margin-inline: 10px; grid-template-columns: auto minmax(0, 1fr); }
  .national-context-status { grid-column: 1 / -1; grid-template-columns: auto auto auto auto; justify-content: center; }
  .market-offer-route,
  .market-deal-route { grid-template-columns: minmax(0, 1fr) 82px minmax(0, 1fr); gap: 5px; padding: 10px 8px; }
  .market-route-team { grid-template-columns: 1fr; justify-items: center; gap: 4px; text-align: center; }
  .market-route-team:last-child { direction: ltr; text-align: center; }
  .market-route-crest { width: 38px; height: 38px; }
  .market-route-copy strong { font-size: .61rem; }
  .market-route-copy small { font-size: .46rem; }
  .market-route-copy em { font-size: .49rem; }
  .market-route-player strong { font-size: .59rem; }
  .market-route-player small { font-size: .44rem; }
  .market-negotiation-card > footer { align-items: stretch; flex-direction: column; }
  .market-negotiation-card .offer-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .market-negotiation-card .offer-actions .btn { width: 100%; justify-content: center; }


html[data-theme="light"] .national-context-banner,
html[data-theme="light"] .market-negotiation-card,
html[data-theme="light"] .market-deal-card { color: var(--text); }

/* ===== Versão 59 · início compacto, controles estáveis e auditoria dos temas ===== */
:root {
  --field-bg: #111722;
  --field-border: rgba(255,255,255,.16);
  --control-muted-bg: #202735;
  --control-muted-hover: #293243;
  --control-muted-text: #f6f7fb;
  --toggle-off-bg: #3b4555;
  --toggle-off-border: #778397;
  --toggle-on-bg: var(--primary);
  --toggle-on-border: color-mix(in srgb,var(--primary) 72%,#fff 28%);
  --danger-strong-bg: #d83e57;
  --danger-strong-hover: #b92740;
  --danger-strong-text: #fff;
  --danger-soft-bg: rgba(255,92,112,.13);
  --danger-soft-border: rgba(255,92,112,.48);
  --danger-soft-text: #ff8797;
  --success: #31d17c;
  --success-soft: rgba(49,209,124,.13);
  --success-text: #9af0bf;
  --warning-soft: rgba(255,191,71,.13);
  --warning-text: #ffd280;
  --info: #65a6ff;
  --info-soft: rgba(101,166,255,.13);
  --info-text: #a9ccff;
  --panel-3: #252d3c;
  --input-bg: var(--field-bg);
  --line-strong: rgba(255,255,255,.22);
  --secondary: var(--club-secondary);
  --navbar-final-height: var(--bottom-nav-final-height,68px);
  --club-primary-contrast: var(--club-contrast,#fff);
  --club-text: var(--club-contrast,#fff);
  --key-color: var(--primary);
  --toast-duration: 4s;
}

html[data-theme="light"] {
  --primary: #157f4b;
  --primary-2: #0f7042;
  --field-bg: #fff;
  --field-border: #b9c4d1;
  --control-muted-bg: #e8edf3;
  --control-muted-hover: #dce3eb;
  --control-muted-text: #172033;
  --toggle-off-bg: #8996a8;
  --toggle-off-border: #65758a;
  --toggle-on-bg: var(--primary);
  --toggle-on-border: color-mix(in srgb,var(--primary) 76%,#07110c 24%);
  --danger-strong-bg: #c52f49;
  --danger-strong-hover: #a82038;
  --danger-strong-text: #fff;
  --danger-soft-bg: #fff0f2;
  --danger-soft-border: #d85a6e;
  --danger-soft-text: #a51f37;
  --success: #087d45;
  --success-soft: #e7f6ed;
  --success-text: #12633b;
  --warning-soft: #fff2d7;
  --warning-text: #754700;
  --info: #235b8f;
  --info-soft: #eaf3fb;
  --info-text: #235b8f;
  --panel-3: #e8edf3;
  --input-bg: var(--field-bg);
  --line-strong: rgba(28,39,57,.25);
}

/* Os controles de Ajustes não podem alterar a âncora vertical da página. */
.content:has(.settings-tabs) { overflow-anchor: none; }
.settings-group,
.settings-autosave-banner,
.toggle-row { overflow-anchor: none; }

/* Campos e botões genéricos recebem uma superfície explícita em ambos os temas. */
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea) {
  color: var(--text);
  background: var(--field-bg);
  border-color: var(--field-border);
}
.btn.secondary {
  color: var(--control-muted-text);
  background: var(--control-muted-bg);
  border-color: var(--line-strong);
}
.btn.secondary:not(:disabled):hover,
.btn.secondary:not(:disabled):focus-visible { background: var(--control-muted-hover); }
.btn:disabled,
button:disabled { opacity: .52; filter: saturate(.72); }

/* Chaves: o estado desligado precisa continuar visível sobre fundos claros e escuros. */
.toggle-row input[type="checkbox"] {
  width: 46px;
  height: 27px;
  flex: 0 0 46px;
  background: var(--toggle-off-bg) !important;
  border: 1px solid var(--toggle-off-border) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--toggle-off-border) 36%,transparent) !important;
}
.toggle-row input[type="checkbox"]::after {
  width: 19px;
  height: 19px;
  left: 3px;
  top: 3px;
  border: 1px solid rgba(7,17,12,.18);
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.18) !important;
}
.toggle-row input[type="checkbox"]:checked {
  background: var(--toggle-on-bg) !important;
  border-color: var(--toggle-on-border) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--toggle-on-border) 42%,transparent) !important;
}
.toggle-row input[type="checkbox"]:checked::after { transform: translateX(19px); }
html[data-theme="light"] .toggle-row input[type="checkbox"]:not(:checked) {
  background: #8996a8 !important;
  border-color: #65758a !important;
}
html[data-theme="light"] .toggle-row input[type="checkbox"]:not(:checked)::after {
  border-color: #8793a4;
  box-shadow: 0 1px 3px rgba(28,39,57,.22) !important;
}

/* Ações destrutivas não perdem o tom de alerta no tema claro. */
.btn.danger,
.btn.destructive,
button[data-delete-save-slot],
button[data-remove-sound] {
  color: var(--danger-strong-text) !important;
  background: var(--danger-strong-bg) !important;
  border: 1px solid color-mix(in srgb,var(--danger-strong-bg) 74%,#000 26%) !important;
  box-shadow: none !important;
}
.btn.danger:not(:disabled):hover,
.btn.destructive:not(:disabled):hover,
button[data-delete-save-slot]:not(:disabled):hover,
button[data-remove-sound]:not(:disabled):hover {
  color: var(--danger-strong-text) !important;
  background: var(--danger-strong-hover) !important;
}
.icon-danger,
button[data-delete-tactical-plan] {
  color: var(--danger-soft-text) !important;
  background: var(--danger-soft-bg) !important;
  border: 1px solid var(--danger-soft-border) !important;
}
.danger-settings-zone {
  border-color: var(--danger-soft-border) !important;
  background: linear-gradient(180deg,var(--danger-soft-bg),var(--panel)) !important;
}
.danger-settings-zone .kicker,
.danger-settings-zone h3 { color: var(--danger-soft-text) !important; }
.save-slot-row [data-delete-save-slot] { min-width: 72px; }

/* Estados semânticos têm pares próprios para cada tema. */
.badge.danger,
.is-danger-soft { color: var(--danger-soft-text); background: var(--danger-soft-bg); border-color: var(--danger-soft-border); }
.badge.success,
.is-success-soft { color: var(--success-text); background: var(--success-soft); border-color: color-mix(in srgb,var(--success) 38%,var(--line)); }
.badge.warning,
.is-warning-soft { color: var(--warning-text); background: var(--warning-soft); border-color: color-mix(in srgb,var(--warning) 38%,var(--line)); }
.info-box { color: var(--info-text); background: var(--info-soft); border-color: color-mix(in srgb,var(--info) 34%,var(--line)); }
.warning-box { color: var(--warning-text); background: var(--warning-soft); border-color: color-mix(in srgb,var(--warning) 38%,var(--line)); }

/* Página inicial: o caminho para jogar fica no primeiro bloco e a demonstração vem depois. */
.setup-stage > .setup-actions { order: 1; }
.setup-stage > .landing-live-card { order: 2; }
.landing-start-hub {
  width: min(100%,720px);
  display: grid;
  gap: 10px;
  margin-top: 20px;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  color: #fff;
  background: rgba(4,12,8,.72);
  backdrop-filter: blur(16px);
}
.landing-start-heading { display: grid; gap: 2px; }
.landing-start-heading strong { color: #fff; font-size: .95rem; }
.landing-start-heading small { color: rgba(255,255,255,.7); font-size: .68rem; }
.landing-start-options.setup-mode-switch {
  margin: 0 !important;
  padding: 4px !important;
  border-color: rgba(255,255,255,.13) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.055) !important;
  backdrop-filter: none;
}
.landing-start-options.setup-mode-switch > button {
  flex: 1 0 118px !important;
  min-height: 42px;
  color: rgba(255,255,255,.78) !important;
  border-radius: 10px !important;
}
.landing-start-options.setup-mode-switch > button.is-active {
  color: #07110c !important;
  border-color: rgba(255,255,255,.28) !important;
  background: #fff !important;
}
.landing-start-options button > span { white-space: nowrap; }
.landing-start-actions { display: flex; align-items: stretch; gap: 8px; }
.landing-start-actions .btn { width: auto; min-height: 42px; }
.landing-continue-button {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  text-align: left;
}
.landing-continue-button > span { display: grid; min-width: 0; }
.landing-continue-button strong,
.landing-continue-button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-continue-button small { color: color-mix(in srgb,var(--on-primary) 72%,transparent); font-size: .58rem; }
.landing-new-career-note { flex: 1; display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.78); font-size: .7rem; }


/* mobile-only: regra ampla incorporada ao estilo-base */

  .game-opening-hero {
    min-height: 0 !important;
    align-content: start !important;
    padding: calc(24px + var(--safe-top)) 14px 18px !important;
    gap: 14px !important;
  }
  .landing-brand-mark { width: 68px; height: 76px; justify-self: start; }
  .game-opening-copy h1 {
    max-width: 100%;
    margin: 7px 0;
    font-size: clamp(2.15rem,10.5vw,3.1rem) !important;
    line-height: .96;
  }
  .game-opening-copy > p { max-width: 100%; font-size: .82rem; line-height: 1.4; }
  .landing-start-hub { margin-top: 14px; padding: 10px; border-radius: 15px; }
  .landing-start-options.setup-mode-switch > button { flex-basis: 108px !important; padding: 8px 10px !important; }
  .landing-start-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .landing-start-actions .landing-new-career-note { min-height: 40px; }
  .game-opening-hero .opening-scoreboard { display: none; }
  .game-opening-hero .landing-promise-grid { margin-top: 0; }
  .game-opening-hero .landing-spotlight { display: none; }


@media (max-width: 430px){
  .landing-start-actions { grid-template-columns: 1fr; }
  .landing-start-actions .btn { width: 100%; }
  .landing-start-options.setup-mode-switch > button { flex-basis: 102px !important; font-size: .61rem; }
  .landing-start-options.setup-mode-switch > button .fa-solid { display: none; }
  .landing-promise-grid > div { padding-block: 7px; }
}

/* Ajustes finais encontrados pela auditoria estática de contraste da versão 59. */
:root {
  --danger-strong-bg: #d23851;
}
html[data-theme="light"] {
  --danger-strong-bg: #c52f49;
}
html[data-theme="light"] :is(
  .help-center-grid article > span,
  .manager-avatar,
  .nav-custom-preview-play,
  .settings-nav-preview .is-play
) {
  color: var(--on-primary) !important;
}

/* Checkboxes e radios comuns mantêm o desenho nativo; só os switches usam trilha customizada. */
html[data-theme="light"] :where(input[type="checkbox"],input[type="radio"]) {
  background-color: revert !important;
  border-color: revert !important;
}

/* ==========================================================
   V60 · Contraste integral, seleção oficial e modais seguros
   ========================================================== */

/* Font Awesome local por WOFF2: o ícone é texto de fonte e não é recriado ao trocar de página. */
svg.svg-inline--fa {
  display: inline-block !important;
  width: 1em;
  height: 1em;
  min-width: 1em;
  overflow: visible;
  vertical-align: -.125em;
  opacity: 1 !important;
  visibility: visible !important;
  fill: currentColor !important;
  color: inherit;
}
:is(button,a,label,summary,.btn,.icon-button) > svg.svg-inline--fa,
:is(button,a,label,summary,.btn,.icon-button) svg.svg-inline--fa {
  flex: 0 0 auto;
  opacity: 1 !important;
  visibility: visible !important;
  color: inherit;
}
:is(i.fa-solid,i.fa-regular,i.fa-brands) {
  opacity: 1;
  visibility: visible;
}

/* Números e marcadores que usam a identidade do clube/seleção. */
.live-shirt-number,
.slot-shirt,
.bench-shirt,
.player-choice-shirt {
  color: var(--team-primary-contrast, var(--club-primary-contrast, var(--on-primary))) !important;
  background: var(--team-primary, var(--club-primary, var(--primary))) !important;
  border: 2px solid color-mix(in srgb, var(--team-secondary, var(--club-secondary, var(--line))) 70%, #fff) !important;
  text-shadow: none !important;
}
.football-player-chip .live-shirt-number {
  color: var(--team-primary-contrast, var(--club-primary-contrast, var(--on-primary))) !important;
}
.substitution-shirt {
  color: var(--shirt-text) !important;
  background: var(--shirt) !important;
  border-color: color-mix(in srgb, var(--shirt-text) 72%, transparent) !important;
  text-shadow: none !important;
}

/* Controles ao vivo: paleta semântica, independente da cor do time. */
:root {
  --live-control-bg: #252d3a;
  --live-control-border: #495568;
  --live-control-text: #f8fafc;
  --live-control-muted: #d4dbe5;
  --live-control-hover: #313b4b;
  --live-control-active-bg: #e9b949;
  --live-control-active-text: #17120a;
  --live-control-disabled-bg: #171d27;
  --live-control-disabled-text: #929dac;
}
html[data-theme="light"] {
  --live-control-bg: #eef2f6;
  --live-control-border: #b9c4d1;
  --live-control-text: #172033;
  --live-control-muted: #4f5d70;
  --live-control-hover: #e0e6ed;
  --live-control-active-bg: #1f7650;
  --live-control-active-text: #ffffff;
  --live-control-disabled-bg: #e5e9ee;
  --live-control-disabled-text: #536074;
}
.live-management-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(104px,1fr));
  gap: 6px !important;
  width: 100%;
  min-width: 0;
  overflow: visible !important;
}
.live-management-actions .btn:not(.live-pause-button):not(.integrity-action) {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: center;
  gap: 2px 6px;
  min-width: 0 !important;
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 7px 8px !important;
  overflow: hidden;
  color: var(--live-control-text) !important;
  background: var(--live-control-bg) !important;
  border-color: var(--live-control-border) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.live-management-actions .btn:not(.live-pause-button):not(.integrity-action):hover,
.live-management-actions .btn:not(.live-pause-button):not(.integrity-action):focus-visible {
  color: var(--live-control-text) !important;
  background: var(--live-control-hover) !important;
  border-color: color-mix(in srgb,var(--live-control-text) 32%,var(--live-control-border)) !important;
}
.live-management-actions .btn:not(.live-pause-button):not(.integrity-action).is-active,
.live-management-actions .btn:not(.live-pause-button):not(.integrity-action)[aria-pressed="true"] {
  color: var(--live-control-active-text) !important;
  background: var(--live-control-active-bg) !important;
  border-color: transparent !important;
}
.live-management-actions .btn:disabled,
.live-management-actions .btn[aria-disabled="true"] {
  opacity: 1 !important;
  filter: none !important;
  color: var(--live-control-disabled-text) !important;
  background: var(--live-control-disabled-bg) !important;
  border-color: color-mix(in srgb,var(--live-control-disabled-text) 26%,transparent) !important;
}
.live-management-actions .btn :is(svg.svg-inline--fa,.fa-solid,.fa-regular,.live-action-label,small) {
  color: inherit !important;
  opacity: 1;
  visibility: visible;
  text-shadow: none !important;
}
.live-management-actions .btn > svg.svg-inline--fa,
.live-management-actions .btn > :is(.fa-solid,.fa-regular) {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}
.live-management-actions .live-action-label {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  font-size: .68rem;
  line-height: 1.1;
}
.live-management-actions .btn small {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--live-control-muted) !important;
  font-size: .52rem;
  line-height: 1.15;
}
.live-pause-button {
  min-width: 0 !important;
  overflow: hidden;
}
.live-pause-button :is(svg.svg-inline--fa,.fa-solid,.live-action-label,small) { color: inherit !important; }
@media (max-width: 520px){
  .live-management-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .live-management-actions .btn:not(.live-pause-button):not(.integrity-action),
  .live-management-actions .live-pause-button { min-height: 44px; padding-inline: 5px !important; }
}
@media (max-width: 390px){
  .live-management-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Durante a Copa, a seleção assume a identidade sem sacrificar contraste. */
html.national-duty-active .topbar {
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--club-primary) 40%,#07111f),
    color-mix(in srgb,var(--club-secondary) 38%,#07111f)) !important;
  border-bottom-color: rgba(255,255,255,.24) !important;
}
html.national-duty-active .topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid) {
  color: inherit !important;
}
html.national-duty-active .topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
  color: rgba(255,255,255,.82) !important;
}
html.national-duty-active .topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.national-duty-status) {
  color: #fff !important;
  background: rgba(7,17,31,.28) !important;
  border-color: rgba(255,255,255,.25) !important;
}
.national-duty-hero {
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--club-primary) 40%,#07111f),
    color-mix(in srgb,var(--club-secondary) 38%,#07111f)) !important;
}
.national-duty-hero :is(h1,h2,h3,strong,p,span,small,svg.svg-inline--fa,.fa-solid) {
  color: inherit !important;
  text-shadow: none !important;
}
.national-duty-kpis article > span {
  color: var(--club-primary-contrast) !important;
  background: var(--club-primary) !important;
  border: 1px solid color-mix(in srgb,var(--club-primary-contrast) 36%,transparent);
}
.national-duty-kpis article > span :is(svg.svg-inline--fa,.fa-solid) { color: inherit !important; }

/* Aviso obrigatório de entrada na Copa. */
.app-modal.is-locked > header { grid-template-columns: minmax(0,1fr) auto; }
.app-modal.is-locked > header .modal-back { display: none !important; }
.modal-required-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text);
  background: var(--panel-2);
  font-size: .62rem;
  font-weight: 600;
}
.national-duty-entry-modal { display: grid; gap: 16px; }
.national-duty-entry-identity {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 15px;
  padding: 18px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary) 40%,#07111f),
    color-mix(in srgb,var(--team-secondary) 38%,#07111f));
}
.national-duty-entry-identity :is(h3,p,span,strong,small) { color: inherit !important; text-shadow: none !important; }
.national-duty-entry-identity h3 { margin: 3px 0 6px; }
.national-duty-entry-identity p { margin: 0; opacity: .86; line-height: 1.5; }
.national-duty-entry-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.national-duty-entry-grid article,
.national-duty-auto-paused {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--text);
  background: var(--panel-2);
}
.national-duty-entry-grid article > svg.svg-inline--fa,
.national-duty-entry-grid article > .fa-solid,
.national-duty-auto-paused > svg.svg-inline--fa,
.national-duty-auto-paused > .fa-solid {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 9px;
  border-radius: 50%;
  color: var(--club-primary-contrast);
  background: var(--club-primary);
}
.national-duty-entry-grid span,
.national-duty-auto-paused span { display: grid; gap: 3px; min-width: 0; }
.national-duty-entry-grid small,
.national-duty-auto-paused small { color: var(--muted); line-height: 1.4; }
.national-duty-auto-paused {
  border-color: color-mix(in srgb,var(--warning) 42%,var(--line));
  background: var(--warning-soft);
}
.national-duty-entry-actions .btn { min-width: min(210px,100%); }

/* mobile-only: regra ampla incorporada ao estilo-base */

  .national-duty-entry-grid { grid-template-columns: 1fr; }
  .national-duty-entry-identity { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 15px; }
  .modal-required-badge { font-size: .55rem; }


/* Confirmações de empréstimos e decisões financeiras. */
.action-confirmation-modal { display: grid; gap: 14px; }
.action-confirmation-hero {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  align-items: center;
  gap: 12px;
}
.action-confirmation-hero h3 { margin: 3px 0 4px; }
.action-confirmation-hero p { margin: 0; color: var(--muted); line-height: 1.45; }
.action-confirmation-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  color: var(--on-primary);
  background: var(--primary);
}
.action-confirmation-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.action-confirmation-details article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.action-confirmation-details small,
.action-confirmation-details span { color: var(--muted); }
.action-confirmation-details strong { overflow-wrap: anywhere; }
@media (max-width: 520px){ .action-confirmation-details { grid-template-columns: 1fr; } }

/* Novo cartão de saudação: compacto, informativo e com ação principal evidente. */
.dashboard-hero-v60 {
  display: grid;
  gap: 14px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary) 40%,#07111f),
    color-mix(in srgb,var(--team-secondary) 38%,#07111f));
}
.dashboard-hero-v60 :is(h2,p,span,strong,small,em,button,svg.svg-inline--fa,.fa-solid) { color: inherit; }
.dashboard-hero-v60 :is(h2,p,span,strong,small,em) { text-shadow: none !important; }
.dashboard-hero-v60-head,
.dashboard-hero-v60-manager,
.dashboard-hero-v60-body,
.dashboard-hero-v60-readiness,
.dashboard-hero-v60-next,
.dashboard-hero-v60-next-visual { display: flex; align-items: center; }
.dashboard-hero-v60-head { justify-content: space-between; gap: 12px; }
.dashboard-hero-v60-manager { gap: 11px; min-width: 0; }
.dashboard-hero-v60-manager > div { min-width: 0; }
.dashboard-hero-v60-manager h2 { margin: 2px 0 3px; font-size: clamp(1.18rem,4.2vw,1.7rem); }
.dashboard-hero-v60-manager p { margin: 0; opacity: .78; }
.dashboard-customize-action {
  flex: 0 0 auto;
  color: #fff !important;
  border-color: rgba(255,255,255,.26) !important;
  background: rgba(7,17,31,.22) !important;
}
.dashboard-hero-v60-body { align-items: stretch; gap: 10px; }
.dashboard-hero-v60-status { flex: 1 1 auto; display: grid; gap: 9px; min-width: 0; }
.dashboard-hero-v60-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.dashboard-hero-v60-metrics article {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 11px;
  background: rgba(7,17,31,.22);
}
.dashboard-hero-v60-metrics small { opacity: .72; }
.dashboard-hero-v60-metrics strong { font-size: 1.05rem; }
.dashboard-hero-v60-form { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dashboard-hero-v60-form > span { opacity: .78; font-size: .7rem; }
.dashboard-hero-v60-form > div { display: flex; gap: 4px; }
.dashboard-hero-v60-form i {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.16);
  font-size: .61rem;
  font-style: normal;
  font-weight: 600;
}
.dashboard-hero-v60-form i.is-v { background: #147a4d; }
.dashboard-hero-v60-form i.is-e { background: #665f36; }
.dashboard-hero-v60-form i.is-d { background: #a52b42; }
.dashboard-hero-v60-readiness { gap: 8px; min-width: 0; }
.dashboard-hero-v60-readiness > span { display: grid; gap: 1px; min-width: 0; }
.dashboard-hero-v60-readiness small { opacity: .72; }
.dashboard-hero-v60-next {
  flex: 0 0 min(310px,42%);
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  color: #fff;
  background: rgba(7,17,31,.34);
  text-align: left;
  cursor: pointer;
}
.dashboard-hero-v60-next:hover,
.dashboard-hero-v60-next:focus-visible { background: rgba(7,17,31,.48); }
.dashboard-hero-v60-next-copy { display: grid; gap: 2px; min-width: 0; }
.dashboard-hero-v60-next-copy small { opacity: .72; }
.dashboard-hero-v60-next-copy strong,
.dashboard-hero-v60-next-copy em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-hero-v60-next-copy em { opacity: .78; font-size: .64rem; font-style: normal; }
.dashboard-hero-v60-next-visual { gap: 8px; flex: 0 0 auto; }
.dashboard-hero-v60-next-visual > b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--team-primary-contrast);
  background: var(--team-primary);
}

/* mobile-only: regra ampla incorporada ao estilo-base */

  .dashboard-hero-v60 { margin-inline: var(--mobile-card-gutter,10px) !important; border-radius: 16px !important; padding: 14px !important; }
  .dashboard-hero-v60-head { align-items: flex-start; }
  .dashboard-customize-action { padding-inline: 8px; font-size: .61rem; }
  .dashboard-customize-action svg { display: none !important; }
  .dashboard-hero-v60-body { display: grid; }
  .dashboard-hero-v60-next { width: 100%; max-width: none; flex-basis: auto; }


/* Superfícies que misturam duas cores do clube são escurecidas antes de usar texto branco. */
.live-club,
.international-fixture-row span {
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary) 40%,#07111f),
    color-mix(in srgb,var(--team-secondary) 38%,#07111f)) !important;
  text-shadow: none !important;
}
.live-club :is(strong,b,span,small,svg.svg-inline--fa,.fa-solid),
.international-fixture-row span :is(strong,b,small,svg.svg-inline--fa,.fa-solid) { color: inherit !important; }

/* Abas e ações da transmissão têm estados completos nos dois temas. */
.live-info-tabs > button {
  color: var(--live-control-text) !important;
  background: var(--live-control-bg) !important;
  border-color: var(--live-control-border) !important;
  text-shadow: none !important;
}
.live-info-tabs > button :is(svg.svg-inline--fa,.fa-solid,.fa-regular,span) { color: inherit !important; }
.live-info-tabs > button.is-active,
.live-info-tabs > button[aria-selected="true"] {
  color: var(--on-primary) !important;
  background: var(--primary) !important;
  border-color: transparent !important;
}
.live-info-tabs > button:disabled,
.live-info-tabs > button[aria-disabled="true"] {
  opacity: 1 !important;
  color: var(--live-control-disabled-text) !important;
  background: var(--live-control-disabled-bg) !important;
  border-color: color-mix(in srgb,var(--live-control-disabled-text) 26%,transparent) !important;
}
.match-screen :is(.finish-action-row,.match-action-row) .btn:not(.secondary):not(.danger):not(.ghost) {
  color: var(--on-primary) !important;
}
.match-screen :is(.finish-action-row,.match-action-row) .btn :is(svg.svg-inline--fa,.fa-solid,.fa-regular,span,small) { color: inherit !important; }
.team-mini-chip,
.calendar-club {
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary) 40%,#07111f),
    color-mix(in srgb,var(--team-secondary) 38%,#07111f)) !important;
  text-shadow: none !important;
}
.team-mini-chip :is(svg.svg-inline--fa,.fa-solid,strong,span),
.calendar-club :is(svg.svg-inline--fa,.fa-solid,strong,span) { color: inherit !important; }

/* V60 · fechamento da auditoria de contraste e estados interativos. */
:root {
  --club-marker-bg: var(--club-primary, #32d17d);
  --club-marker-text: var(--club-primary-contrast, #07111f);
  --team-marker-bg: var(--team-primary, var(--club-marker-bg));
  --team-marker-text: var(--team-primary-contrast, var(--club-marker-text));
  --team-primary-contrast: var(--club-primary-contrast, #ffffff);
  --shirt: var(--club-marker-bg);
  --shirt-text: var(--club-marker-text);
  --home: var(--club-primary, #667085);
  --away: var(--club-secondary, #111827);
  --penalty-team: var(--club-primary, #32d17d);
}

svg.svg-inline--fa path { fill: currentColor !important; }

.live-shirt-number,
.slot-shirt,
.bench-shirt,
.player-choice-shirt {
  color: var(--team-marker-text, var(--club-marker-text)) !important;
  background: var(--team-marker-bg, var(--club-marker-bg)) !important;
  border-color: color-mix(in srgb, var(--team-marker-text, var(--club-marker-text)) 72%, transparent) !important;
}
.football-player-chip .live-shirt-number {
  color: var(--team-marker-text, var(--club-marker-text)) !important;
  background: var(--team-marker-bg, var(--club-marker-bg)) !important;
}

/* Todos os controles da partida compartilham a mesma geometria e nunca extrapolam a grade. */
.live-management-actions .btn {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: center;
  gap: 2px 6px;
  min-width: 0 !important;
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 7px 8px !important;
  overflow: hidden;
  text-shadow: none !important;
  box-shadow: none !important;
}
.live-management-actions .integrity-action {
  color: var(--live-control-text) !important;
  background: var(--live-control-bg) !important;
  border-color: var(--live-control-border) !important;
}
.live-management-actions .integrity-action:hover,
.live-management-actions .integrity-action:focus-visible {
  color: var(--live-control-text) !important;
  background: var(--live-control-hover) !important;
}
.live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  color: #ffffff !important;
  background: #1f7650 !important;
  border-color: transparent !important;
}
html:not([data-theme="light"]) .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  background: #238a57 !important;
}
.live-pause-button.is-paused:not(.is-ended):not(:disabled) {
  color: #17120a !important;
  background: #e9b949 !important;
  border-color: transparent !important;
}
.live-pause-button:not(.is-ended):not(:disabled):hover,
.live-pause-button:not(.is-ended):not(:disabled):focus-visible {
  filter: brightness(.94);
}
.live-management-actions .btn.is-active small,
.live-management-actions .btn[aria-pressed="true"] small {
  color: var(--live-control-active-text) !important;
}
.live-management-actions .btn:disabled small,
.live-management-actions .btn[aria-disabled="true"] small {
  color: var(--live-control-disabled-text) !important;
}
.live-management-actions .btn > :is(svg.svg-inline--fa,.fa-solid,.fa-regular) {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}

html.national-duty-active .national-duty-hero :is(h1,h2,h3,strong,p,span,small,button,svg.svg-inline--fa,.fa-solid) {
  color: inherit !important;
  text-shadow: none !important;
}

/* A cor institucional é preservada, mas textos de destaque recebem uma versão legível sobre a superfície do tema. */
:root {
  --club-accent-text: var(--primary);
  --team-accent-text: var(--club-accent-text);
}
:is(
  .subtab.is-active i,
  .tactic-group-icon,.role-icon,
  .tactic-modern-option.is-selected i,
  .visual-player-choice i,.visual-player-choice em,
  .role-modern-card header > b,
  .role-player-choice > span:first-child,
  .role-player-choice.is-selected > i,
  .tactic-preset-grid button > i,
  .leader-card > span,.opponent-player-grid button > span,
  .locker-group-list > div > span,
  .medical-summary-icons i,
  .opponent-findings article > span,
  .promise-option-grid button > span,
  .assistant-review-grid article:nth-child(3) > strong,
  .assistant-report-teaser i,
  .fc-command-card small,.fc-command-icon,
  .fc-assignment-list article > span,
  .fc-staff-card header > span,.fc-staff-card header > b,
  .fc-style-grid strong,.fc-comparison-head > span,
  .fc-insight-list article > span,.fc-pack-card > span,
  .national-player-copy small,
  .qualifier-rows article.is-user,
  .regulation-icon,
  .registration-player.is-selected .registration-player-check span,
  .celebration-card.is-placement .celebration-trophy
) {
  color: var(--club-accent-text) !important;
}
.football-team-sheet-head > b :is(svg.svg-inline--fa,.fa-solid),
.team-tone .team-accent-text {
  color: var(--team-accent-text, var(--club-accent-text)) !important;
}

/* Topbar de qualquer clube ou seleção usa a identidade escurecida, evitando branco sobre amarelo, cinza ou branco. */
.topbar {
  color: #ffffff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--club-primary) 40%,#07111f),
    color-mix(in srgb,var(--club-secondary) 38%,#07111f)) !important;
  border-bottom-color: rgba(255,255,255,.22) !important;
}
.topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
.topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
  color: rgba(255,255,255,.82) !important;
}
.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context) {
  color: #ffffff !important;
  background: rgba(7,17,31,.28) !important;
  border-color: rgba(255,255,255,.25) !important;
}

/* Pequenos indicadores numéricos também usam a paleta acessível calculada pelo JavaScript. */
:is(
  .slot-number,
  .national-squad-summary article > span,
  .national-player-actions button.is-active,
  .national-duty-kpis article > span,
  .tactical-abc-card header > span,
  .live-abc-plans button > b,
  .batch-substitution-list > article > span,
  .national-duty-entry-grid article > svg.svg-inline--fa,
  .national-duty-entry-grid article > .fa-solid,
  .national-duty-auto-paused > svg.svg-inline--fa,
  .national-duty-auto-paused > .fa-solid,
  .dashboard-hero-v60-next-visual > b
) {
  color: var(--club-marker-text) !important;
  background: var(--club-marker-bg) !important;
  text-shadow: none !important;
}
.team-tone :is(
  .slot-number,
  .national-squad-summary article > span,
  .national-player-actions button.is-active,
  .national-duty-kpis article > span,
  .tactical-abc-card header > span,
  .live-abc-plans button > b,
  .batch-substitution-list > article > span
) {
  color: var(--team-marker-text, var(--club-marker-text)) !important;
  background: var(--team-marker-bg, var(--club-marker-bg)) !important;
}

/* O estado de pausa usa o mesmo par com contraste suficiente nos dois temas. */
html:not([data-theme="light"]) .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  background: #1f7650 !important;
}


/* ==========================================================
   V61 · Base exclusivamente mobile
   ========================================================== */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  display: block;
  min-width: 0;
}
.game-shell {
  width: 100%;
  max-width: 560px;
  min-height: 100dvh;
  height: auto;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.screen { min-height: 100dvh; }

/* Os ícones usam SVGs estáticos por CSS. Não há observer, hidratação ou reconstrução do DOM. */
.fa-solid, .fas,
.fa-regular, .far,
.fa-brands, .fab {
  display: inline-block;
  width: 1em;
  min-width: 1em;
  line-height: 1;
  text-align: center;
  color: inherit;
  opacity: 1;
  visibility: visible;
  font-style: normal;
  flex: 0 0 auto;
}
.fa-solid::before, .fas::before,
.fa-regular::before, .far::before,
.fa-brands::before, .fab::before {
  display: inline-block;
  color: currentColor;
  opacity: 1;
  visibility: visible;
}

/* ==========================================================
   V63 · Auditoria visual mobile completa
   Uma única geometria para celulares de 320 a 560 px.
   ========================================================== */

/* Contenção estrutural: nenhuma grade, formulário ou botão pode alargar a página. */
:where(.screen,.content,.stack,.panel,.main-view-hero,.setup-stage,.setup-actions,.app-modal-body,
  .home-dashboard-grid,.market-stack,.tactics-stack,.competition-stack,.settings-group,
  .editor-grid,.form-grid,.button-pair,.team-picker-tools) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
:where(button,.btn,input,select,textarea,label,canvas,img,svg) { max-width: 100%; box-sizing: border-box; }
:where(.btn,button) { overflow-wrap: anywhere; }

/* Entrada do jogo: as três escolhas cabem sempre, sem cortar a terceira opção. */
.landing-start-options.setup-mode-switch {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
}
.landing-start-options.setup-mode-switch > button {
  min-width: 0 !important;
  width: 100% !important;
  flex: none !important;
  padding-inline: 5px !important;
  font-size: .61rem !important;
}
.game-opening-copy > .kicker {
  display: block;
  max-width: calc(100% - 72px);
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.setup-actions > :not(.landing-surface):not(.setup-help) {
  width: auto !important;
  max-width: calc(100% - (var(--mobile-page-gutter) * 2)) !important;
}
.setup-actions > :is(.btn,.file-button) { justify-self: stretch; }

/* Cabeçalho compacto sem empurrar controles para fora em 320 px. */
.topbar-club-summary { min-width: 0; overflow: hidden; }
.topbar-club-summary strong { max-width: 104px; }
.topbar-money { flex: 0 0 auto; }

/* Submenus continuam nativos e roláveis, mas sem cortar a opção ativa por padding externo. */
:is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters) {
  scroll-padding-inline: 10px;
  max-width: 100%;
}
:is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters) > :is(button,a) {
  min-height: 42px;
}

/* Bottom sheets realmente opacos: o conteúdo de trás não compete com o modal. */
.app-modal-overlay {
  background: rgba(4,7,12,.88) !important;
  backdrop-filter: blur(8px) saturate(.72) !important;
}
.app-modal,
.app-modal.is-wide {
  background: var(--panel) !important;
  color: var(--text) !important;
  border-color: var(--line-strong) !important;
}
.app-modal-body { background: var(--panel); }
.app-modal:has(.matchday-cinematic) {
  min-height: min(86dvh,720px);
}
.app-modal:has(.notification-center-modern) {
  min-height: min(78dvh,660px);
}
.matchday-cinematic {
  background-color: #0b1711 !important;
  isolation: isolate;
}
.notification-center-modern { min-height: 0; }

/* Tema claro: estados que antes herdavam superfícies escuras. */
html[data-theme="light"] .app-modal-overlay {
  background: rgba(17,24,39,.72) !important;
}
html[data-theme="light"] .settings-autosave-banner {
  color: #173126 !important;
  background: #eef8f2 !important;
  border-color: #70ad8c !important;
}
html[data-theme="light"] .settings-autosave-banner > span {
  color: #0b7544 !important;
  background: #d8f0e2 !important;
}
html[data-theme="light"] .settings-autosave-banner :is(strong,small) {
  color: #173126 !important;
}
html[data-theme="light"] .settings-tabs button.is-active {
  color: #172033 !important;
  background: #ffffff !important;
  border-color: #bd5667 !important;
  box-shadow: inset 0 -2px 0 #bd2441 !important;
}
html[data-theme="light"] .settings-tabs button.is-active .fa-solid { color: #9f2038 !important; }
html[data-theme="light"] #customizeBottomNavBtn,
html[data-theme="light"] .settings-group .btn.secondary {
  color: #172033 !important;
  background: #e8edf3 !important;
  border-color: #aab6c5 !important;
}
html[data-theme="light"] #customizeBottomNavBtn :is(.fa-solid,span,strong) { color: #172033 !important; }

/* O card tático é claro no tema claro; não pode herdar texto branco de heróis escuros. */
html[data-theme="light"] .tactic-identity-card {
  color: var(--text) !important;
  background:
    radial-gradient(circle at 96% 8%,rgba(28,39,57,.10),transparent 38%),
    linear-gradient(180deg,#ffffff,#f5f7fa) !important;
  border-color: rgba(28,39,57,.14) !important;
}
html[data-theme="light"] .tactic-identity-card :is(h1,h2,h3,h4,strong,b,p,span,small,em) {
  color: var(--text) !important;
  text-shadow: none !important;
}
html[data-theme="light"] .tactic-identity-card :is(p,small,em) { color: var(--muted) !important; }
html[data-theme="light"] .tactic-identity-card::after { background: rgba(28,39,57,.06); }

/* Painel inicial claro: ações mantêm contraste em superfícies cinzas. */
html[data-theme="light"] .dashboard-customize-action {
  color: #172033 !important;
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(28,39,57,.16) !important;
}
html[data-theme="light"] .dashboard-hero-v60-next {
  color: #172033 !important;
  background: #e8edf3 !important;
  border-color: #aeb9c7 !important;
}
html[data-theme="light"] .dashboard-hero-v60-next :is(strong,span,small) { color: inherit !important; }

/* Campo ao vivo nunca começa preto enquanto o primeiro frame do Canvas não chegou. */
.live-pitch-canvas {
  display: block;
  width: 100%;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 8.33%,rgba(0,0,0,.025) 8.33% 16.66%),
    linear-gradient(90deg,#075b34,#137848 50%,#075b34);
}

/* Controles do Ao vivo: pares explícitos para todos os estados e temas. */
.live-management-actions :is(button,.btn),
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) {
  min-width: 0;
  min-height: 44px;
  color: #f5f7fb !important;
  background: #202a39 !important;
  border-color: #526075 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.live-management-actions :is(button,.btn) :is(.fa-solid,span,strong),
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) :is(.fa-solid,span,strong) {
  color: inherit !important;
}
.match-screen .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  color: #ffffff !important;
  background: #187149 !important;
  border-color: #2aa66f !important;
}
.match-screen .live-pause-button.is-paused {
  color: #1b1300 !important;
  background: #f0bd45 !important;
  border-color: #bf8b13 !important;
}
.match-screen :is(button,.btn):disabled,
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn):disabled {
  color: #b7c0cd !important;
  background: #303846 !important;
  border-color: #4e596a !important;
  opacity: 1 !important;
  filter: none !important;
}
html[data-theme="light"] .live-management-actions :is(button,.btn),
html[data-theme="light"] .match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) {
  color: #172033 !important;
  background: #eef2f7 !important;
  border-color: #aab6c5 !important;
}
html[data-theme="light"] .match-screen .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  color: #ffffff !important;
  background: #176f49 !important;
  border-color: #115b3b !important;
}
html[data-theme="light"] .match-screen .live-pause-button.is-paused {
  color: #251800 !important;
  background: #f4c75c !important;
  border-color: #a8780d !important;
}
html[data-theme="light"] .match-screen :is(button,.btn):disabled,
html[data-theme="light"] .match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn):disabled {
  color: #536174 !important;
  background: #d7dee8 !important;
  border-color: #9ba8b8 !important;
  opacity: 1 !important;
}
#liveSubstitutionBtn {
  white-space: normal;
  line-height: 1.15;
  text-align: center;
}

/* Linhas e cards em 320 px: texto pode encolher, nunca escapar. */
:where(.player-row,.market-negotiation-card,.notification-center-item,.coach-priority,.dashboard-hero-v60-next,
  .live-score-tile,.fixture-card,.calendar-fixture,.role-player-card,.substitution-player-card) > * {
  min-width: 0;
}
:where(.market-route-copy,.market-route-player,.notification-copy,.player-main,.coach-priority > span) :is(strong,small,p,span) {
  overflow-wrap: anywhere;
}

@media (max-width: 350px) {
  .game-opening-copy h1 { font-size: 2.05rem !important; }
  .landing-start-options.setup-mode-switch > button { font-size: .56rem !important; padding-inline: 3px !important; }
  .topbar-club-summary strong { max-width: 78px; }
  .dashboard-hero-v60-title h1,
  .dashboard-hero-v60-title h2 { font-size: 1.15rem; }
  .main-view-hero h1,.main-view-hero h2 { font-size: 1.32rem; }
}

/* ==========================================================
   V63 · Correções encontradas na inspeção visual em navegador
   ========================================================== */

/* O centro do medidor permanece escuro nos dois temas. */
.tactic-score-ring :is(strong,span) {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.72) !important;
}

/* No tema claro, o Dia de jogo usa uma superfície realmente clara.
   Regras antigas de heróis coloridos não podem forçar texto branco. */
html[data-theme="light"] .matchday-cinematic {
  color: #172033 !important;
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb,var(--home-primary) 10%,transparent), transparent 34%),
    radial-gradient(circle at 88% 0%, color-mix(in srgb,var(--away-primary) 10%,transparent), transparent 34%),
    linear-gradient(180deg,#ffffff,#f4f7fa) !important;
}
html[data-theme="light"] .matchday-lights { opacity: .12 !important; }
html[data-theme="light"] .matchday-cinematic :is(h1,h2,h3,h4,p,span,strong,b) {
  color: #172033 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .matchday-cinematic :is(small,.kicker) {
  color: #647187 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .matchday-versus span { color: #a91f3b !important; }
html[data-theme="light"] .matchday-info-grid span {
  color: #172033 !important;
  background: #ffffff !important;
  border-color: #cfd7e2 !important;
}
html[data-theme="light"] .matchday-info-grid span :is(i,strong) { color: #172033 !important; }
html[data-theme="light"] .matchday-info-grid span small { color: #647187 !important; }
html[data-theme] .tactic-identity-card .tactic-score-ring strong,
html[data-theme] .tactic-identity-card .tactic-score-ring span {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.72) !important;
}

/* ===== Etapa 64 · navegação sempre visível e composição mobile compacta ===== */
:root {
  --topbar-final-height: calc(var(--topbar-compact-height, 52px) + var(--safe-top));
  --bottom-nav-final-height: calc(var(--bottom-nav-compact-height, 58px) + var(--safe-bottom));
  --mobile-control-height: 40px;
  --mobile-control-gap: 7px;
}

/* O documento não rola: somente o conteúdo central. Assim as duas barras permanecem visíveis. */
html,
body {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: none;
}

body { place-items: stretch center; }
.game-shell {
  width: min(100%, 560px);
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.app-screen {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.app-screen > .topbar {
  position: relative !important;
  inset: auto !important;
  grid-row: 1;
  width: 100%;
  flex: 0 0 auto;
  z-index: var(--z-navigation);
}

.app-screen > .content {
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  scroll-padding-top: 8px;
  scroll-padding-bottom: 12px;
  padding-bottom: 12px !important;
}

.app-screen > .navbar {
  position: relative !important;
  inset: auto !important;
  grid-row: 3;
  width: 100%;
  flex: 0 0 auto;
  z-index: var(--z-navigation);
}

/* A elevação do botão Jogar pertence à própria barra e não cria altura vazia na página. */
.navbar { min-height: var(--bottom-nav-final-height); }
.navbar-mobile { min-height: 50px; }
.navbar-mobile .nav-play { margin-top: -8px; transform: none !important; }

/* Wiki independente também usa cabeçalho fixo e área central rolável. */
.standalone-wiki-screen {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  padding: 0 !important;
}
.standalone-wiki-topbar { position: relative !important; top: auto !important; z-index: var(--z-navigation); }
.standalone-wiki-screen > .content { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }

/* Submenus mais baixos, ainda com alvo de toque confortável e scroll nativo. */
:is(.subtabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs) {
  gap: 5px !important;
  padding: 4px 2px 6px !important;
}
:is(.subtabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs) > :is(button,a) {
  min-height: 36px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: .66rem !important;
  line-height: 1.1;
}

/* Campos relacionados ficam lado a lado para reduzir rolagem vertical. */
:is(.form-grid,.editor-form,.market-modal-form,.manager-profile-form,.national-squad-filters,
    .market-filter-grid,.scout-form-grid,.fc-form,.save-plan-form,.direct-offer-form) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end;
  gap: var(--mobile-control-gap) !important;
}

:is(.form-grid,.editor-form,.market-modal-form,.manager-profile-form,.national-squad-filters,
    .market-filter-grid,.scout-form-grid,.fc-form,.save-plan-form,.direct-offer-form) > * {
  min-width: 0;
}

:is(.form-grid,.editor-form,.market-modal-form,.manager-profile-form,.national-squad-filters,
    .market-filter-grid,.scout-form-grid,.fc-form,.save-plan-form,.direct-offer-form)
  > :is(.full,.wide,.span-full,.manager-profile-form-wide,.market-search-field,.market-filter-submit,
        details,fieldset,textarea,p,h3,.form-note,.field-note,[data-full-row]) {
  grid-column: 1 / -1 !important;
}

:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea) {
  min-width: 0;
  max-width: 100%;
}

:is(.editor-form,.market-modal-form,.manager-profile-form,.national-squad-filters,.market-filter-grid,
    .scout-form-grid,.fc-form,.save-plan-form,.direct-offer-form) :is(input,select) {
  min-height: var(--mobile-control-height);
  padding-block: 7px;
}

/* Grupos de ações usam a largura horizontal disponível antes de empilhar. */
:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
    .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,
    .offer-actions,.contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,
    .national-duty-actions,.national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,
    .community-hub-actions,.fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: var(--mobile-control-gap) !important;
}

:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
    .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,
    .offer-actions,.contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,
    .national-duty-actions,.national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,
    .community-hub-actions,.fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions)
  > :is(button,.btn,a,label) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  min-height: var(--mobile-control-height);
  margin: 0 !important;
  padding: 8px 8px;
  justify-content: center;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: 1.15;
}

:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
    .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,
    .offer-actions,.contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,
    .national-duty-actions,.national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,
    .community-hub-actions,.fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions)
  > :only-child {
  grid-column: 1 / -1 !important;
}

/* Barras de ferramentas: título e controles dividem uma linha quando couber. */
:is(.panel-heading-row,.section-heading-row,.statistics-toolbar,.statistics-season-toolbar,
    .notification-center-toolbar,.market-filter-heading,.tactic-save-row,.lineup-save-bar) {
  min-width: 0;
  gap: 7px !important;
}
:is(.panel-heading-row,.section-heading-row,.statistics-toolbar,.statistics-season-toolbar,
    .notification-center-toolbar,.market-filter-heading) > :is(.btn,button,select,label) {
  flex: 0 1 auto;
  min-width: 0;
}

/* Filtros de mercado: busca em largura total, filtros compactos lado a lado e ação final em largura total. */
.market-filter-grid .market-search-field,
.market-filter-grid .market-filter-submit { grid-column: 1 / -1 !important; }
.market-filter-grid .market-filter-submit { min-height: var(--mobile-control-height); }

/* Botões globais ligeiramente mais baixos sem reduzir a área mínima de toque. */
.btn { min-height: 42px; padding: 9px 11px; border-radius: 11px; font-size: .78rem; }
.btn.compact { min-height: 36px; padding: 7px 9px; border-radius: 9px; font-size: .7rem; }

/* Os cards de acesso rápido usam duas colunas e conteúdo compacto. */
.quick-action-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px; }
.quick-action-grid button { min-height: 56px; padding: 7px 8px; border-radius: 11px; }
.quick-action-grid strong { font-size: .76rem; }
.quick-action-grid small { font-size: .6rem; line-height: 1.2; }

/* Evita que ações fixas internas fiquem atrás da barra inferior. */
.content :is(.sticky-action-bar,.unemployed-action-bar,.match-action-row,.finish-action-row,.investment-actions) {
  bottom: 4px !important;
}

@media (max-width: 350px) {
  :root { --mobile-control-gap: 5px; }
  :is(.subtabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs) > :is(button,a) {
    padding-inline: 8px !important;
    font-size: .62rem !important;
  }
  .btn { padding-inline: 8px; font-size: .73rem; }
  .topbar-money { max-width: 72px !important; overflow: hidden !important; }
}

/* ===== Etapa 65 · transmissão 40/60 para celulares 9:16 ===== */
.match-screen,
.match-screen.is-finished {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  padding: max(3px,var(--safe-top)) 0 max(3px,var(--safe-bottom)) !important;
  gap: 3px !important;
  grid-template-rows: 38px minmax(210px,40%) 44px 42px minmax(0,1fr) !important;
  overflow: hidden !important;
}
.match-header {
  min-height: 0 !important;
  height: 38px;
  padding: 4px 7px !important;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb,var(--panel) 96%,transparent);
}
.match-header > div > strong { max-width: 47vw; font-size: .66rem; }
.match-header > div > span { font-size: .51rem !important; }
.match-header .match-official { font-size: .46rem; }
.match-header .minute { min-width: 38px; padding: 4px 6px; font-size: .68rem; }
.pitch-score {
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 4px !important;
  padding: 4px !important;
  gap: 3px !important;
  grid-template-rows: 32px minmax(0,1fr) !important;
  border-width: 1px;
  border-radius: 11px;
}
.pitch-score::before { inset: 3px; border-radius: 8px; }
.pitch-score > .fixture-card { height: 32px !important; min-height: 0 !important; gap: 3px; padding-inline: 1px; }
.pitch-score .fixture-team.team-tone { height: 27px; min-height: 27px !important; padding: 2px 4px !important; gap: 4px; border-radius: 6px; }
.pitch-score .fixture-team .crest { width: 17px !important; height: 20px !important; }
.pitch-score .fixture-team strong { max-width: 78px !important; font-size: .54rem !important; }
.pitch-score .score { font-size: .96rem !important; }
.pitch-score .vs { font-size: .42rem !important; }
.live-pitch-shell {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-rows: minmax(0,1fr) 24px !important;
  border-radius: 7px;
}
.live-pitch-canvas { width: 100%; height: 100% !important; min-height: 0; aspect-ratio: auto !important; }
.live-pitch-caption {
  min-height: 24px !important;
  height: 24px;
  padding: 3px 6px !important;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 5px;
  overflow: hidden;
}
.live-pitch-caption strong { font-size: .58rem !important; }
.live-team-key { max-width: 48%; overflow: hidden; gap: 4px; }
.live-team-key span { min-width: 0; max-width: 50%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .46rem; }
.live-management-bar {
  position: static !important;
  display: block !important;
  min-height: 0 !important;
  height: 44px;
  margin: 0 4px !important;
  padding: 3px !important;
  overflow: visible !important;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
}
.live-momentum { display: none !important; }
.live-management-actions {
  width: 100%;
  height: 100%;
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0,1fr);
  align-items: stretch;
  gap: 3px !important;
}
.live-management-actions #skipMatchBtn { grid-column: auto !important; }
.live-management-actions .btn,
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) {
  position: relative;
  width: 100%;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 3px 2px !important;
  display: grid !important;
  grid-template-rows: 16px 10px;
  grid-template-columns: minmax(0,1fr) !important;
  grid-auto-flow: row !important;
  place-items: center;
  align-content: center;
  gap: 1px !important;
  border-radius: 7px;
  white-space: nowrap !important;
  overflow: hidden;
  line-height: 1 !important;
}
.live-management-actions .btn > .fa-solid,
.live-management-actions .btn > .fa-regular { grid-row: 1 !important; grid-column: 1 !important; align-self: end; width: 1em; height: 1em; font-size: .78rem; }
.live-management-actions .btn > .live-action-label {
  grid-row: 2 !important;
  grid-column: 1 !important;
  align-self: start;
  display: block !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .43rem !important;
  line-height: 1;
}
.live-management-actions .btn small {
  position: absolute;
  top: 1px;
  right: 2px;
  min-width: 18px;
  padding: 1px 3px;
  border-radius: 999px;
  background: color-mix(in srgb,currentColor 14%,transparent);
  color: inherit;
  font-size: .39rem !important;
  line-height: 1.15;
  font-style: normal;
}
.live-info-tabs {
  width: auto !important;
  height: 42px;
  min-height: 0 !important;
  margin: 0 4px !important;
  padding: 3px !important;
  display: grid !important;
  grid-template-columns: repeat(6,minmax(0,1fr)) !important;
  gap: 2px !important;
  overflow: hidden !important;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  scroll-snap-type: none !important;
}
.live-info-tabs > button {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  height: 34px;
  padding: 3px 1px !important;
  display: grid !important;
  grid-template-rows: 16px 10px;
  grid-template-columns: minmax(0,1fr) !important;
  grid-auto-flow: row !important;
  place-items: center;
  align-content: center;
  gap: 1px !important;
  border-radius: 6px;
  overflow: hidden;
  line-height: 1;
}
.live-info-tabs > button > .fa-solid,
.live-info-tabs > button > .fa-regular { grid-row: 1 !important; grid-column: 1 !important; align-self: end; font-size: .72rem !important; }
.live-info-tabs > button > .live-tab-label {
  grid-row: 2 !important;
  grid-column: 1 !important;
  align-self: start;
  display: block !important;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .42rem !important;
  line-height: 1;
  text-align: center;
}
.live-info-tabs button::after { content: none !important; display: none !important; }
.live-info-workspace {
  width: auto !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 4px !important;
  overflow: hidden !important;
  border: 1px solid var(--line);
  border-radius: 9px 9px 0 0;
  background: var(--panel);
  contain: layout paint;
}
.live-match-pane,
.live-match-pane.is-active {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-y: auto;
  overscroll-behavior-y: contain;
}
.match-events { padding: 5px 7px 12px !important; }
.match-events .event { grid-template-columns: 31px 20px minmax(0,1fr) !important; gap: 5px; padding: 6px 2px; font-size: .66rem; line-height: 1.25; }
.match-events .event .event-icon { width: 19px; height: 19px; font-size: .61rem; }
.match-events .event time { font-size: .6rem; }
.other-live-heading { padding: 5px 7px; }
.live-quick-statistics,
.live-lineups-pane { padding: 6px !important; }
.live-statistics-head { padding: 6px; gap: 4px; border-radius: 8px; }
.live-match-reading { gap: 4px; }
.live-match-reading article { padding: 6px; border-radius: 7px; }
.football-stat-row { min-height: 31px; padding: 4px 6px; }
.live-score-tile { min-height: 34px; }
@media (max-width: 350px) {
  .match-screen,
  .match-screen.is-finished { grid-template-rows: 36px minmax(200px,40%) 42px 40px minmax(0,1fr) !important; }
  .match-header { height: 36px; }
  .pitch-score,
  .live-management-bar,
  .live-info-tabs,
  .live-info-workspace { margin-inline: 2px !important; }
  .live-management-actions .btn .live-action-label,
  .live-info-tabs .live-tab-label { font-size: .39rem !important; }
  .live-management-actions .btn > .fa-solid,
  .live-info-tabs > button > .fa-solid { font-size: .68rem !important; }
  .pitch-score .fixture-team strong { max-width: 61px !important; }
}

/* Etapa 66 — estabilidade de rolagem e controles do Ao vivo */
.content {
  overflow-anchor: auto;
  scroll-behavior: auto;
}

.match-screen .live-management-bar {
  height: 46px;
  padding: 4px !important;
}

.match-screen .live-management-actions {
  gap: 5px !important;
}

.match-screen .live-management-actions .btn,
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  height: 38px !important;
  padding: 3px 1px !important;
  text-align: center !important;
}

.match-screen .live-management-actions .btn > :is(.fa-solid,.fa-regular),
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) > :is(.fa-solid,.fa-regular) {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: 100% !important;
  height: 15px !important;
  margin: 0 !important;
  font-size: .78rem !important;
  line-height: 15px !important;
  text-align: center !important;
}

.match-screen .live-management-actions .btn > :is(.fa-solid,.fa-regular)::before,
.match-screen :is(.live-pause-button,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn) > :is(.fa-solid,.fa-regular)::before {
  display: block;
  width: 100%;
  line-height: 15px;
  text-align: center;
}

.match-screen .live-management-actions .btn > .live-action-label {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: .44rem !important;
  line-height: 10px !important;
  text-align: center !important;
}

.match-screen .live-management-actions .btn small {
  top: 2px;
  right: 2px;
}

.match-screen .live-info-tabs {
  gap: 4px !important;
}

.match-screen .live-info-tabs > button {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 3px 1px !important;
  text-align: center !important;
}

.match-screen .live-info-tabs > button > :is(.fa-solid,.fa-regular) {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: 100% !important;
  height: 14px !important;
  margin: 0 !important;
  font-size: .72rem !important;
  line-height: 14px !important;
  text-align: center !important;
}

.match-screen .live-info-tabs > button > :is(.fa-solid,.fa-regular)::before {
  display: block;
  width: 100%;
  line-height: 14px;
  text-align: center;
}

.match-screen .live-info-tabs > button > .live-tab-label {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-size: .41rem !important;
  line-height: 10px !important;
  letter-spacing: -.01em;
  text-align: center !important;
}

@media (max-width: 350px) {
  .match-screen .live-management-actions { gap: 4px !important; }
  .match-screen .live-info-tabs { gap: 3px !important; }
  .match-screen .live-management-actions .btn > .live-action-label,
  .match-screen .live-info-tabs > button > .live-tab-label { font-size: .38rem !important; }
}

.match-screen .live-finish-pane .finish-action-row {
  gap: 6px !important;
}

.match-screen .live-finish-pane .finish-action-row .btn {
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 5px 6px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  text-align: center !important;
  line-height: 1 !important;
}

.match-screen .live-finish-pane .finish-action-row .btn > :is(.fa-solid,.fa-regular) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 16px !important;
  margin: 0 !important;
  line-height: 16px !important;
  text-align: center !important;
}

.match-screen .live-finish-pane .finish-action-row .btn > :is(.fa-solid,.fa-regular)::before {
  display: block;
  width: 100%;
  line-height: 16px;
  text-align: center;
}

.match-screen .live-finish-pane .finish-action-row .btn > span {
  width: 100%;
  text-align: center !important;
}

/* ===== Etapa 67 · Wiki simples, transmissão organizada e fluxo mobile direto ===== */

/* Entrada rápida: começar a jogar vem antes de demonstrações. */
.setup-screen .setup-hero {
  min-height: 0 !important;
  padding: 8px 6px !important;
  border-radius: 0 !important;
  background: var(--panel) !important;
}
.setup-screen .stadium-light,
.setup-screen .landing-brand-mark,
.setup-screen .game-opening-copy > .kicker,
.setup-screen .game-opening-copy > h1,
.setup-screen .game-opening-copy > p,
.setup-screen .opening-scoreboard,
.setup-screen .landing-promise-grid,
.setup-screen .landing-spotlight { display: none !important; }
.setup-screen .game-opening-copy { width: 100%; max-width: none; }
.setup-screen .landing-start-hub {
  width: 100%;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
  box-shadow: none !important;
}
.setup-screen .landing-start-heading { gap: 2px; }
.setup-screen .landing-start-heading strong { font-size: 1rem; }
.setup-screen .landing-start-heading small { font-size: .68rem; line-height: 1.3; }
.setup-screen .landing-start-options { margin-top: 8px; }
.setup-screen .landing-start-actions {
  margin-top: 8px;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
}
.setup-screen .landing-start-actions .landing-continue-button { grid-column: 1 / -1; }
.setup-screen .landing-start-actions > * { min-width: 0; }
.setup-screen .setup-stage { display: flex !important; flex-direction: column; gap: 8px; }
.setup-screen .setup-actions { order: 1; }
.setup-screen .landing-demo { order: 2; transition: none !important; }
.setup-screen .landing-demo.is-collapsed { display: none !important; }
.setup-screen .setup-actions > .panel,
.setup-screen .setup-actions > form { margin-inline: 6px !important; }

/* Modal arredondado só quando existe respiro real ao redor. */
.app-modal-overlay {
  padding: max(8px,var(--safe-top)) 8px max(8px,var(--safe-bottom)) !important;
  place-items: center !important;
}
.app-modal,
.app-modal.is-wide {
  width: 100% !important;
  max-width: 540px !important;
  max-height: calc(100dvh - max(16px,var(--safe-top)) - max(16px,var(--safe-bottom))) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  margin: 0 !important;
}
.app-modal-body { max-height: none !important; }

/* Central de notificações: o card inteiro abre o conteúdo relacionado. */
.notification-center-item.is-actionable { cursor: pointer; }
.notification-center-item.is-actionable:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.notification-center-item.is-actionable:hover,
.notification-center-item.is-actionable:active {
  border-color: color-mix(in srgb,var(--primary) 55%,var(--line));
  background: color-mix(in srgb,var(--primary) 6%,var(--panel));
}

/* Wiki reconstruída para leitura linear no celular. */
.wiki-page-simple {
  display: grid;
  gap: 10px;
  padding: 8px 6px 18px;
}
.wiki-simple-home,
.wiki-quick-start,
.wiki-index,
.wiki-reader,
.wiki-progress-simple {
  margin: 0 !important;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
  box-shadow: none !important;
}
.wiki-simple-home { padding: 12px; display: grid; gap: 10px; }
.wiki-simple-title { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: start; }
.wiki-simple-logo,
.wiki-simple-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 14%,var(--panel-2));
  color: var(--primary);
  font-size: 1rem;
}
.wiki-simple-title h1 { margin: 2px 0 3px; font-size: 1.03rem; line-height: 1.18; }
.wiki-simple-title p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.wiki-search-main { margin: 0 !important; min-height: 42px; }
.wiki-simple-home-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.wiki-quick-start { padding: 10px; }
.wiki-quick-start > header { display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.wiki-quick-start h2 { margin: 2px 0 0; font-size: .92rem; }
.wiki-quick-start > header small { color: var(--muted); font-size: .58rem; text-align: right; }
.wiki-quick-grid { display: grid; gap: 5px; }
.wiki-quick-grid > button {
  min-height: 52px;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 18px;
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--text);
  text-align: left;
}
.wiki-quick-grid > button > .fa-solid:first-child { color: var(--primary); font-size: .9rem; }
.wiki-quick-grid span strong,
.wiki-quick-grid span small { display: block; }
.wiki-quick-grid span strong { font-size: .74rem; }
.wiki-quick-grid span small { margin-top: 2px; color: var(--muted); font-size: .6rem; line-height: 1.25; }
.wiki-filter-bar {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) repeat(3,minmax(0,.7fr));
  gap: 4px;
}
.wiki-filter-bar select,
.wiki-filter-bar button {
  min-width: 0;
  min-height: 36px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  color: var(--text);
  font-size: .61rem;
}
.wiki-filter-bar button.is-active { background: var(--primary); color: var(--primary-contrast); border-color: var(--primary); }
.wiki-page-simple .wiki-category-strip {
  margin: 0 !important;
  padding: 2px 0 5px !important;
  gap: 5px !important;
  border: 0 !important;
  background: transparent !important;
}
.wiki-page-simple .wiki-category-strip button { flex: 0 0 auto; min-height: 34px !important; border: 1px solid var(--line); background: var(--panel); }
.wiki-page-simple .wiki-category-strip button.is-active { background: color-mix(in srgb,var(--primary) 14%,var(--panel)); color: var(--text); border-color: var(--primary); }
.wiki-progress-simple { padding: 8px 10px; display: grid; grid-template-columns: auto minmax(80px,1fr); align-items: center; gap: 8px; }
.wiki-progress-simple > div:first-child strong,
.wiki-progress-simple > div:first-child small { display: block; }
.wiki-progress-simple > div:first-child strong { font-size: .68rem; }
.wiki-progress-simple > div:first-child small { margin-top: 1px; color: var(--muted); font-size: .56rem; }
.wiki-workspace-simple { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; min-height: 0; }
.wiki-workspace-simple .wiki-index { padding: 9px; max-height: none !important; overflow: visible !important; }
.wiki-index > header { margin-bottom: 7px; }
.wiki-topic-list { display: grid; gap: 6px; max-height: none !important; overflow: visible !important; }
.wiki-result-group { border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); overflow: hidden; }
.wiki-result-group > summary {
  min-height: 38px;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) auto 16px;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}
.wiki-result-group > summary::-webkit-details-marker { display: none; }
.wiki-result-group > summary strong { font-size: .7rem; }
.wiki-result-group > summary small { color: var(--muted); font-size: .58rem; }
.wiki-result-group > div { border-top: 1px solid var(--line); }
.wiki-topic-row {
  width: 100%;
  min-height: 48px;
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) 18px !important;
  gap: 6px;
  padding: 7px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  text-align: left;
}
.wiki-topic-row:last-child { border-bottom: 0 !important; }
.wiki-topic-row.is-active { background: color-mix(in srgb,var(--primary) 10%,var(--panel)) !important; box-shadow: inset 3px 0 0 var(--primary) !important; }
.wiki-topic-row strong { font-size: .68rem; }
.wiki-topic-row small { margin-top: 2px; color: var(--muted); font-size: .56rem; }
.wiki-workspace-simple .wiki-reader { padding: 0; overflow: visible !important; }
.wiki-article-simple { display: grid; gap: 9px; padding: 10px; }
.wiki-simple-article-head { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 9px; align-items: start; }
.wiki-simple-article-head h1 { margin: 2px 0 4px; font-size: 1rem; line-height: 1.2; }
.wiki-simple-article-head p { margin: 0; color: var(--muted); font-size: .69rem; line-height: 1.4; }
.wiki-simple-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.wiki-simple-actions .btn { min-height: 38px !important; padding: 5px 4px !important; display: flex; flex-direction: column; gap: 2px; font-size: .54rem !important; }
.wiki-answer-card,
.wiki-simple-note {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 7px;
  padding: 9px;
  border: 1px solid color-mix(in srgb,var(--primary) 40%,var(--line));
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 8%,var(--panel-2));
}
.wiki-answer-card > span,
.wiki-simple-note > span { color: var(--primary); text-align: center; }
.wiki-answer-card strong,
.wiki-simple-note strong { font-size: .7rem; }
.wiki-answer-card p,
.wiki-simple-note p { margin: 2px 0 0; color: var(--text); font-size: .65rem; line-height: 1.4; }
.wiki-simple-section { display: grid; gap: 6px; }
.wiki-simple-section > header span { color: var(--primary); font-size: .55rem; text-transform: uppercase; letter-spacing: .07em; }
.wiki-simple-section > header h2 { margin: 2px 0 0; font-size: .82rem; }
.wiki-choice-list { display: grid; gap: 5px; }
.wiki-choice-item { border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); overflow: hidden; }
.wiki-choice-item summary { min-height: 46px; display: grid; grid-template-columns: 24px minmax(0,1fr) 16px; gap: 6px; align-items: center; padding: 7px 8px; cursor: pointer; list-style: none; }
.wiki-choice-item summary::-webkit-details-marker { display: none; }
.wiki-choice-item summary > b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--primary); color: var(--primary-contrast); font-size: .6rem; }
.wiki-choice-item summary strong,
.wiki-choice-item summary small { display: block; }
.wiki-choice-item summary strong { font-size: .68rem; }
.wiki-choice-item summary small { margin-top: 2px; color: var(--muted); font-size: .58rem; line-height: 1.25; }
.wiki-choice-item > div { padding: 0 8px 8px 38px; display: grid; gap: 5px; }
.wiki-choice-item p { margin: 0; padding: 6px 7px; border-radius: 7px; font-size: .61rem; line-height: 1.35; }
.wiki-choice-item .is-benefit { background: color-mix(in srgb,var(--success) 10%,var(--panel)); }
.wiki-choice-item .is-risk { background: color-mix(in srgb,var(--danger) 9%,var(--panel)); }
.wiki-simple-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.wiki-simple-list { margin: 0; padding: 0; display: grid; gap: 5px; list-style: none; }
.wiki-simple-list li { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 6px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); font-size: .63rem; line-height: 1.35; }
.wiki-simple-list li > .fa-solid { color: var(--success); }
.wiki-simple-list.is-warning li > .fa-solid { color: var(--warning); }
.wiki-related-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 5px !important; }
.wiki-related-grid button { min-height: 52px; display: grid !important; grid-template-columns: minmax(0,1fr) 18px !important; padding: 7px 8px !important; border: 1px solid var(--line) !important; border-radius: 9px !important; background: var(--panel-2) !important; text-align: left; }
.wiki-related-grid button > span,
.wiki-related-grid button > strong,
.wiki-related-grid button > small { grid-column: 1; }
.wiki-related-grid button > .fa-solid { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.wiki-related-grid button > span { color: var(--primary); font-size: .53rem; }
.wiki-related-grid button > strong { margin-top: 2px; font-size: .66rem; }
.wiki-related-grid button > small { margin-top: 2px; color: var(--muted); font-size: .56rem; line-height: 1.25; }
.wiki-source-note { font-size: .55rem !important; line-height: 1.35; }

/* Ao vivo: ações pertencem ao campo; abas pertencem ao painel de informações. */
.match-screen,
.match-screen.is-finished,
.observer-screen {
  grid-template-rows: 38px minmax(235px,40%) minmax(0,1fr) !important;
  gap: 4px !important;
}
.match-screen .pitch-score,
.observer-screen .pitch-score {
  grid-template-rows: 31px minmax(0,1fr) 46px !important;
  gap: 3px !important;
  overflow: hidden;
}
.match-screen .live-management-bar,
.observer-screen .live-management-bar {
  width: 100%;
  height: 46px !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb,var(--panel) 94%,var(--primary) 6%) !important;
}
.live-information-panel {
  min-height: 0;
  margin: 0 4px;
  display: grid;
  grid-template-rows: 39px minmax(0,1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px 11px 0 0;
  background: var(--panel);
}
.live-information-panel .live-info-tabs {
  width: 100% !important;
  height: 39px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: var(--panel-2) !important;
}
.live-information-panel .live-info-tabs > button {
  height: 38px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
  box-shadow: none !important;
}
.live-information-panel .live-info-tabs > button.is-active {
  color: var(--text) !important;
  box-shadow: inset 0 -3px 0 var(--primary) !important;
}
.live-information-panel .live-info-tabs > button.is-active > :is(.fa-solid,.fa-regular) { color: var(--primary) !important; }
.live-information-panel .live-info-workspace {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.observer-command-actions {
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0,1fr) !important;
}
.observer-command-actions .btn[hidden] { display: none !important; }
.observer-header { grid-template-columns: minmax(0,1fr) auto !important; }
.observer-header > #observerBackBtn { display: none !important; }
.observer-clock { min-width: 42px; justify-content: center; }

@media (max-width: 350px) {
  .wiki-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wiki-filter-bar select { grid-column: 1 / -1; }
  .wiki-simple-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .match-screen,
  .match-screen.is-finished,
  .observer-screen { grid-template-rows: 36px minmax(220px,40%) minmax(0,1fr) !important; }
  .live-information-panel { margin-inline: 2px; }
}

/* Informações do painel que possuem destino funcionam como atalhos reais. */
.dashboard-hero-v60-metrics > button,
.dashboard-hero-v60-form,
.dashboard-hero-v60-readiness {
  appearance: none;
  border: inherit;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.dashboard-hero-v60-metrics > button {
  min-width: 0;
  background: inherit;
  padding: inherit;
  border-radius: inherit;
  text-align: inherit;
}
.dashboard-hero-v60-form { width: 100%; }
.dashboard-hero-v60-readiness { width: 100%; grid-template-columns: auto minmax(0,1fr) auto !important; text-align: left; }
.dashboard-hero-v60-metrics > button:focus-visible,
.dashboard-hero-v60-form:focus-visible,
.dashboard-hero-v60-readiness:focus-visible { outline: 2px solid var(--primary-contrast); outline-offset: 2px; }
.setup-screen .landing-new-career-note { grid-column: 1 / -1; }
.dashboard-hero-v60-metrics > button {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 11px;
  background: rgba(7,17,31,.22);
  color: inherit;
  text-align: left;
}
.dashboard-hero-v60-form,
.dashboard-hero-v60-readiness {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

/* ==========================================================
   V67 · Editor de clubes, contraste dinâmico e revisão visual
   ========================================================== */
:root {
  --primary-contrast: var(--on-primary, #07110c);
  --club-gradient-primary: var(--club-primary, #26734d);
  --club-gradient-secondary: var(--club-secondary, #153425);
  --club-gradient-text: var(--club-primary-contrast, #ffffff);
  --team-gradient-primary: var(--team-primary, var(--club-gradient-primary));
  --team-gradient-secondary: var(--team-secondary, var(--club-gradient-secondary));
  --team-gradient-text: var(--team-primary-contrast, var(--club-gradient-text));
}

/* A página de edição usa uma coluna estrutural e grupos internos previsíveis. */
.club-editor-selector {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 9px;
  margin-bottom: 9px;
}
.club-editor-team-select,
.club-editor-grid label,
.club-color-control {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 600;
}
.club-editor-team-select select,
.club-editor-grid input,
.club-editor-grid select {
  width: 100%;
  min-width: 0;
  min-height: 40px;
}
.club-editor-preview {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text) 24%,transparent);
  border-radius: 13px;
  color: var(--team-gradient-text) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
}
.club-editor-preview :is(strong,small,span,.fa-solid) { color: inherit !important; }
.club-editor-preview-crest {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb,var(--team-gradient-text) 11%,transparent);
}
.club-editor-preview-crest .crest { width: 34px !important; height: 39px !important; }
.club-editor-preview-copy { display: grid; gap: 2px; min-width: 0; }
.club-editor-preview-copy span { opacity: .74; font-size: .54rem; text-transform: uppercase; letter-spacing: .06em; }
.club-editor-preview-copy strong,
.club-editor-preview-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.club-editor-preview-copy strong { font-size: .82rem; }
.club-editor-preview-copy small { opacity: .78; font-size: .59rem; }

.club-editor-form { display: grid; gap: 9px; min-width: 0; }
.club-editor-section { display: grid; gap: 10px; padding: 11px; }
.club-editor-section-head {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  gap: 8px;
}
.club-editor-section-head > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--club-accent-text, var(--primary));
  background: color-mix(in srgb,var(--club-accent-text, var(--primary)) 11%,var(--panel-2));
  border: 1px solid color-mix(in srgb,var(--club-accent-text, var(--primary)) 26%,var(--line));
}
.club-editor-section-head > div { display: grid; gap: 2px; min-width: 0; }
.club-editor-section-head strong { color: var(--text); font-size: .75rem; }
.club-editor-section-head small { color: var(--muted); font-size: .58rem; line-height: 1.3; }
.club-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.club-editor-grid .is-wide { grid-column: 1 / -1; }
.club-editor-grid :is(input,select) {
  border: 1px solid var(--line-strong,var(--line));
  border-radius: 10px;
  color: var(--text);
  background: var(--input-bg,var(--panel-2));
}
.club-editor-color-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.club-color-control > div {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 5px 7px;
  border: 1px solid var(--line-strong,var(--line));
  border-radius: 10px;
  background: var(--panel-2);
}
.club-color-control input[type="color"] {
  width: 42px;
  height: 32px;
  min-height: 32px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.club-color-control output { min-width: 0; color: var(--text); font: 600 .64rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.club-editor-crest-details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.club-editor-crest-details > summary {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px;
  align-items: center;
  gap: 7px;
  padding: 8px 9px;
  list-style: none;
  cursor: pointer;
  color: var(--text);
}
.club-editor-crest-details > summary::-webkit-details-marker { display: none; }
.club-editor-crest-details > summary > span { display: grid; grid-template-columns: 22px minmax(0,1fr); align-items: center; gap: 2px 6px; min-width: 0; }
.club-editor-crest-details > summary > span > .fa-solid { grid-row: 1 / 3; color: var(--club-accent-text,var(--primary)); }
.club-editor-crest-details > summary strong { font-size: .68rem; }
.club-editor-crest-details > summary small { color: var(--muted); font-size: .56rem; }
.club-editor-crest-details[open] > summary > .fa-solid { transform: rotate(180deg); }
.club-editor-crest-body { display: grid; gap: 8px; padding: 0 9px 9px; border-top: 1px solid var(--line); }
.club-editor-crest-body > p { margin: 8px 0 0; color: var(--muted); font-size: .6rem; line-height: 1.4; }
.club-editor-upload-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.club-editor-upload-row > :is(label,button) { width: 100%; min-width: 0; min-height: 40px; margin: 0; }
.club-editor-crest-body .code-area { min-height: 118px; max-height: 210px; }
.club-editor-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: 7px;
  padding: 8px 0 1px;
  background: linear-gradient(180deg,transparent,var(--bg) 24%);
}
.club-editor-actions .btn { width: 100%; min-width: 0; margin: 0; }

/* Uma superfície que usa as duas cores do clube recebe um único par de contraste seguro. */
:is(.national-duty-hero,.national-duty-entry-identity) {
  color: var(--club-gradient-text) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
  text-shadow: none !important;
}
:is(.national-duty-hero,.national-duty-entry-identity) :is(h1,h2,h3,h4,p,span,strong,small,b,.fa-solid) { color: inherit !important; text-shadow: none !important; }
:is(.team-mini-chip,.calendar-club,.live-club,.international-fixture-row span) {
  color: var(--team-gradient-text) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
  text-shadow: none !important;
}
:is(.team-mini-chip,.calendar-club,.live-club,.international-fixture-row span) :is(strong,b,span,small,.fa-solid) { color: inherit !important; }

/* Marcadores sólidos sempre usam a superfície corrigida, inclusive em amarelos médios. */
:is(.football-player-chip i,.role-player-card.is-selected > span,.live-standings-minute,
    .national-squad-summary article > span,.national-duty-entry-grid article > .fa-solid,
    .national-duty-auto-paused > .fa-solid,.tactical-abc-card header > span,
    .live-abc-plans button > b,.batch-substitution-list > article > span) {
  color: var(--team-marker-text,var(--club-marker-text,var(--on-primary))) !important;
  background: var(--team-marker-bg,var(--club-marker-bg,var(--primary))) !important;
  text-shadow: none !important;
}

/* Tema claro: nenhuma regra antiga pode deixar texto branco sobre superfícies neutras. */
html[data-theme="light"] :is(.panel,.card,.editor-section,.club-editor-section,.wiki-reader,.wiki-index,
  .market-card,.settings-card,.notification-center-item,.live-information-panel,.app-modal-body) {
  --surface-readable-text: var(--text);
}
html[data-theme="light"] :is(.panel,.card,.club-editor-section,.wiki-reader,.wiki-index,
  .market-card,.settings-card,.notification-center-item,.live-information-panel,.app-modal-body)
  :is(p,li,dt,dd,label,strong,b,h1,h2,h3,h4) {
  text-shadow: none;
}
html[data-theme="light"] :is(.panel,.card,.club-editor-section,.wiki-reader,.wiki-index,
  .market-card,.settings-card,.notification-center-item,.live-information-panel,.app-modal-body)
  > :is(h1,h2,h3,h4,p,strong,span) {
  color: var(--text);
}

@media (max-width: 340px) {
  .club-editor-grid,
  .club-editor-color-grid,
  .club-editor-upload-row { grid-template-columns: 1fr; }
  .club-editor-grid .is-wide { grid-column: auto; }
  .club-editor-actions { grid-template-columns: 1fr 1fr; }
}

/* V67 · fechamento da auditoria visual mobile */
.editor-intro-mobile { display: grid; gap: 10px; padding: 11px; }
.editor-intro-heading { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 9px; }
.editor-intro-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--club-accent-text,var(--primary)); background: color-mix(in srgb,var(--club-accent-text,var(--primary)) 11%,var(--panel-2)); border: 1px solid color-mix(in srgb,var(--club-accent-text,var(--primary)) 25%,var(--line)); }
.editor-intro-heading h3 { margin: 2px 0 3px; font-size: .93rem; }
.editor-intro-heading p { margin: 0; color: var(--muted); font-size: .62rem; line-height: 1.4; }
.editor-intro-mobile .community-editor-flow { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.editor-intro-mobile .community-editor-flow > span { min-width: 0; min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 6px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: var(--panel-2); font-size: .61rem; font-weight: 600; }
.editor-intro-mobile .community-editor-flow b { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: var(--primary-contrast); background: var(--primary); font-size: .55rem; }

/* Texto temático sobre amarelos, brancos e cinzas usa o contraste calculado pelo JS. */
.topbar,
html.national-duty-active .topbar {
  color: var(--club-gradient-text) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text) 24%,transparent) !important;
}
.topbar :is(.club-meta,.topbar-club-name,.topbar-compact-meta,.topbar-money,.topbar-menu-button,.topbar-page-context,.fa-solid,strong,span,small) { color: inherit !important; text-shadow: none !important; }
.topbar :is(.topbar-money,.topbar-menu-button) { background: color-mix(in srgb,var(--club-gradient-text) 10%,transparent) !important; border-color: color-mix(in srgb,var(--club-gradient-text) 26%,transparent) !important; }

.market-command-hero {
  color: var(--team-gradient-text) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text) 26%,transparent) !important;
  text-shadow: none !important;
}
.market-command-hero :is(h1,h2,h3,h4,p,span,strong,small,b,.fa-solid) { color: inherit !important; text-shadow: none !important; }
.market-command-hero :is(.market-command-icon,.market-budget-card) { color: inherit !important; background: color-mix(in srgb,var(--team-gradient-text) 11%,transparent) !important; border-color: color-mix(in srgb,var(--team-gradient-text) 22%,transparent) !important; }

.pitch-score .fixture-team.team-tone {
  color: var(--team-gradient-text) !important;
  background: linear-gradient(180deg,color-mix(in srgb,var(--team-gradient-primary) 88%,transparent),color-mix(in srgb,var(--team-gradient-secondary) 84%,transparent)) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text) 28%,transparent) !important;
}
.pitch-score .fixture-team.team-tone :is(strong,span,b,.fa-solid) { color: inherit !important; text-shadow: none !important; }

/* Acentos do clube precisam continuar legíveis sobre cartões claros. */
.app-screen > .content :is(.kicker,.competition-chip,.national-player-copy small) { color: var(--club-accent-text,var(--primary)) !important; text-shadow: none !important; }
:is(.market-command-hero,.topbar,.pitch-score,.national-duty-hero,.dashboard-hero-v60,.team-profile-hero-modern,.manager-profile-hero-modern) .kicker { color: inherit !important; }

/* Legenda do campo no tema claro não usa branco sobre branco. */
html[data-theme="light"] .live-team-key > span { color: var(--text) !important; background: rgba(23,32,51,.07) !important; border-color: rgba(23,32,51,.2) !important; box-shadow: none !important; }
html[data-theme="light"] .live-team-key > span.is-user { color: var(--text) !important; background: color-mix(in srgb,var(--primary) 12%,#fff) !important; border-color: color-mix(in srgb,var(--primary) 48%,var(--line)) !important; }

/* Classificação adaptada à largura do celular: dados essenciais sem corte lateral. */
.league-standings-wrap { overflow-x: hidden; }
.league-standings-table { width: 100%; table-layout: fixed; min-width: 0 !important; }
.league-standings-table :is(th,td) { padding-inline: 5px; font-size: .62rem; }
.league-standings-table :is(th,td):nth-child(1) { width: 54px; }
.league-standings-table :is(th,td):nth-child(2) { width: auto; }
.league-standings-table :is(th,td):nth-child(3),
.league-standings-table :is(th,td):nth-child(7),
.league-standings-table :is(th,td):nth-child(8) { width: 38px; text-align: center; }
.league-standings-table :is(th,td):nth-child(4),
.league-standings-table :is(th,td):nth-child(5),
.league-standings-table :is(th,td):nth-child(6) { display: none; }
.league-standings-table .table-club-cell { min-width: 0; }
.league-standings-table .table-club-cell .team-label { max-width: 100%; min-width: 0; }
.league-standings-table .table-club-cell .team-label b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.league-standings-table .zone-note { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.player-pos { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Campos neutros permanecem claramente editáveis no tema claro. */
html[data-theme="light"] :is(.club-editor-team-select select,.club-editor-grid input,.club-editor-grid select,.club-color-control > div,.club-editor-crest-details) { color: #172033 !important; background: #ffffff !important; border-color: rgba(28,39,57,.2) !important; }
html[data-theme="light"] .club-editor-crest-details > summary { color: #172033 !important; }

/* O formulário reserva espaço para que a barra de salvar nunca cubra o último campo. */
.club-editor-form { padding-bottom: 4px; }

/* V67 · correção final de prioridade para superfícies temáticas claras */
html[data-theme="light"] .topbar,
html[data-theme="light"].national-duty-active .topbar {
  color: var(--club-gradient-text) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
}
html[data-theme="light"] .topbar :is(
  .club-meta,.topbar-club-name,.topbar-compact-meta,.topbar-money,.topbar-menu-button,
  .topbar-page-context,.fa-solid,strong,span,small,b,p,h1,h2,h3,h4
) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme="light"] .market-command-hero {
  color: var(--team-gradient-text) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
}
html[data-theme="light"] .market-command-hero :is(
  h1,h2,h3,h4,p,span,strong,small,b,.fa-solid,.market-budget-card,.market-command-icon
) {
  color: inherit !important;
  text-shadow: none !important;
}

/* ===== Etapa 68 · navegação moderna, contraste e rolagem estável ===== */
:root {
  --on-primary: #07110c;
  --primary-contrast: var(--on-primary);
  --bottom-nav-base-height: 62px;
  --bottom-nav-rise: 9px;
  --bottom-nav-outer-gap: 7px;
  --bottom-nav-final-height: calc(var(--bottom-nav-base-height) + var(--bottom-nav-rise) + (var(--bottom-nav-outer-gap) * 2) + var(--safe-bottom));
}
html[data-theme="light"] {
  --on-primary: #07110c;
  --primary-contrast: var(--on-primary);
}

/* O documento fica imóvel; somente as áreas de conteúdo rolam. Isso evita que
   controles nativos do celular empurrem a página inteira ao receber foco. */
html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}
body {
  position: fixed;
  inset: 0;
}
.game-shell { height: 100%; min-height: 0; }
.content,
.screen {
  overflow-anchor: none;
  scroll-behavior: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
.content { scrollbar-gutter: stable; }

/* Contraste previsível para toda ação que usa a cor dinâmica do clube. */
.btn:not(.secondary):not(.ghost):not(.danger):not(.destructive) {
  color: var(--primary-contrast, var(--on-primary));
}
.navbar-mobile .nav-play,
.settings-nav-preview .is-play,
.nav-custom-preview-play,
.wiki-filter-bar button.is-active,
.wiki-choice-item summary > b,
.role-player-card.is-selected > span {
  color: var(--primary-contrast, var(--on-primary)) !important;
}
.btn:not(.secondary):not(.ghost):not(.danger):not(.destructive) :is(.fa-solid,svg,span,strong,small),
.navbar-mobile .nav-play :is(.fa-solid,svg,span) { color: inherit !important; }
.slot-shirt,
.bench-shirt,
.player-choice-shirt,
.football-player-chip i {
  color: var(--team-marker-text, var(--team-primary-contrast, #fff)) !important;
  background: var(--team-marker-bg, var(--team-primary)) !important;
  text-shadow: none !important;
}

/* Dock inferior: uma peça única, leve e integrada à identidade do clube. */
.navbar {
  height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}
.navbar-mobile {
  position: absolute !important;
  left: var(--bottom-nav-outer-gap) !important;
  right: var(--bottom-nav-outer-gap) !important;
  bottom: calc(var(--bottom-nav-outer-gap) + var(--safe-bottom)) !important;
  width: auto !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  padding: 4px !important;
  align-items: center !important;
  gap: 2px !important;
  overflow: visible !important;
  pointer-events: auto;
  border: 1px solid color-mix(in srgb,var(--line) 82%,var(--primary) 18%) !important;
  border-radius: 20px !important;
  background: color-mix(in srgb,var(--panel) 91%,transparent) !important;
  box-shadow: 0 -2px 0 color-mix(in srgb,var(--primary) 12%,transparent), 0 12px 30px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) saturate(1.28);
  -webkit-backdrop-filter: blur(18px) saturate(1.28);
}
html[data-theme="light"] .navbar-mobile {
  border-color: color-mix(in srgb,var(--line) 76%,var(--primary) 24%) !important;
  background: color-mix(in srgb,#fff 94%,transparent) !important;
  box-shadow: 0 -2px 0 color-mix(in srgb,var(--primary) 9%,transparent), 0 12px 28px rgba(28,39,57,.13) !important;
}
.navbar-mobile .nav-btn {
  position: relative;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px;
  padding: 4px 2px !important;
  gap: 2px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  color: var(--muted);
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate;
}
.navbar-mobile .nav-btn:not(.nav-play)::before {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: -1;
  border-radius: 12px;
  background: transparent;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.navbar-mobile .nav-btn:not(.nav-play).is-active,
.navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
  color: var(--primary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
.navbar-mobile .nav-btn:not(.nav-play).is-active::before,
.navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"]::before {
  background: color-mix(in srgb,var(--primary) 13%,var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent);
}
.navbar-mobile .nav-btn .icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 24px;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1;
}
.navbar-mobile .nav-btn > span:last-child {
  font-size: .54rem !important;
  font-weight: 600;
  letter-spacing: .01em;
}
.navbar-mobile .nav-play {
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  align-self: end !important;
  justify-self: center !important;
  transform: translateY(calc(-1 * var(--bottom-nav-rise))) !important;
  border: 3px solid var(--panel) !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg,var(--primary),var(--primary-2)) !important;
  box-shadow: 0 9px 22px color-mix(in srgb,var(--primary) 34%,transparent), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
.navbar-mobile .nav-play::after {
  content: "";
  position: absolute;
  inset: -5px;
  z-index: -1;
  border: 1px solid color-mix(in srgb,var(--primary) 34%,transparent);
  border-radius: inherit;
  background: color-mix(in srgb,var(--panel) 88%,transparent);
}
.navbar-mobile .nav-play .icon { width: 28px; height: 25px; font-size: 1.12rem; }
.navbar-mobile .nav-play > span:last-child { font-size: .52rem !important; }
.navbar-mobile .nav-btn:focus-visible {
  outline: 2px solid color-mix(in srgb,var(--primary) 72%,white 18%);
  outline-offset: 1px;
}
.navbar-mobile .nav-btn:disabled { opacity: .42; }
.content { padding-bottom: calc(var(--bottom-nav-final-height) + 4px) !important; }

@media (max-width: 350px) {
  :root { --bottom-nav-outer-gap: 5px; --bottom-nav-base-height: 58px; --bottom-nav-rise: 7px; }
  .navbar-mobile { border-radius: 18px !important; }
  .navbar-mobile .nav-btn { min-height: 48px !important; height: 48px; }
  .navbar-mobile .nav-play { width: 54px !important; min-width: 54px !important; height: 54px !important; min-height: 54px !important; }
  .navbar-mobile .nav-btn > span:last-child { font-size: .49rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .navbar-mobile .nav-btn,
  .navbar-mobile .nav-btn::before { transition: none !important; }
}


/* ===== Versão 69 · barra superior, contraste e acabamento do Ao Vivo ===== */
.topbar {
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas:
    "club actions"
    "glance glance";
  gap: 7px 9px !important;
  min-width: 0;
  padding: calc(8px + var(--safe-top)) 9px 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  isolation: isolate;
}
.topbar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(255,255,255,.08),transparent 54%,rgba(0,0,0,.08));
}
.topbar-club-summary {
  grid-area: club;
  width: 100%;
  min-width: 0;
  min-height: 39px;
  display: grid !important;
  grid-template-columns: 31px minmax(0,1fr) !important;
  align-items: center;
  align-content: center;
  gap: 8px !important;
  padding: 3px 5px !important;
  overflow: hidden;
  border-radius: 11px !important;
}
.topbar-club-summary:hover,
.topbar-club-summary:focus-visible {
  background: color-mix(in srgb,currentColor 9%,transparent) !important;
  outline-color: color-mix(in srgb,currentColor 48%,transparent) !important;
}
.topbar-club-visual {
  width: 31px;
  height: 35px;
  display: grid !important;
  place-items: center;
  overflow: visible;
}
.topbar-club-visual .crest.small,
.topbar-club-visual > .crest.small {
  width: 27px !important;
  height: 32px !important;
  flex: 0 0 27px !important;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.22));
}
.topbar-club-visual .manager-avatar {
  width: 29px !important;
  height: 32px !important;
}
.topbar-club-copy {
  min-width: 0;
  display: grid !important;
  gap: 2px;
  text-align: left;
}
.topbar-club-copy strong,
.topbar-club-copy > span {
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topbar-club-copy strong { font-size: .78rem !important; line-height: 1.12 !important; }
.topbar-club-copy > span { font-size: .52rem !important; line-height: 1.12 !important; opacity: .76; }
.topbar-club-name { display: block !important; max-width: none !important; }
.topbar-actions {
  grid-area: actions;
  align-self: center;
  display: flex;
  gap: 5px !important;
}
.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money) {
  min-height: 34px !important;
  border-radius: 10px !important;
  backdrop-filter: blur(8px);
}
.topbar-money,
.topbar-status-money { padding: 5px 7px !important; }
.topbar-money small,
.topbar-status-money small { font-size: .45rem !important; opacity: .72; }
.topbar-money strong,
.topbar-status-money strong { font-size: .61rem !important; }
.topbar-menu-button { width: 34px !important; padding: 0 !important; }
.topbar-glance {
  grid-area: glance;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(80px,1.08fr) repeat(3,minmax(0,1fr));
  gap: 5px;
}
.topbar-page-context,
.topbar-glance-chip {
  min-width: 0;
  min-height: 29px;
  margin: 0;
  border: 1px solid color-mix(in srgb,currentColor 20%,transparent) !important;
  border-radius: 9px !important;
  background: color-mix(in srgb,currentColor 8%,transparent) !important;
  color: inherit !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb,currentColor 8%,transparent);
}
.topbar-page-context {
  width: auto !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.topbar-page-context span {
  display: block !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .54rem !important;
  font-weight: 600;
}
.topbar-page-context .fa-solid { flex: 0 0 auto; font-size: .68rem !important; }
.topbar-glance-chip {
  display: grid;
  place-content: center;
  gap: 1px;
  padding: 3px 5px;
  text-align: center;
}
.topbar-glance-chip small,
.topbar-glance-chip strong {
  display: block;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.05;
}
.topbar-glance-chip small { font-size: .4rem !important; font-weight: 600; opacity: .68; }
.topbar-glance-chip strong { font-size: .53rem !important; font-weight: 600; }

/* Central de jogos e calendário: nomes ficam em superfícies neutras e legíveis. */
.match-screen .live-score-tile .live-club,
.calendar-fixture .calendar-club {
  color: var(--text) !important;
  background: color-mix(in srgb,var(--panel-2) 88%,transparent) !important;
  border-color: color-mix(in srgb,var(--line) 90%,transparent) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.match-screen .live-score-tile .live-club :is(b,strong,span,.fa-solid),
.calendar-fixture .calendar-club :is(b,strong,span,.fa-solid) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-score-tile .live-club,
html[data-theme="light"] .calendar-fixture .calendar-club {
  color: #172033 !important;
  background: #f7f9fc !important;
  border-color: rgba(28,39,57,.16) !important;
}

/* Escudo do aviso ao vivo: sempre cabe inteiro dentro do toast da transmissão. */
.live-event-team-crest {
  width: 23px !important;
  height: 23px !important;
  padding: 2px !important;
  overflow: hidden !important;
}
.live-event-team-crest .crest,
.live-event-team-crest svg.crest {
  width: 15px !important;
  height: 18px !important;
  max-width: 15px !important;
  max-height: 18px !important;
  flex: 0 0 15px !important;
  filter: none !important;
}
.live-event-team-crest .national-crest-emoji {
  width: 16px !important;
  height: 16px !important;
  display: grid !important;
  place-items: center;
  font-size: .72rem !important;
  line-height: 1 !important;
}

/* Os dois caminhos de retorno ao painel usam exatamente a mesma aparência. */
.match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn) {
  color: var(--on-primary) !important;
  background: linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  border-color: transparent !important;
  box-shadow: 0 5px 14px color-mix(in srgb,var(--primary) 24%,transparent) !important;
  opacity: 1 !important;
}
.match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn) :is(.fa-solid,.fa-regular,span,strong,small) {
  color: inherit !important;
}

@media (max-width: 370px) {
  .topbar { gap: 6px !important; padding-inline: 7px !important; }
  .topbar-club-summary { grid-template-columns: 27px minmax(0,1fr) !important; gap: 6px !important; }
  .topbar-club-visual { width: 27px; }
  .topbar-club-copy strong { font-size: .7rem !important; }
  .topbar-club-copy > span { font-size: .47rem !important; }
  .topbar-glance { grid-template-columns: 31px repeat(3,minmax(0,1fr)); gap: 4px; }
  .topbar-page-context { justify-content: center; padding: 0 !important; }
  .topbar-page-context span { display: none !important; }
  .topbar-glance-chip { padding-inline: 3px; }
  .topbar-glance-chip strong { font-size: .49rem !important; }
  .topbar-money { gap: 3px !important; padding-inline: 5px !important; }
  .topbar-money > i { display: none !important; }
  .topbar-menu-button { width: 31px !important; }
}


/* ===== Etapa 69 · acabamento da barra superior e transmissão ===== */
.topbar-club-copy > span {
  display: block !important;
}
.match-screen #skipMatchBtn.post-match-panel-button,
.match-screen #finishHomeBtn {
  color: var(--on-primary) !important;
  background-color: transparent !important;
  background-image: linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: 0 5px 14px color-mix(in srgb,var(--primary) 24%,transparent) !important;
  opacity: 1 !important;
}
.match-screen #skipMatchBtn.post-match-panel-button:is(:hover,:focus-visible),
.match-screen #finishHomeBtn:is(:hover,:focus-visible) {
  background-color: transparent !important;
  background-image: linear-gradient(180deg,var(--primary-2),var(--primary)) !important;
}

/* ===== Etapa 70 · contraste do clube e barra inferior discreta ===== */
:root {
  --bottom-nav-base-height: 56px;
  --bottom-nav-rise: 0px;
  --bottom-nav-outer-gap: 0px;
  --bottom-nav-final-height: calc(var(--bottom-nav-base-height) + var(--safe-bottom));
}

/* As duas linhas de identificação do clube ficam sobre uma superfície neutra,
   portanto permanecem legíveis mesmo com amarelo, branco ou tons muito claros. */
.topbar-club-summary {
  color: #fff !important;
  background: rgba(7,17,31,.42) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.topbar-club-copy,
.topbar-club-copy strong,
.topbar-club-copy strong .topbar-club-name {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}
.topbar-club-copy > span {
  color: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

/* A barra real e as duas prévias usam a mesma faixa reta de cinco opções. */
.navbar {
  height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.navbar-mobile,
.settings-nav-preview,
.nav-custom-preview {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: var(--bottom-nav-base-height) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb,var(--panel) 96%,transparent) !important;
  box-shadow: 0 -5px 16px rgba(0,0,0,.14) !important;
}
.navbar-mobile {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding-bottom: var(--safe-bottom) !important;
  border-inline: 0 !important;
  border-bottom: 0 !important;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}
.settings-nav-preview,
.nav-custom-preview {
  height: var(--bottom-nav-base-height) !important;
  box-shadow: none !important;
}

.navbar-mobile .nav-btn,
.settings-nav-preview > span,
.nav-custom-preview > span {
  position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  margin: 0 !important;
  padding: 5px 2px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  border: 0 !important;
  border-right: 1px solid color-mix(in srgb,var(--line) 76%,transparent) !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  aspect-ratio: auto !important;
}
.navbar-mobile .nav-btn:last-child,
.settings-nav-preview > span:last-child,
.nav-custom-preview > span:last-child { border-right: 0 !important; }

.navbar-mobile .nav-btn .icon,
.settings-nav-preview > span > :is(.fa-solid,.fa-regular),
.nav-custom-preview > span > :is(.fa-solid,.fa-regular) {
  width: 24px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}
.navbar-mobile .nav-btn > span:last-child,
.settings-nav-preview small,
.nav-custom-preview small {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: .52rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Jogar continua no centro, mas sem botão elevado ou redondo. */
.navbar-mobile .nav-play,
.settings-nav-preview .is-play,
.nav-custom-preview-play {
  width: auto !important;
  min-width: 0 !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel)) !important;
  border: 0 !important;
  border-right: 1px solid color-mix(in srgb,var(--line) 76%,transparent) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
  transform: none !important;
}
.navbar-mobile .nav-play::after,
.settings-nav-preview .is-play::after,
.nav-custom-preview-play::after { display: none !important; }
.navbar-mobile .nav-play :is(.icon,.fa-solid,.fa-regular,span,small),
.settings-nav-preview .is-play :is(.fa-solid,.fa-regular,small),
.nav-custom-preview-play :is(.fa-solid,.fa-regular,small) { color: inherit !important; }

.navbar-mobile .nav-btn:not(.nav-play).is-active,
.navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
  color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 7%,var(--panel)) !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
}
.navbar-mobile .nav-btn:not(.nav-play)::before { display: none !important; }
.navbar-mobile .nav-btn:focus-visible {
  outline: 2px solid var(--primary) !important;
  outline-offset: -3px !important;
}
html[data-theme="light"] :is(.navbar-mobile,.settings-nav-preview,.nav-custom-preview) {
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 -4px 14px rgba(28,39,57,.08) !important;
}
html[data-theme="light"] :is(.settings-nav-preview,.nav-custom-preview) { box-shadow: none !important; }

.content { padding-bottom: calc(var(--bottom-nav-final-height) + 4px) !important; }

@media (max-width: 350px) {
  :root { --bottom-nav-base-height: 54px; }
  .navbar-mobile .nav-btn,
  .settings-nav-preview > span,
  .nav-custom-preview > span,
  .navbar-mobile .nav-play,
  .settings-nav-preview .is-play,
  .nav-custom-preview-play {
    height: var(--bottom-nav-base-height) !important;
    min-height: var(--bottom-nav-base-height) !important;
  }
  .navbar-mobile .nav-btn > span:last-child,
  .settings-nav-preview small,
  .nav-custom-preview small { font-size: .48rem !important; }
}

/* ===== Etapa 71 · Toast inferior e inscrição responsiva ===== */
/* Os avisos ficam acima da barra inferior, nunca escondidos atrás do cabeçalho. */
.toast-stack,
.toast-stack.is-live-context {
  top: auto !important;
  bottom: calc(var(--bottom-nav-final-height, 56px) + 8px) !important;
  left: auto !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  width: min(310px, calc(100vw - 16px)) !important;
  z-index: calc(var(--z-navigation) - 1) !important;
  transform: none !important;
}

/* O bloco final da inscrição separa a opção médica da ação principal. */
.registration-save {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}
.registration-medical-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
  color: var(--text);
  cursor: pointer;
}
.registration-medical-option > input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  flex: 0 0 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  accent-color: var(--primary);
}
.registration-medical-option > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.registration-medical-option strong {
  color: var(--text);
  font-size: .76rem;
  line-height: 1.2;
}
.registration-medical-option small {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.25;
}
.registration-medical-option:has(input:disabled) {
  cursor: not-allowed;
  opacity: .64;
}
.registration-save #saveRegistration {
  min-width: 164px;
  min-height: 44px;
  margin: 0 !important;
  justify-content: center;
}

@media (max-width: 520px) {
  .toast-stack,
  .toast-stack.is-live-context {
    left: 7px !important;
    right: 7px !important;
    width: auto !important;
  }
  .registration-save {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .registration-save #saveRegistration {
    width: 100% !important;
    min-width: 0;
  }
}


/* Na tela de inscrição, o toast não cobre a barra de ações fixa. */
body:has(.registration-save) .toast-stack {
  bottom: calc(var(--bottom-nav-final-height, 56px) + 82px) !important;
}

/* ==========================================================
   V72 · Editor inteiro no padrão visual da aba Clubes
   ========================================================== */
.editor-form-v72,
.editor-form-v72 * { min-width: 0; }

.editor-selector-v72 { margin-bottom: 9px; }
.editor-selector-fields-v72 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.editor-selector-v72 .club-editor-team-select select {
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 10px;
  color: var(--text);
  background: var(--input-bg, var(--panel-2));
}

.editor-player-preview-number {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1px;
  border-radius: 12px;
  color: inherit;
  background: color-mix(in srgb, currentColor 11%, transparent);
}
.editor-player-preview-number span {
  font-size: .5rem;
  font-weight: 600;
  letter-spacing: .05em;
  opacity: .78;
}
.editor-player-preview-number strong {
  font-size: 1rem;
  line-height: 1;
}

.editor-neutral-preview-v72,
.editor-empty-preview-v72 {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--primary) 10%, var(--panel-2)),
    color-mix(in srgb, var(--primary) 3%, var(--panel)));
}
.editor-neutral-preview-full-v72 { width: 100%; }
.editor-neutral-preview-icon,
.editor-empty-preview-v72 > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 11px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
}
.editor-neutral-preview-v72 > div,
.editor-empty-preview-v72 > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.editor-neutral-preview-v72 > div > span {
  color: var(--muted);
  font-size: .54rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.editor-neutral-preview-v72 strong,
.editor-empty-preview-v72 strong {
  overflow: hidden;
  color: var(--text);
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.editor-neutral-preview-v72 small,
.editor-empty-preview-v72 small {
  overflow: hidden;
  color: var(--muted);
  font-size: .59rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.editor-neutral-preview-v72 > b {
  min-width: 42px;
  padding: 7px 8px;
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 9px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 9%, var(--panel));
  font-size: .64rem;
  text-align: center;
}
.editor-empty-preview-v72 { grid-template-columns: 44px minmax(0, 1fr); }

.editor-grid-v72 label,
.editor-code-control-v72 {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 600;
}
.editor-grid-v72 :is(input, select),
.editor-code-control-v72 textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 10px;
  color: var(--text);
  background: var(--input-bg, var(--panel-2));
}
.editor-grid-v72 :is(input, select) { min-height: 40px; }

.editor-toggle-list-v72 {
  display: grid;
  gap: 7px;
}
.editor-toggle-card-v72 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--text);
  background: var(--panel-2);
  cursor: pointer;
}
.editor-toggle-card-v72 > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.editor-toggle-card-v72 strong {
  color: var(--text);
  font-size: .7rem;
  line-height: 1.25;
}
.editor-toggle-card-v72 small {
  color: var(--muted);
  font-size: .58rem;
  line-height: 1.3;
}
.editor-toggle-card-v72 > input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  accent-color: var(--primary);
}

.editor-details-v72 { width: 100%; }
.editor-details-v72 .club-editor-crest-body { min-width: 0; }
.editor-attribute-grid-v72 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  width: 100%;
}
.editor-attribute-grid-v72 label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 40px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted);
  background: var(--panel);
  font-size: .6rem;
  font-weight: 600;
}
.editor-attribute-grid-v72 input {
  width: 66px;
  min-width: 0;
  min-height: 32px;
  padding-inline: 6px;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 8px;
  color: var(--text);
  background: var(--input-bg, var(--panel-2));
  text-align: center;
}
.editor-clone-body-v72 { padding-top: 8px; }
.editor-clone-body-v72 > p { margin-top: 0; }
.editor-clone-body-v72 .clone-search-results {
  max-height: 238px;
  overflow: auto;
  overscroll-behavior: contain;
}
.editor-clone-body-v72 #clonePlayerBtn { width: 100%; }

.editor-participant-list-v72,
.editor-status-list-v72,
.editor-step-list-v72 {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.editor-participant-list-v72 article,
.editor-status-list-v72 article,
.editor-step-list-v72 article {
  display: grid;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
}
.editor-participant-list-v72 article {
  grid-template-columns: minmax(0, 1fr) auto;
}
.editor-participant-list-v72 article > span:last-child {
  color: var(--muted);
  font-size: .6rem;
  white-space: nowrap;
}
.editor-status-list-v72 article {
  grid-template-columns: 34px minmax(0, 1fr) auto;
}
.editor-status-list-v72 article > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
}
.editor-status-list-v72 article > div,
.editor-step-list-v72 article > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.editor-status-list-v72 strong,
.editor-step-list-v72 strong {
  color: var(--text);
  font-size: .68rem;
}
.editor-status-list-v72 small,
.editor-step-list-v72 small {
  color: var(--muted);
  font-size: .57rem;
  line-height: 1.3;
}
.editor-status-list-v72 article > b {
  color: var(--primary);
  font-size: .56rem;
  white-space: nowrap;
}
.editor-step-list-v72 article {
  grid-template-columns: 30px minmax(0, 1fr);
}
.editor-step-list-v72 article > b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--on-primary);
  background: var(--primary);
  font-size: .66rem;
}

.editor-action-grid-v72 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.editor-action-grid-v72 .btn,
.editor-full-action-v72 {
  width: 100%;
  min-width: 0;
  margin: 0;
  justify-content: center;
}
.editor-import-grid-v72 {
  display: grid;
  gap: 8px;
}
.editor-file-control-v72 {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
}
.editor-file-control-v72 > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
}
.editor-file-control-v72 > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.editor-file-control-v72 strong { color: var(--text); font-size: .68rem; }
.editor-file-control-v72 small { color: var(--muted); font-size: .57rem; }
.editor-file-control-v72 input[type="file"] {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 5px;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 9px;
  color: var(--text);
  background: var(--panel);
  font-size: .6rem;
}
.editor-file-control-v72 input[type="file"]::file-selector-button {
  min-height: 29px;
  margin-right: 7px;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  color: var(--on-primary);
  background: var(--primary);
  font: inherit;
  font-weight: 600;
}
.editor-code-control-v72 textarea {
  min-height: 170px;
  max-height: 320px;
  resize: vertical;
}

/* Os botões finais seguem a mesma geometria da aba Clubes. */
.editor-form-v72 .club-editor-actions .btn {
  overflow: hidden;
  padding-inline: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .editor-selector-fields-v72 { grid-template-columns: minmax(0, 1fr); }
  .editor-action-grid-v72 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 390px) {
  .editor-neutral-preview-v72 { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; padding: 9px; }
  .editor-neutral-preview-icon,
  .editor-empty-preview-v72 > span { width: 40px; height: 40px; }
  .editor-neutral-preview-v72 > b { min-width: 36px; padding-inline: 6px; }
  .editor-attribute-grid-v72 { grid-template-columns: minmax(0, 1fr); }
  .editor-form-v72 .club-editor-actions { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
  .editor-form-v72 .club-editor-actions .btn { font-size: .61rem; }
}

/* Chips de clonagem não criam sobra interna em telas estreitas. */
.editor-clone-body-v72 .clone-options { align-items: stretch; }
.editor-clone-body-v72 .clone-option-chip {
  max-width: 100%;
  overflow: hidden;
  border-radius: 8px;
}
.editor-clone-body-v72 .clone-option-chip span {
  max-width: 100%;
  min-width: 0;
  padding-inline: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ===== Etapa 77 · narração contextual minuto a minuto ===== */
.information-modal {
  --notice-color: var(--primary);
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 13px;
  padding: 15px;
  border: 1px solid color-mix(in srgb,var(--notice-color) 34%,var(--line));
  border-radius: 16px;
  background: color-mix(in srgb,var(--notice-color) 8%,var(--panel-2));
}
.information-modal.is-success { --notice-color: var(--success); }
.information-modal.is-warning { --notice-color: var(--warning); }
.information-modal.is-danger { --notice-color: var(--danger); }
.information-modal-icon,
.callup-modal-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 13px;
  background: color-mix(in srgb,var(--notice-color,var(--primary)) 15%,var(--panel));
  color: var(--notice-color,var(--primary));
  font-size: 1.15rem;
}
.information-modal h3,
.callup-modal-hero h3,
.callup-player-section h3 { margin: 3px 0 4px; }
.information-modal p,
.callup-modal-hero p { margin: 0; color: var(--muted); line-height: 1.48; }
.callup-modal-hero {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb,var(--primary) 35%,var(--line));
  border-radius: 17px;
  background: color-mix(in srgb,var(--primary) 9%,var(--panel-2));
}
.callup-impact-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.callup-impact-grid article {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.callup-impact-grid article > .fa-solid { color: var(--primary); }
.callup-impact-grid span,
.callup-impact-grid small,
.callup-impact-grid strong { min-width: 0; display: block; }
.callup-impact-grid small { color: var(--muted); font-size: .65rem; }
.callup-impact-grid strong { margin-top: 2px; font-size: .75rem; overflow-wrap: anywhere; }
.callup-player-section {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  gap: 9px;
}
.callup-player-section > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.callup-player-list {
  max-height: min(39dvh,360px);
  min-height: 0;
  display: grid;
  gap: 7px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 3px;
  touch-action: pan-y;
}
.callup-player-row {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) minmax(110px,auto);
  align-items: center;
  gap: 9px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.callup-player-number {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: color-mix(in srgb,var(--primary) 13%,var(--panel));
  color: var(--primary);
  font-size: .67rem;
  font-weight: 600;
}
.callup-player-row div,
.callup-player-row strong,
.callup-player-row small { min-width: 0; display: block; }
.callup-player-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.callup-player-row small { margin-top: 2px; color: var(--muted); font-size: .65rem; line-height: 1.35; }
.callup-player-fixture { color: var(--muted); font-size: .65rem; text-align: right; }
.callup-player-fixture .fa-solid { margin-right: 4px; color: var(--primary); }

.penalty-picker {
  grid-template-rows: auto auto auto minmax(0,1fr);
  overflow: hidden;
}
.penalty-player-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
  padding-right: 3px;
}
.penalty-taker-step .penalty-picker {
  max-height: min(88dvh,650px);
}
.penalty-taker-step .penalty-player-list {
  max-height: min(58dvh,430px);
}

@media (max-width: 560px) {
  .callup-impact-grid { grid-template-columns: 1fr; }
  .callup-player-row { grid-template-columns: 34px minmax(0,1fr); }
  .callup-player-number { width: 34px; height: 34px; }
  .callup-player-fixture { grid-column: 2; text-align: left; }
  .callup-modal-actions { grid-template-columns: 1fr; }
  .penalty-picker-overlay.penalty-taker-step { align-items: flex-start; padding: max(8px,var(--safe-top)) 8px 8px; }
  .penalty-taker-step .penalty-picker { width: 100%; max-height: calc(100dvh - max(16px,var(--safe-top))); }
  .penalty-taker-step .penalty-player-list { max-height: none; }
}

/* O seletor de pênalti é uma exceção intencional à regra global que libera
   compact-scroll no mobile: sua lista precisa rolar dentro do modal. */
.penalty-picker-overlay .penalty-player-list.compact-scroll {
  min-height: 0 !important;
  max-height: min(58dvh,430px) !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
@media (max-width: 560px) {
  .penalty-picker-overlay .penalty-player-list.compact-scroll {
    max-height: calc(100dvh - max(220px,var(--safe-top))) !important;
  }
}
.app-modal .callup-player-list.compact-scroll {
  min-height: 0 !important;
  max-height: min(39dvh,360px) !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

/* === Etapa 77 — narração em linha do tempo e pós-jogo não bloqueante === */
.match-events {
  position: relative;
  padding: 10px 10px 18px 8px !important;
  scroll-behavior: smooth;
}
.match-events::before {
  content: "";
  position: absolute;
  left: 50px;
  top: 14px;
  bottom: 18px;
  width: 2px;
  background: color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 999px;
  pointer-events: none;
}
.match-events .event {
  position: relative;
  display: grid !important;
  grid-template-columns: 34px 24px minmax(0,1fr) !important;
  gap: 7px !important;
  align-items: start;
  padding: 7px 0 9px !important;
  border: 0 !important;
  background: transparent !important;
  contain: layout paint;
}
.match-events .event time {
  padding-top: 4px;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.match-events .event .event-icon {
  position: relative;
  z-index: 1;
  width: 24px !important;
  height: 24px !important;
  display: grid;
  place-items: center;
  border: 2px solid var(--panel);
  border-radius: 50%;
  background: var(--panel-2);
  color: var(--muted);
  box-shadow: 0 0 0 1px color-mix(in srgb,var(--line) 88%,transparent);
  font-size: .61rem !important;
}
.match-events .event.goal .event-icon {
  background: var(--success);
  color: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--success) 20%,transparent);
}
.match-events .event.red .event-icon,
.match-events .event.penalty-miss .event-icon { background: var(--danger); color: #fff; }
.match-events .event.yellow .event-icon { background: #d8a900; color: #111827; }
.match-events .event.substitution .event-icon { background: color-mix(in srgb,var(--success) 22%,var(--panel-2)); color: var(--success); }
.match-events .event.social .event-icon { background: var(--text); color: var(--panel); }
.event-copy {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb,var(--line) 90%,transparent);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 72%,var(--panel));
}
.event-copy .event-kind {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: .53rem;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.event-copy p { margin: 0; color: var(--text); font-size: .68rem; line-height: 1.43; }
.event.goal .event-copy { border-color: color-mix(in srgb,var(--success) 35%,var(--line)); background: color-mix(in srgb,var(--success) 8%,var(--panel)); }
.event.red .event-copy,
.event.penalty-miss .event-copy { border-color: color-mix(in srgb,var(--danger) 35%,var(--line)); }
.event.var-check .event-copy,
.event.var-decision .event-copy { border-color: color-mix(in srgb,var(--primary) 34%,var(--line)); }
.live-social-post {
  padding: 10px 11px;
  border-color: color-mix(in srgb,var(--text) 18%,var(--line));
  background: var(--panel);
}
.live-social-post header {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) 18px;
  align-items: center;
  gap: 8px;
}
.live-social-avatar {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb,var(--primary) 16%,var(--panel-2));
  color: var(--text);
  font-size: .59rem;
  font-weight: 600;
}
.live-social-post header strong,
.live-social-post header small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-social-post header strong { font-size: .68rem; }
.live-social-post header small { margin-top: 1px; color: var(--muted); font-size: .54rem; }
.live-social-post header > i { color: var(--text); font-size: .74rem; }
.live-social-post p { margin-top: 8px; font-size: .69rem; }
.live-social-post footer { margin-top: 7px; color: var(--muted); font-size: .5rem; }

.post-match-background-status {
  --progress: 5%;
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  padding: 9px 10px 11px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--line));
  background: color-mix(in srgb,var(--primary) 7%,var(--panel));
  color: var(--text);
}
.post-match-background-status::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--progress);
  height: 3px;
  background: var(--primary);
  transition: width .24s ease;
}
.post-match-background-status div { min-width: 0; }
.post-match-background-status strong,
.post-match-background-status small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.post-match-background-status strong { font-size: .66rem; }
.post-match-background-status small { margin-top: 2px; color: var(--muted); font-size: .53rem; }
.post-match-background-status > b { font-size: .58rem; font-variant-numeric: tabular-nums; }
.post-match-save-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid color-mix(in srgb,var(--primary) 22%,transparent);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: post-match-save-spin .75s linear infinite;
}
.post-match-background-status.is-complete { border-color: color-mix(in srgb,var(--success) 38%,var(--line)); background: color-mix(in srgb,var(--success) 8%,var(--panel)); }
.post-match-background-status.is-complete::after { background: var(--success); }
.post-match-background-status.is-complete .post-match-save-spinner { border: 0; animation: none; }
.post-match-background-status.is-complete .post-match-save-spinner::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--success); color: #fff; font-weight: 600; }
.post-match-background-status.is-error { border-color: color-mix(in srgb,var(--danger) 45%,var(--line)); }
.post-match-background-status.is-error::after { background: var(--danger); }
@keyframes post-match-save-spin { to { transform: rotate(360deg); } }
.reduced-motion .post-match-save-spinner { animation: none; }

@media (max-width: 420px) {
  .match-events::before { left: 43px; }
  .match-events .event { grid-template-columns: 28px 22px minmax(0,1fr) !important; gap: 5px !important; }
  .match-events .event .event-icon { width: 22px !important; height: 22px !important; }
  .event-copy { padding: 7px 8px; }
  .event-copy p { font-size: .65rem; }
  .live-social-post header { grid-template-columns: 29px minmax(0,1fr) 16px; gap: 7px; }
  .live-social-avatar { width: 29px; height: 29px; }
}

/* === Etapa 77 — papéis reais, carga física e leitura tática === */
.match-events .event.tactical .event-icon {
  background: color-mix(in srgb,var(--primary) 18%,var(--panel-2));
  color: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent);
}
.match-events .event.tactical .event-copy {
  border-color: color-mix(in srgb,var(--primary) 34%,var(--line));
  background: color-mix(in srgb,var(--primary) 6%,var(--panel));
}
.roles-section-block {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.roles-section-block > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}
.roles-section-block > header h3 { margin: 2px 0 0; }
.roles-section-block > header > small { max-width: 260px; color: var(--muted); font-size: .63rem; text-align: right; }
.individual-role-list { display: grid; gap: 7px; }
.individual-role-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(190px,.9fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 74%,var(--panel));
}
.individual-role-player {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.individual-role-player > b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel));
  color: var(--text);
  font-size: .67rem;
}
.individual-role-player strong,
.individual-role-player small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.individual-role-player strong { font-size: .69rem; }
.individual-role-player small { margin-top: 2px; color: var(--muted); font-size: .56rem; }
.individual-role-control { min-width: 0; }
.individual-role-control select,
.set-piece-routine select { width: 100%; min-width: 0; }
.set-piece-routine-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.set-piece-routine {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 76%,var(--panel));
}
.set-piece-routine > span { display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 7px; }
.set-piece-routine > span > .fa-solid { color: var(--primary); text-align: center; }
.set-piece-routine strong,
.set-piece-routine small { display: block; }
.set-piece-routine strong { font-size: .66rem; }
.set-piece-routine small { margin-top: 2px; color: var(--muted); font-size: .54rem; line-height: 1.3; }

@media (max-width: 620px) {
  .roles-section-block > header { align-items: start; flex-direction: column; gap: 4px; }
  .roles-section-block > header > small { max-width: none; text-align: left; }
  .individual-role-row { grid-template-columns: 1fr; gap: 7px; }
  .set-piece-routine-grid { grid-template-columns: 1fr; }
}
.medical-load-row {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 5px;
}
.medical-load-row span {
  min-width: 0;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb,var(--panel-2) 76%,var(--panel));
}
.medical-load-row small,
.medical-load-row b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.medical-load-row small { color: var(--muted); font-size: .49rem; }
.medical-load-row b { margin-top: 2px; color: var(--text); font-size: .61rem; }
.market-fit-reason {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  align-items: start;
  gap: 8px;
  margin: 0 0 9px;
  padding: 8px 9px;
  border: 1px solid color-mix(in srgb,var(--primary) 25%,var(--line));
  border-radius: 9px;
  background: color-mix(in srgb,var(--primary) 6%,var(--panel));
}
.market-fit-reason > .fa-solid { color: var(--primary); text-align: center; }
.market-fit-reason strong,
.market-fit-reason small { display: block; }
.market-fit-reason strong { font-size: .61rem; }
.market-fit-reason small { margin-top: 2px; color: var(--muted); font-size: .55rem; line-height: 1.35; }


/* ==========================================================
   V78 · Clareza visual, ícones válidos e gestão profissional
   ========================================================== */

/* Narração: cada lance identifica claramente a equipe responsável. */
.event-copy { min-width: 0; }
.event-team-indicator {
  --event-team-accent: var(--club-primary, var(--primary));
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  margin: 0 0 4px;
  padding: 2px 7px 2px 4px;
  border: 1px solid color-mix(in srgb,var(--event-team-accent) 38%,var(--line));
  border-radius: 999px;
  background: color-mix(in srgb,var(--event-team-accent) 10%,var(--panel-2));
  color: var(--text);
}
.event-team-indicator .crest {
  width: 16px !important;
  min-width: 16px !important;
  height: 18px !important;
}
.event-team-indicator b {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: .58rem;
  font-weight: 600;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-team-indicator.is-neutral { color: var(--muted); background: var(--panel-2); border-color: var(--line); }
.event-team-indicator.is-neutral .fa-solid { font-size: .58rem; }
.live-social-post > .event-team-indicator { margin-bottom: 7px; }

/* Pós-jogo: nome, escudo, texto central, escudo e nome. */
.post-team-head-v78 {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.post-team-head-v78 .post-team-side {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.post-team-head-v78 .post-team-side.is-home { justify-content: flex-end; text-align: right; }
.post-team-head-v78 .post-team-side.is-away { justify-content: flex-start; text-align: left; }
.post-team-head-v78 .post-team-side strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text);
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.post-team-head-v78 .crest { width: 22px !important; min-width: 22px !important; height: 26px !important; }
.post-team-head-v78 > b {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--panel);
  color: var(--muted);
  font-size: .57rem;
  letter-spacing: .02em;
}

/* Finanças: receitas do extrato usam verde sem alterar outras métricas. */
.ledger-row > strong.positive { color: var(--success) !important; }
html[data-theme="light"] .ledger-row > strong.positive { color: #167548 !important; }

/* Toasts menores; no ao vivo ficam próximos da base porque não existe navbar. */
.toast-stack,
.toast-stack.is-live-context {
  width: min(276px,calc(100vw - 14px)) !important;
  right: max(7px,env(safe-area-inset-right)) !important;
  left: auto !important;
  gap: 5px !important;
}
.toast-stack { bottom: calc(var(--bottom-nav-final-height,56px) + 7px) !important; }
.toast-stack.is-live-context { bottom: calc(7px + env(safe-area-inset-bottom)) !important; }
.toast {
  grid-template-columns: 24px minmax(0,1fr) auto 21px !important;
  gap: 6px !important;
  min-height: 40px !important;
  padding: 6px 6px 7px !important;
  border-left-width: 3px !important;
  border-radius: 9px !important;
}
.toast-icon { width: 23px !important; height: 23px !important; border-radius: 7px !important; font-size: .68rem !important; }
.toast-copy strong { font-size: .63rem !important; }
.toast-copy p { margin-top: 1px !important; font-size: .59rem !important; line-height: 1.22 !important; }
.toast-close { width: 20px !important; height: 20px !important; border-radius: 6px !important; font-size: .66rem !important; }
.toast-count { font-size: .54rem !important; }
body:has(.registration-save) .toast-stack:not(.is-live-context) {
  bottom: calc(var(--bottom-nav-final-height,56px) + 80px) !important;
}
@media (max-width:520px) {
  .toast-stack,
  .toast-stack.is-live-context {
    left: auto !important;
    right: 6px !important;
    width: min(270px,calc(100vw - 12px)) !important;
  }
}

/* Identidade esportiva: central própria, clara e acionável. */
.club-identity-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.club-identity-summary > div { min-width: 0; }
.club-identity-summary h3 { margin: 4px 0 3px; }
.club-identity-summary p { margin: 0; color: var(--muted); font-size: .68rem; }
.identity-hub { display: grid; gap: 10px; }
.identity-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%,color-mix(in srgb,var(--club-primary) 22%,transparent),transparent 40%),
    var(--panel);
}
.identity-hero-club { display: flex; align-items: center; gap: 12px; min-width: 0; }
.identity-hero-club > div { min-width: 0; }
.identity-hero-club h2 { margin: 3px 0 4px; font-size: 1.05rem; }
.identity-hero-club p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.identity-score {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 1px solid color-mix(in srgb,var(--club-primary) 45%,var(--line));
  border-radius: 50%;
  background: color-mix(in srgb,var(--club-primary) 11%,var(--panel-2));
  text-align: center;
}
.identity-score strong { font-size: 1.35rem; }
.identity-score span { max-width: 60px; color: var(--muted); font-size: .5rem; line-height: 1.15; }
.identity-current-plan { display: grid; gap: 12px; }
.identity-select-field { display: grid; gap: 5px; color: var(--muted); font-size: .65rem; }
.identity-select-field select { width: 100%; }
.identity-priority-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
.identity-priority-cards article {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.identity-priority-cards header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.identity-priority-cards header span { min-width: 0; color: var(--text); font-size: .66rem; font-weight: 600; }
.identity-priority-cards header strong { font-size: .78rem; }
.identity-priority-cards p { margin: 0; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.identity-meter { height: 8px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb,var(--line) 70%,transparent); }
.identity-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--primary),var(--primary-2)); }
.identity-impact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.identity-impact-card { display: flex; align-items: flex-start; gap: 10px; }
.identity-impact-card > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel-2));
  color: var(--primary);
}
.identity-impact-card.is-watch > span { color: var(--warning); background: color-mix(in srgb,var(--warning) 12%,var(--panel-2)); }
.identity-impact-card small,.identity-impact-card strong,.identity-impact-card p { display: block; }
.identity-impact-card small { color: var(--muted); font-size: .55rem; }
.identity-impact-card strong { margin-top: 2px; font-size: .72rem; }
.identity-impact-card p { margin: 3px 0 0; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.identity-effect-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.identity-effect-list article { display: flex; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); }
.identity-effect-list article > span { color: var(--primary); }
.identity-effect-list strong { font-size: .68rem; }
.identity-effect-list p { margin: 3px 0 0; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.identity-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.identity-option {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: start;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--text);
  text-align: left;
}
.identity-option > span { color: var(--muted); }
.identity-option strong,.identity-option small { display: block; }
.identity-option strong { font-size: .65rem; }
.identity-option small { margin-top: 3px; color: var(--muted); font-size: .55rem; line-height: 1.3; }
.identity-option.is-active { border-color: color-mix(in srgb,var(--primary) 54%,var(--line)); background: color-mix(in srgb,var(--primary) 8%,var(--panel-2)); }
.identity-option.is-active > span { color: var(--primary); }

/* Estádio: canvas protagonista e especificações do complexo. */
.stadium-visual-v78 { overflow: hidden; padding: 0 !important; }
.stadium-visual-v78 .stadium-canvas { display: block; width: 100%; height: auto; border: 0; border-radius: 0; background: #0a0e15; }
.stadium-visual-specs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  border-top: 1px solid var(--line);
  background: var(--line);
}
.stadium-visual-specs span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  padding: 8px 5px;
  background: var(--panel-2);
  color: var(--muted);
  font-size: .56rem;
  text-align: center;
}
.stadium-visual-specs .fa-solid { color: var(--primary); }
.stadium-visual-v78 > p { margin: 0; padding: 8px 10px; color: var(--muted); font-size: .58rem; text-align: center; }

/* Base: deixa claro que a obra leva semanas e impede clique duplo. */
.academy-upgrades-v78 { display: grid; gap: 8px; }
.academy-upgrades-v78 .section-heading-row { align-items: end; }
.academy-upgrades-v78 .section-heading-row small { max-width: 220px; color: var(--muted); font-size: .57rem; text-align: right; }
.academy-upgrade-list-v78 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.academy-upgrade-card-v78 { display: grid; align-content: start; gap: 10px; }
.academy-upgrade-card-v78 header { display: grid; gap: 8px; }
.academy-upgrade-card-v78 header > div { display: flex; gap: 9px; min-width: 0; }
.academy-upgrade-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 11%,var(--panel-2));
  color: var(--primary);
}
.academy-upgrade-card-v78 strong { font-size: .69rem; }
.academy-upgrade-card-v78 p { margin: 3px 0 0; color: var(--muted); font-size: .57rem; line-height: 1.35; }
.academy-level-badge {
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--panel-2);
  color: var(--muted);
  font-size: .55rem;
  font-weight: 600;
}
.academy-upgrade-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.academy-upgrade-details span { padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); }
.academy-upgrade-details small,.academy-upgrade-details strong { display: block; }
.academy-upgrade-details small { color: var(--muted); font-size: .52rem; }
.academy-upgrade-details strong { margin-top: 2px; font-size: .62rem; }
.academy-upgrade-card-v78 .btn { width: 100%; justify-content: center; }
.academy-upgrade-note { color: var(--muted); font-size: .54rem; line-height: 1.35; }
.academy-upgrade-card-v78.is-maxed { opacity: .76; }

/* Central médica reconstruída para leitura por etapas. */
.medical-center-v78 { display: grid; gap: 10px; }
.medical-command-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
}
.medical-command-hero h2 { margin: 4px 0; font-size: 1rem; }
.medical-command-hero p { margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.38; }
.medical-command-score {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--panel-2);
}
.medical-command-score strong { font-size: 1.05rem; }
.medical-command-score span { color: var(--muted); font-size: .5rem; }
.medical-command-score.success { border-color: color-mix(in srgb,var(--success) 45%,var(--line)); }
.medical-command-score.warning { border-color: color-mix(in srgb,var(--warning) 50%,var(--line)); }
.medical-command-score.danger { border-color: color-mix(in srgb,var(--danger) 52%,var(--line)); }
.medical-step-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.medical-step-grid article {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
}
.medical-step-grid b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--primary); color: var(--on-primary); font-size: .58rem; }
.medical-step-grid strong,.medical-step-grid span { display: block; }
.medical-step-grid strong { font-size: .61rem; }
.medical-step-grid span { margin-top: 2px; color: var(--muted); font-size: .52rem; line-height: 1.3; }
.medical-overview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.medical-overview-grid article { display: flex; gap: 8px; align-items: flex-start; }
.medical-overview-grid article > span { color: var(--primary); }
.medical-overview-grid small,.medical-overview-grid strong,.medical-overview-grid p { display: block; }
.medical-overview-grid small { color: var(--muted); font-size: .51rem; }
.medical-overview-grid strong { margin-top: 1px; font-size: .88rem; }
.medical-overview-grid p { margin: 2px 0 0; color: var(--muted); font-size: .51rem; line-height: 1.25; }
.medical-legend { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.medical-legend div { padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); }
.medical-legend strong,.medical-legend span { display: block; }
.medical-legend strong { font-size: .58rem; }
.medical-legend span { margin-top: 2px; color: var(--muted); font-size: .5rem; line-height: 1.3; }
.medical-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 8px; }
.medical-section-heading h3 { margin: 2px 0 0; font-size: .82rem; }
.medical-section-heading > span { color: var(--muted); font-size: .6rem; }
.medical-attention-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.medical-care-card { display: grid; gap: 10px; }
.medical-care-card.is-injured { border-color: color-mix(in srgb,var(--danger) 42%,var(--line)); }
.medical-care-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.medical-care-card header button { display: flex; align-items: center; gap: 7px; min-width: 0; border: 0; background: transparent; color: var(--text); text-align: left; }
.medical-care-card header button > span:last-child { min-width: 0; }
.medical-care-card header strong,.medical-care-card header small { display: block; }
.medical-care-card header strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.medical-care-card header small { color: var(--muted); font-size: .54rem; }
.medical-primary-status { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; align-items: start; }
.medical-primary-status > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--panel-2); color: var(--primary); }
.medical-primary-status small,.medical-primary-status strong,.medical-primary-status p { display: block; }
.medical-primary-status small { color: var(--muted); font-size: .51rem; }
.medical-primary-status strong { margin-top: 1px; font-size: .64rem; }
.medical-primary-status p { margin: 2px 0 0; color: var(--muted); font-size: .53rem; line-height: 1.3; }
.medical-metric-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.medical-metric-row span { padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); }
.medical-metric-row small,.medical-metric-row strong { display: block; }
.medical-metric-row small { color: var(--muted); font-size: .49rem; }
.medical-metric-row strong { margin-top: 2px; font-size: .62rem; }
.medical-plan-select { display: grid; gap: 4px; color: var(--text); font-size: .58rem; }
.medical-plan-select small { color: var(--muted); font-size: .52rem; line-height: 1.3; }
.medical-full-squad { padding: 0 !important; overflow: hidden; }
.medical-full-squad summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px; cursor: pointer; }
.medical-full-squad summary > span { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 2px 7px; min-width: 0; }
.medical-full-squad summary > span > .fa-solid { grid-row: 1 / span 2; color: var(--primary); }
.medical-full-squad summary strong,.medical-full-squad summary small { display: block; }
.medical-full-squad summary strong { font-size: .65rem; }
.medical-full-squad summary small { color: var(--muted); font-size: .53rem; }
.medical-squad-table { display: grid; border-top: 1px solid var(--line); }
.medical-squad-table button { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 7px 9px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; }
.medical-squad-table button:last-child { border-bottom: 0; }
.medical-squad-table strong,.medical-squad-table small { display: block; }
.medical-squad-table strong { font-size: .61rem; }
.medical-squad-table small { color: var(--muted); font-size: .51rem; }
.medical-squad-table b { font-size: .61rem; }
.medical-squad-table b.success { color: var(--success); }
.medical-squad-table b.warning { color: var(--warning); }
.medical-squad-table b.danger { color: var(--danger); }

@media (max-width:700px) {
  .identity-priority-cards,.identity-impact-grid,.identity-effect-list,.identity-option-grid,.medical-attention-list { grid-template-columns: 1fr; }
  .academy-upgrade-list-v78 { grid-template-columns: 1fr; }
  .medical-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .medical-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .club-identity-summary { align-items: stretch; flex-direction: column; }
  .club-identity-summary .btn { width: 100%; justify-content: center; }
  .identity-hero,.medical-command-hero { grid-template-columns: 1fr; }
  .identity-score,.medical-command-score { width: 100%; height: auto; min-height: 54px; border-radius: 12px; grid-template-columns: auto auto; gap: 6px; }
  .identity-score span { max-width: none; }
  .medical-step-grid { grid-template-columns: 1fr; }
  .stadium-visual-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .post-team-head-v78 { gap: 5px; padding-inline: 5px; }
  .post-team-head-v78 .post-team-side strong { font-size: .58rem; }
  .post-team-head-v78 .crest { width: 18px !important; min-width: 18px !important; height: 22px !important; }
}

/* ==========================================================
   V79 · Página inicial reconstruída como painel do jogo
   ========================================================== */
.landing-v79 {
  --landing-panel: color-mix(in srgb, var(--panel) 96%, #08111f 4%);
  --landing-panel-2: color-mix(in srgb, var(--panel-2) 94%, #0b1626 6%);
  --landing-border: color-mix(in srgb, var(--line) 82%, var(--primary) 18%);
  min-height: 100dvh;
  padding: 0 0 calc(28px + var(--safe-bottom));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--primary) 7%, transparent), transparent 240px),
    var(--bg);
}

.landing-v79 .landing-command-panel {
  position: relative;
  display: grid;
  gap: 16px;
  width: 100%;
  padding: max(18px, var(--safe-top)) clamp(14px, 4vw, 40px) 22px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--primary) 28%, transparent), transparent 30%),
    linear-gradient(135deg, #09111d, #0d1a2a 58%, #0b1522);
  overflow: hidden;
}
.landing-v79 .landing-command-panel::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), color-mix(in srgb, var(--primary) 32%, transparent), transparent 82%);
}
.landing-v79 .landing-command-brand {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 50px minmax(0,1fr);
  gap: 13px;
  align-items: center;
  max-width: 1180px;
  width: 100%;
  margin-inline: auto;
}
.landing-v79 .landing-command-logo {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 13px;
  background: rgba(255,255,255,.07);
}
.landing-v79 .landing-command-logo svg { width: 36px; height: 36px; }
.landing-v79 .landing-command-brand .kicker { color: color-mix(in srgb, var(--primary) 68%, #fff); }
.landing-v79 .landing-command-brand h1 {
  margin: 3px 0 0;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.landing-v79 .landing-command-brand p {
  max-width: 720px;
  margin: 6px 0 0;
  color: rgba(255,255,255,.7);
  font-size: .78rem;
  line-height: 1.45;
}
.landing-v79 .landing-command-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(280px,.75fr);
  gap: 12px;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}
.landing-v79 .landing-start-hub,
.landing-v79 .landing-command-aside {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(5,12,21,.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.landing-v79 .landing-start-heading { display: grid; gap: 2px; }
.landing-v79 .landing-start-heading strong { color: #fff; font-size: 1rem; }
.landing-v79 .landing-start-heading small { color: rgba(255,255,255,.63); font-size: .68rem; }
.landing-v79 .landing-start-options.setup-mode-switch {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 6px !important;
  margin: 11px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}
.landing-v79 .landing-start-options.setup-mode-switch > button {
  min-width: 0 !important;
  min-height: 64px !important;
  padding: 9px 8px !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) !important;
  gap: 8px !important;
  align-items: center !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.045) !important;
  text-align: left !important;
}
.landing-v79 .landing-start-options.setup-mode-switch > button:hover {
  border-color: rgba(255,255,255,.25) !important;
  background: rgba(255,255,255,.075) !important;
}
.landing-v79 .landing-start-options.setup-mode-switch > button.is-active {
  border-color: color-mix(in srgb, var(--primary) 72%, #fff 28%) !important;
  color: #fff !important;
  background: color-mix(in srgb, var(--primary) 22%, rgba(255,255,255,.06)) !important;
  box-shadow: inset 3px 0 0 var(--primary) !important;
}
.landing-v79 .landing-start-options.setup-mode-switch > button > .fa-solid { font-size: 1rem; color: currentColor; }
.landing-v79 .landing-start-options.setup-mode-switch > button > span { display: grid; gap: 2px; min-width: 0; }
.landing-v79 .landing-start-options.setup-mode-switch > button strong,
.landing-v79 .landing-start-options.setup-mode-switch > button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-v79 .landing-start-options.setup-mode-switch > button strong { color: inherit; font-size: .7rem; }
.landing-v79 .landing-start-options.setup-mode-switch > button small { color: rgba(255,255,255,.55); font-size: .56rem; }
.landing-v79 .landing-mode-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 2px 12px;
  align-items: center;
  margin-top: 8px;
  padding: 11px 12px;
  border-left: 3px solid var(--primary);
  background: rgba(255,255,255,.045);
}
.landing-v79 .landing-mode-summary > span,
.landing-v79 .landing-mode-summary > strong,
.landing-v79 .landing-mode-summary > p { grid-column: 1; }
.landing-v79 .landing-mode-summary > span { color: color-mix(in srgb, var(--primary) 70%, #fff); font-size: .56rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.landing-v79 .landing-mode-summary > strong { color: #fff; font-size: .83rem; }
.landing-v79 .landing-mode-summary > p { margin: 2px 0 0; color: rgba(255,255,255,.64); font-size: .64rem; line-height: 1.4; }
.landing-v79 .landing-mode-summary > .btn { grid-column: 2; grid-row: 1 / 4; width: auto; min-width: 130px; }

.landing-v79 .landing-command-aside { display: grid; gap: 8px; }
.landing-v79 .landing-resume-card,
.landing-v79 .landing-first-career {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  color: #fff;
  background: rgba(255,255,255,.045);
  text-align: left;
}
.landing-v79 .landing-resume-card { cursor: pointer; }
.landing-v79 .landing-resume-card:hover { border-color: color-mix(in srgb, var(--primary) 70%, #fff 30%); }
.landing-v79 .landing-resume-card > span,
.landing-v79 .landing-first-career > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 14%, rgba(255,255,255,.06));
}
.landing-v79 .landing-resume-card div,
.landing-v79 .landing-first-career div { display: grid; gap: 1px; min-width: 0; }
.landing-v79 .landing-resume-card small,
.landing-v79 .landing-first-career small { color: rgba(255,255,255,.54); font-size: .56rem; text-transform: uppercase; letter-spacing: .06em; }
.landing-v79 .landing-resume-card strong,
.landing-v79 .landing-first-career strong { overflow: hidden; color: #fff; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.landing-v79 .landing-resume-card em { overflow: hidden; color: rgba(255,255,255,.62); font-size: .6rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.landing-v79 .landing-first-career { grid-template-columns: 38px minmax(0,1fr); }
.landing-v79 .landing-first-career p { margin: 2px 0 0; color: rgba(255,255,255,.6); font-size: .61rem; line-height: 1.35; }
.landing-v79 .landing-utility-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.landing-v79 .landing-utility-actions .btn { min-width: 0; width: 100%; border-color: rgba(255,255,255,.14); color: #fff; background: rgba(255,255,255,.05); }
.landing-v79 .landing-world-numbers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin: 0; }
.landing-v79 .landing-world-numbers > div { min-width: 0; padding: 8px; border-top: 1px solid rgba(255,255,255,.1); }
.landing-v79 .landing-world-numbers dt { color: rgba(255,255,255,.52); font-size: .52rem; text-transform: uppercase; letter-spacing: .05em; }
.landing-v79 .landing-world-numbers dd { margin: 3px 0 0; overflow: hidden; color: #fff; font-size: .72rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

.landing-v79 .landing-basics,
.landing-v79 .setup-stage {
  width: min(100% - 24px, 1180px);
  margin-inline: auto;
}
.landing-v79 .landing-basics { padding: 20px 0 4px; }
.landing-v79 .landing-section-heading,
.landing-v79 .landing-live-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.landing-v79 .landing-section-heading h2,
.landing-v79 .landing-live-heading h2 { margin: 2px 0 0; font-size: 1.18rem; letter-spacing: -.02em; }
.landing-v79 .landing-section-heading > p,
.landing-v79 .landing-live-heading p { max-width: 470px; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.landing-v79 .landing-basics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 11px; }
.landing-v79 .landing-basics-grid article {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 26px minmax(0,1fr);
  gap: 8px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--landing-border);
  border-radius: 11px;
  background: var(--landing-panel);
}
.landing-v79 .landing-basics-grid article > span { color: var(--muted); font-size: .54rem; font-weight: 600; }
.landing-v79 .landing-basics-grid article > .fa-solid { color: var(--primary); font-size: .9rem; }
.landing-v79 .landing-basics-grid article div { display: grid; gap: 4px; min-width: 0; }
.landing-v79 .landing-basics-grid strong { font-size: .72rem; }
.landing-v79 .landing-basics-grid p { margin: 0; color: var(--muted); font-size: .62rem; line-height: 1.42; }

.landing-v79 .setup-stage {
  display: grid !important;
  gap: 12px !important;
  padding: 16px 0 0 !important;
}
.landing-v79 .landing-live-center {
  order: 1 !important;
  display: grid;
  gap: 11px;
  margin: 0 !important;
  padding: 14px;
  border: 1px solid var(--landing-border);
  border-radius: 14px;
  background: var(--landing-panel);
  overflow: hidden;
}
.landing-v79 .setup-actions { order: 2 !important; display: grid !important; gap: 10px !important; }
.landing-v79 .landing-live-status { display: grid; gap: 3px; min-width: 150px; text-align: right; }
.landing-v79 .landing-live-status strong { font-size: .7rem; }
.landing-v79 .landing-live-status span { color: var(--muted); font-size: .61rem; }
.landing-v79 .landing-live-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); gap: 9px; }
.landing-v79 .landing-live-table,
.landing-v79 .landing-news-table {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--landing-panel-2);
}
.landing-v79 :is(.landing-live-table,.landing-news-table) > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.landing-v79 :is(.landing-live-table,.landing-news-table) > header > div { display: flex; align-items: center; gap: 7px; min-width: 0; }
.landing-v79 :is(.landing-live-table,.landing-news-table) h3 { margin: 0; font-size: .73rem; }
.landing-v79 :is(.landing-live-table,.landing-news-table) header small { color: var(--muted); font-size: .56rem; }
.landing-v79 .landing-table-columns {
  display: grid;
  grid-template-columns: 18px minmax(0,1fr) auto 24px;
  gap: 5px;
  padding: 7px 6px 4px;
  color: var(--muted);
  font-size: .48rem;
  text-transform: uppercase;
}
.landing-v79 .landing-table-columns span:nth-child(n+3) { text-align: right; }
.landing-v79 .demo-match-list,
.landing-v79 .demo-standings { gap: 0; }
.landing-v79 .demo-match {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) 54px;
  min-height: 38px;
  padding: 6px 7px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.landing-v79 .demo-match:last-child { border-bottom: 0; }
.landing-v79 .demo-match::before,
.landing-v79 .demo-match::after { width: 2px; opacity: .75; }
.landing-v79 .demo-match .score-team { min-width: 0; }
.landing-v79 .demo-match .score-team b { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
.landing-v79 .demo-match strong { font-variant-numeric: tabular-nums; }
.landing-v79 .demo-match em { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-v79 .demo-table-row {
  grid-template-columns: 18px minmax(0,1fr) auto 24px;
  min-height: 31px;
  padding: 5px 6px;
  border-left-width: 2px;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.landing-v79 .demo-table-row:last-child { border-bottom: 0; }
.landing-v79 .landing-news-table { padding-bottom: 4px; }
.landing-v79 .demo-log { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; max-height: 190px; overflow-y: auto; }
.landing-v79 .demo-log article { min-width: 0; padding: 8px 2px; border-bottom: 1px solid var(--line); }
.landing-v79 .demo-log article span { display: block; color: var(--muted); font-size: .52rem; }
.landing-v79 .demo-log article strong { display: block; margin-top: 2px; font-size: .64rem; line-height: 1.35; }
.landing-v79 .landing-live-center > footer { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .56rem; }
.landing-v79 .landing-live-center > footer span { display: flex; align-items: center; gap: 6px; }
.landing-v79 .landing-live-center > footer strong { color: var(--muted); font-weight: 600; }

/* Configuração da carreira no mesmo vocabulário visual do jogo. */
.landing-v79 .setup-actions > .landing-surface,
.landing-v79 .setup-actions > form,
.landing-v79 .setup-actions > .setup-help {
  width: 100%;
  margin: 0 !important;
  border: 1px solid var(--landing-border) !important;
  border-radius: 14px !important;
  background: var(--landing-panel) !important;
  box-shadow: none !important;
}
.landing-v79 .setup-actions > .btn,
.landing-v79 .setup-actions > .file-button { width: min(100%, 520px); justify-self: center; }
.landing-v79 .landing-career-card,
.landing-v79 .landing-create-card { padding: 14px !important; }
.landing-v79 .landing-career-card .panel-heading-row,
.landing-v79 .landing-create-card .settings-section-heading { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.landing-v79 .team-picker-tools { display: grid; grid-template-columns: minmax(180px,.45fr) minmax(0,1fr); gap: 8px; }
.landing-v79 .team-grid { gap: 7px; }
.landing-v79 .team-card,
.landing-v79 [data-team] { border-radius: 9px !important; }
.landing-v79 :is(input,select,textarea) { background-color: var(--panel-2); }

html[data-theme="light"] .landing-v79 {
  --landing-panel: #fff;
  --landing-panel-2: #f7f9fc;
  --landing-border: #d7deea;
  background: #f3f6fa;
}
html[data-theme="light"] .landing-v79 .landing-command-panel {
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--primary) 26%, transparent), transparent 31%),
    linear-gradient(135deg, #14233a, #0c1728 62%, #102039);
}

@media (max-width: 820px) {
  .landing-v79 .landing-command-layout { grid-template-columns: 1fr; }
  .landing-v79 .landing-command-aside { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
  .landing-v79 .landing-command-aside > :first-child { grid-row: 1 / 3; }
  .landing-v79 .landing-world-numbers { grid-column: 2; grid-template-columns: 1fr; }
  .landing-v79 .landing-utility-actions { grid-column: 2; grid-template-columns: 1fr; }
  .landing-v79 .landing-basics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-v79 .landing-live-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .landing-v79 .landing-command-panel { padding-inline: 10px; }
  .landing-v79 .landing-command-brand { grid-template-columns: 42px minmax(0,1fr); gap: 10px; }
  .landing-v79 .landing-command-logo { width: 42px; height: 42px; border-radius: 10px; }
  .landing-v79 .landing-command-logo svg { width: 30px; height: 30px; }
  .landing-v79 .landing-command-brand h1 { font-size: 1.38rem; }
  .landing-v79 .landing-command-brand p { font-size: .68rem; }
  .landing-v79 .landing-command-layout { gap: 8px; }
  .landing-v79 .landing-start-hub,
  .landing-v79 .landing-command-aside { padding: 10px; border-radius: 11px; }
  .landing-v79 .landing-start-options.setup-mode-switch { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .landing-v79 .landing-start-options.setup-mode-switch > button {
    min-height: 58px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 4px !important;
    padding: 7px 3px !important;
    text-align: center !important;
  }
  .landing-v79 .landing-start-options.setup-mode-switch > button > .fa-solid { display: block !important; }
  .landing-v79 .landing-start-options.setup-mode-switch > button small { font-size: .49rem; }
  .landing-v79 .landing-mode-summary { grid-template-columns: 1fr; }
  .landing-v79 .landing-mode-summary > .btn { grid-column: 1; grid-row: auto; width: 100%; margin-top: 6px; }
  .landing-v79 .landing-command-aside { display: grid; grid-template-columns: 1fr; }
  .landing-v79 .landing-command-aside > :first-child,
  .landing-v79 .landing-world-numbers,
  .landing-v79 .landing-utility-actions { grid-column: 1; grid-row: auto; }
  .landing-v79 .landing-utility-actions { grid-template-columns: 1fr 1fr; }
  .landing-v79 .landing-world-numbers { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-v79 .landing-basics,
  .landing-v79 .setup-stage { width: calc(100% - 12px); }
  .landing-v79 .landing-section-heading,
  .landing-v79 .landing-live-heading { display: grid; gap: 5px; align-items: start; }
  .landing-v79 .landing-section-heading > p,
  .landing-v79 .landing-live-heading p { max-width: none; }
  .landing-v79 .landing-basics-grid { grid-template-columns: 1fr; gap: 6px; }
  .landing-v79 .landing-basics-grid article { grid-template-columns: 24px 24px minmax(0,1fr); padding: 10px; }
  .landing-v79 .landing-live-center { padding: 10px; border-radius: 11px; }
  .landing-v79 .landing-live-status { min-width: 0; text-align: left; }
  .landing-v79 .demo-match { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  .landing-v79 .demo-match em { grid-column: 1 / -1; text-align: center; }
  .landing-v79 .demo-log { grid-template-columns: 1fr; max-height: 220px; }
  .landing-v79 .landing-live-center > footer { display: grid; gap: 4px; }
  .landing-v79 .team-picker-tools { grid-template-columns: 1fr; }
  .landing-v79 .setup-actions > .landing-surface,
  .landing-v79 .setup-actions > form { border-radius: 11px !important; }
}

@media (max-width: 350px) {
  .landing-v79 .landing-command-panel { padding-inline: 6px; }
  .landing-v79 .landing-command-brand p { display: none; }
  .landing-v79 .landing-start-options.setup-mode-switch > button strong { font-size: .61rem; }
  .landing-v79 .landing-start-options.setup-mode-switch > button small { display: none; }
  .landing-v79 .landing-utility-actions { grid-template-columns: 1fr; }
}

/* A tela inicial é um documento rolável; seus blocos não podem encolher para caber em 100dvh. */
.setup-screen.landing-v79 { display: block !important; }
.setup-screen.landing-v79 > * { flex: none !important; }

/* O jogo usa uma coluna móvel mesmo em navegadores largos; a inicial respeita a largura real do shell. */
.landing-v79 .landing-command-layout { grid-template-columns: 1fr; }
.landing-v79 .landing-basics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.landing-v79 .landing-live-grid { grid-template-columns: 1fr; }
.landing-v79 :is(.demo-match-list,.demo-standings) {
  max-height: 360px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}


/* ==========================================================
   V80 · Faixa informativa compacta abaixo do campo ao vivo
   ========================================================== */
.live-pitch-shell {
  grid-template-rows: minmax(0,1fr) 21px !important;
}
.live-pitch-caption {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 21px !important;
  height: 21px !important;
  padding: 2px 5px !important;
  overflow: hidden !important;
  background: rgba(2,9,7,.9) !important;
}
.live-caption-status {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  overflow: hidden;
}
.live-caption-status .live-dot {
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  flex: 0 0 6px !important;
  margin: 0 !important;
}
.live-caption-status strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #fff !important;
  font-size: .56rem !important;
  font-weight: 600;
  line-height: 1 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-caption-note {
  overflow: hidden;
  max-width: 112px;
  color: rgba(255,255,255,.64) !important;
  font-size: .48rem !important;
  line-height: 1 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-team-key {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(39px,auto)) !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 3px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 81px !important;
  margin-left: 0 !important;
  overflow: visible !important;
}
.live-team-key > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-width: 39px !important;
  max-width: none !important;
  height: 17px !important;
  padding: 1px 4px !important;
  overflow: hidden !important;
  border-radius: 4px !important;
  font-size: .49rem !important;
  line-height: 1 !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
.live-team-key > span > i {
  width: 6px !important;
  height: 6px !important;
  min-width: 6px !important;
  flex: 0 0 6px !important;
}
.live-team-key > span > b {
  display: block;
  min-width: 20px;
  overflow: hidden;
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-team-key > span > small {
  color: inherit !important;
  font-size: .4rem !important;
  font-weight: 600;
  line-height: 1 !important;
  opacity: .72;
}
@media (max-width: 360px) {
  .live-pitch-caption { gap: 4px !important; padding-inline: 4px !important; }
  .live-caption-status strong { font-size: .53rem !important; }
  .live-team-key { grid-template-columns: repeat(2,39px) !important; min-width: 81px !important; }
  .live-team-key > span > small { display: none !important; }
}

/* ==========================================================
   V81 · Tema claro, medidores, classificação e menu compacto
   ========================================================== */

/* Cartões que usam as cores do clube conservam contraste calculado também no tema claro. */
html[data-theme="light"] :is(.opponent-hero,.legacy-museum-hero) {
  color: var(--team-gradient-text,#fff) !important;
  background: linear-gradient(135deg,var(--team-gradient-primary,#27364f),var(--team-gradient-secondary,#101827)) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text,#fff) 24%,transparent) !important;
  box-shadow: 0 10px 24px rgba(28,39,57,.14) !important;
}
html[data-theme="light"] :is(.opponent-hero,.legacy-museum-hero)
  :is(h1,h2,h3,h4,p,strong,b,span,small,.kicker,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme="light"] .opponent-hero p,
html[data-theme="light"] .legacy-museum-hero p { opacity: .84 !important; }
html[data-theme="light"] .opponent-hero .scout-completeness,
html[data-theme="light"] .legacy-museum-hero .legacy-hero-stats > span {
  color: inherit !important;
  background: color-mix(in srgb,var(--team-gradient-text,#fff) 11%,transparent) !important;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text,#fff) 20%,transparent) !important;
  text-shadow: none !important;
}

/* A parte ainda não preenchida de qualquer medidor permanece visível. */
:root {
  --progress-track-bg: color-mix(in srgb,var(--text) 13%,var(--panel-2));
  --progress-track-border: color-mix(in srgb,var(--text) 14%,transparent);
}
html[data-theme="light"] {
  --progress-track-bg: #dfe5ec;
  --progress-track-border: #c7d0db;
}
html[data-theme="dark"] {
  --progress-track-bg: color-mix(in srgb,#fff 11%,var(--panel-2));
  --progress-track-border: rgba(255,255,255,.09);
}
:is(
  .progress-track,
  .locker-metrics i,
  .opponent-line-grid i,
  .promise-progress i,
  .lineup-slot-copy i,
  .bench-player-card i,
  .market-fit-line i,
  .manager-style-grid article > i,
  .psychology-trait-grid i,
  .identity-priority-grid i,
  .integrity-meter > i,
  .team-player-fitness,
  .tactic-metric-row article > div,
  .identity-meter
) {
  background: var(--progress-track-bg) !important;
  box-shadow: inset 0 0 0 1px var(--progress-track-border) !important;
}
:is(
  .progress-track > span,
  .progress-track > i,
  .locker-metrics i > b,
  .opponent-line-grid i > b,
  .promise-progress i > b,
  .lineup-slot-copy i > b,
  .bench-player-card i > b,
  .market-fit-line i > b,
  .manager-style-grid article > i > b,
  .psychology-trait-grid i > b,
  .identity-priority-grid i > b,
  .integrity-meter > i > b,
  .team-player-fitness > b,
  .tactic-metric-row article > div > i,
  .identity-meter > i
) { min-width: 0; }

/* A legenda do campo continua integrada à faixa escura, mesmo quando o jogo usa tema claro. */
html[data-theme="light"] .live-pitch-caption .live-team-key > span,
html[data-theme="light"] .live-pitch-caption .live-team-key > span.is-user {
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
html[data-theme="light"] .live-pitch-caption .live-team-key > span.is-user {
  color: #fff !important;
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.22) !important;
}
html[data-theme="light"] .live-pitch-caption .live-team-key > span > small {
  color: rgba(255,255,255,.68) !important;
}

/* Variação de posição: sinal e valor cabem até com dois dígitos. */
td.position { white-space: nowrap; padding-inline: 3px !important; }
td.position > span:first-child {
  display: inline-block;
  min-width: 17px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.rank-move {
  display: inline-grid !important;
  place-items: center;
  min-width: 0 !important;
  width: auto;
  max-width: 27px;
  height: 15px;
  margin-left: 1px;
  padding: 0 3px;
  overflow: hidden;
  border-radius: 999px;
  font-size: .49rem !important;
  font-variant-numeric: tabular-nums;
  font-weight: 600 !important;
  line-height: 1;
  letter-spacing: -.035em;
  vertical-align: middle;
}
.rank-move b { font: inherit; line-height: 1; }
.rank-move.up { background: color-mix(in srgb,var(--success) 12%,transparent); }
.rank-move.down { background: color-mix(in srgb,var(--danger) 12%,transparent); }
.rank-move.stable { background: color-mix(in srgb,var(--muted) 10%,transparent); }

.live-table-position {
  grid-template-columns: 17px minmax(23px,28px) !important;
  gap: 1px !important;
  min-width: 0;
}
.live-rank-move {
  display: inline-grid !important;
  place-items: center;
  min-width: 0 !important;
  width: 100%;
  max-width: 28px;
  height: 15px;
  padding: 0 2px;
  overflow: hidden;
  border-radius: 999px;
  font-size: .47rem !important;
  font-variant-numeric: tabular-nums;
  font-weight: 600 !important;
  line-height: 1;
  letter-spacing: -.035em;
}
.live-rank-move b { font: inherit; line-height: 1; }
.live-rank-move.up { background: color-mix(in srgb,var(--success) 12%,transparent); }
.live-rank-move.down { background: color-mix(in srgb,var(--danger) 12%,transparent); }
.live-rank-move.stable { background: color-mix(in srgb,var(--muted) 10%,transparent); }

/* A prévia usa exatamente a mesma cor do botão Jogar da barra real. */
.settings-nav-preview .is-play,
.nav-custom-preview-play,
.navbar-mobile .nav-play {
  color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel)) !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
}
.settings-nav-preview .is-play :is(.fa-solid,.fa-regular,small),
.nav-custom-preview-play :is(.fa-solid,.fa-regular,small),
.navbar-mobile .nav-play :is(.fa-solid,.fa-regular,.icon,span) {
  color: var(--primary) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] .settings-nav-preview .is-play,
html[data-theme="light"] .nav-custom-preview-play {
  color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 11%,#fff) !important;
}

/* Controles realmente úteis aparecem compactos no menu de três pontos. */
.quick-interface-tools { gap: 7px !important; }
.quick-control-strip {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
}
.quick-control-strip button {
  display: grid;
  grid-template-rows: 25px auto auto;
  place-items: center;
  min-width: 0;
  min-height: 66px;
  padding: 7px 3px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: var(--panel-2);
  text-align: center;
  cursor: pointer;
}
.quick-control-strip button > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 11%,var(--panel));
}
.quick-control-strip button strong,
.quick-control-strip button small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quick-control-strip button strong { font-size: .61rem; }
.quick-control-strip button small { color: var(--muted); font-size: .5rem; }
.quick-control-strip button:is(:hover,:focus-visible) {
  border-color: color-mix(in srgb,var(--primary) 45%,var(--line));
  background: color-mix(in srgb,var(--primary) 7%,var(--panel-2));
}
.quick-control-strip button:disabled { opacity: .55; cursor: wait; }
html[data-theme="light"] .quick-control-strip button { background: #f6f8fb; }

@media (max-width: 350px) {
  .quick-control-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-control-strip button { min-height: 58px; grid-template-rows: 22px auto auto; }
}

/* =========================================================
   V82 · Superfícies neutras nas copas e respiro entre painéis
   ========================================================= */

/* Os clubes participantes de uma copa não herdam as cores do clube do usuário. */
.cup-card .cup-participants .team-mini-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  padding: 7px 9px !important;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent) !important;
  border-radius: 10px !important;
  color: var(--text) !important;
  background: color-mix(in srgb, var(--panel-2) 92%, var(--bg)) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.cup-card .cup-participants .team-mini-chip :is(strong,b,span,small,.fa-solid) {
  color: inherit !important;
  text-shadow: none !important;
}
.cup-card .cup-participants .team-mini-chip b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-theme="light"] .cup-card .cup-participants .team-mini-chip {
  color: #172033 !important;
  background: #f4f7fa !important;
  border-color: rgba(28,39,57,.13) !important;
}

/*
 * Conteúdos de abas são conjuntos de cartões independentes. O espaçamento é
 * aplicado somente na raiz dessas áreas, sem separar linhas internas, tabelas,
 * listas agrupadas ou componentes desenhados para compartilhar bordas.
 */
:is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#clubTabContent) {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}
:is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#clubTabContent) > .panel,
:is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#clubTabContent) > section.panel {
  margin-block: 0 !important;
}
#competitionContent > :is(.statistics-toolbar,.calendar-summary) { margin-bottom: 0 !important; }

@media (max-width: 390px) {
  :is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#clubTabContent) { gap: 10px; }
  .cup-card .cup-participants .team-mini-chip { padding: 6px 8px !important; }
}


/* =========================================================
   V83 · Estádio legível, atalhos do topo e submenus uniformes
   ========================================================= */

/* O canvas do estádio possui uma superfície visual útil antes mesmo do primeiro frame. */
.stadium-canvas-shell {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 58%,rgba(50,209,125,.22),transparent 22%),
    linear-gradient(180deg,#1b2b42 0 42%,#153a29 43% 100%);
}
.stadium-visual-v78 .stadium-canvas {
  position: relative;
  z-index: 1;
  aspect-ratio: 2 / 1;
  min-height: 210px;
  background:
    radial-gradient(ellipse at 50% 62%,rgba(44,141,84,.45) 0 22%,transparent 23%),
    linear-gradient(180deg,#1b2b42 0 44%,#0f291d 45% 100%) !important;
}
.stadium-canvas-status {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  max-width: calc(100% - 20px);
  min-height: 40px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  color: #fff;
  background: rgba(5,10,17,.76);
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.stadium-canvas-status > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #fff;
  background: rgba(255,255,255,.12);
}
.stadium-canvas-status > div { display: grid; min-width: 0; }
.stadium-canvas-status small { color: rgba(255,255,255,.7); font-size: .48rem; }
.stadium-canvas-status strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .66rem; }
.stadium-canvas-status > b { font-size: .72rem; font-variant-numeric: tabular-nums; }
.stadium-canvas-status.is-excellent { border-color: rgba(72,219,139,.48); }
.stadium-canvas-status.is-good { border-color: rgba(98,188,255,.42); }
.stadium-canvas-status.is-attention { border-color: rgba(255,194,71,.52); }
.stadium-canvas-status.is-critical { border-color: rgba(255,99,119,.55); }

.stadium-health-panel {
  display: grid;
  gap: 8px;
  padding: 11px 12px 10px;
  border-top: 1px solid var(--line);
  background: color-mix(in srgb,var(--panel) 95%,var(--primary) 5%);
}
.stadium-health-panel header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.stadium-health-panel header > div { display: grid; gap: 3px; min-width: 0; }
.stadium-health-panel header > div > strong { font-size: .63rem; line-height: 1.35; }
.stadium-health-panel header > span {
  flex: 0 0 auto;
  display: grid;
  justify-items: end;
  color: var(--text);
  font-size: .72rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.stadium-health-panel header > span small { color: var(--muted); font-size: .47rem; font-weight: 600; }
.stadium-health-meter {
  height: 9px;
  overflow: hidden;
  border: 1px solid var(--progress-track-border);
  border-radius: 999px;
  background: var(--progress-track-bg);
}
.stadium-health-meter > span {
  display: block;
  height: 100%;
  min-width: 4px;
  border-radius: inherit;
  background: linear-gradient(90deg,#d64055 0 35%,#e6a52e 36% 58%,#3f91d1 59% 78%,#2db26f 79% 100%);
}
.stadium-health-scale { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.stadium-health-scale span { color: var(--muted); font-size: .43rem; text-align: center; }
.stadium-visual-v78 > p { padding: 10px 12px 11px !important; line-height: 1.45; }

/* Posição e semana viram atalhos sem alterar a altura ou a grade da barra. */
.topbar-glance-chip.is-action {
  appearance: none;
  width: auto;
  min-height: 29px !important;
  border: 1px solid color-mix(in srgb,currentColor 20%,transparent) !important;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
}
.topbar-glance-chip.is-action:is(:hover,:focus-visible) {
  border-color: rgba(255,255,255,.42) !important;
  background: rgba(255,255,255,.13) !important;
  outline: none;
}
.topbar-glance-chip.is-action:active { transform: scale(.97); }
.topbar-glance-chip.is-rival {
  grid-template-columns: 16px minmax(0,1fr);
  place-content: center stretch;
  align-items: center;
  gap: 4px;
  padding-inline: 4px;
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary,#27364d) 42%,#07111f),
    color-mix(in srgb,var(--team-secondary,#536174) 38%,#07111f)) !important;
  border-color: rgba(255,255,255,.25) !important;
}
.topbar-next-crest {
  display: grid !important;
  place-items: center;
  width: 16px;
  height: 20px;
  min-width: 16px;
  overflow: hidden;
}
.topbar-next-crest .crest,
.topbar-next-crest svg.crest {
  width: 13px !important;
  height: 16px !important;
  max-width: 13px !important;
  max-height: 16px !important;
  filter: none !important;
}
.topbar-next-crest .national-crest-emoji { font-size: .68rem !important; }
.topbar-next-copy { display: grid !important; gap: 1px; min-width: 0; }
.topbar-next-copy :is(small,strong) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* O fundo pertence ao scrollport inteiro; nenhuma faixa escondida muda de cor ao ser revelada. */
:is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters) {
  isolation: isolate;
  background-color: var(--panel) !important;
  background-image: none !important;
  background-clip: padding-box !important;
  backdrop-filter: none !important;
  box-shadow: 0 5px 14px rgba(0,0,0,.09);
}
.content .is-sticky-submenu::before { content: none !important; display: none !important; }
html[data-theme="light"] :is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters) {
  background-color: #ffffff !important;
}

/* Respiro interno apenas para cartões independentes com texto; superfícies segmentadas continuam intactas. */
:is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#clubTabContent)
  > :is(.panel,.settings-group,[class$="-card"],[class*="-card "]):not(.stadium-visual-v78):not(.lineup-visual-panel):not(.regulation-card):not(.market-proposal-section):not(.contract-card-v2) {
  padding-block: max(11px, var(--rounded-card-padding, 11px));
}
:is(.panel,.settings-group,[class$="-card"],[class*="-card "]):not(.stadium-visual-v78):not(.lineup-visual-panel):not(.regulation-card):not(.market-proposal-section):not(.contract-card-v2)
  > :is(p,small,em):first-child { margin-top: 1px; }
:is(.panel,.settings-group,[class$="-card"],[class*="-card "]):not(.stadium-visual-v78):not(.lineup-visual-panel):not(.regulation-card):not(.market-proposal-section):not(.contract-card-v2)
  > :is(p,small,em):last-child { margin-bottom: 1px; }

@media (max-width: 370px) {
  .stadium-canvas-shell,
  .stadium-visual-v78 .stadium-canvas { min-height: 180px; }
  .stadium-canvas-status { top: 7px; left: 7px; max-width: calc(100% - 14px); }
  .stadium-visual-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .topbar-glance-chip.is-rival { grid-template-columns: 14px minmax(0,1fr); gap: 3px; }
  .topbar-next-crest { width: 14px; min-width: 14px; }
}

/* =========================================================
   V84 · Ação do próximo jogo, avisos lidos e recortes seguros
   ========================================================= */

/* O próximo compromisso usa exatamente o mesmo fluxo do botão Jogar. */
.topbar-glance-chip.is-rival.is-action {
  min-width: 0;
  max-width: 100%;
  text-align: left;
}
.topbar-glance-chip.is-rival.is-action:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.56);
}

/* Notificações lidas não exibem selo redundante; ficam apenas discretamente atenuadas. */
.notification-center-item.is-read {
  opacity: .68;
  transition: opacity .18s ease, transform .18s ease, border-color .18s ease;
}
.notification-center-item.is-read:is(:hover,:focus-within) { opacity: .82; }
.notification-read-label { display: none !important; }

/* O desenho inteiro do estádio permanece visível em qualquer largura móvel. */
.stadium-canvas-shell {
  min-height: 0 !important;
  aspect-ratio: 2 / 1;
  overflow: hidden;
}
.stadium-visual-v78 .stadium-canvas {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 2 / 1;
  object-fit: contain !important;
  object-position: center center !important;
}

/* A faixa da Wiki recebe superfície própria também quando passa a flutuar. */
.wiki-page-simple .wiki-category-strip,
.wiki-page-simple .wiki-category-strip.is-sticky-submenu {
  margin: 0 !important;
  padding: 6px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px;
  background-color: var(--panel) !important;
  background-image: none !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
  backdrop-filter: none !important;
}
html[data-theme="light"] .wiki-page-simple .wiki-category-strip,
html[data-theme="light"] .wiki-page-simple .wiki-category-strip.is-sticky-submenu {
  background-color: #ffffff !important;
}

@media (max-width: 370px) {
  .stadium-canvas-shell,
  .stadium-visual-v78 .stadium-canvas { min-height: 0 !important; }
}

/* =========================================================
   V85 · contraste dinâmico, saves, pós-jogo e rolagem humana
   ========================================================= */

/* O texto do próximo jogo usa o par calculado pelo JS para os dois extremos
   do gradiente; amarelos e fundos claros recebem texto escuro, fundos escuros
   recebem texto claro, sem aumentar a barra. */
.topbar-glance-chip.is-rival {
  color: var(--team-gradient-text, #fff) !important;
  background: linear-gradient(135deg,
    var(--team-gradient-primary, var(--team-primary, #27364d)),
    var(--team-gradient-secondary, var(--team-secondary, #536174))) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 30%, transparent) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--team-gradient-text, #fff) 13%, transparent) !important;
}
.topbar-glance-chip.is-rival :is(small,strong,.fa-solid) { color: inherit !important; }
.topbar-glance-chip.is-rival.is-action:is(:hover,:focus-visible) {
  color: var(--team-gradient-text, #fff) !important;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--team-gradient-primary, var(--team-primary, #27364d)) 88%, var(--team-gradient-text, #fff) 12%),
    color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary, #536174)) 88%, var(--team-gradient-text, #fff) 12%)) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 48%, transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--team-gradient-text, #fff) 24%, transparent) !important;
}

/* O save em uso ganha uma identificação discreta e o selo Atual fica
   realmente centralizado em qualquer largura. */
.save-slot-list { gap: 3px !important; }
.save-slot-row.is-active {
  position: relative;
  margin-block: 2px;
  border: 1px solid color-mix(in srgb, var(--primary) 48%, var(--line)) !important;
  border-radius: 11px !important;
  background: linear-gradient(100deg,
    color-mix(in srgb, var(--primary) 10%, var(--panel-2)),
    color-mix(in srgb, var(--primary) 4%, var(--panel))) !important;
  box-shadow: inset 3px 0 0 var(--primary) !important;
}
.save-slot-row.is-active > div:first-child > strong { color: var(--text); }
.save-slot-row.is-active .save-slot-actions .badge {
  display: inline-grid !important;
  place-items: center;
  align-self: stretch;
  min-width: 58px;
  min-height: 31px;
  margin: 0 !important;
  padding: 5px 8px;
  line-height: 1;
  text-align: center;
}

/* Primeiro bloco do pós-jogo comunica o resultado sem perder placar,
   competição, fase, escudos ou decisão por pênaltis. */
.post-match-head {
  --post-outcome-accent: var(--primary);
  --post-outcome-on: var(--primary-contrast, #07110c);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--post-outcome-accent) 48%, var(--line)) !important;
  background:
    radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--post-outcome-accent) 22%, transparent), transparent 46%),
    linear-gradient(135deg, color-mix(in srgb, var(--post-outcome-accent) 8%, var(--panel)), var(--panel)) !important;
}
.post-match-head::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--post-outcome-accent);
}
.post-match-head.is-victory { --post-outcome-accent: #2dbd73; --post-outcome-on: #07110c; }
.post-match-head.is-draw { --post-outcome-accent: #e2a52a; --post-outcome-on: #171006; }
.post-match-head.is-defeat { --post-outcome-accent: #d94c5f; --post-outcome-on: #fff; }
.post-match-head.is-neutral { --post-outcome-accent: #4d8ed8; --post-outcome-on: #fff; }
.post-match-outcome-label {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin: 0 0 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--post-outcome-accent);
  color: var(--post-outcome-on) !important;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.post-match-outcome-label .fa-solid { color: inherit !important; }
.post-match-head .post-match-result-copy h2 { color: color-mix(in srgb, var(--post-outcome-accent) 72%, var(--text)) !important; }
.post-match-head .post-match-scoreline {
  border-color: color-mix(in srgb, var(--post-outcome-accent) 38%, var(--line)) !important;
  background: color-mix(in srgb, var(--panel-2) 91%, var(--post-outcome-accent) 9%) !important;
}
html[data-theme="light"] .post-match-head.is-victory { --post-outcome-accent: #168555; }
html[data-theme="light"] .post-match-head.is-draw { --post-outcome-accent: #a96b08; --post-outcome-on: #fff; }
html[data-theme="light"] .post-match-head.is-defeat { --post-outcome-accent: #b72c42; }

/* Na classificação do pós-jogo não há mais identidade cromática de cada
   clube. A única faixa semântica mostra subida ou queda na rodada. */
.post-table-row {
  border-left: 3px solid transparent !important;
  background: transparent;
}
.post-table-row.movement-up { border-left-color: var(--success) !important; }
.post-table-row.movement-down { border-left-color: var(--danger) !important; }
.post-table-row.movement-stable { border-left-color: transparent !important; }
.post-table-row.is-user {
  background: color-mix(in srgb, var(--text) 5%, var(--panel-2)) !important;
  font-weight: 600;
}

/* A tabela de Competições tinha sombra interna e borda simultâneas. Mantém
   apenas uma faixa por zona de acesso, competição continental ou queda. */
.league-standings-table tr:is(.promotion-row,.relegation-row,.continental-row) td:first-child {
  box-shadow: none !important;
  border-left-width: 3px !important;
  border-left-style: solid !important;
}
.league-standings-table tr.promotion-row td:first-child { border-left-color: var(--success) !important; }
.league-standings-table tr.relegation-row td:first-child { border-left-color: var(--danger) !important; }
.league-standings-table tr.continental-row td:first-child { border-left-color: #347fc4 !important; }

/* O scroll acompanha a narração até o usuário sair do fim. Ao voltar
   manualmente para o final, o próprio evento de scroll reativa o seguimento. */
.match-events { overflow-anchor: none; overscroll-behavior: contain; }
.match-events.is-auto-follow-paused { scroll-behavior: auto; }

@media (max-width: 430px) {
  .save-slot-row.is-active .save-slot-actions .badge { min-height: 34px; }
  .post-match-head::before { width: 4px; }
}

/* =========================================================
   V86 · placar agregado e leitura da eliminatória no pós-jogo
   ========================================================= */

/* O jogo isolado e o resultado do confronto são informações diferentes.
   Este bloco mostra ida, volta, agregado e classificação sem criar
   contradições quando um clube perde a volta, mas avança no agregado. */
.post-match-aggregate {
  --aggregate-accent: #4d8ed8;
  --aggregate-on: #fff;
  display: grid;
  gap: 9px;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--aggregate-accent) 42%, var(--line));
  border-radius: 13px;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--aggregate-accent) 10%, var(--panel-2)),
      color-mix(in srgb, var(--aggregate-accent) 4%, var(--panel)));
  box-shadow: inset 3px 0 0 var(--aggregate-accent);
}
.post-match-aggregate.is-victory { --aggregate-accent: #2dbd73; --aggregate-on: #07110c; }
.post-match-aggregate.is-draw { --aggregate-accent: #e2a52a; --aggregate-on: #171006; }
.post-match-aggregate.is-defeat { --aggregate-accent: #d94c5f; --aggregate-on: #fff; }
.post-match-aggregate.is-neutral { --aggregate-accent: #4d8ed8; --aggregate-on: #fff; }
.post-match-aggregate-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.post-match-aggregate-main > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  color: color-mix(in srgb, var(--aggregate-accent) 78%, var(--text));
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.post-match-aggregate-main > strong {
  color: var(--text);
  font-size: clamp(.92rem, 3.8vw, 1.12rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.post-match-aggregate-main > small {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.35;
}
.post-match-leg-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}
.post-match-leg-results > span {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid color-mix(in srgb, var(--aggregate-accent) 22%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel) 88%, var(--aggregate-accent) 12%);
  color: var(--text);
  font-size: .62rem;
  line-height: 1.28;
}
.post-match-leg-results > span > small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: .53rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.post-match-leg-results > span > b {
  color: var(--text);
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
}
.post-match-leg-results > span.is-pending {
  border-style: dashed;
  color: var(--muted);
  background: color-mix(in srgb, var(--panel-2) 92%, transparent);
}
.post-match-dual-status {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.post-match-dual-status > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--muted);
  font-size: .55rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
}
.post-match-dual-status > span.is-victory {
  border-color: color-mix(in srgb, #2dbd73 42%, var(--line));
  background: color-mix(in srgb, #2dbd73 14%, var(--panel));
  color: color-mix(in srgb, #2dbd73 82%, var(--text));
}
.post-match-dual-status > span.is-draw {
  border-color: color-mix(in srgb, #e2a52a 42%, var(--line));
  background: color-mix(in srgb, #e2a52a 14%, var(--panel));
  color: color-mix(in srgb, #e2a52a 78%, var(--text));
}
.post-match-dual-status > span.is-defeat {
  border-color: color-mix(in srgb, #d94c5f 45%, var(--line));
  background: color-mix(in srgb, #d94c5f 13%, var(--panel));
  color: color-mix(in srgb, #d94c5f 82%, var(--text));
}
.post-match-dual-status > span.is-penalties {
  border-color: color-mix(in srgb, #7d65d8 44%, var(--line));
  background: color-mix(in srgb, #7d65d8 13%, var(--panel));
  color: color-mix(in srgb, #9a84eb 82%, var(--text));
}
html[data-theme="light"] .post-match-aggregate.is-victory { --aggregate-accent: #168555; }
html[data-theme="light"] .post-match-aggregate.is-draw { --aggregate-accent: #a96b08; --aggregate-on: #fff; }
html[data-theme="light"] .post-match-aggregate.is-defeat { --aggregate-accent: #b72c42; }
html[data-theme="light"] .post-match-dual-status > span.is-victory { color: #126b46; }
html[data-theme="light"] .post-match-dual-status > span.is-draw { color: #805004; }
html[data-theme="light"] .post-match-dual-status > span.is-defeat { color: #9f2538; }

@media (max-width: 370px) {
  .post-match-leg-results { grid-template-columns: minmax(0, 1fr); }
  .post-match-dual-status > span { flex: 1 1 auto; }
}

/* =========================================================
   V87 · alinhamento da narração e leitura limpa do pós-jogo
   ========================================================= */

/* O símbolo de cada lance ocupa exatamente o centro do círculo da linha do
   tempo, independentemente da proporção interna do ícone Font Awesome. */
.match-events .event .event-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}
.match-events .event .event-icon :is(.fa-solid,.fa-regular,.fa-brands) {
  display: inline-grid !important;
  place-items: center !important;
  width: 1em !important;
  min-width: 1em !important;
  height: 1em !important;
  margin: 0 !important;
  line-height: 1 !important;
  transform: none !important;
}
.match-events .event .event-icon :is(.fa-solid,.fa-regular,.fa-brands)::before {
  margin: 0 !important;
  transform-origin: center !important;
}

/* O badge do resultado e o texto "Pós-jogo" ganham uma linha própria e um
   espaço real entre si, evitando a aparência de elementos colados. */
.post-match-result-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  margin-bottom: 4px;
}
.post-match-result-meta .post-match-outcome-label { margin: 0 !important; }
.post-match-result-meta .kicker { margin: 0 !important; }
html[data-theme="light"] .post-match-head.is-victory { --post-outcome-on: #fff; }

/* O placar final não fica dentro de uma segunda superfície colorida. A leitura
   vem do próprio texto e dos escudos, com contraste explícito no tema claro. */
.post-match-head .post-match-scoreline {
  padding-inline: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
.post-match-head .post-match-scoreline > strong {
  color: var(--text) !important;
  background: transparent !important;
  text-shadow: none !important;
}
.post-match-head .post-match-scoreline > strong small {
  color: var(--muted) !important;
  text-shadow: none !important;
}
html[data-theme="light"] .post-match-head .post-match-scoreline > strong {
  color: #172033 !important;
}

/* A faixa lateral da classificação pós-jogo representa a situação final da
   tabela: acesso, vaga continental ou rebaixamento. A seta pequena ao lado da
   posição continua mostrando apenas o movimento da rodada. */
.post-table-row {
  border-left: 3px solid transparent !important;
}
.post-table-row.zone-promotion { border-left-color: var(--success) !important; }
.post-table-row.zone-relegation { border-left-color: var(--danger) !important; }
.post-table-row.zone-continental { border-left-color: #347fc4 !important; }
.post-table-row.zone-neutral { border-left-color: transparent !important; }
/* Regras antigas de movimento não controlam mais a borda. */
.post-table-row:is(.movement-up,.movement-down,.movement-stable) { border-left-color: transparent !important; }

/* =========================================================
   V88 · contraste da barra, agregado, controle e linha do tempo
   ========================================================= */

/* Posição e semana repetem exatamente a cor do contexto da página. Somente o
   próximo adversário usa o contraste calculado a partir do próprio gradiente. */
.topbar .topbar-page-context,
.topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival) {
  color: var(--club-gradient-text, #fff) !important;
}
.topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival) :is(small,strong,.fa-solid,.fa-regular,span) {
  color: inherit !important;
}
.topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival):is(:hover,:focus-visible) {
  color: var(--club-gradient-text, #fff) !important;
  background: color-mix(in srgb, var(--club-gradient-text, #fff) 13%, transparent) !important;
  border-color: color-mix(in srgb, var(--club-gradient-text, #fff) 38%, transparent) !important;
}
.topbar .topbar-glance > .topbar-glance-chip.is-rival {
  color: var(--team-gradient-text, #fff) !important;
}
.topbar .topbar-glance > .topbar-glance-chip.is-rival :is(small,strong,.fa-solid,.fa-regular,span) {
  color: inherit !important;
}

/* O placar agregado precisa permanecer legível dentro do cabeçalho temático. */
html[data-theme="light"] .post-match-head .post-match-aggregate-main > strong,
html[data-theme="light"] .post-match-head .post-match-leg-results > span > b {
  color: #172033 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .post-match-head .post-match-aggregate-main > small,
html[data-theme="light"] .post-match-head .post-match-leg-results > span > small {
  color: #536074 !important;
}

/* Controle automático compacto. No fim da partida o contador entra no próprio
   botão, sem criar um segundo card grande sobre o pós-jogo. */
.auto-manager-floating {
  min-height: 38px !important;
  max-width: min(78vw, 230px);
  padding: 5px 6px 5px 7px !important;
  gap: 6px !important;
  border-radius: 999px !important;
  border-color: rgba(255,255,255,.22) !important;
  background: linear-gradient(135deg,#172235,#243650) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.auto-manager-floating :is(span,strong,small,b,.fa-solid) { color: inherit !important; }
.auto-manager-floating-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  font-size: .7rem;
}
.auto-manager-floating-copy {
  display: grid;
  gap: 0;
  min-width: 0;
  text-align: left;
  line-height: 1.05;
}
.auto-manager-floating-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .62rem;
  font-weight: 600;
}
.auto-manager-floating-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .46rem;
  opacity: .72;
}
.auto-manager-floating-countdown {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  min-width: 25px;
  border-radius: 50%;
  background: #f2b632;
  color: #191205 !important;
  font-size: .68rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}
.auto-manager-floating-countdown[hidden] { display: none !important; }
.auto-manager-floating.is-counting {
  border-color: rgba(244,182,50,.58) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.3), 0 0 0 2px rgba(244,182,50,.12) !important;
}
.auto-advance-countdown { display: none !important; }

/* A linha usa as mesmas medidas da grade: 8px de margem + 34px do minuto +
   7px de espaço + metade do marcador de 24px = centro exato em 61px. */
.match-events {
  --commentary-pad-left: 8px;
  --commentary-time-width: 34px;
  --commentary-gap: 7px;
  --commentary-icon-size: 24px;
}
.match-events::before {
  left: calc(var(--commentary-pad-left) + var(--commentary-time-width) + var(--commentary-gap) + (var(--commentary-icon-size) / 2)) !important;
}
.match-events .event {
  grid-template-columns: var(--commentary-time-width) var(--commentary-icon-size) minmax(0,1fr) !important;
  column-gap: var(--commentary-gap) !important;
}
.match-events .event .event-icon {
  width: var(--commentary-icon-size) !important;
  height: var(--commentary-icon-size) !important;
}

/* A rolagem automática não é mais interpretada como gesto manual. */
.match-events[data-auto-follow="on"] { scroll-behavior: auto !important; }

@media (max-width: 370px) {
  .auto-manager-floating { max-width: 82vw; }
  .auto-manager-floating-copy strong { font-size: .58rem; }
  .auto-manager-floating-copy small { font-size: .43rem; }
}

/* =========================================================
   V89 · fases eliminatórias, estádio claro e pênaltis legíveis
   ========================================================= */

/* O estádio acompanha o tema claro sem conservar grandes superfícies pretas.
   O status sobre o canvas também troca para texto escuro sobre vidro claro. */
html[data-theme="light"] .stadium-canvas-shell {
  background:
    radial-gradient(circle at 50% 58%,rgba(36,153,92,.16),transparent 24%),
    linear-gradient(180deg,#d8ecfb 0 42%,#dce8df 43% 100%) !important;
}
html[data-theme="light"] .stadium-visual-v78 .stadium-canvas {
  background:
    radial-gradient(ellipse at 50% 62%,rgba(44,141,84,.22) 0 22%,transparent 23%),
    linear-gradient(180deg,#d8ecfb 0 44%,#dce8df 45% 100%) !important;
}
html[data-theme="light"] .stadium-canvas-status {
  color:#152033;
  border-color:rgba(35,55,76,.18);
  background:rgba(255,255,255,.88);
  box-shadow:0 8px 22px rgba(42,61,78,.16);
}
html[data-theme="light"] .stadium-canvas-status > span {
  color:var(--primary);
  background:color-mix(in srgb,var(--primary) 12%,#fff);
}
html[data-theme="light"] .stadium-canvas-status small { color:#5c6878; }
html[data-theme="light"] .stadium-canvas-status strong,
html[data-theme="light"] .stadium-canvas-status > b { color:#152033; }
html[data-theme="light"] .stadium-health-panel,
html[data-theme="light"] .stadium-visual-specs span,
html[data-theme="light"] .stadium-visual-v78 > p {
  color:var(--text);
}

/* A função do usuário fica explícita antes do chute: bola para bater e mão
   para defender. O jogador controlado também recebe destaque no duelo. */
.penalty-role-banner {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid color-mix(in srgb,var(--penalty-team) 38%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--penalty-team) 10%,var(--panel-2));
  color:var(--text);
}
.penalty-role-banner > span {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:var(--penalty-team);
  color:var(--penalty-team-on,#fff);
  font-size:1.05rem;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.penalty-role-banner.is-attack > span { color:var(--penalty-team-on,#fff); }
.penalty-role-banner.is-defend > span {
  background:#2468aa;
  color:#fff;
}
.penalty-role-banner > div { display:grid; gap:2px; min-width:0; }
.penalty-role-banner strong {
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.penalty-role-banner small { color:var(--muted); font-size:.61rem; line-height:1.3; }
.penalty-duel-people article.is-user-role {
  border-color:color-mix(in srgb,var(--penalty-team) 56%,var(--line));
  background:color-mix(in srgb,var(--penalty-team) 12%,var(--panel-2));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--penalty-team) 16%,transparent);
}
.penalty-minigame-overlay.is-defend .penalty-duel-people article.is-user-role {
  border-color:color-mix(in srgb,#347fc4 58%,var(--line));
  background:color-mix(in srgb,#347fc4 12%,var(--panel-2));
}

/* Resultado grande no centro do gol e resumo persistente abaixo. As cores
   seguem a perspectiva do usuário, não apenas o evento técnico da cobrança. */
.penalty-result-burst {
  position:absolute;
  z-index:9;
  left:50%;
  top:50%;
  display:grid;
  justify-items:center;
  gap:6px;
  min-width:min(78%,330px);
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:16px;
  background:rgba(5,11,18,.82);
  color:#fff;
  opacity:0;
  transform:translate(-50%,-50%) scale(.72);
  box-shadow:0 18px 42px rgba(0,0,0,.38);
  backdrop-filter:blur(10px);
  pointer-events:none;
}
.penalty-result-burst > span { font-size:1.45rem; }
.penalty-result-burst > strong {
  font-size:clamp(.95rem,4vw,1.28rem);
  font-weight:600;
  letter-spacing:.055em;
  text-align:center;
  text-transform:uppercase;
}
.penalty-goal-target.is-resolved .penalty-result-burst {
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  transition:opacity .2s ease,transform .35s cubic-bezier(.18,.9,.24,1.12);
}
.penalty-result-burst.is-user-success {
  border-color:rgba(91,226,151,.62);
  background:rgba(12,92,55,.9);
}
.penalty-result-burst.is-user-failure {
  border-color:rgba(255,116,133,.62);
  background:rgba(126,26,42,.91);
}
.penalty-goal-target.is-user-success {
  box-shadow:inset 0 0 0 999px rgba(35,180,101,.14),0 12px 26px rgba(0,0,0,.25) !important;
}
.penalty-goal-target.is-user-failure {
  box-shadow:inset 0 0 0 999px rgba(235,77,94,.14),0 12px 26px rgba(0,0,0,.25) !important;
}
.penalty-mini-result {
  justify-content:flex-start;
  text-align:left;
}
.penalty-mini-result-icon {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  background:var(--panel);
  color:var(--text);
}
.penalty-mini-result > div { display:grid; gap:2px; min-width:0; }
.penalty-mini-result strong { font-size:.78rem; }
.penalty-mini-result small { text-align:left; }
.penalty-mini-result.is-user-success {
  border-color:color-mix(in srgb,var(--success) 58%,var(--line));
  background:color-mix(in srgb,var(--success) 12%,var(--panel-2));
}
.penalty-mini-result.is-user-success .penalty-mini-result-icon { color:var(--success); }
.penalty-mini-result.is-user-failure {
  border-color:color-mix(in srgb,var(--danger) 58%,var(--line));
  background:color-mix(in srgb,var(--danger) 11%,var(--panel-2));
}
.penalty-mini-result.is-user-failure .penalty-mini-result-icon { color:var(--danger); }

/* O modal fica centralizado. Em telas baixas, o conteúdo interno rola sem
   deslocar todo o minijogo permanentemente para o topo. */
.penalty-picker-overlay.penalty-minigame-overlay,
.penalty-picker-overlay.penalty-taker-step {
  align-items:center !important;
  place-items:center !important;
  padding:max(10px,var(--safe-top)) 10px max(10px,var(--safe-bottom)) !important;
}
.penalty-minigame-overlay .penalty-minigame,
.penalty-taker-step .penalty-picker {
  margin:auto;
  max-height:calc(100dvh - max(20px,var(--safe-top)) - max(20px,var(--safe-bottom))) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
}

@media (max-width:560px) {
  .penalty-role-banner { grid-template-columns:36px minmax(0,1fr); gap:8px; padding:8px 9px; }
  .penalty-role-banner > span { width:36px; height:36px; border-radius:10px; font-size:.92rem; }
  .penalty-role-banner strong { font-size:.7rem; }
  .penalty-role-banner small { font-size:.56rem; }
  .penalty-result-burst { min-width:min(86%,300px); padding:11px 12px; }
  .penalty-picker-overlay.penalty-taker-step { align-items:center !important; }
}


/* ==========================================================
   V90 · fim automático, contraste do clube e museu moderno
   ========================================================== */

/* Ao encerrar naturalmente ou pelo botão Final, Painel usa somente o gradiente
   acessível do clube controlado. O tema da interface não interfere nesse par. */
.match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn) {
  color: var(--team-gradient-text, var(--club-gradient-text, #fff)) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg,
    var(--team-gradient-primary, var(--club-gradient-primary, #27364f)),
    var(--team-gradient-secondary, var(--club-gradient-secondary, #101827))) !important;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text, #fff) 28%,transparent) !important;
  box-shadow: 0 7px 18px color-mix(in srgb,var(--team-gradient-primary, #27364f) 30%,transparent) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn)
  :is(.fa-solid,.fa-regular,span,strong,small) { color: inherit !important; }
.match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn):is(:hover,:focus-visible) {
  color: var(--team-gradient-text, var(--club-gradient-text, #fff)) !important;
  background-image: linear-gradient(135deg,
    var(--team-gradient-secondary, var(--club-gradient-secondary, #101827)),
    var(--team-gradient-primary, var(--club-gradient-primary, #27364f))) !important;
}

/* Ação destrutiva inequívoca no tema claro. */
#resignManagerBtn {
  color: var(--danger-strong-text, #fff) !important;
  background: var(--danger-strong-bg, #bd2944) !important;
  border-color: color-mix(in srgb,var(--danger-strong-bg, #bd2944) 74%,#000 26%) !important;
}
#resignManagerBtn :is(.fa-solid,.fa-regular,span,strong) { color: inherit !important; }

/* Perfil: todo o conteúdo usa o contraste calculado para as duas pontas do gradiente. */
.manager-profile-hero-modern {
  color: var(--team-gradient-text, var(--club-gradient-text, #fff)) !important;
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--team-gradient-text, #fff) 12%,transparent),transparent 38%),
    linear-gradient(135deg,
      var(--team-gradient-primary, var(--club-gradient-primary, #27364f)),
      var(--team-gradient-secondary, var(--club-gradient-secondary, #101827))) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text, #fff) 25%,transparent) !important;
  text-shadow: none !important;
}
.manager-profile-hero-modern :is(h1,h2,h3,h4,p,strong,b,span,small,.kicker,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
.manager-profile-hero-modern .manager-profile-identity p { opacity: .82; }
.manager-profile-hero-modern .manager-profile-badges > span,
.manager-profile-hero-modern .manager-profile-score {
  color: inherit !important;
  background: color-mix(in srgb,var(--team-gradient-text, #fff) 11%,transparent) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text, #fff) 24%,transparent) !important;
}
.manager-profile-hero-modern .manager-profile-photo-modern {
  border-color: color-mix(in srgb,var(--team-gradient-text, #fff) 42%,transparent) !important;
}

/* Museu do clube: uma entrada de acervo completa, sem depender dos estilos antigos. */
.legacy-museum-hero {
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) minmax(180px,.64fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 190px;
  overflow: hidden;
  padding: 22px !important;
  color: var(--team-gradient-text, #fff) !important;
  background:
    radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--team-gradient-text, #fff) 13%,transparent),transparent 31%),
    linear-gradient(135deg,var(--team-gradient-primary, #27364f),var(--team-gradient-secondary, #101827)) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text, #fff) 24%,transparent) !important;
  box-shadow: 0 16px 34px color-mix(in srgb,var(--team-gradient-secondary, #101827) 28%,transparent) !important;
  text-shadow: none !important;
}
.legacy-museum-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 230px;
  height: 230px;
  right: -88px;
  bottom: -138px;
  border: 30px solid color-mix(in srgb,var(--team-gradient-text, #fff) 8%,transparent);
  border-radius: 50%;
}
.legacy-museum-hero :is(h2,p,strong,b,span,small,.kicker,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
.legacy-museum-emblem {
  position: relative;
  display: grid;
  place-items: center;
  width: 112px;
  height: 126px;
}
.legacy-museum-crest-frame {
  display: grid;
  place-items: center;
  width: 104px;
  height: 118px;
  padding: 10px;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text, #fff) 27%,transparent);
  border-radius: 26px;
  background: color-mix(in srgb,var(--team-gradient-text, #fff) 10%,transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb,var(--team-gradient-text, #fff) 14%,transparent),0 12px 26px rgba(0,0,0,.18);
}
.legacy-museum-crest-frame .crest { width: 78px !important; height: 92px !important; filter: drop-shadow(0 8px 13px rgba(0,0,0,.24)); }
.legacy-museum-emblem-mark {
  position: absolute;
  right: -2px;
  bottom: 4px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid var(--team-gradient-primary, #27364f);
  border-radius: 12px;
  color: var(--team-gradient-primary, #27364f) !important;
  background: var(--team-gradient-text, #fff) !important;
  box-shadow: 0 7px 16px rgba(0,0,0,.22);
}
.legacy-museum-copy { min-width: 0; }
.legacy-museum-copy .kicker { display: inline-flex; align-items: center; gap: 6px; opacity: .78; }
.legacy-museum-copy h2 { margin: 5px 0 7px; font-size: clamp(1.35rem,4vw,2rem); line-height: 1.05; }
.legacy-museum-copy p { max-width: 620px; margin: 0; font-size: .75rem; line-height: 1.55; opacity: .82; }
.legacy-museum-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.legacy-museum-tags > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text, #fff) 18%,transparent);
  border-radius: 999px;
  background: color-mix(in srgb,var(--team-gradient-text, #fff) 8%,transparent);
  font-size: .58rem;
  font-weight: 600;
}
.legacy-museum-summary { display: grid; gap: 9px; min-width: 0; }
.legacy-museum-hero .legacy-hero-stats {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
}
.legacy-museum-hero .legacy-hero-stats > span {
  display: grid !important;
  place-items: center;
  gap: 2px;
  min-width: 0;
  padding: 10px 5px !important;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text, #fff) 20%,transparent) !important;
  border-radius: 13px !important;
  background: color-mix(in srgb,var(--team-gradient-text, #fff) 10%,transparent) !important;
}
.legacy-museum-hero .legacy-hero-stats b { font-size: 1.08rem; line-height: 1; }
.legacy-museum-hero .legacy-hero-stats small { font-size: .49rem; opacity: .74; text-transform: uppercase; letter-spacing: .04em; }
.legacy-museum-callout {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text, #fff) 18%,transparent);
  border-radius: 14px;
  background: color-mix(in srgb,var(--team-gradient-text, #fff) 8%,transparent);
}
.legacy-museum-callout > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: color-mix(in srgb,var(--team-gradient-text, #fff) 13%,transparent); }
.legacy-museum-callout div { display: grid; min-width: 0; }
.legacy-museum-callout small { font-size: .5rem; opacity: .7; }
.legacy-museum-callout strong { font-size: .66rem; line-height: 1.25; }

@media (max-width: 760px) {
  .legacy-museum-hero { grid-template-columns: 88px minmax(0,1fr) !important; padding: 17px !important; }
  .legacy-museum-emblem { width: 82px; height: 96px; }
  .legacy-museum-crest-frame { width: 78px; height: 90px; padding: 7px; border-radius: 20px; }
  .legacy-museum-crest-frame .crest { width: 58px !important; height: 68px !important; }
  .legacy-museum-emblem-mark { width: 28px; height: 28px; border-radius: 9px; }
  .legacy-museum-summary { grid-column: 1/-1; grid-template-columns: minmax(0,1fr) minmax(150px,.7fr); }
}
@media (max-width: 430px) {
  .legacy-museum-hero { grid-template-columns: 68px minmax(0,1fr) !important; gap: 11px !important; padding: 14px !important; }
  .legacy-museum-emblem { width: 64px; height: 78px; }
  .legacy-museum-crest-frame { width: 62px; height: 72px; padding: 6px; border-radius: 17px; }
  .legacy-museum-crest-frame .crest { width: 45px !important; height: 54px !important; }
  .legacy-museum-emblem-mark { width: 24px; height: 24px; font-size: .6rem; }
  .legacy-museum-copy h2 { font-size: 1.12rem; }
  .legacy-museum-copy p { font-size: .65rem; }
  .legacy-museum-tags { display: none; }
  .legacy-museum-summary { grid-template-columns: 1fr; }
  .legacy-museum-callout { display: none; }
}

/* Especificidade final: neutraliza regras antigas que forçavam branco no tema claro. */
html[data-theme] .match-screen #skipMatchBtn.post-match-panel-button,
html[data-theme] .match-screen #finishHomeBtn {
  color: var(--team-gradient-text, var(--club-gradient-text, #fff)) !important;
  background-color: transparent !important;
  background-image: linear-gradient(135deg,
    var(--team-gradient-primary, var(--club-gradient-primary, #27364f)),
    var(--team-gradient-secondary, var(--club-gradient-secondary, #101827))) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text, #fff) 28%,transparent) !important;
}
html[data-theme] .match-screen :is(#skipMatchBtn.post-match-panel-button,#finishHomeBtn)
  :is(.fa-solid,.fa-regular,span,strong,small) { color: inherit !important; }

html[data-theme] .manager-profile-hero-modern {
  color: var(--team-gradient-text, var(--club-gradient-text, #fff)) !important;
}
html[data-theme] .manager-profile-hero-modern
  :is(h1,h2,h3,h4,p,strong,b,span,small,.kicker,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme] .manager-profile-hero-modern .manager-profile-identity p { color: inherit !important; opacity: .82; }

html[data-theme] .legacy-museum-hero {
  color: var(--team-gradient-text, #fff) !important;
}
html[data-theme] .legacy-museum-hero
  :is(h1,h2,h3,h4,p,strong,b,span,small,.kicker,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme] .legacy-museum-hero .legacy-museum-emblem-mark {
  color: var(--team-gradient-primary, #27364f) !important;
  background: var(--team-gradient-text, #fff) !important;
}


/* ==========================================================
   V91 · resultado do pênalti, seleção completa e controles coerentes
   ========================================================== */

/* O resultado sai do canvas do gol e ocupa a faixa de decisão. */
.penalty-goal-target .penalty-result-burst { display:none !important; }
.penalty-mini-result.is-resolved-outcome {
  min-height:86px;
  display:flex !important;
  align-items:center;
  justify-content:center !important;
  gap:14px;
  padding:14px 16px;
  text-align:left;
  border-width:2px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.penalty-mini-result.is-resolved-outcome .penalty-mini-result-icon {
  width:52px;
  height:52px;
  flex-basis:52px;
  border-radius:16px;
  font-size:1.45rem;
  background:color-mix(in srgb,currentColor 10%,var(--panel));
}
.penalty-mini-result.is-resolved-outcome strong {
  display:block;
  font-size:clamp(.98rem,4vw,1.28rem) !important;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.035em;
}
.penalty-mini-result.is-resolved-outcome small { margin-top:5px; font-size:.68rem; line-height:1.35; }
.penalty-mini-result.is-resolved-outcome.is-user-success {
  color:color-mix(in srgb,var(--success) 76%,var(--text));
  background:color-mix(in srgb,var(--success) 15%,var(--panel));
}
.penalty-mini-result.is-resolved-outcome.is-user-failure {
  color:color-mix(in srgb,var(--danger) 82%,var(--text));
  background:color-mix(in srgb,var(--danger) 14%,var(--panel));
}
@media (max-width:480px) {
  .penalty-mini-result.is-resolved-outcome { min-height:76px; gap:10px; padding:11px 12px; }
  .penalty-mini-result.is-resolved-outcome .penalty-mini-result-icon { width:44px; height:44px; flex-basis:44px; border-radius:13px; }
}

/* A transmissão da seleção usa os mesmos cartões e hierarquia do clube. */
.international-post-match-modern { overflow:hidden; }
.international-post-match-grid { align-items:start; }
.international-post-card { min-width:0; }
.international-post-event-list {
  display:grid;
  gap:6px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}
.international-post-event-list li {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
}
.international-post-event-list li > span { color:var(--muted); font-size:.62rem; font-weight:600; }
.international-post-event-list li > strong { font-size:.65rem; line-height:1.35; }
.international-post-analysis { display:grid; gap:10px; }
.international-post-analysis > p { margin:0; font-size:.7rem; line-height:1.5; }
.international-analysis-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.international-analysis-kpis > span {
  display:grid;
  gap:3px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
}
.international-analysis-kpis small { color:var(--muted); font-size:.55rem; }
.international-analysis-kpis strong { font-size:.72rem; }
.international-post-tournament { display:grid; gap:7px; }
.international-post-tournament .live-table-row,
.international-post-tournament .live-knockout-row { border-radius:9px; }

/* Ícones dos novos lances internacionais recebem semântica própria. */
.match-events .event.chance .event-icon { color:#d99514; background:color-mix(in srgb,#d99514 14%,var(--panel-2)); }
.match-events .event.save .event-icon { color:#2b76c8; background:color-mix(in srgb,#2b76c8 14%,var(--panel-2)); }
.match-events .event.corner .event-icon { color:#8a5dc7; background:color-mix(in srgb,#8a5dc7 14%,var(--panel-2)); }
.match-events .event.kickoff .event-icon,
.match-events .event.half-time .event-icon { color:var(--primary); background:color-mix(in srgb,var(--primary) 13%,var(--panel-2)); }
.match-events .event.offside .event-icon,
.match-events .event.foul .event-icon { color:#b35b30; background:color-mix(in srgb,#b35b30 13%,var(--panel-2)); }

/* Plano, Trocas, Papéis, Ética e Final compartilham exatamente a mesma base. */
.match-screen .live-management-actions .live-command-button {
  border:1px solid var(--live-control-border) !important;
  border-radius:7px !important;
  color:var(--live-control-text) !important;
  background:var(--live-control-bg) !important;
  box-shadow:none !important;
}
.match-screen .live-management-actions .live-command-button:not(:disabled):hover,
.match-screen .live-management-actions .live-command-button:not(:disabled):focus-visible {
  color:var(--live-control-text) !important;
  background:var(--live-control-hover) !important;
  border-color:color-mix(in srgb,var(--live-control-text) 34%,var(--live-control-border)) !important;
}
.match-screen.is-finished .live-management-actions .btn:disabled,
.match-screen.is-finished .live-management-actions .btn[aria-disabled="true"] {
  opacity:.42 !important;
  filter:saturate(.45) !important;
  cursor:not-allowed !important;
}
.match-screen.is-finished .live-management-actions #skipMatchBtn.post-match-panel-button:not(:disabled) {
  opacity:1 !important;
  filter:none !important;
}
html[data-theme="light"] .match-screen .live-management-actions .live-command-button {
  color:#172033 !important;
  background:#eef2f7 !important;
  border-color:#aab6c5 !important;
}

@media (max-width:520px) {
  .international-analysis-kpis { grid-template-columns:1fr; }
}

/* =========================================================
   V92 · linha do tempo contínua, seleção visível e entrada discreta
   ========================================================= */

/* A linha anterior pertencia ao painel rolável e terminava no limite visível.
   Cada lance agora desenha o próprio segmento, formando uma linha contínua
   até o último item independentemente da altura total da narração. */
.match-events::before {
  display: none !important;
}
.match-events .event::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: calc(var(--commentary-time-width,34px) + var(--commentary-gap,7px) + (var(--commentary-icon-size,24px) / 2));
  top: 0;
  bottom: 0;
  width: 2px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 28%,var(--line));
  pointer-events: none;
}
.match-events .event:first-child::before {
  top: calc(7px + (var(--commentary-icon-size,24px) / 2));
}
.match-events .event:last-child::before {
  bottom: calc(100% - 7px - (var(--commentary-icon-size,24px) / 2));
}
.match-events .event > :is(time,.event-icon,.event-copy) {
  position: relative;
  z-index: 1;
}
.match-events .event .event-icon { z-index: 2; }

/* A bandeira da seleção ocupa o mesmo espaço reservado ao escudo do clube na
   barra superior e usa uma pilha de fontes que preserva emoji no Android. */
.topbar-club-visual > .national-crest-emoji,
.topbar-club-visual .national-crest-emoji.is-small {
  width: 29px !important;
  height: 31px !important;
  min-width: 29px !important;
  font-size: 1.7rem !important;
  line-height: 1 !important;
  overflow: visible !important;
  font-family: "Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",system-ui,sans-serif !important;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.22));
}

/* Validação da escalação integrada ao Dia de jogo: visível, porém sem alert do
   navegador interrompendo a experiência. */
.matchday-lineup-notice {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  width: min(100%,560px);
  margin-inline: auto;
  padding: 9px 11px;
  border: 1px solid rgba(255,214,102,.34);
  border-radius: 13px;
  color: #fff;
  background: rgba(22,18,8,.58);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 20px rgba(0,0,0,.16);
}
.matchday-lineup-notice > .fa-solid {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #241900 !important;
  background: #f2c14e;
}
.matchday-lineup-notice span { min-width: 0; display: grid; gap: 2px; }
.matchday-lineup-notice strong { color: #fff !important; font-size: .72rem; }
.matchday-lineup-notice small { color: rgba(255,255,255,.76) !important; font-size: .58rem; line-height: 1.35; }

/* Pausar, Continuar e Encerrado usam a mesma borda física dos controles
   vizinhos. Apenas a cor muda conforme o estado. */
.match-screen .live-pause-button {
  border-width: 1px !important;
  border-style: solid !important;
}
.match-screen .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  border-color: #48b886 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
.match-screen .live-pause-button.is-paused:not(.is-ended):not(:disabled) {
  border-color: #9b6b05 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.match-screen .live-pause-button.is-ended,
.match-screen .live-pause-button:disabled {
  border-color: var(--live-control-disabled-border,#667386) !important;
}
html[data-theme="light"] .match-screen .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  border-color: #0d5938 !important;
}
html[data-theme="light"] .match-screen .live-pause-button.is-paused:not(.is-ended):not(:disabled) {
  border-color: #8b6208 !important;
}

@media (max-width: 480px) {
  .matchday-lineup-notice { grid-template-columns: 30px minmax(0,1fr); padding: 8px 9px; }
  .matchday-lineup-notice > .fa-solid { width: 30px; height: 30px; }
}

/* =========================================================
   V93 · estados desabilitados inequívocos e pênaltis legíveis
   ========================================================= */

/* Os comandos indisponíveis precisam parecer realmente inativos. A regra vale
   durante e após a partida e também cobre componentes que usam aria-disabled. */
.match-screen .live-management-actions .btn:disabled,
.match-screen .live-management-actions .btn[aria-disabled="true"],
.match-screen .live-management-actions .btn.is-disabled {
  opacity: .24 !important;
  filter: grayscale(.72) saturate(.22) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.match-screen .live-management-actions .btn:disabled :is(svg,.fa-solid,.fa-regular,span,small),
.match-screen .live-management-actions .btn[aria-disabled="true"] :is(svg,.fa-solid,.fa-regular,span,small),
.match-screen .live-management-actions .btn.is-disabled :is(svg,.fa-solid,.fa-regular,span,small) {
  opacity: .72 !important;
}
.match-screen .live-management-actions #skipMatchBtn.post-match-panel-button:not(:disabled),
.match-screen .live-management-actions #finishHomeBtn:not(:disabled) {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

/* Em clubes com preto como cor principal, o acento do time não pode tornar os
   ícones do minijogo invisíveis no tema escuro. A bola dentro do círculo branco
   preserva o desenho preto por ser parte da própria representação da bola. */
html[data-theme="dark"] .penalty-minigame {
  --penalty-visible-accent: color-mix(in srgb,var(--penalty-team) 54%,#ffffff 46%);
}
html[data-theme="dark"] .penalty-mode-badge,
html[data-theme="dark"] .penalty-duel-people > b,
html[data-theme="dark"] .penalty-glove {
  color: var(--penalty-visible-accent,#dbe7f5) !important;
}
html[data-theme="dark"] .penalty-glove {
  border: 1px solid color-mix(in srgb,var(--penalty-visible-accent,#dbe7f5) 38%,transparent);
  background: color-mix(in srgb,var(--penalty-visible-accent,#dbe7f5) 15%,var(--panel)) !important;
}
html[data-theme="dark"] .penalty-role-banner > span,
html[data-theme="dark"] .penalty-role-banner > span :is(svg,.fa-solid,.fa-regular),
html[data-theme="dark"] .penalty-mini-result-icon,
html[data-theme="dark"] .penalty-mini-result-icon :is(svg,.fa-solid,.fa-regular),
html[data-theme="dark"] .penalty-glove :is(svg,.fa-solid,.fa-regular),
html[data-theme="dark"] .penalty-duel-people > b :is(svg,.fa-solid,.fa-regular) {
  color: inherit !important;
  fill: currentColor !important;
}
html[data-theme="dark"] .penalty-role-banner.is-attack > span {
  color: var(--penalty-team-on,#fff) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28),0 5px 14px rgba(0,0,0,.2);
}
html[data-theme="dark"] .penalty-role-banner.is-defend > span {
  color: #fff !important;
}
html[data-theme="dark"] .penalty-mini-result:not(.is-resolved-outcome) .penalty-mini-result-icon {
  color: #e8eef7 !important;
  background: #273142 !important;
  border: 1px solid #46536a;
}
html[data-theme="dark"] .penalty-mini-result.is-resolved-outcome.is-user-success .penalty-mini-result-icon {
  color: #71e6a5 !important;
  background: rgba(26,103,65,.42) !important;
}
html[data-theme="dark"] .penalty-mini-result.is-resolved-outcome.is-user-failure .penalty-mini-result-icon {
  color: #ff8798 !important;
  background: rgba(125,35,52,.42) !important;
}


/* =========================================================
   V94 · estúdio social compacto e estados desabilitados inequívocos
   ========================================================= */
.share-studio-dialog {
  width: min(96vw, 780px) !important;
  max-height: min(92dvh, 790px) !important;
  grid-template-rows: auto minmax(0,1fr) auto !important;
  overflow: hidden !important;
}
.share-studio-dialog .share-preview-head {
  padding: 10px 12px !important;
}
.share-studio-dialog .share-preview-head p { margin-top: 2px !important; }
.share-studio-body {
  padding: 9px 12px !important;
  gap: 9px !important;
  overscroll-behavior: contain;
}
.share-type-rail {
  min-width: 0;
  display: grid;
  gap: 6px;
  padding: 7px 8px 6px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.share-type-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.share-type-heading strong { color: var(--text); font-size: .66rem; }
.share-type-heading small { color: var(--muted); font-size: .54rem; white-space: nowrap; }
.share-type-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 1px 1px 5px !important;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb,var(--primary) 58%,var(--line)) transparent;
  overscroll-behavior-inline: contain;
  touch-action: pan-x;
}
.share-type-list::-webkit-scrollbar { height: 4px; }
.share-type-list::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb,var(--primary) 58%,var(--line)); }
.share-type-card {
  flex: 0 0 auto !important;
  min-height: 36px !important;
  padding: 5px 8px !important;
  gap: 6px !important;
  border-radius: 10px !important;
  scroll-snap-align: start;
}
.share-type-card > span { width: 24px !important; height: 24px !important; border-radius: 7px !important; }
.share-type-card > strong { font-size: .62rem !important; }
.share-editor-grid {
  grid-template-columns: minmax(220px,.82fr) minmax(230px,1fr) !important;
  gap: 10px !important;
}
.share-studio-dialog .share-preview-canvas {
  width: min(100%, 280px) !important;
  border-radius: 13px !important;
}
.share-studio-dialog .share-preview-canvas img { max-height: min(46dvh,430px) !important; }
.share-preview-loading { min-height: 280px !important; }
.share-copy-column { gap: 7px !important; }
.share-caption-label { gap: 4px !important; }
.share-caption-label textarea {
  min-height: 82px !important;
  max-height: 130px !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  font-size: .66rem !important;
}
.share-card-address { padding: 7px 8px !important; }
.share-copy-column .help-details { font-size: .61rem; }
.share-studio-actions {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 6px !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom,0px)) !important;
}
.share-studio-actions > :last-child { grid-column: auto !important; }
.share-studio-actions .btn {
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 6px 5px !important;
  gap: 5px !important;
  justify-content: center !important;
  font-size: .62rem !important;
  white-space: nowrap;
}

/* O pedido de mais opacidade significa maior atenuação visual: os comandos
   indisponíveis ficam quase apagados, sem perder totalmente o rótulo. */
.match-screen .live-management-actions .btn:disabled,
.match-screen .live-management-actions .btn[aria-disabled="true"],
.match-screen .live-management-actions .btn.is-disabled,
.match-screen.is-finished .live-management-actions .btn:disabled,
.match-screen.is-finished .live-management-actions .btn[aria-disabled="true"] {
  opacity: .12 !important;
  filter: grayscale(1) saturate(0) contrast(.72) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transform: none !important;
}
.match-screen .live-management-actions #skipMatchBtn.post-match-panel-button:not(:disabled),
.match-screen .live-management-actions #finishHomeBtn:not(:disabled) {
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}

@media (max-width: 640px) {
  .share-studio-overlay { place-items: end center !important; padding: 0 !important; }
  .share-studio-dialog {
    width: 100% !important;
    max-height: 94dvh !important;
    border-radius: 18px 18px 0 0 !important;
  }
  .share-studio-dialog .share-preview-head { padding: 9px 11px !important; }
  .share-studio-dialog .share-preview-head p { display: none; }
  .share-studio-body { padding: 8px 10px !important; gap: 8px !important; }
  .share-matchup-summary { padding: 7px !important; gap: 7px !important; }
  .share-type-rail {
    position: sticky;
    top: -8px;
    z-index: 5;
    margin-inline: -2px;
    padding: 6px 7px 5px;
    box-shadow: 0 5px 12px color-mix(in srgb,#000 12%,transparent);
  }
  .share-type-heading small { font-size: .5rem; }
  .share-editor-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .share-studio-dialog .share-preview-canvas { width: min(100%, 240px) !important; }
  .share-studio-dialog .share-preview-canvas img { max-height: 34dvh !important; }
  .share-preview-loading { min-height: 230px !important; }
  .share-caption-label textarea { min-height: 66px !important; max-height: 90px !important; resize: none; }
  .share-card-address, .share-copy-column .help-details { display: none; }
  .share-studio-actions .btn { min-height: 40px !important; font-size: .58rem !important; }
}

@media (max-width: 350px) {
  .share-studio-actions { gap: 4px !important; padding-inline: 6px !important; }
  .share-studio-actions .btn { padding-inline: 3px !important; font-size: .54rem !important; }
  .share-studio-actions .btn :is(svg,.fa-solid,.fa-regular) { font-size: .72rem !important; }
  .share-type-heading small { max-width: 135px; overflow: hidden; text-overflow: ellipsis; }
}

/* Compartilhamento de seleções segue a mesma régua de três ações. */
.international-share-actions { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important; }
.international-share-actions .btn { min-width:0 !important; justify-content:center !important; padding-inline:6px !important; }
@media (max-width:420px){ .international-share-actions .btn { font-size:.58rem !important; gap:4px !important; } }

/* ===== Etapa 99: página inicial direta, limpa e sem universo simulado ===== */
.setup-screen.landing-v99 {
  display: block !important;
  min-height: 100dvh;
  padding: 0 0 calc(28px + var(--safe-bottom));
  background:
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 31%),
    var(--bg);
}

.landing-v99 .landing-homebar {
  position: sticky;
  top: 0;
  z-index: 25;
  min-height: calc(64px + var(--safe-top));
  padding: calc(10px + var(--safe-top)) 14px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 91%, transparent);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.landing-homebrand {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--text);
  text-decoration: none;
}

.landing-homebrand-logo {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--primary) 42%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 12%, var(--panel));
  color: var(--primary);
}

.landing-homebrand-logo svg { width: 29px; height: 29px; }
.landing-homebrand > span:last-child { min-width: 0; display: grid; }
.landing-homebrand strong { font-size: .95rem; line-height: 1.05; letter-spacing: .01em; }
.landing-homebrand small { margin-top: 3px; color: var(--muted); font-size: .57rem; }

.landing-theme-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
}

.landing-theme-picker button {
  min-width: 65px;
  min-height: 32px;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 600;
  cursor: pointer;
}

.landing-theme-picker button.is-active {
  background: var(--text);
  color: var(--bg);
}

.landing-choice-shell {
  width: min(100% - 24px, 530px);
  margin: 0 auto;
  padding: 26px 0 0;
}

.landing-choice-hero { text-align: center; }
.landing-choice-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--primary) 32%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  color: var(--primary);
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .13em;
}

.landing-choice-hero h1 {
  margin-top: 13px;
  color: var(--text);
  font-size: clamp(1.75rem, 7vw, 2.55rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.landing-choice-hero > p {
  max-width: 43ch;
  margin: 10px auto 0;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.landing-choice-status {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--muted);
  font-size: .58rem;
}

.landing-choice-status > span { display: inline-flex; align-items: center; gap: 5px; }
.landing-choice-status .fa-solid { color: var(--primary); }

.landing-continue-career {
  width: 100%;
  min-height: 72px;
  margin-top: 22px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--primary) 48%, var(--line));
  border-radius: 15px;
  background: color-mix(in srgb, var(--primary) 9%, var(--panel));
  color: var(--text);
  text-align: left;
  cursor: pointer;
}


.landing-continue-career.team-tone {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--team-primary) 58%, var(--line));
  background:
    radial-gradient(circle at 8% 50%, color-mix(in srgb, var(--team-primary) 22%, transparent), transparent 36%),
    linear-gradient(115deg, color-mix(in srgb, var(--team-primary) 15%, var(--panel)), color-mix(in srgb, var(--team-secondary) 8%, var(--panel)));
  box-shadow: inset 4px 0 0 color-mix(in srgb, var(--team-primary) 82%, var(--team-secondary));
}
.landing-continue-career.team-tone::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-primary) 10%, transparent), transparent 52%);
  pointer-events: none;
}
.landing-continue-club-crest {
  position: relative;
  width: 50px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.landing-save-featured-crest { width: 43px !important; height: 50px !important; filter: drop-shadow(0 3px 5px rgba(0,0,0,.24)); }
.landing-continue-play-badge {
  position: absolute;
  right: -2px;
  bottom: 0;
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 2px solid var(--panel);
  border-radius: 999px;
  background: var(--team-marker-bg, var(--team-primary));
  color: var(--team-marker-text, #fff);
  font-size: .48rem;
}

.landing-save-card .save-slot-visual-list { gap: 8px !important; }
.landing-save-card .save-slot-team-card {
  position: relative;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 74px;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--team-primary) 36%, var(--line));
  background:
    linear-gradient(100deg, color-mix(in srgb, var(--team-primary) 13%, var(--panel-2)), color-mix(in srgb, var(--team-secondary) 5%, var(--panel)) 70%);
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--team-primary) 76%, var(--team-secondary));
}
.save-slot-team-crest {
  width: 42px;
  height: 48px;
  display: grid !important;
  place-items: center;
}
.save-slot-card-crest { width: 36px !important; height: 43px !important; filter: drop-shadow(0 2px 4px rgba(0,0,0,.22)); }
.save-slot-team-copy { min-width: 0; }
.save-slot-team-copy strong,
.save-slot-team-copy span,
.save-slot-team-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.save-slot-team-copy strong { color: var(--text); font-size: .73rem; }
.save-slot-team-copy span { color: var(--muted); font-size: .61rem; }
.save-slot-team-copy small { display: block; margin-top: 3px; color: color-mix(in srgb, var(--team-primary) 76%, var(--text)); font-size: .54rem; }
.landing-save-card .save-slot-team-card > .btn {
  border-color: color-mix(in srgb, var(--team-primary) 48%, var(--line));
  background: color-mix(in srgb, var(--team-primary) 18%, var(--panel));
  color: var(--text);
}

.landing-continue-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--primary);
  color: #07110b;
}

.landing-continue-copy { min-width: 0; display: grid; gap: 2px; }
.landing-continue-copy small { color: var(--primary); font-size: .54rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.landing-continue-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.landing-continue-copy em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: .57rem; font-style: normal; }
.landing-continue-action { display: inline-flex; align-items: center; gap: 6px; color: var(--text); font-size: .61rem; font-weight: 600; }

.landing-v99 .landing-mode-grid.setup-mode-switch {
  margin: 18px 0 0;
  padding: 0;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card {
  min-width: 0;
  min-height: 196px;
  padding: 13px 12px 12px !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  border: 1px solid var(--line) !important;
  border-radius: 15px !important;
  background: var(--panel) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  text-align: left;
  white-space: normal;
  cursor: pointer;
}

.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card:hover,
.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card:focus-visible {
  border-color: color-mix(in srgb, var(--primary) 60%, var(--line)) !important;
  background: color-mix(in srgb, var(--primary) 5%, var(--panel)) !important;
}

.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card.is-active {
  border-color: var(--primary) !important;
  background: color-mix(in srgb, var(--primary) 8%, var(--panel)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 28%, transparent) !important;
}

.landing-mode-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 25%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel-2));
  color: var(--primary);
  font-size: .96rem;
}

.landing-mode-copy { min-width: 0; display: grid; gap: 4px; }
.landing-mode-copy small { color: var(--primary); font-size: .49rem; font-weight: 600; letter-spacing: .08em; }
.landing-mode-copy strong { color: var(--text); font-size: .84rem; line-height: 1.1; }
.landing-mode-copy p { color: var(--muted); font-size: .59rem; line-height: 1.42; }
.landing-mode-action {
  width: 100%;
  margin-top: auto;
  padding-top: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  border-top: 1px solid var(--line);
  color: var(--text);
  font-size: .57rem;
  font-weight: 600;
}

.landing-secondary-actions {
  margin-top: 10px;
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr);
  align-items: stretch;
  gap: 6px;
}

.landing-secondary-actions > :is(button,label,span,a) {
  min-width: 0;
  min-height: 38px;
  margin: 0;
  padding: 7px 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  color: var(--muted);
  font-size: .56rem;
  font-weight: 600;
  text-align: center;
}

.landing-secondary-actions > :is(button,label,a) { cursor: pointer; text-decoration:none; }
.landing-secondary-actions > :is(button,label,a):hover { border-color: color-mix(in srgb, var(--primary) 44%, var(--line)); color: var(--text); }
.landing-secondary-actions input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.landing-secondary-actions .fa-solid { color: var(--primary); }
.landing-community-callout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));}.landing-community-callout>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary);font-size:20px}.landing-community-callout strong{display:block}.landing-community-callout p{margin:4px 0 0;color:var(--muted);line-height:1.45}.landing-community-callout>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 12px;border-radius:12px;background:var(--primary);color:var(--primary-contrast,#fff);font-weight:600;text-decoration:none;text-align:center}@media(max-width:680px){.landing-community-callout{grid-template-columns:auto minmax(0,1fr)}.landing-community-callout>a{grid-column:1/-1;width:100%}}

.landing-v99 .landing-setup-stage {
  width: 100%;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.landing-v99 .setup-actions {
  width: 100%;
  display: grid;
  gap: 10px;
}

.landing-v99 .setup-actions > .landing-surface,
.landing-v99 .setup-actions > form,
.landing-v99 .setup-actions > .setup-help {
  width: 100%;
  margin: 0;
}

.landing-v99 .landing-career-card,
.landing-v99 .landing-create-card,
.landing-v99 .landing-save-card {
  padding: 14px !important;
  border-radius: 15px !important;
  box-shadow: none !important;
}

.landing-v99 .setup-actions > .btn,
.landing-v99 .setup-actions > .file-button { width: min(100%, 520px); justify-self: center; }
.landing-v99 .team-picker-tools { display: grid; grid-template-columns: minmax(150px,.42fr) minmax(0,1fr); gap: 8px; }
.landing-v99 :is(input,select,textarea) { background-color: var(--panel-2); }

html[data-theme="light"] .setup-screen.landing-v99 {
  background:
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 31%),
    #f5f7fa;
}

html[data-theme="light"] .landing-v99 .landing-homebar { background: rgba(247,247,250,.9); }
html[data-theme="light"] .landing-homebrand-logo { background: #fff; }
html[data-theme="light"] .landing-theme-picker { background: #fff; }
html[data-theme="light"] .landing-theme-picker button.is-active { background: #17202b; color: #fff; }
html[data-theme="light"] .landing-continue-career,
html[data-theme="light"] .landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card,
html[data-theme="light"] .landing-secondary-actions > :is(button,label,span,a) { background: rgba(255,255,255,.94) !important; }
html[data-theme="light"] .landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card.is-active { background: color-mix(in srgb, var(--primary) 7%, #fff) !important; }
html[data-theme="light"] .landing-mode-icon { background: color-mix(in srgb, var(--primary) 8%, #fff); }
html[data-theme="light"] .landing-continue-icon { color: #07110b; }

@media (max-width: 430px) {
  .landing-v99 .landing-homebar { padding-inline: 10px; }
  .landing-theme-picker button { min-width: 45px; padding-inline: 6px; }
  .landing-theme-picker button span { display: none; }
  .landing-choice-shell { width: calc(100% - 18px); padding-top: 20px; }
  .landing-choice-hero h1 { font-size: 1.78rem; }
  .landing-choice-hero > p { font-size: .7rem; }
  .landing-choice-status { gap: 5px 9px; }
  .landing-v99 .landing-mode-grid.setup-mode-switch { grid-template-columns: 1fr; gap: 7px; }
  .landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card {
    min-height: 0;
    padding: 11px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0,1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 4px 9px;
  }
  .landing-mode-icon { grid-column: 1; grid-row: 1 / 3; }
  .landing-mode-copy { grid-column: 2 / 4; grid-row: 1; }
  .landing-mode-copy p { margin-top: 1px; }
  .landing-mode-action {
    grid-column: 2 / 4;
    grid-row: 2;
    width: auto;
    margin-top: 3px;
    padding-top: 6px;
  }
  .landing-secondary-actions { grid-template-columns: 1fr 1fr; }
  .landing-secondary-actions > span { grid-column: 1 / -1; }
  .landing-continue-career { grid-template-columns: auto minmax(0,1fr); }
  .landing-continue-action { grid-column: 2; justify-self: start; }
  .landing-v99 .team-picker-tools { grid-template-columns: 1fr; }
}

@media (max-width: 340px) {
  .landing-choice-status > span:nth-child(2) { display: none; }
  .landing-homebrand small { display: none; }
  .landing-mode-copy p { font-size: .56rem; }
}

/* ===== V99 · correção definitiva da largura da abertura e dos cards de clubes ===== */
.setup-screen.landing-v99 {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

.landing-v99 .landing-choice-shell,
.landing-v99 .landing-setup-stage,
.landing-v99 .setup-actions,
.landing-v99 .landing-surface {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.landing-v99 .landing-mode-grid.setup-mode-switch {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 0 !important;
  padding: 10px !important;
  gap: 10px !important;
  overflow: visible !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--panel) 96%, transparent) !important;
  box-sizing: border-box !important;
  scroll-snap-type: none !important;
}

.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 168px;
  padding: 13px !important;
  white-space: normal !important;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  box-sizing: border-box !important;
  scroll-snap-align: none !important;
}

.landing-v99 .landing-mode-copy,
.landing-v99 .landing-mode-copy :is(small,strong,p),
.landing-v99 .landing-mode-action {
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.landing-v99 .setup-actions > .landing-surface,
.landing-v99 .setup-actions > form,
.landing-v99 .setup-actions > .setup-help {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  box-sizing: border-box !important;
}

.landing-v99 .landing-career-card,
.landing-v99 .landing-save-card,
.landing-v99 .landing-create-card {
  padding: 16px !important;
}

.landing-v99 .team-grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 12px;
  padding: 8px 10px 12px 8px !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  box-sizing: border-box;
}

.landing-v99 .team-card {
  grid-template-columns: 54px minmax(0, 1fr) 42px;
  width: 100% !important;
  max-width: 100%;
  min-width: 0 !important;
  min-height: 82px;
  padding: 11px 12px !important;
  gap: 10px;
  overflow: hidden;
  box-sizing: border-box;
}

.landing-v99 .team-card-crest {
  width: 54px;
  height: 58px;
  padding: 5px;
  display: grid;
  place-items: center;
  justify-self: start;
  align-self: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--team-primary, var(--primary)) 25%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  box-sizing: border-box;
}

.landing-v99 .team-card-crest .crest,
.landing-v99 .team-card-crest svg {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 44px !important;
  max-height: 48px !important;
  object-fit: contain;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.18));
}

.landing-v99 .team-card-copy {
  min-width: 0;
  overflow: hidden;
}

.landing-v99 .team-card-copy strong,
.landing-v99 .team-card-copy > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-v99 .team-card-rating {
  justify-self: end;
  align-self: center;
  min-width: 40px;
  max-width: 42px;
  box-sizing: border-box;
}

.landing-v99 .setup-selected-team {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 16px !important;
  box-sizing: border-box;
}

.landing-v99 .selected-team-visual {
  min-width: 0;
  max-width: 100%;
}

.landing-v99 .selected-team-visual > div {
  min-width: 0;
}

.landing-v99 .selected-team-visual :is(h3,p) {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  .landing-v99 .landing-choice-shell {
    width: calc(100% - 18px);
  }

  .landing-v99 .landing-mode-grid.setup-mode-switch {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 8px !important;
    gap: 8px !important;
  }

  .landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card {
    min-height: 0;
    padding: 11px 12px !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 5px 10px;
  }

  .landing-v99 .landing-mode-icon {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .landing-v99 .landing-mode-copy {
    grid-column: 2;
    grid-row: 1;
  }

  .landing-v99 .landing-mode-copy p {
    margin-top: 2px;
  }

  .landing-v99 .landing-mode-action {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    margin-top: 2px;
    padding-top: 6px;
  }

  .landing-v99 .team-grid {
    grid-template-columns: minmax(0, 1fr);
    padding: 8px 8px 12px !important;
  }
}

@media (max-width: 380px) {
  .landing-v99 .landing-career-card,
  .landing-v99 .landing-save-card,
  .landing-v99 .landing-create-card {
    padding: 12px !important;
  }

  .landing-v99 .team-card {
    grid-template-columns: 48px minmax(0, 1fr) 38px;
    min-height: 76px;
    padding: 9px 10px !important;
    gap: 8px;
  }

  .landing-v99 .team-card-crest {
    width: 48px;
    height: 52px;
    padding: 4px;
    border-radius: 12px;
  }

  .landing-v99 .team-card-rating {
    min-width: 36px;
    max-width: 38px;
    padding-inline: 5px;
  }
}


/* ===== Etapa 101 · rolagem real da abertura, toasts contextuais e criação avançada ===== */
.landing-v99 :is(.landing-career-card,.landing-create-card,.landing-save-card) {
  scroll-margin-top: calc(78px + var(--safe-top));
}

/* A pilha volta à lógica inferior original. Só reserva a barra inferior quando ela existe. */
.toast-stack {
  top: auto !important;
  bottom: calc(var(--bottom-nav-final-height, 56px) + 7px) !important;
}
.toast-stack.is-live-context,
.toast-stack.is-setup-context {
  top: auto !important;
  bottom: calc(7px + env(safe-area-inset-bottom)) !important;
}

/* Bloco de criação avançada com a mesma linguagem visual dos demais painéis. */
.landing-v99 .advanced-club-generation {
  margin-top: 12px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--primary) 38%, var(--line)) !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--primary) 5%, var(--panel-2)) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 5%, transparent);
}
.landing-v99 .advanced-club-generation > summary {
  min-height: 50px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid transparent;
  color: var(--text);
  font-size: .72rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.landing-v99 .advanced-club-generation > summary::-webkit-details-marker { display: none; }
.landing-v99 .advanced-club-generation > summary::before {
  content: "⚙";
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--primary) 12%, var(--panel));
  color: var(--primary);
  font-size: .82rem;
}
.landing-v99 .advanced-club-generation > summary::after {
  content: "⌄";
  color: var(--muted);
  font-size: .82rem;
  text-align: center;
  transition: transform .2s ease;
}
.landing-v99 .advanced-club-generation[open] > summary {
  border-bottom-color: var(--line);
  background: color-mix(in srgb, var(--primary) 7%, var(--panel));
}
.landing-v99 .advanced-club-generation[open] > summary::after { transform: rotate(180deg); }

.landing-v99 .advanced-club-generation > .advanced-mode-toggle {
  margin: 12px 14px 0;
  padding: 11px 12px !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--primary) 34%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  color: var(--text) !important;
  font-size: .66rem;
  font-weight: 600;
  line-height: 1.35;
}
.landing-v99 .advanced-club-generation > .advanced-mode-toggle input {
  width: 20px !important;
  height: 20px !important;
  margin: 0;
  accent-color: var(--primary);
}
.landing-v99 .advanced-club-generation > p {
  margin: 10px 14px 0;
  color: var(--muted);
  font-size: .63rem;
  line-height: 1.55;
}
.landing-v99 .advanced-generation-grid {
  margin: 12px 14px 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.landing-v99 .advanced-generation-grid > label {
  min-width: 0;
  padding: 9px 10px;
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: color-mix(in srgb, var(--panel) 96%, var(--primary) 4%);
  color: var(--muted);
  font-size: .59rem;
  font-weight: 600;
}
.landing-v99 .advanced-generation-grid > label:focus-within {
  border-color: color-mix(in srgb, var(--primary) 62%, var(--line));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent);
}
.landing-v99 .advanced-generation-grid input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  margin: 0;
  padding: 8px 9px;
  border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .72rem;
  font-weight: 600;
}
.landing-v99 .advanced-club-generation > .warning-box {
  margin: 12px 14px 14px;
  border-radius: 11px;
}
html[data-theme="light"] .landing-v99 .advanced-club-generation {
  background: color-mix(in srgb, var(--primary) 4%, #fff) !important;
}
html[data-theme="light"] .landing-v99 .advanced-generation-grid > label,
html[data-theme="light"] .landing-v99 .advanced-club-generation > .advanced-mode-toggle {
  background: rgba(255,255,255,.94);
}
@media (max-width: 520px) {
  .landing-v99 .advanced-generation-grid { grid-template-columns: minmax(0, 1fr); }
  .landing-v99 .advanced-club-generation > summary { padding-inline: 11px; }
  .landing-v99 .advanced-club-generation > .advanced-mode-toggle,
  .landing-v99 .advanced-club-generation > p,
  .landing-v99 .advanced-generation-grid,
  .landing-v99 .advanced-club-generation > .warning-box {
    margin-left: 11px;
    margin-right: 11px;
  }
}


/* Etapa 107 — paletas de clube com três ou mais cores */
.team-tone{--team-palette-gradient:linear-gradient(135deg,var(--team-gradient-primary,var(--team-primary)),var(--team-gradient-secondary,var(--team-secondary)))}
.topbar{background:var(--club-palette-gradient,linear-gradient(135deg,var(--club-primary),var(--club-secondary)))}
.team-tone:is(.matchday-cinematic,.fixture-card,.post-match-head,.football-team-sheet-head),
.team-tone .team-gradient-surface{background-image:var(--team-palette-gradient)!important}

/* ===== V115 · compartilhamento permanente, convocações e premiações ===== */
.topbar-share-button {
  flex: 0 0 auto;
}
.callup-skip-toggle {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.celebration-share-actions {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 6px !important;
}
.celebration-share-actions .btn {
  min-width: 0 !important;
  justify-content: center !important;
  white-space: nowrap;
}

/* O seletor de modelo segue o mesmo desenho dos subtabs das páginas. */
.share-type-rail {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.share-type-heading {
  padding-inline: 2px;
}
.share-type-list.subtabs {
  display: flex !important;
  grid-auto-flow: unset !important;
  grid-auto-columns: unset !important;
  align-items: center;
  gap: 5px !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb,var(--panel-2) 88%,transparent) !important;
}
.share-type-card.subtab {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 36px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--muted) !important;
  box-shadow: none !important;
  transform: none !important;
}
.share-type-card.subtab > span {
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
}
.share-type-card.subtab.is-active {
  color: var(--text) !important;
  background: var(--panel) !important;
  box-shadow: 0 4px 12px color-mix(in srgb,#000 14%,transparent) !important;
}
.share-type-card.subtab:hover {
  color: var(--text) !important;
  background: color-mix(in srgb,var(--panel) 72%,transparent) !important;
}

@media (max-width: 640px) {
  .celebration-share-actions {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .share-type-heading small { display: none; }
}

@media (max-width: 370px) {
  .topbar :is(.topbar-share-button,.notification-button,.topbar-menu-button) {
    width: 29px !important;
    min-width: 29px !important;
  }
  .topbar-actions { gap: 3px !important; }
  .celebration-share-actions .btn {
    padding-inline: 5px !important;
    font-size: .58rem !important;
  }
}
.share-type-card.subtab { width: auto !important; display: inline-flex !important; grid-template-columns: none !important; }

/* V117 · convites, estádios e clássicos */
/* V118 · universo vivo e profundidade da carreira */
.share-invite-builder{
  width:min(100%,760px);
  min-height:520px;
  margin:auto;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
  text-align:left;
  color:var(--text);
}
.share-invite-builder[hidden]{display:none!important}
.share-invite-icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:28px;
}
.share-invite-builder h3{margin:4px 0 6px;font-size:clamp(1.25rem,4vw,1.75rem)}
.share-invite-builder p{margin:0;color:var(--muted)}
.share-invite-builder label{display:grid;gap:8px;font-weight:600}
.share-invite-builder input{
  width:100%;
  min-height:48px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:11px 13px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
}
.share-invite-url{
  display:block;
  padding:12px 14px;
  border:1px dashed var(--border-strong,var(--border));
  border-radius:14px;
  background:var(--surface-2);
  color:var(--muted);
  overflow-wrap:anywhere;
  font-size:.86rem;
}
.competition-chip.is-classic,
.fixture-wrap.is-classic .fixture-meta strong{
  color:var(--warning-text,#7a3f00);
}
.competition-chip.is-classic{
  background:var(--warning-soft,rgba(247,158,11,.15));
  border-color:rgba(247,158,11,.42);
}
.fixture-wrap.is-classic{
  position:relative;
}
.fixture-wrap.is-classic .fixture-card{
  box-shadow:inset 0 0 0 1px rgba(247,158,11,.34);
}
.opponent-hero.is-classic{
  box-shadow:inset 0 0 0 1px rgba(247,158,11,.42);
}
.classic-prep-note{
  display:block;
  margin-top:8px;
  color:var(--warning-text,#8a4b00);
  font-weight:600;
}
.stadium-name-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.stadium-name-control label{display:grid;gap:7px;min-width:0}
.stadium-name-control input{
  width:100%;
  min-height:46px;
  border:1px solid var(--border);
  border-radius:13px;
  padding:10px 12px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
}
.stadium-name-control small{color:var(--muted);font-weight:400}
@media (max-width:640px){
  .share-invite-builder{min-height:420px;padding:18px;gap:16px}
  .share-invite-icon{width:54px;height:54px;border-radius:16px;font-size:23px}
  .stadium-name-control{grid-template-columns:1fr}
  .stadium-name-control .btn{width:100%}
}

/* V118 — universo vivo, preparação, coletivas e arquivo da carreira */
.match-preparation-card,
.board-personality-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.match-preparation-card > div,
.board-personality-card > div { min-width: 0; }
.match-preparation-card h3,
.board-personality-card h3,
.press-conference-card h3 { margin: 2px 0 4px; }
.match-preparation-card p,
.board-personality-card p,
.press-conference-card p { margin: 0; color: var(--muted); }
.press-conference-card header { display: flex; gap: 12px; align-items: flex-start; }
.press-conference-card header > span,
.board-personality-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--accent);
}
.press-response-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 0 2px;
  scrollbar-width: thin;
}
.press-response-strip button {
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface-2);
  color: var(--text);
}
.pre-match-plan-modal { display: grid; gap: 14px; }
.pre-match-plan-modal header p { color: var(--muted); }
.pre-match-plan-grid { display: grid; grid-template-columns: 1fr; gap: 9px; }
.pre-match-plan-option {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface-2);
  color: var(--text);
}
.pre-match-plan-option > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); }
.pre-match-plan-option strong,
.pre-match-plan-option small { display: block; }
.pre-match-plan-option small { color: var(--muted); margin-top: 2px; }
.pre-match-plan-option em { font-style: normal; color: var(--muted); font-size: .78rem; white-space: nowrap; }
.pre-match-plan-option.is-active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.return-summary-modal { display: grid; gap: 14px; }
.return-summary-modal > header { display: flex; gap: 12px; align-items: flex-start; }
.return-summary-modal > header > i { color: var(--accent); margin-top: 4px; }
.return-summary-alerts { display: flex; flex-wrap: wrap; gap: 7px; }
.return-summary-alerts span { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--border); border-radius: 999px; padding: 6px 9px; background: var(--surface-2); }
.return-summary-news { display: grid; gap: 8px; }
.return-summary-news article { padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.return-summary-news strong,
.return-summary-news small { display: block; }
.return-summary-news small { margin-top: 3px; color: var(--muted); }
.board-personality-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; min-width: min(290px,45%); }
.board-personality-metrics span { display: grid; gap: 2px; padding: 8px; border-radius: 10px; background: var(--surface-2); color: var(--muted); font-size: .78rem; }
.board-personality-metrics strong { color: var(--text); font-size: .95rem; }
.career-record-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
.career-record-summary > div { padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.career-record-summary small,
.career-record-summary strong { display: block; }
.career-record-summary small { color: var(--muted); }
.career-record-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.career-record-grid article { display: flex; gap: 9px; align-items: center; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.career-record-grid article > span { color: var(--accent); }
.career-record-grid article div { min-width: 0; }
.career-record-grid small,
.career-record-grid strong,
.career-record-grid em { display: block; }
.career-record-grid strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.career-record-grid small,
.career-record-grid em { color: var(--muted); font-style: normal; font-size: .78rem; }
.career-opponent-list { display: grid; gap: 7px; }
.career-opponent-list article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2px 10px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-2); }
.career-opponent-list article small { grid-column: 1/-1; color: var(--muted); }
.career-story-grid { display: grid; gap: 9px; }
.career-story-grid article { display: grid; grid-template-columns: 38px minmax(0,1fr) 36px; gap: 10px; align-items: start; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); }
.career-story-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent); }
.career-story-grid article small,
.career-story-grid article strong,
.career-story-grid article p { display: block; margin: 0; }
.career-story-grid article small,
.career-story-grid article p { color: var(--muted); }
.career-story-grid article button { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); color: var(--text); }
.player-special-traits { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.player-special-traits span { border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; background: var(--surface-2); font-size: .78rem; }

@media (max-width: 700px) {
  .match-preparation-card,
  .board-personality-card { align-items: stretch; flex-direction: column; }
  .match-preparation-card .btn { width: 100%; }
  .board-personality-metrics { width: 100%; min-width: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .career-record-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .career-record-grid { grid-template-columns: 1fr; }
  .career-story-grid article { grid-template-columns: 34px minmax(0,1fr) 34px; padding: 9px; }
  .pre-match-plan-option { grid-template-columns: 34px minmax(0,1fr); }
  .pre-match-plan-option em { grid-column: 2; }
}
.retired-career-hero { display: flex; gap: 14px; align-items: flex-start; }
.retired-career-hero > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: color-mix(in srgb, var(--accent) 18%, var(--surface)); color: var(--accent); }
.retired-career-hero h2 { margin: 2px 0 5px; }
.retired-career-hero p { margin: 0; color: var(--muted); }
.retired-career-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.retired-career-metrics article { padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.retired-career-metrics small,
.retired-career-metrics strong { display: block; }
.retired-career-metrics small { color: var(--muted); }
.retired-career-metrics strong { margin-top: 3px; font-size: 1.2rem; }
.retired-career-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .retired-career-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .retired-career-actions { display: grid; grid-template-columns: 1fr; }
  .retired-career-actions .btn { width: 100%; }
}

/* V118 · contexto da base e do mercado */
.youth-identity-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.youth-identity-card>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-2);color:var(--accent)}
.youth-identity-card h3,.youth-identity-card p{margin:0}
.youth-identity-metrics{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.youth-identity-metrics small{padding:7px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.market-context-reasons{display:grid;gap:5px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.market-context-reasons strong{display:flex;align-items:center;gap:6px;font-size:.82rem}
.market-context-reasons span{font-size:.78rem;color:var(--muted)}



/* V119 · correções de foco, demissão, convite e jogo ao vivo */
.manager-name-field,
.custom-club-builder label:has(input[name="managerName"]) { scroll-margin-block: 42vh; }
.match-header .match-stadium { display:flex; align-items:center; gap:5px; margin-top:3px; color:var(--muted); font-size:.61rem; }
.match-header .match-stadium .fa-solid { color:var(--primary); }
.dismissal-reason-modal { display:grid; gap:12px; }
.dismissal-reason-modal > header { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:16px; background:var(--panel-2); }
.dismissal-reason-modal > header .crest { flex:0 0 auto; }
.dismissal-reason-modal > header h3 { margin:3px 0 5px; }
.dismissal-reason-modal > header p { margin:0; color:var(--muted); }
.dismissal-reason-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.dismissal-reason-metrics article { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:13px; background:var(--panel-2); }
.dismissal-reason-metrics article > .fa-solid { color:var(--primary); }
.dismissal-reason-metrics small,.dismissal-reason-metrics strong { display:block; }
.dismissal-factor-list { display:grid; gap:7px; }
.dismissal-factor-list > strong { margin-bottom:2px; }
.dismissal-factor-list > div { display:flex; align-items:flex-start; gap:9px; padding:9px 10px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.dismissal-factor-list b,.dismissal-factor-list small { display:block; }
.dismissal-factor-list small { margin-top:2px; color:var(--muted); }
.dismissal-next-step { margin:0; padding:10px 12px; border-radius:12px; background:var(--primary-soft); color:var(--text); }
.share-invite-builder { width:auto; max-width:none; min-height:auto; margin:0; padding:12px 2px; justify-content:flex-start; background:transparent; }
.share-invite-builder input,.share-invite-url { background:transparent; }
.share-invite-builder label { width:100%; min-width:0; }
.career-unemployed-shell .topbar { background:var(--topbar-bg,var(--panel)); }
@media (max-width:640px) {
  .dismissal-reason-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dismissal-reason-modal > header { align-items:flex-start; }
  .share-invite-builder { padding:8px 0; gap:13px; }
}

/* ==========================================================
   V120 · contexto neutro, modais por clube e calendário visual
   ========================================================== */

/* Sem clube: a identidade volta ao verde oficial do Goooool e nunca herda
   o vermelho do clube anterior ou o valor histórico do CSS-base. */
.career-unemployed-shell .topbar,
.topbar.is-unemployed {
  color: var(--club-gradient-text, #fff) !important;
  background:
    radial-gradient(circle at 12% -40%, color-mix(in srgb,var(--club-gradient-text,#fff) 14%,transparent), transparent 46%),
    linear-gradient(135deg,var(--club-gradient-primary,#167a4d),var(--club-gradient-secondary,#0e2a1c)) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text,#fff) 20%,transparent) !important;
}
.career-unemployed-shell .topbar :is(button,strong,span,small,.fa-solid,.fa-regular) { color: inherit !important; }
.career-unemployed-context .manager-profile-hero-modern {
  --team-gradient-primary: var(--club-gradient-primary,#167a4d);
  --team-gradient-secondary: var(--club-gradient-secondary,#0e2a1c);
  --team-gradient-text: var(--club-gradient-text,#fff);
  --team-primary: var(--club-primary,#238a57);
  --team-secondary: var(--club-secondary,#0e2a1c);
}

/* Um modal de elenco ou jogador usa a identidade do clube que está sendo
   consultado, sem contaminar o tema da carreira fora do modal. */
.app-modal.has-team-context {
  border-color: color-mix(in srgb,var(--team-primary) 46%,var(--line)) !important;
}
.app-modal.has-team-context > header {
  color: var(--team-gradient-text,#fff) !important;
  background:
    radial-gradient(circle at 10% 0,color-mix(in srgb,var(--team-gradient-text,#fff) 13%,transparent),transparent 38%),
    linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary)) !important;
  border-bottom-color: color-mix(in srgb,var(--team-gradient-text,#fff) 22%,transparent) !important;
}
.app-modal.has-team-context > header :is(h2,.kicker,.fa-solid,.fa-regular,button) {
  color: inherit !important;
}
.app-modal.has-team-context > header :is(.modal-close,.modal-back) {
  background: color-mix(in srgb,var(--team-gradient-text,#fff) 10%,transparent) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text,#fff) 24%,transparent) !important;
}
.app-modal.has-team-context .app-modal-body {
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--team-primary) 5%,var(--panel)),var(--panel) 180px) !important;
}
.app-modal.has-team-context :is(.team-profile-kpis article,.player-profile-metrics > div,.help-details,.player-psychology-panel,.player-agent-panel) {
  border-color: color-mix(in srgb,var(--team-primary) 22%,var(--line));
}

/* Calendário: confronto grande, centralizado e legível em celular. */
.calendar-showcase-list { display:grid; gap:12px; }
.calendar-match-card {
  display:grid;
  gap:13px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% -20%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 48%),
    var(--panel);
  overflow:hidden;
  transition:opacity .18s ease,border-color .18s ease,background .18s ease;
}
.calendar-match-card.is-current {
  border-color: color-mix(in srgb,var(--primary) 56%,var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent);
}
.calendar-match-card.is-played { opacity:.58; filter:saturate(.72); }
.calendar-match-card.is-played:is(:hover,:focus-within) { opacity:.78; }
.calendar-match-card > header { display:grid; justify-items:center; gap:2px; text-align:center; }
.calendar-match-card > header > span {
  color:var(--primary);
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.calendar-match-card > header > strong { font-size:.92rem; }
.calendar-match-card > header > small { color:var(--muted); font-size:.62rem; }
.calendar-match-stage {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(70px,auto) minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:128px;
}
.calendar-showcase-team {
  display:grid;
  justify-items:center;
  align-content:center;
  gap:6px;
  min-width:0;
  padding:8px 4px;
  border:0;
  border-radius:14px;
  color:var(--text);
  background:transparent;
  text-align:center;
  cursor:pointer;
}
.calendar-showcase-team:is(:hover,:focus-visible) { background:color-mix(in srgb,var(--primary) 8%,transparent); }
.calendar-showcase-team .calendar-showcase-crest { width:62px; height:70px; filter:drop-shadow(0 8px 12px rgba(0,0,0,.2)); }
.calendar-showcase-team strong { width:100%; overflow:hidden; text-overflow:ellipsis; font-size:.76rem; line-height:1.2; }
.calendar-showcase-team small { color:var(--muted); font-size:.52rem; text-transform:uppercase; letter-spacing:.05em; }
.calendar-showcase-versus { display:grid; justify-items:center; gap:3px; text-align:center; }
.calendar-showcase-versus small { color:var(--muted); font-size:.54rem; }
.calendar-showcase-versus strong { font-size:1.55rem; line-height:1; letter-spacing:.04em; }
.calendar-showcase-versus span { color:var(--muted); font-size:.55rem; text-transform:uppercase; letter-spacing:.08em; }
.calendar-match-card > footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.6rem;
}
.calendar-match-card > footer > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-match-status { flex:0 0 auto; padding:4px 7px; border-radius:999px; background:var(--panel-2); color:var(--text); }
.calendar-rest-card { min-height:150px; place-content:center; }
.calendar-rest-visual { display:grid; justify-items:center; gap:8px; color:var(--muted); }
.calendar-rest-visual .fa-solid { font-size:1.4rem; color:var(--primary); }

/* Ações e textos soltos mantêm respiro nas páginas mobile. */
@media (max-width:700px) {
  #view > :is(.view-title,.section-title,p:not([class]),.muted,.page-intro,.empty-state) {
    margin-inline:var(--mobile-page-gutter,12px) !important;
  }
  #view > :is(.unemployed-action-bar,.sticky-action-bar,.manager-profile-actions,.landing-start-actions) {
    width:calc(100% - (var(--mobile-page-gutter,12px) * 2));
    margin-inline:var(--mobile-page-gutter,12px) !important;
  }
  #view > button.btn {
    width:calc(100% - (var(--mobile-page-gutter,12px) * 2));
    margin-inline:var(--mobile-page-gutter,12px) !important;
  }
  .calendar-showcase-list { width:calc(100% - (var(--mobile-card-gutter,12px) * 2)) !important; margin-inline:var(--mobile-card-gutter,12px) !important; }
  .calendar-match-card { padding:13px 10px; border-radius:18px; }
  .calendar-match-stage { gap:6px; min-height:116px; }
  .calendar-showcase-team .calendar-showcase-crest { width:52px; height:59px; }
  .calendar-showcase-team strong { font-size:.68rem; }
  .calendar-showcase-versus { min-width:58px; }
  .calendar-showcase-versus strong { font-size:1.28rem; }
  .calendar-match-card > footer { align-items:flex-start; }
}
@media (max-width:350px) {
  .calendar-match-card { padding-inline:8px; }
  .calendar-match-stage { grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr); gap:3px; }
  .calendar-showcase-team .calendar-showcase-crest { width:46px; height:52px; }
  .calendar-showcase-team strong { font-size:.62rem; }
  .calendar-showcase-versus strong { font-size:1.1rem; }
}

/* Ícone e texto nunca ficam colados. A margem antiga é neutralizada porque
   o espaçamento passa a ser controlado pelo gap do próprio componente. */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.btn > :is(.fa-solid,.fa-regular,svg.svg-inline--fa) { margin-inline:0 !important; flex:0 0 auto; }
:is(.kicker,.section-title,.panel-title,.badge,.modal-required-badge,.field-title) > :is(.fa-solid,.fa-regular,svg.svg-inline--fa) {
  margin-inline-end:.38em;
}
:is(.objective-row,.mini-row,.notification-copy,.share-type-card,.dismissal-factor-list > div) > :is(.fa-solid,.fa-regular,svg.svg-inline--fa) {
  margin-inline-end:.32em;
  flex:0 0 auto;
}


/* ===== V121 · padronização definitiva das transmissões ao vivo ===== */
.match-header {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  overflow: hidden !important;
}
.match-header > .match-header-copy {
  min-width: 0;
  height: 30px;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: 15px 13px !important;
  align-content: center;
  gap: 0 !important;
  overflow: hidden;
}
.match-header-copy > strong {
  min-width: 0;
  max-width: 100% !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .66rem !important;
  line-height: 15px !important;
}
.match-header-copy > .match-header-meta {
  min-width: 0;
  width: 100%;
  height: 13px;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  white-space: nowrap;
  color: var(--muted);
  font-size: .49rem !important;
  line-height: 13px !important;
}
.match-header-meta > :is(b,small,span) {
  min-width: 0;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: inherit;
  color: inherit;
  opacity: .88;
}
.match-header-meta > .match-context-label { flex: 0 1 auto; font-weight: 600; color: var(--text); opacity: .92; }
.match-header-meta > .match-stadium { flex: 1 1 auto; }
.match-header-meta > .match-official { flex: 0 1 auto; max-width: 38%; grid-column: auto !important; }
.match-header-meta .fa-solid { flex: 0 0 auto; font-size: .47rem; color: var(--primary); }
.match-header > .minute,
.match-header > .observer-minute { align-self: center; margin: 0 !important; }

.observer-live-mode,
.observer-live-mode.is-observer-finished {
  grid-template-rows: 38px minmax(235px,40%) minmax(0,1fr) !important;
  gap: 4px !important;
}
.observer-screen .pitch-score {
  grid-template-rows: 31px minmax(0,1fr) 46px !important;
  gap: 3px !important;
}
.observer-command-dock { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(132px,.62fr) !important; align-items: center; gap: 6px; }
.observer-command-actions {
  width: 100%;
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 4px !important;
  overflow: hidden !important;
}
.observer-command-actions .btn { width: 100%; min-width: 0 !important; flex: none !important; }
.observer-command-actions .live-action-label { display: inline !important; }
.observer-live-tabs { width: 100% !important; overflow: hidden !important; }
.observer-live-tabs > button {
  flex: 1 1 0 !important;
  width: 33.333% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding-inline: 4px !important;
  overflow: hidden;
}
.observer-live-tabs > button .live-tab-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.observer-screen #observerSkipBtn.observer-exit-button {
  color: var(--on-primary,#fff) !important;
  background: linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  border-color: transparent !important;
  opacity: 1 !important;
}
.observer-screen .fixture-team.is-clickable,
.observer-screen .live-club.is-clickable { cursor: pointer; }

@media (max-width: 430px) {
  .match-header-meta > .match-official { display: none !important; }
  .match-header-meta > .match-stadium { max-width: 54%; }
  .observer-command-dock { grid-template-columns: minmax(0,.9fr) minmax(128px,1.1fr) !important; }
  .observer-command-actions .btn { min-height: 34px !important; }
  .observer-live-tabs > button::after { content: none !important; }
  .observer-live-tabs > button .live-tab-label { display: inline !important; font-size: .48rem !important; }
}

@media (max-width: 350px) {
  .match-header,
  .observer-live-mode > .match-header { height: 36px !important; min-height: 36px !important; max-height: 36px !important; }
  .observer-live-mode,
  .observer-live-mode.is-observer-finished { grid-template-rows: 36px minmax(220px,40%) minmax(0,1fr) !important; }
  .match-header-copy > strong { font-size: .61rem !important; }
  .match-header-copy > .match-header-meta { font-size: .45rem !important; gap: 4px; }
  .observer-command-dock .live-momentum { display: none; }
  .observer-command-dock { grid-template-columns: 1fr !important; }
}


/* ===== V122 · submenus do espectador ocupam toda a largura ===== */
/* O resumo textual não precisa disputar espaço com os comandos. Ao removê-lo,
   os dois botões passam a dividir exatamente a faixa disponível. */
.observer-screen .observer-command-dock {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: minmax(0,1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 4px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.observer-screen .observer-command-dock > .live-momentum {
  display: none !important;
}
.observer-screen .observer-command-actions {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  height: 38px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 38px !important;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-template-rows: minmax(0,1fr) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  gap: 4px !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.observer-screen .observer-command-actions > .btn {
  width: 100% !important;
  height: 38px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding-block: 3px !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Narração, Jogos e Tabela usam três colunas reais, sem rolagem horizontal,
   largura mínima residual ou espaço reservado à direita. */
.observer-information-panel > .observer-live-tabs {
  width: 100% !important;
  height: 39px !important;
  min-height: 39px !important;
  max-height: 39px !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  grid-template-rows: minmax(0,1fr) !important;
  align-items: stretch !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.observer-information-panel > .observer-live-tabs > button {
  width: 100% !important;
  height: 38px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding: 3px 2px !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* =========================================================
   V123 · destinos livres de barras fixas e Wiki em formato de livro
   ========================================================= */

/* A altura é atualizada pelo JS sempre que os submenus visíveis mudam.
   Também protege chamadas nativas de scrollIntoView que existam em módulos futuros. */
.app-screen > .content,
.standalone-wiki-screen > .content {
  scroll-padding-top: calc(var(--sticky-stack-height, 0px) + 12px) !important;
}
.content :is(section,article,[id],[data-scroll-target]) {
  scroll-margin-top: calc(var(--sticky-stack-height, 0px) + 12px);
}

.wiki-page-book {
  display: grid;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 8px 6px 22px;
}

.wiki-book-cover {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  gap: 12px;
  padding: 18px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--primary) 16%,transparent),transparent 42%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--primary) 4%),var(--panel));
  box-shadow: 0 12px 28px rgba(0,0,0,.13);
}
.wiki-book-cover-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 58px;
  border-radius: 8px 14px 14px 8px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 14%,var(--panel-2));
  border-left: 5px solid var(--primary);
  font-size: 1.25rem;
}
.wiki-book-cover h1 { margin: 3px 0 7px; font-size: clamp(1.45rem,6vw,2.15rem); line-height: 1.04; letter-spacing: -.035em; }
.wiki-book-cover p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.wiki-book-cover dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
  margin: 2px 0 0;
}
.wiki-book-cover dl > div { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); }
.wiki-book-cover dt { color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .07em; }
.wiki-book-cover dd { margin: 3px 0 0; overflow: hidden; color: var(--text); font-size: .76rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }

.wiki-page-book .wiki-book-chapter-nav,
.wiki-page-book .wiki-book-chapter-nav.is-sticky-submenu {
  display: flex !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: var(--panel) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.13) !important;
  scroll-snap-type: x proximity;
}
.wiki-book-chapter-nav > button {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: 19px 18px auto;
  align-items: center;
  gap: 5px;
  width: auto !important;
  min-width: max-content !important;
  min-height: 38px !important;
  padding: 6px 9px !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  color: var(--muted) !important;
  background: var(--panel-2) !important;
  scroll-snap-align: center;
}
.wiki-book-chapter-nav > button > span {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  color: var(--text);
  background: var(--panel);
  font-size: .56rem;
  font-weight: 600;
}
.wiki-book-chapter-nav > button > strong { font-size: .65rem; white-space: nowrap; }
.wiki-book-chapter-nav > button > .fa-solid { color: var(--primary); }
.wiki-book-chapter-nav > button.is-active {
  color: var(--primary-contrast) !important;
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}
.wiki-book-chapter-nav > button.is-active :is(.fa-solid,strong) { color: inherit !important; }
.wiki-book-chapter-nav > button.is-active > span { color: var(--primary); background: var(--primary-contrast); }

.wiki-book-content { display: grid; gap: 18px; min-width: 0; }
.wiki-book-chapter {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: 0 10px 26px rgba(0,0,0,.11);
}
.wiki-book-chapter-head {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 17px 15px 14px;
  color: var(--text);
  background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--panel)),var(--panel));
  border-bottom: 1px solid var(--line);
}
.wiki-book-chapter-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  color: var(--primary);
  background: var(--panel-2);
  font-size: 1.05rem;
}
.wiki-book-chapter-head small { color: var(--primary); font-size: .61rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.wiki-book-chapter-head h2 { margin: 3px 0 5px; font-size: 1.28rem; line-height: 1.1; }
.wiki-book-chapter-head p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.wiki-book-chapter-head > strong { align-self: center; padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--panel-2); font-size: .6rem; white-space: nowrap; }
.wiki-book-chapter-intro { padding: 13px 15px; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--panel-2) 72%,transparent); }
.wiki-book-chapter-intro p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.62; }
.wiki-book-topic-list { display: grid; }

.wiki-book-topic {
  display: grid;
  gap: 13px;
  padding: 18px 15px 20px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
.wiki-book-topic:last-child { border-bottom: 0; }
.wiki-book-topic-head { display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 10px; align-items: start; }
.wiki-book-section-number {
  display: grid;
  place-items: center;
  width: 39px;
  min-height: 34px;
  padding: 6px 4px;
  border-radius: 10px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 12%,var(--panel-2));
  font-size: .66rem;
  font-weight: 600;
}
.wiki-book-topic-head small { color: var(--muted); font-size: .6rem; font-weight: 600; text-transform: uppercase; letter-spacing: .055em; }
.wiki-book-topic-head h3 { margin: 4px 0 6px; font-size: 1.05rem; line-height: 1.22; }
.wiki-book-topic-head p { margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.62; }

.wiki-book-essential {
  padding: 12px 13px;
  border-left: 4px solid var(--primary);
  border-radius: 5px 11px 11px 5px;
  background: color-mix(in srgb,var(--primary) 8%,var(--panel-2));
}
.wiki-book-essential strong { color: var(--primary); font-size: .67rem; letter-spacing: .055em; text-transform: uppercase; }
.wiki-book-essential p { margin: 5px 0 0; color: var(--text); font-size: .82rem; line-height: 1.68; }

.wiki-book-decision { display: grid; gap: 8px; }
.wiki-book-decision > h4,
.wiki-book-guidance h4 { margin: 0; font-size: .78rem; letter-spacing: .015em; }
.wiki-book-decision > div { display: grid; gap: 8px; }
.wiki-book-choice {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.wiki-book-choice > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: var(--primary-contrast); background: var(--primary); font-size: .66rem; font-weight: 600; }
.wiki-book-choice h5 { margin: 1px 0 4px; font-size: .78rem; }
.wiki-book-choice p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.wiki-book-choice dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 8px 0 0; }
.wiki-book-choice dl > div { min-width: 0; padding: 8px; border-radius: 8px; background: var(--panel); }
.wiki-book-choice dl > div:first-child { box-shadow: inset 3px 0 0 var(--success); }
.wiki-book-choice dl > div:last-child { box-shadow: inset 3px 0 0 var(--warning); }
.wiki-book-choice dt { color: var(--muted); font-size: .58rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.wiki-book-choice dd { margin: 4px 0 0; color: var(--text); font-size: .67rem; line-height: 1.45; }

.wiki-book-guidance { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.wiki-book-guidance > div { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); }
.wiki-book-guidance ol,
.wiki-book-guidance ul { display: grid; gap: 7px; margin: 8px 0 0; padding-left: 20px; }
.wiki-book-guidance li { color: var(--muted); font-size: .71rem; line-height: 1.48; }
.wiki-book-guidance > div:first-child li::marker { color: var(--success); font-weight: 600; }
.wiki-book-guidance > div:last-child li::marker { color: var(--warning); }

.wiki-book-topic-footer { display: grid; gap: 4px; padding-top: 10px; border-top: 1px dashed var(--line); color: var(--muted); font-size: .62rem; line-height: 1.4; }
.wiki-book-topic-footer b { color: var(--text); }
.wiki-book-chapter-end { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; padding: 12px 15px; border-top: 1px solid var(--line); color: var(--muted); background: var(--panel-2); font-size: .62rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.wiki-book-chapter-end i { height: 1px; background: linear-gradient(90deg,var(--line),transparent); }
.wiki-book-end { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
.wiki-book-end > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--primary); background: var(--panel-2); }
.wiki-book-end strong { font-size: .8rem; }
.wiki-book-end p { margin: 3px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.45; }

html[data-theme="light"] .wiki-book-cover,
html[data-theme="light"] .wiki-book-chapter,
html[data-theme="light"] .wiki-book-topic,
html[data-theme="light"] .wiki-book-end { background-color: #fff; }

@media (max-width: 390px) {
  .wiki-book-cover { grid-template-columns: 44px minmax(0,1fr); padding: 15px 12px; }
  .wiki-book-cover-icon { width: 44px; height: 50px; }
  .wiki-book-cover dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wiki-book-cover dl > div:last-child { grid-column: 1 / -1; }
  .wiki-book-chapter-head { grid-template-columns: 40px minmax(0,1fr); padding-inline: 12px; }
  .wiki-book-chapter-icon { width: 40px; height: 40px; }
  .wiki-book-chapter-head > strong { grid-column: 2; justify-self: start; }
  .wiki-book-topic { padding-inline: 12px; }
  .wiki-book-choice dl,
  .wiki-book-guidance { grid-template-columns: 1fr; }
}

/* =========================================================
   V124 · valores financeiros semânticos e rolagem sticky unificada
   ========================================================= */
:root {
  --money-income-color: #65e2a3;
  --money-expense-color: #ff8596;
}
html[data-theme="light"] {
  --money-income-color: #126b3f;
  --money-expense-color: #ad243d;
}
html.high-contrast,
html[data-high-contrast="true"] {
  --money-income-color: #82ffc1;
  --money-expense-color: #ff9aaa;
}
html[data-theme="light"].high-contrast,
html[data-theme="light"][data-high-contrast="true"] {
  --money-income-color: #075b31;
  --money-expense-color: #8f142c;
}
.money-value {
  font-variant-numeric: tabular-nums;
  letter-spacing: .005em;
}
.money-income,
.positive.money-value,
.cash-flow .positive,
.ledger-row > strong.positive {
  color: var(--money-income-color) !important;
}
.money-expense,
.negative.money-value,
.expense-text.money-value,
.cash-flow .negative,
.ledger-row > strong.negative {
  color: var(--money-expense-color) !important;
}
.finance-flyout-modern.is-income strong { color: #d9ffeb; }
.finance-flyout-modern.is-expense strong { color: #ffe0e5; }

/* O próprio scrollport recebe a medida real de tudo que pode cobrir seu topo.
   Isso complementa a pilha de submenus e também cobre cabeçalhos sticky de tabelas. */
.app-screen > .content,
.standalone-wiki-screen > .content {
  scroll-padding-top: calc(var(--sticky-occlusion-height, var(--sticky-stack-height, 0px)) + 12px) !important;
}
.content :is(section,article,[id],[data-scroll-target]) {
  scroll-margin-top: calc(var(--sticky-occlusion-height, var(--sticky-stack-height, 0px)) + 12px);
}
.live-standings-table {
  scroll-padding-top: calc(var(--sticky-occlusion-height, 0px) + 4px);
  scroll-padding-bottom: 4px;
}

/* O capítulo escolhido permanece visualmente estável durante a rolagem programática. */
.wiki-book-chapter-nav > button {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.wiki-book-chapter-nav > button.is-active {
  box-shadow: 0 6px 16px color-mix(in srgb,var(--primary) 24%,transparent) !important;
}
.reduced-motion .wiki-book-chapter-nav > button { transition: none !important; }


/* =========================================================
   V126 · campo do espectador estável e controles sem salto
   ========================================================= */
/* O modo espectador não usa mais o estado genérico .is-finished, porque ele
   pertence ao pós-jogo da partida controlada e alterava a grade do campo. */
.observer-screen.observer-live-mode,
.observer-screen.observer-live-mode.is-observer-finished {
  grid-template-rows: 38px minmax(235px,40%) minmax(0,1fr) !important;
}
.observer-screen.observer-live-mode > .observer-pitch-score,
.observer-screen.observer-live-mode.is-observer-finished > .observer-pitch-score {
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 31px minmax(0,1fr) 46px !important;
}
.observer-screen.observer-live-mode .observer-pitch-panel,
.observer-screen.observer-live-mode.is-observer-finished .observer-pitch-panel {
  height: 100% !important;
  min-height: 0 !important;
}

/* Controles nativos permanecem ancorados pelo elemento acionado. Não usamos
   scroll-behavior suave nem restaurações tardias para switches/selects. */
.content :is(input,select,textarea,button,summary,[role="button"]) {
  overflow-anchor: auto;
}

@media (max-width: 350px) {
  .observer-screen.observer-live-mode,
  .observer-screen.observer-live-mode.is-observer-finished {
    grid-template-rows: 36px minmax(220px,40%) minmax(0,1fr) !important;
  }
}

/* ==========================================================
   V129 · automação, pênaltis e refinamentos de interface
   ========================================================== */

/* A ação de inscrição deve encostar no limite inferior da área rolável. */
.registration-save {
  bottom: 0 !important;
}

/* O número da camisa não invade mais a coluna do nome no Centro Médico. */
.medical-squad-table button {
  grid-template-columns: 40px minmax(0, 1fr) auto;
}
.medical-squad-table button > span:nth-child(2) {
  min-width: 0;
  padding-inline-start: 1px;
}
.medical-squad-table button > span:nth-child(2) :is(strong, small) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.medical-squad-table .medical-shirt {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
}

/* Posições por extenso cabem no quadrado sem reticências nem sobreposição. */
.player-pos {
  min-width: 40px;
  width: 40px;
  max-width: 40px;
  min-height: 40px;
  height: 40px;
  padding: 3px;
  overflow: hidden;
  font-size: clamp(.48rem, 1.55vw, .58rem);
  line-height: 1.02;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* O convite é uma superfície própria, fora do canvas preto da imagem. */
.share-studio-preview-column > .share-invite-builder {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 18px;
  gap: 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
  color: var(--text);
}
.share-studio-preview-column > .share-invite-builder input,
.share-studio-preview-column > .share-invite-builder .share-invite-url {
  background: var(--panel);
}

/* Resultado do técnico aparece antes do contador automático 3–2–1. */
.shootout-user-result {
  display: block;
  margin: 3px 0 12px;
  font-size: clamp(1.7rem, 8vw, 3.25rem);
  font-weight: 600;
  line-height: .95;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: 0 3px 20px rgba(0,0,0,.52);
}
.shootout-user-result.is-victory {
  color: #73f2a9;
}
.shootout-user-result.is-defeat {
  color: #ff7b88;
}
html[data-theme="light"] .shootout-user-result.is-victory {
  color: #08783e !important;
  text-shadow: none;
}
html[data-theme="light"] .shootout-user-result.is-defeat {
  color: #b42338 !important;
  text-shadow: none;
}

@media (max-width: 520px) {
  .share-studio-preview-column > .share-invite-builder {
    padding: 14px;
  }
  .player-pos {
    font-size: .52rem;
  }
}

/* V130 · Central de Futebol, favoritos e pesquisa universal */
.fc-report-player > .crest { width: 34px; height: 34px; flex: 0 0 34px; }
.fc-report-player-copy { display: grid; gap: 2px; min-width: 0; }
.fc-report-player-name,
.fc-report-team {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fc-report-player-name { font-weight: 600; font-size: .82rem; }
.fc-report-player-name:hover,
.fc-report-player-name:focus-visible,
.fc-report-team:hover,
.fc-report-team:focus-visible { color: var(--primary); text-decoration: underline; }
.fc-report-team { color: var(--muted); font-size: .72rem; }
.fc-report-player-copy > small { font-size: .65rem; }

.staff-candidate-confirmation { display: grid; gap: 16px; }
.staff-candidate-heading { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; }
.staff-candidate-heading > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: var(--primary); background: color-mix(in srgb,var(--primary) 14%,var(--panel-2)); }
.staff-candidate-heading h3 { margin: 3px 0; }
.staff-candidate-heading p { margin: 0; color: var(--muted); }
.staff-candidate-comparison { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.staff-candidate-comparison article { display: grid; gap: 4px; padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-2); }
.staff-candidate-comparison small { color: var(--muted); font-size: .65rem; }
.staff-candidate-comparison strong { font-size: .86rem; }

.favorite-players-hero { margin-bottom: 14px; }
.favorite-player-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.favorite-player-card { display: grid; gap: 13px; padding: 15px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); overflow: hidden; }
.favorite-player-card header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; }
.favorite-team-mark,
.favorite-player-name,
.favorite-player-team { padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }
.favorite-team-mark { display: grid; place-items: center; }
.favorite-team-mark .crest { width: 45px; height: 45px; }
.favorite-player-card header > div { display: grid; gap: 2px; min-width: 0; }
.favorite-player-name { width: fit-content; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; font-size: .92rem; }
.favorite-player-team { width: fit-content; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: .72rem; }
.favorite-player-name:hover,
.favorite-player-name:focus-visible,
.favorite-player-team:hover,
.favorite-player-team:focus-visible { color: var(--primary); text-decoration: underline; }
.favorite-player-card header small { color: var(--muted); font-size: .65rem; }
.favorite-overall { display: grid; justify-items: center; color: var(--primary); font-size: 1.35rem; }
.favorite-overall small { font-size: .52rem; letter-spacing: .08em; }
.favorite-status-row { display: flex; flex-wrap: wrap; gap: 6px; }
.favorite-status-row .badge { display: inline-flex; align-items: center; gap: 5px; }
.favorite-status-row .is-success { color: var(--success); border-color: color-mix(in srgb,var(--success) 35%,var(--line)); }
.favorite-status-row .is-warning { color: var(--warning); border-color: color-mix(in srgb,var(--warning) 35%,var(--line)); }
.favorite-status-row .is-danger { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 35%,var(--line)); }
.favorite-status-row .is-info { color: var(--accent); border-color: color-mix(in srgb,var(--accent) 35%,var(--line)); }
.favorite-player-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.favorite-player-metrics span { display: grid; gap: 2px; padding: 8px; border-radius: 11px; background: var(--panel-2); min-width: 0; }
.favorite-player-metrics small { color: var(--muted); font-size: .6rem; }
.favorite-player-metrics strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .74rem; }
.favorite-player-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.favorite-empty { display: grid; justify-items: center; gap: 10px; padding: 30px 18px; text-align: center; }
.favorite-empty > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; color: var(--primary); background: color-mix(in srgb,var(--primary) 14%,var(--panel-2)); font-size: 1.35rem; }
.favorite-empty p { max-width: 58ch; margin: 0; color: var(--muted); }
.favorite-news-panel { margin-top: 14px; }
.favorite-event-list { display: grid; gap: 8px; }
.favorite-event-list article { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); }
.favorite-event-list article > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--accent); background: color-mix(in srgb,var(--accent) 12%,transparent); }
.favorite-event-list article.is-success > span { color: var(--success); }
.favorite-event-list article.is-warning > span { color: var(--warning); }
.favorite-event-list article.is-danger > span { color: var(--danger); }
.favorite-event-list article > div { display: grid; gap: 2px; min-width: 0; }
.favorite-event-list small { color: var(--muted); font-size: .6rem; }
.favorite-event-list strong { font-size: .78rem; }
.favorite-event-list p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.35; }
.favorite-event-list article > button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: inherit; }

.universal-search-overlay { position: fixed; inset: 0; z-index: 12050; display: flex; justify-content: center; align-items: flex-start; padding: calc(env(safe-area-inset-top) + 14px) 12px 12px; background: color-mix(in srgb,#05080e 64%,transparent); backdrop-filter: blur(7px); }
.universal-search-shell { width: min(720px,100%); border: 1px solid var(--line); border-radius: 18px; background: var(--panel); box-shadow: 0 24px 80px rgba(0,0,0,.36); overflow: hidden; transition: width .18s ease,border-radius .18s ease; }
.universal-search-box { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; min-height: 54px; padding: 8px 10px 8px 15px; }
.universal-search-box > span { color: var(--primary); }
.universal-search-box input { width: 100%; min-width: 0; padding: 8px 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: .92rem; }
.universal-search-box input::placeholder { color: var(--muted); }
.universal-search-box button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); color: inherit; }
.universal-search-results { max-height: min(72dvh,690px); overflow: auto; overscroll-behavior: contain; padding: 0 8px 8px; border-top: 1px solid var(--line); }
.universal-search-summary { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 8px; background: color-mix(in srgb,var(--panel) 94%,transparent); backdrop-filter: blur(9px); }
.universal-search-summary strong { font-size: .7rem; }
.universal-search-summary span { color: var(--muted); font-size: .6rem; }
.universal-search-result { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; border: 0; border-radius: 13px; background: transparent; color: inherit; text-align: left; }
.universal-search-result:hover,
.universal-search-result:focus-visible { background: var(--panel-2); }
.universal-result-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)); }
.universal-search-result > span:nth-child(2) { display: grid; min-width: 0; gap: 1px; }
.universal-search-result small { color: var(--primary); font-size: .54rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.universal-search-result strong,
.universal-search-result em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.universal-search-result strong { font-size: .78rem; }
.universal-search-result em { color: var(--muted); font-size: .64rem; font-style: normal; }
.universal-search-result > i { color: var(--muted); font-size: .7rem; }
.universal-search-empty { display: grid; justify-items: center; gap: 7px; padding: 30px 14px; text-align: center; color: var(--muted); }
.universal-search-empty > i { font-size: 1.4rem; color: var(--primary); }
.universal-search-empty p { margin: 0; font-size: .72rem; }

/* Movimento financeiro da barra superior: menor e mais rápido. */
.finance-flyout-modern { min-width: 118px; max-width: min(210px,calc(100vw - 16px)); gap: 6px; padding: 6px 8px; border-radius: 11px; }
.finance-flyout-modern .finance-flyout-icon { width: 24px; height: 24px; font-size: .67rem; }
.finance-flyout-modern strong { font-size: .75rem; }
.finance-flyout-modern small { max-width: 140px; font-size: .55rem; }

@media (max-width: 720px) {
  .favorite-player-grid { grid-template-columns: 1fr; }
  .staff-candidate-comparison { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .universal-search-overlay { padding-inline: 7px; }
  .universal-search-shell { border-radius: 15px; }
}
@media (max-width: 420px) {
  .favorite-player-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .favorite-player-actions .btn { flex: 1 1 100%; }
  .universal-search-summary span { display: none; }
  .universal-search-result { gap: 8px; padding: 9px 7px; }
  .universal-result-icon { width: 32px; height: 32px; }
}

/* =========================================================
   V131 · navegação contextual, contratos e refinamentos
   ========================================================= */
.all-areas-grid button.is-current {
  position: relative;
  border-color: var(--primary);
  color: var(--text);
  background: color-mix(in srgb,var(--primary) 15%,var(--panel-2));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 42%,transparent);
}
.all-areas-grid button.is-current > span { color: var(--primary); }
.all-areas-grid button.is-current small { color: var(--text); font-weight: 600; }
.all-areas-grid button.is-current::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent);
}

.lineup-pitch-metrics { padding-top: 10px; }

.league-live-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px;
  margin-top: 10px;
  width: 100%;
  justify-content: stretch;
}
.league-live-actions > .btn { width: 100%; min-width: 0; }
.league-live-actions > :only-child { grid-column: 1 / -1; }

.manager-avatar,
.manager-profile-photo:not(img),
.manager-profile-photo-modern:not(img) {
  color: var(--primary-contrast,var(--on-primary,#fff)) !important;
  background: var(--primary) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.help-center-grid article > span,
.settings-nav-preview .is-play,
.nav-custom-preview-play { color: var(--primary-contrast,var(--on-primary,#fff)) !important; }

.stadium-canvas-status {
  grid-template-columns: 25px minmax(0,1fr) auto;
  gap: 6px;
  min-height: 36px;
  padding: 5px 8px;
  border-radius: 10px;
}
.stadium-canvas-status > span { width: 25px; height: 25px; border-radius: 8px; }
.stadium-canvas-status > div { align-content: center; gap: 1px; }
.stadium-canvas-status small { line-height: 1.1; }
.stadium-canvas-status strong { line-height: 1.15; }
.stadium-canvas-status > b { align-self: center; padding-left: 2px; white-space: nowrap; }

.community-editor-flow,
.editor-intro-mobile .community-editor-flow {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 6px;
  width: 100%;
}
.community-editor-flow > span { min-width: 0; justify-content: center; text-align: center; }
.community-editor-flow > i { display: none; }

.empty > i,
.empty > svg,
.empty > .fa-solid,
.empty > .fa-regular {
  display: block;
  margin: 0 auto 9px;
  font-size: 1.15rem;
}
.empty > strong { display: block; }
.empty > strong + p { margin-top: 5px; }

.medical-care-card.is-plan-updated {
  border-color: color-mix(in srgb,var(--success) 45%,var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--success) 13%,transparent);
}
.medical-plan-feedback {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border: 1px solid color-mix(in srgb,var(--success) 35%,var(--line));
  border-radius: 9px;
  background: color-mix(in srgb,var(--success) 9%,var(--panel-2));
}
.medical-plan-feedback > i { color: var(--success); }
.medical-plan-feedback span { display: grid; gap: 1px; }
.medical-plan-feedback strong { font-size: .6rem; }
.medical-plan-feedback small { color: var(--muted); font-size: .52rem; line-height: 1.3; }

.club-editor-palette-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
}
.club-editor-palette-actions small { color: var(--muted); font-size: .62rem; }
.club-color-control { display: grid; gap: 4px; min-width: 0; }
.club-color-control-head { display: flex !important; grid-template-columns: none !important; align-items: center; justify-content: space-between; min-height: 0 !important; padding: 0 2px !important; border: 0 !important; background: transparent !important; }
.club-color-control-head > span { color: var(--text); font-size: .62rem; font-weight: 600; }
.club-color-control-head > button {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--danger);
  background: var(--panel-2);
}
.club-color-control > div:last-child { grid-template-columns: 42px minmax(0,1fr); }

.market-contract-modal-form {
  grid-template-columns: minmax(0,1fr) !important;
  align-items: stretch;
}
.market-contract-modal-form > * { grid-column: 1 / -1 !important; }
.contract-modal-note { align-items: flex-start; }
.contract-modal-note > span { display: grid; gap: 3px; min-width: 0; }
.contract-modal-note strong { color: var(--text); font-size: .7rem; }
.contract-modal-note small { color: var(--muted); font-size: .64rem; line-height: 1.45; }
.contract-modal-field { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 5px !important; }
.contract-modal-field > span { color: var(--text); font-size: .68rem; font-weight: 600; }
.contract-modal-costs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
}
.contract-modal-costs article {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
}
.contract-modal-costs small { color: var(--muted); font-size: .57rem; }
.contract-modal-costs strong { overflow-wrap: anywhere; font-size: .7rem; }
.contract-modal-costs strong.is-negative { color: var(--danger); }

@media (max-width: 560px) {
  .club-editor-color-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contract-modal-costs { grid-template-columns: 1fr; }
  .stadium-canvas-status { max-width: calc(100% - 14px); }
}
.role-player-card.is-selected > span { color: var(--primary-contrast,var(--on-primary,#fff)) !important; }


/* =========================================================
   V133 · canvas tático livre
   ========================================================= */

/* =========================================================
   V133 · convite com clube e início sem seleção automática
   ========================================================= */
.landing-v99 .setup-selected-team.is-empty {
  border-color: var(--line);
  background: var(--panel-2);
}
.landing-v99 .setup-selected-team.is-empty::after {
  display: none;
}
.selected-team-empty {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 92px;
  color: var(--text);
}
.selected-team-empty > span {
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--chip);
  color: var(--muted);
  font-size: 1.25rem;
}
.selected-team-empty strong {
  display: block;
  margin-bottom: 4px;
}
.selected-team-empty p {
  margin: 0;
  color: var(--muted);
}
.share-invite-builder label {
  min-width: 0;
}
.share-invite-builder select {
  width: 100%;
}
@media (max-width: 560px) {
  .selected-team-empty {
    align-items: flex-start;
  }
}

/* O botão continua clicável para explicar por que a carreira ainda não pode começar. */
#startExistingBtn.is-awaiting-team {
  opacity: .78;
  filter: saturate(.72);
}
#setupSelectedTeam.needs-attention {
  animation: setup-team-attention .42s ease 2;
  border-color: var(--warning);
}
@keyframes setup-team-attention {
  0%,100% { transform: translateX(0); }
  35% { transform: translateX(-4px); }
  70% { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  #setupSelectedTeam.needs-attention { animation: none; }
}


/* =========================================================
   V134 · abas persistentes, painel totalmente personalizável
   e refinamentos do Dia de jogo/estádio
   ========================================================= */
.dashboard-config-row.is-fixed { border-color: color-mix(in srgb,var(--primary) 30%,var(--line)); background: color-mix(in srgb,var(--primary) 7%,var(--panel-2)); }
.dashboard-config-row.is-fixed label { cursor: default; }
.dashboard-config-row.is-fixed input:disabled { opacity: 1; }
.dashboard-config-row.is-fixed button:disabled { opacity: .72; color: var(--primary); }
html[data-theme="light"] .matchday-lineup-notice { color:#172033 !important; border-color:#d9b54f !important; background:#fff8df !important; box-shadow:0 8px 20px rgba(71,55,10,.10) !important; }
html[data-theme="light"] .matchday-lineup-notice strong { color:#172033 !important; }
html[data-theme="light"] .matchday-lineup-notice small { color:#5e6878 !important; }
html[data-theme="light"] .matchday-lineup-notice > .fa-solid { color:#332400 !important; background:#f2c14e !important; }
.stadium-canvas-status { grid-template-columns:23px minmax(0,1fr) auto !important; gap:6px !important; min-height:32px !important; padding:4px 7px !important; border-radius:9px !important; }
.stadium-canvas-status > span { width:23px !important; height:23px !important; border-radius:7px !important; font-size:.68rem !important; }
.stadium-canvas-status > div { gap:0 !important; }
.stadium-canvas-status strong { order:1; font-size:.65rem !important; line-height:1.05 !important; }
.stadium-canvas-status small { order:2; font-size:.43rem !important; line-height:1 !important; }
.stadium-canvas-status > b { font-size:.68rem !important; }

/* ==========================================================
   V135 · Forma recente padronizada e auditoria coerente
   ========================================================== */
.form-sequence {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  vertical-align: middle;
}
.form-sequence i {
  display: inline-grid;
  place-items: center;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  color: #fff;
  background: color-mix(in srgb, var(--muted) 55%, transparent);
  font-size: .61rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}
.form-sequence i.is-v { background: #147a4d; }
.form-sequence i.is-e { background: #665f36; }
.form-sequence i.is-d { background: #a52b42; }
.form-sequence.is-compact i {
  flex-basis: 21px;
  width: 21px;
  height: 21px;
  font-size: .58rem;
}
.form-sequence.is-inline { margin-inline-start: 2px; }
.form-sequence-empty { color: inherit; opacity: .76; }
.ranking-main small:has(.form-sequence) {
  display: flex;
  align-items: center;
  min-height: 23px;
}
.dismissal-factor-list small:has(.form-sequence) {
  display: flex;
  align-items: center;
  min-height: 23px;
  margin-top: 3px;
}

/* ===== V136 · busca global e amistosos ===== */
.catalog-team-profile .catalog-team-note,
.friendly-builder-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--panel) 86%,var(--primary) 14%);
}
.catalog-team-note > i,
.friendly-builder-note > i { margin-top: 2px; color: var(--primary); }
.catalog-team-note p,
.friendly-builder-note span { margin: 3px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }

.friendly-builder { display: grid; gap: 14px; }
.friendly-builder-intro { display: flex; align-items: flex-start; gap: 12px; }
.friendly-builder-intro > i { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 13px; background: var(--primary); color: var(--primary-contrast,#fff); font-size: 1rem; }
.friendly-builder-intro strong { display: block; font-size: .92rem; }
.friendly-builder-intro p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.friendly-pickers { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: start; gap: 10px; }
.friendly-pickers > section { min-width: 0; }
.friendly-pickers label { display: grid; gap: 6px; }
.friendly-pickers label > span { color: var(--muted); font-size: .64rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.friendly-pickers input { width: 100%; min-width: 0; }
.friendly-versus { align-self: center; display: grid; place-items: center; width: 34px; height: 34px; margin-top: 30px; border-radius: 50%; background: var(--panel-strong,var(--panel)); border: 1px solid var(--line); font-size: .7rem; font-weight: 600; }
.friendly-selected,
.friendly-selected-empty { min-height: 78px; margin-top: 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.friendly-selected { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px; }
.friendly-selected > span:first-child { display: grid; place-items: center; width: 42px; height: 42px; }
.friendly-selected .crest { max-width: 38px; max-height: 38px; }
.friendly-selected div { min-width: 0; }
.friendly-selected small,
.friendly-selected em { display: block; overflow: hidden; color: var(--muted); font-size: .62rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.friendly-selected strong { display: block; overflow: hidden; margin: 2px 0; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.friendly-selected > button { width: 32px; height: 32px; padding: 0; border-radius: 10px; }
.friendly-selected-empty { display: grid; place-items: center; align-content: center; gap: 5px; padding: 10px; color: var(--muted); text-align: center; font-size: .68rem; }
.friendly-selected-empty i { font-size: 1rem; }
.friendly-search-results { position: relative; z-index: 2; display: grid; max-height: 280px; margin-top: 6px; overflow: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: 0 14px 36px rgba(0,0,0,.18); }
.friendly-search-results[hidden] { display: none; }
.friendly-search-results > button { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; align-items: center; min-width: 0; padding: 9px 10px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--text); text-align: left; }
.friendly-search-results > button:last-child { border-bottom: 0; }
.friendly-search-results > button:hover,
.friendly-search-results > button:focus-visible { background: color-mix(in srgb,var(--primary) 10%,transparent); }
.friendly-result-crest { display: grid; place-items: center; width: 34px; height: 34px; }
.friendly-result-crest .crest { max-width: 30px; max-height: 30px; }
.friendly-search-results small,
.friendly-search-results em { display: block; overflow: hidden; color: var(--muted); font-size: .58rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.friendly-search-results strong { display: block; overflow: hidden; margin: 2px 0; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }


@media (max-width: 620px) {
  .friendly-pickers { grid-template-columns: 1fr; }
  .friendly-versus { justify-self: center; margin: 0; }
  .friendly-search-results { max-height: 220px; }
}

/* ===== V139 · amistosos e identidade ===== */
.friendly-control-choice {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(180px,.72fr);
  align-items: center;
  gap: 8px 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--panel) 90%,var(--primary) 10%);
}
.friendly-control-choice > span { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: .74rem; }
.friendly-control-choice > span i { color: var(--primary); }
.friendly-control-choice select { width: 100%; min-width: 0; }
.friendly-control-choice small { grid-column: 1 / -1; color: var(--muted); font-size: .64rem; line-height: 1.4; }
.friendly-post-match { display: grid; gap: 14px; }
.friendly-post-match > header { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb,var(--panel) 88%,var(--team-primary) 12%); }
.friendly-post-match > header > span { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; background: var(--team-primary); color: var(--team-on-primary); }
.friendly-post-match h2 { margin: 2px 0; font-size: 1.05rem; }
.friendly-post-match header small,
.friendly-post-match header p,
.friendly-post-note { margin: 0; color: var(--muted); font-size: .67rem; }
.friendly-post-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.friendly-post-stats > span { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); text-align: center; }
.friendly-post-stats small { color: var(--muted); font-size: .59rem; }
.friendly-post-stats b { font-size: .76rem; }
.friendly-post-note { padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb,var(--panel) 92%,var(--primary) 8%); line-height: 1.45; }
@media (max-width:620px) {
  .friendly-control-choice { grid-template-columns: 1fr; }
  .friendly-control-choice small { grid-column: auto; }
  .friendly-post-stats { grid-template-columns: 1fr; }
}

/* ===== V140 · amistosos ===== */
.match-screen.is-friendly-match .live-info-tabs {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}
.match-screen.is-friendly-match .live-info-tabs > button {
  min-width: 0 !important;
  width: 100% !important;
}


/* ===== V141 · narração, seleções e menu superior ===== */

.match-events[data-auto-follow="paused"]::after,
.observer-event-log[data-auto-follow="paused"]::after {
  content: "Rolagem automática pausada · volte ao fim para retomar";
  position: sticky;
  left: 50%;
  bottom: 7px;
  z-index: 3;
  display: block;
  width: max-content;
  max-width: calc(100% - 18px);
  margin: 8px auto 0;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 999px;
  background: color-mix(in srgb,var(--panel) 94%,var(--primary) 6%);
  color: var(--text);
  font-size: .54rem;
  font-weight: 600;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 5px 14px rgba(0,0,0,.12);
}

.friendly-result-crest .national-crest-emoji,
.friendly-selected > span .national-crest-emoji {
  margin: 0;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.16));
}
.friendly-result-crest .national-crest-emoji.is-micro {
  width: 30px;
  height: 30px;
  font-size: 1.65rem;
}
.friendly-selected > span .national-crest-emoji.is-small {
  width: 42px;
  height: 42px;
  font-size: 2.15rem;
}

.quick-menu-current {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb,var(--primary) 44%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--primary) 10%,var(--panel));
  box-shadow: inset 3px 0 0 var(--primary);
}
.quick-menu-current > i {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 14%,transparent);
}
.quick-menu-current span,
.quick-menu-current strong,
.quick-menu-current small { display: block; }
.quick-menu-current span { color: var(--muted); font-size: .55rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.quick-menu-current strong { margin-top: 1px; font-size: .82rem; }
.quick-menu-current small { margin-top: 1px; color: var(--muted); font-size: .59rem; }
.quick-menu-cluster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.quick-menu-grid button.is-current,
.quick-menu-grid button.is-current-section {
  border-color: color-mix(in srgb,var(--primary) 58%,var(--line));
  background: color-mix(in srgb,var(--primary) 12%,var(--panel));
  box-shadow: inset 3px 0 0 var(--primary);
}
.quick-menu-grid button.is-current::after,
.quick-menu-grid button.is-current-section::after {
  content: "";
  position: absolute;
  inset: 5px 5px auto auto;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
}
.quick-menu-grid button.is-current > span,
.quick-menu-grid button.is-current-section > span { color: var(--primary); }
.quick-menu-grid button.is-current small,
.quick-menu-grid button.is-current-section small { color: var(--text); font-weight: 600; }

@media (max-width: 620px) {
  .quick-menu-cluster-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-menu-cluster-grid button { min-height: 68px; }
  .quick-menu-section .panel-heading-row .badge { display: none; }
}

@media (max-width: 370px) {
  .quick-menu-cluster-grid { grid-template-columns: 1fr; }
}



/* ===== V148 · tipografia legível ===== */
:where(html,body,button,input,select,textarea) { font-synthesis-weight: none; }
:where(b,strong,h1,h2,h3,h4,h5,h6) { font-weight: 600; }


/* ==========================================================
   V149 · auditoria de contraste e estados temáticos
   ========================================================== */

/* Marcadores pequenos não usam mais branco fixo sobre amarelo, branco ou cinza. */
.football-player-chip i {
  color: var(--team-marker-text, var(--club-marker-text, var(--primary-contrast))) !important;
  background: var(--team-marker-bg, var(--club-marker-bg, var(--primary))) !important;
  text-shadow: none !important;
}
.live-standings-minute,
.role-player-card.is-selected > span {
  color: var(--primary-contrast, var(--on-primary, #fff)) !important;
  background: var(--primary) !important;
  text-shadow: none !important;
}
.slot-shirt,
.bench-shirt,
.player-choice-shirt,
.role-selected-shirt {
  color: var(--club-gradient-text, var(--club-primary-contrast, #fff)) !important;
  background: linear-gradient(145deg,var(--club-gradient-primary,var(--club-primary)),var(--club-gradient-secondary,var(--club-secondary))) !important;
  text-shadow: none !important;
}

/* A barra superior respeita o contraste calculado do gradiente em tema claro e escuro. */
.topbar,
html.national-duty-active .topbar {
  color: var(--club-gradient-text, #fff) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text,#fff) 24%,transparent) !important;
}
.topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid,.fa-regular) {
  color: inherit !important;
  text-shadow: none !important;
}
.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context,.topbar-glance-chip) {
  color: inherit !important;
  background: color-mix(in srgb,var(--club-gradient-text,#fff) 10%,transparent) !important;
  border-color: color-mix(in srgb,var(--club-gradient-text,#fff) 25%,transparent) !important;
}
.topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
  color: color-mix(in srgb,var(--club-gradient-text,#fff) 82%,transparent) !important;
}

/* O rival possui sua própria paleta, inclusive quando a cor principal é muito clara. */
.topbar .topbar-glance-chip.is-rival {
  color: var(--team-gradient-text, #fff) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text,#fff) 28%,transparent) !important;
}
.topbar .topbar-glance-chip.is-rival :is(strong,small,span,.fa-solid,.fa-regular) { color: inherit !important; }

/* V150 — auditoria completa de cores e contraste. */
:root {
  --semantic-chance: #f2b43c;
  --semantic-save: #68a8f0;
  --semantic-corner: #b99aea;
  --semantic-foul: #df8a5b;
  --semantic-gold: #f0bd3e;
  --semantic-warning-text: #ffbf47;
  --notification-badge-bg: #c92d4b;
  --penalty-defend-bg: #2468aa;
}
html[data-theme="light"] {
  --muted: #5f6c80;
  --primary: #117646;
  --primary-2: #0f6b40;
  --on-primary: #ffffff;
  --semantic-chance: #805200;
  --semantic-save: #145ca8;
  --semantic-corner: #6f42a8;
  --semantic-foul: #8e3e1e;
  --semantic-gold: #805200;
  --semantic-warning-text: #805200;
  --notification-badge-bg: #b91f3f;
  --penalty-defend-bg: #1f5f99;
}

.notification-badge:not(.is-dot) {
  background: var(--notification-badge-bg) !important;
  color: #fff !important;
}
.penalty-role-banner.is-defend > span {
  background: var(--penalty-defend-bg) !important;
  color: #fff !important;
}
.penalty-minigame-overlay.is-defend .penalty-duel-people article.is-user-role {
  border-color: color-mix(in srgb,var(--penalty-defend-bg) 68%,var(--line)) !important;
  background: color-mix(in srgb,var(--penalty-defend-bg) 14%,var(--panel-2)) !important;
}

.match-events .event.chance .event-icon {
  color: var(--semantic-chance) !important;
  background: color-mix(in srgb,var(--semantic-chance) 14%,var(--panel-2)) !important;
}
.match-events .event.save .event-icon {
  color: var(--semantic-save) !important;
  background: color-mix(in srgb,var(--semantic-save) 14%,var(--panel-2)) !important;
}
.match-events .event.corner .event-icon {
  color: var(--semantic-corner) !important;
  background: color-mix(in srgb,var(--semantic-corner) 14%,var(--panel-2)) !important;
}
.match-events .event.offside .event-icon,
.match-events .event.foul .event-icon {
  color: var(--semantic-foul) !important;
  background: color-mix(in srgb,var(--semantic-foul) 13%,var(--panel-2)) !important;
}

.hall-of-fame-grid article {
  border-color: color-mix(in srgb,var(--semantic-gold) 42%,var(--border)) !important;
  background: color-mix(in srgb,var(--semantic-gold) 10%,var(--panel-2)) !important;
}
.hall-of-fame-grid article > span,
.hall-of-fame-grid b {
  color: var(--semantic-gold) !important;
}
.hall-of-fame-grid article > span {
  background: color-mix(in srgb,var(--semantic-gold) 15%,var(--panel)) !important;
}
.market-proposal-count.has-action {
  color: var(--semantic-warning-text) !important;
  border-color: color-mix(in srgb,var(--semantic-warning-text) 48%,var(--line)) !important;
  background: color-mix(in srgb,var(--semantic-warning-text) 10%,var(--panel)) !important;
}

.btn.danger,
.btn.destructive,
button[data-delete-save-slot],
button[data-remove-sound] {
  color: #fff !important;
  background: #c93850 !important;
  border-color: #8f1d31 !important;
}
.btn.danger:not(:disabled):hover,
.btn.destructive:not(:disabled):hover,
button[data-delete-save-slot]:not(:disabled):hover,
button[data-remove-sound]:not(:disabled):hover {
  color: #fff !important;
  background: #a11f36 !important;
}

:is(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb,var(--primary) 72%,#fff) !important;
  outline-offset: 3px;
}

/* V151 — auditoria competitiva, pênaltis legíveis e resumo de campeonato. */
.shootout-celebration.is-visible .shootout-teams article > div i {
  animation: none;
}
.shootout-teams article > div i.is-revealed {
  animation: shootout-kick-pop .34s cubic-bezier(.2,.9,.25,1.28) both;
}
.shootout-teams article > b {
  transition: transform .18s ease, color .18s ease;
}
.shootout-result-reveal {
  display: grid;
  justify-items: center;
  gap: 5px;
  margin-top: 15px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .3s ease, transform .3s ease;
}
.shootout-result-reveal.is-result-visible {
  opacity: 1;
  transform: translateY(0);
}
.shootout-result-reveal h3 {
  margin: 0;
  color: #fff;
  font-size: 1.03rem;
  font-weight: 600;
}
.shootout-final-score {
  color: #fff;
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.shootout-result-reveal > small,
.shootout-live-status {
  color: rgba(255,255,255,.78);
  font-size: .68rem;
  font-weight: 500;
}
.shootout-live-status {
  display: block;
  min-height: 1.2em;
  margin-top: 10px;
}
.reduced-motion .shootout-teams article > div i {
  opacity: 0;
  transform: none;
}
.reduced-motion .shootout-teams article > div i.is-revealed {
  animation: none !important;
  opacity: 1;
}
.reduced-motion .shootout-result-reveal { transition: none; }

.competition-end-summary {
  --competition-surface: color-mix(in srgb, var(--team-primary, var(--primary)) 8%, var(--surface));
  display: grid;
  gap: 16px;
  color: var(--text);
}
.competition-end-hero {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--team-primary, var(--primary)) 30%, var(--border));
  border-radius: 20px;
  background: var(--competition-surface);
}
.competition-end-hero::after {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -76px;
  bottom: -94px;
  border: 28px solid color-mix(in srgb, var(--team-primary, var(--primary)) 12%, transparent);
  border-radius: 50%;
  pointer-events: none;
}
.competition-end-emblem {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid color-mix(in srgb, var(--team-primary, var(--primary)) 28%, var(--border));
  border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}
.competition-end-emblem .crest { max-width: 54px; max-height: 54px; }
.competition-end-hero h3 {
  margin: 3px 0 5px;
  color: var(--text);
  font-size: clamp(1.15rem, 3vw, 1.55rem);
  font-weight: 600;
}
.competition-end-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}
.competition-end-hero p strong { color: var(--text); font-weight: 600; }
.competition-end-position {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--team-primary-surface, var(--primary));
  color: var(--team-primary-contrast, var(--on-primary));
  font-size: .76rem;
  font-weight: 600;
  text-align: center;
}
.competition-end-campaign {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 8px;
}
.competition-end-campaign > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 8px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface-2);
  text-align: center;
}
.competition-end-campaign small { color: var(--muted); font-size: .65rem; }
.competition-end-campaign strong { color: var(--text); font-size: .96rem; font-weight: 600; }
.competition-end-columns {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 12px;
}
.competition-end-columns > section {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
}
.competition-end-columns > section > header { display: grid; gap: 3px; }
.competition-end-columns > section > header strong { color: var(--text); font-weight: 600; }
.competition-end-podium {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.competition-end-podium li {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 9px;
  border-radius: 12px;
  background: var(--surface-2);
}
.competition-end-podium span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--team-primary, var(--primary)) 13%, var(--surface));
  color: var(--text);
  font-size: .72rem;
  font-weight: 600;
}
.competition-end-podium strong { color: var(--text); font-size: .8rem; font-weight: 600; }
.competition-end-awards { display: grid; gap: 7px; }
.competition-end-awards article {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 9px;
  border-radius: 12px;
  background: var(--surface-2);
  color: var(--text);
}
.competition-end-awards article > .fa-solid {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--team-primary, var(--primary)) 13%, var(--surface));
  color: var(--text);
}
.competition-end-awards article span { display: grid; min-width: 0; }
.competition-end-awards article small,
.competition-end-awards article em { color: var(--muted); font-size: .64rem; font-style: normal; }
.competition-end-awards article strong {
  overflow: hidden;
  color: var(--text);
  font-size: .78rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.competition-end-awards > p { margin: 0; color: var(--muted); line-height: 1.5; }
.competition-end-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--success) 32%, var(--border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--success) 10%, var(--surface));
  color: var(--text);
}

@media (max-width: 720px) {
  .competition-end-campaign { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .competition-end-columns { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .competition-end-hero { grid-template-columns: auto minmax(0,1fr); padding: 14px; }
  .competition-end-emblem { width: 58px; height: 58px; border-radius: 15px; }
  .competition-end-emblem .crest { max-width: 44px; max-height: 44px; }
  .competition-end-position { grid-column: 1 / -1; justify-self: start; }
  .competition-end-campaign { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* ==========================================================
   V153 · Auditoria global de espaçamento
   Ritmo consistente sem separar componentes que funcionam como um grupo.
   ========================================================== */
:root {
  --layout-space-1: 4px;
  --layout-space-2: 8px;
  --layout-space-3: 12px;
  --layout-space-4: 16px;
  --layout-space-5: 20px;
  --layout-panel-padding: clamp(12px, 3.2vw, 16px);
  --layout-section-gap: clamp(12px, 3.2vw, 16px);
}

/* Fluxos de página: o contêiner controla o intervalo e os filhos não somam margens. */
.home-dashboard-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--layout-section-gap) !important;
  columns: auto !important;
}
.home-dashboard-grid > * {
  margin-block: 0 !important;
}
:is(
  #squadTabContent,
  #tacticsTabContent,
  #competitionContent,
  #clubTabContent,
  #marketTabContent,
  .market-tab-content,
  .mobile-rounded-card-group:not(.subtabs),
  .competition-end-content
) {
  row-gap: var(--layout-section-gap);
}

/* Cards independentes recebem área interna suficiente para texto e toque. */
.home-dashboard-grid > .panel:not(.dashboard-hero),
:is(#squadTabContent,#competitionContent,#clubTabContent) > .panel,
.fc-workspace > .panel,
.favorite-news-panel,
.market-filter-shell.panel,
.app-modal-body > :is(.panel,.settings-group):not(.post-match-collapsible-card) {
  padding: var(--layout-panel-padding);
}

/* O mercado já possui o gutter externo do grupo; remove o recuo duplicado. */
.market-tab-content {
  padding-inline: 0 !important;
}

/* Wiki: seis pixels deixavam capítulos e navegação próximos demais da borda. */
.wiki-page-book {
  padding-inline: max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right));
}

/* Listas independentes mantêm respiro; linhas de uma mesma tabela continuam unidas. */
:is(.squad-list,.academy-list,.retired-list,.market-player-grid,.favorite-event-list,.sponsor-offers,.competition-end-awards) {
  gap: var(--layout-space-2);
}
:is(.bounded-scroll,.compact-scroll,.news-feed,.academy-list,.retired-list,.visual-player-picker) {
  padding-block: 2px 4px;
  scroll-padding-block: 4px;
}
:is(.bounded-scroll,.compact-scroll) > :first-child { margin-top: 0; }
:is(.bounded-scroll,.compact-scroll) > :last-child { margin-bottom: 0; }

/* Pares de informação soltos deixam de parecer uma tabela sem divisores. */
.compact-panel:has(> .mini-row) {
  display: grid;
  gap: 7px;
}
.compact-panel > .mini-row {
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 11px !important;
  background: color-mix(in srgb, var(--panel-2) 88%, transparent);
}
.compact-panel > .mini-row:last-child { border-bottom: 1px solid var(--line); }

/* Objetivos são itens distintos; o contêiner passa a controlar a separação. */
.objective-list {
  gap: var(--layout-space-2);
}
.objective-list > .objective-row {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: color-mix(in srgb, var(--panel-2) 78%, transparent);
}
.objective-list > .objective-row:first-of-type { border-top: 1px solid var(--line); }

/* Conteúdo recolhível: título e corpo usam a mesma borda interna. */
.help-details[open] > summary { margin-bottom: 0; }
.help-details > :not(summary):first-of-type { margin-top: 0; }
.help-details > :not(summary):last-child { margin-bottom: 12px; }
.help-details > p:last-child { padding-bottom: 0; }

/* Formulários e ações não deixam controles encostados nem criam colunas vazias. */
:is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.settings-actions,.form-actions) {
  gap: max(8px, var(--layout-space-2));
}
:is(.panel,.settings-group,.app-modal-body,.share-studio-dialog) > :is(h1,h2,h3,p,ul,ol):first-child {
  margin-top: 0;
}
:is(.panel,.settings-group,.app-modal-body,.share-studio-dialog) > :is(p,ul,ol):last-child {
  margin-bottom: 0;
}

/* Modais e pós-jogo mantêm cabeçalho, corpo e rodapé claramente separados. */
.app-modal > header { padding: 15px var(--layout-space-4); }
.app-modal-body { padding: var(--layout-space-4); gap: var(--layout-section-gap); }
.app-modal-body .sticky-modal-actions {
  margin-top: var(--layout-space-1);
  padding-top: var(--layout-space-3);
}
.post-match-card-header { padding: 12px 13px; }
.post-match-card-content { padding: 0 13px 13px; }
.live-finish-pane .post-match-grid { gap: var(--layout-space-2); }

/* Componentes irmãos arredondados nunca se tocam, sem interferir em tabelas e placares. */
:is(.cup-grid,.competition-group-grid,.world-groups,.calendar-list,.market-player-grid,.sponsor-offers) {
  row-gap: var(--layout-section-gap);
}

@media (max-width: 560px) {
  :root {
    --layout-panel-padding: 12px;
    --layout-section-gap: 12px;
  }
  .home-dashboard-grid > .panel:not(.dashboard-hero),
  :is(#squadTabContent,#competitionContent,#clubTabContent) > .panel,
  .fc-workspace > .panel,
  .favorite-news-panel,
  .market-filter-shell.panel {
    padding: 12px !important;
  }
  .favorite-news-panel { margin-top: 12px !important; }
  .app-modal-body { padding: 14px 12px max(14px, env(safe-area-inset-bottom)); }
  .app-modal > header { padding: 13px 12px; }
  .wiki-page-book { padding: 8px 10px 20px; }
}

/* Títulos que já são filhos de um fluxo com gap não somam mais 15 px de margem. */
.mobile-rounded-card-group > :is(.section-heading-row,.section-title) {
  margin-top: 0 !important;
}

/* ==========================================================
   V155 · Campo ao vivo com escala visual proporcional
   Barras indicam uma métrica; por isso não podem encostar no
   rótulo anterior, no valor seguinte ou na borda do cartão.
   ========================================================== */
:root {
  --meter-space-before: 7px;
  --meter-space-after: 3px;
  --meter-compact-before: 5px;
  --meter-compact-after: 2px;
}

/* Medidores usados como último elemento de cartões e linhas informativas. */
:is(
  .progress-track,
  .wiki-progress-track,
  .team-player-fitness,
  .identity-meter
) {
  display: block;
  margin-block: var(--meter-space-before) var(--meter-space-after);
}

:is(.locker-metrics,.opponent-line-grid) > i,
:is(.lineup-slot-copy,.bench-player-card) > i,
.market-fit-line > i,
.manager-style-grid article > i,
:is(.psychology-trait-grid,.identity-priority-grid) i,
.integrity-meter > i,
.tactic-metric-row article > div {
  display: block;
  margin-block: var(--meter-compact-before) var(--meter-compact-after);
}

/* Componentes que já controlam o ritmo por grid recebem apenas respiro interno. */
.promise-progress {
  padding-block: 2px;
}
.promise-progress > i {
  display: block;
  margin-block: 2px 1px;
}
.fc-assignment-list progress,
.fc-style-grid progress {
  display: block;
  max-width: 100%;
  margin-block: 5px 2px;
}

/* A confiança tinha margem no número e novamente na barra. O intervalo passa
   a pertencer somente ao medidor para não variar conforme o conteúdo. */
.confidence-split strong {
  margin: 2px 0 0;
}
.confidence-split .progress-track {
  margin-block: 6px 1px;
}

/* Evita que barras finais pareçam tocar a borda inferior em cartões densos. */
:is(
  .psychology-trait-grid,
  .identity-priority-grid,
  .manager-style-grid,
  .fc-style-grid
) > :is(div,article) {
  align-content: start;
}
:is(.psychology-trait-grid,.identity-priority-grid) > div,
.manager-style-grid > article,
.fc-style-grid > article {
  padding-bottom: max(10px, var(--layout-space-2));
}

/* O novo resumo financeiro possui cinco métricas e precisa se adaptar sem
   comprimir rótulos nem criar uma coluna estreita isolada. */
.finance-model-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}
.finance-model-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: color-mix(in srgb, var(--primary) 7%, var(--panel-2));
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.5;
}
.finance-model-note > .fa-solid {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--primary);
}

/* Fluxos de formulário e blocos informativos: elimina a combinação de margem
   própria com gap do pai e garante respiro em grupos que não tinham nenhum. */
:is(.form-grid,.settings-grid,.fc-form,.editor-form-grid) {
  row-gap: max(10px, var(--layout-space-2));
}
:is(.panel,.settings-group,.app-modal-body) > :is(.progress-track,.wiki-progress-track):last-child {
  margin-bottom: 2px;
}
:is(.panel,.settings-group,.app-modal-body) > :is(.progress-track,.wiki-progress-track):first-child {
  margin-top: 2px;
}
:is(.panel,.settings-group,.app-modal-body) > :is(.section-title,.section-heading-row) + :is(.progress-track,.wiki-progress-track) {
  margin-top: var(--layout-space-2);
}

@media (max-width: 560px) {
  :root {
    --meter-space-before: 6px;
    --meter-space-after: 3px;
  }
  .finance-model-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .finance-model-note {
    padding: 9px 10px;
  }
}

/* === V158 · legibilidade, espaçamento e navegação persistente === */
html[data-theme="light"] .fc-comparison-rows .is-best {
  color: #086b3d !important;
  background: #e7f7ef;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #b8e5cf;
}
.fc-comparison-rows .is-best {
  padding: 4px 7px;
  font-weight: 600;
}
.entity-name-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}
.entity-name-link:hover,
.entity-name-link:focus-visible {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entity-name-link.is-team small { color: var(--muted); }
.national-offer-mark { flex: 0 0 auto; }

:is(.panel,.settings-group,.app-modal-body,.editor-workspace,.league-selector,.market-filter-grid,.form-grid) label > :is(span,strong,small) + select,
:is(.panel,.settings-group,.app-modal-body,.editor-workspace,.league-selector,.market-filter-grid,.form-grid) label > select:not(:first-child) {
  margin-top: 7px;
}
:is(.panel,.settings-group,.app-modal-body,.editor-workspace,.league-selector,.market-filter-grid,.form-grid) label + label,
:is(.panel,.settings-group,.app-modal-body,.editor-workspace,.league-selector,.market-filter-grid,.form-grid) label + .btn {
  margin-top: 2px;
}
.fan-card .metric-grid {
  margin-block: 10px;
}
.fan-card > .progress-track {
  margin-top: 10px;
  margin-bottom: 10px;
}

.settings-tabs {
  gap: 7px;
  padding: 6px;
}
.settings-tabs button {
  min-height: 44px;
  padding-inline: 12px;
}
.settings-tabs button span {
  white-space: nowrap;
}

.stadium-visual-panel {
  overflow: hidden;
}
.stadium-canvas-shell {
  border-radius: 20px;
  overflow: hidden;
  background: #0d151c;
}
.stadium-canvas {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 1;
  min-height: 251px;
  background: #0d151c;
}
.stadium-visual-specs {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-top: 12px;
}
.stadium-visual-specs > span {
  min-height: 54px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.stadium-health-panel {
  margin-top: 14px;
}
@media (max-width: 620px) {
  .stadium-visual-specs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stadium-canvas { min-height: 190px; }
  .settings-tabs button span { font-size: .66rem; }
}
.inline-entity-link {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: inherit;
  cursor: pointer;
}
.inline-entity-link:hover,
.inline-entity-link:focus-visible {
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* =========================================================
   V159 · pós-jogo, compartilhamento, busca e controles
   ========================================================= */

/* O pós-jogo é um bloco independente, com gutter lateral e ações fora das tabelas. */
.match-screen .live-finish-pane,
.match-screen .live-finish-pane.is-active {
  display: grid !important;
  grid-template-rows: minmax(0,auto) auto auto !important;
  align-content: start;
  gap: 14px !important;
  padding: 12px 12px max(16px,env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  background: var(--panel) !important;
}
.match-screen .live-finish-pane .post-match-summary {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}
.match-screen .live-finish-pane .post-match-summary > * {
  min-width: 0;
  margin-inline: 0 !important;
}
.post-match-processing-host:empty { display: none; }
.post-match-processing-host { margin: 0; }
.match-screen .live-finish-pane .finish-action-row {
  position: static !important;
  z-index: auto !important;
  clear: both;
  width: 100%;
  margin: 2px 0 4px !important;
  padding: 12px !important;
  border: 1px solid var(--line);
  border-radius: 14px !important;
  background: color-mix(in srgb,var(--panel-2) 86%,var(--panel));
  box-shadow: none !important;
}
.match-screen .live-finish-pane .finish-action-row .btn {
  min-height: 44px !important;
}

/* Comandos indisponíveis ficam inequivocamente apagados. */
.match-screen .live-management-actions .btn:disabled,
.match-screen .live-management-actions .btn[aria-disabled="true"],
.match-screen .live-management-actions .btn.is-disabled {
  opacity: .075 !important;
  filter: grayscale(1) saturate(0) contrast(.65) !important;
}

/* A pesquisa universal é apenas suspensa ao abrir um perfil modal. */
.universal-search-overlay.is-suspended {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Central de jogos: área interna para o brasão e fundo suave do próprio clube. */
.match-screen .live-score-tile {
  overflow: visible !important;
  padding: 8px !important;
  min-height: 60px !important;
}
.match-screen .live-score-tile .live-club {
  min-height: 36px;
  overflow: visible !important;
  padding: 5px 7px !important;
  border: 1px solid color-mix(in srgb,var(--line) 72%,transparent);
  border-radius: 10px !important;
}
.match-screen .live-score-tile .live-club.home {
  background: color-mix(in srgb,var(--home-primary) 12%,var(--panel)) !important;
}
.match-screen .live-score-tile .live-club.away {
  background: color-mix(in srgb,var(--away-primary) 12%,var(--panel)) !important;
}
.match-screen .live-score-tile .crest.nano,
.match-screen .live-score-tile .national-crest-emoji.is-nano {
  width: 22px !important;
  height: 27px !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Tabela ao vivo: o cabeçalho de colunas começa imediatamente após a explicação. */
.live-standings-explainer {
  margin: 0 !important;
  padding: 5px 12px 6px !important;
}
.live-standings-explainer + .live-standings-table,
.live-standings-table > .live-table-columns:first-child {
  margin-top: 0 !important;
}
.live-standings-table { padding-top: 0 !important; }
.live-table-columns { margin-top: 0 !important; }

/* Expansíveis: respiro quando há conteúdo acima ou abaixo e geometria contínua aberta. */
:is(.panel,.settings-group,.app-modal-body,.live-match-pane,.post-match-summary,.share-copy-column) > details {
  margin-block: 10px !important;
}
:is(.panel,.settings-group,.app-modal-body,.live-match-pane,.post-match-summary,.share-copy-column) > details:first-child { margin-top: 0 !important; }
:is(.panel,.settings-group,.app-modal-body,.live-match-pane,.post-match-summary,.share-copy-column) > details:last-child { margin-bottom: 0 !important; }
details.help-details,
details.compact-help {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px !important;
  background: color-mix(in srgb,var(--panel-2) 72%,var(--panel));
}
details.help-details > summary,
details.compact-help > summary {
  padding: 10px 12px;
  border-radius: 11px !important;
}
details.help-details[open] > summary,
details.compact-help[open] > summary {
  border-bottom: 1px solid var(--line);
  border-radius: 11px 11px 0 0 !important;
}
details.help-details > :not(summary),
details.compact-help > :not(summary) {
  margin: 0 !important;
  padding: 10px 12px 12px !important;
}

/* Todos os controles textuais têm superfície, foco e tamanho mínimo coerentes. */
:where(.app-screen,.app-modal,.share-preview-dialog,.universal-search-shell)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea) {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--field-border,var(--line));
  border-radius: 10px;
  background: var(--field-bg,var(--panel-2));
  color: var(--text);
  font: inherit;
}
:where(.app-screen,.app-modal,.share-preview-dialog,.universal-search-shell) textarea {
  resize: vertical;
  line-height: 1.45;
}
:where(.app-screen,.app-modal,.share-preview-dialog) input[type="submit"],
:where(.app-screen,.app-modal,.share-preview-dialog) button[type="submit"]:not(.btn) {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid color-mix(in srgb,var(--primary) 70%,var(--line));
  border-radius: 10px;
  background: var(--primary);
  color: var(--primary-contrast,#fff);
  font: inherit;
  font-weight: 600;
}

/* A barra da baliza usa cantos coerentes; a espessura inferior vira sombra interna. */
.penalty-goal-target {
  border-bottom-width: 4px !important;
  border-radius: 10px !important;
  box-shadow: inset 0 -3px 0 rgba(255,255,255,.32), inset 0 -30px 60px rgba(0,0,0,.25), 0 12px 26px rgba(0,0,0,.25) !important;
}

.integrity-odds {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin-block: 10px;
}
.integrity-odds > span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.integrity-odds small { color: var(--muted); font-size: .62rem; }
.integrity-odds strong { font-size: .9rem; }

@media (max-width: 520px) {
  .match-screen .live-finish-pane,
  .match-screen .live-finish-pane.is-active { padding-inline: 10px !important; }
  .match-screen .live-score-tile { padding: 7px 6px !important; }
  .match-screen .live-score-tile .live-club { padding-inline: 5px !important; }
  .integrity-odds { grid-template-columns: 1fr; }
}


/* =========================================================
   V160 · reconstrução estável do pós-jogo ao vivo
   ========================================================= */
.match-screen.is-finished {
  display: grid !important;
  overflow: hidden !important;
}
.match-screen .live-finish-pane,
.match-screen .live-finish-pane.is-active {
  display: grid !important;
  grid-template-rows: minmax(0,1fr) auto !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--panel) !important;
}
.match-screen .live-finish-pane .post-match-scroll-body {
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px 12px 14px;
  scrollbar-gutter: stable;
}
.match-screen .live-finish-pane .post-match-summary {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.match-screen .live-finish-pane .post-match-result-copy {
  display: grid;
  gap: 5px;
  width: 100%;
  min-width: 0;
}
.match-screen .live-finish-pane .post-match-result-copy :is(h2,p) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.match-screen .live-finish-pane .post-match-head,
.match-screen .live-finish-pane .post-match-collapsible-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.match-screen .live-finish-pane .post-match-head {
  padding: 14px !important;
  border-radius: 14px !important;
}
.match-screen .live-finish-pane .post-match-scoreline {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  align-items: center;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team {
  min-width: 0 !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.match-screen .live-finish-pane .post-match-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
.match-screen .live-finish-pane .post-match-card-header {
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 10px !important;
}
.match-screen .live-finish-pane .post-match-card-content {
  min-width: 0 !important;
  overflow-x: auto;
}
.match-screen .live-finish-pane .finish-action-row[hidden] {
  display: none !important;
}
.match-screen .live-finish-pane .finish-action-row.is-ready,
.match-screen .live-finish-pane .finish-action-row:not([hidden]) {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px max(10px,env(safe-area-inset-bottom)) !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb,var(--panel-2) 92%,var(--panel)) !important;
  box-shadow: 0 -8px 18px rgba(0,0,0,.08) !important;
  z-index: 3 !important;
}
.match-screen .live-finish-pane .finish-action-row.is-ready .btn,
.match-screen .live-finish-pane .finish-action-row:not([hidden]) .btn {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 10px 12px !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.match-screen .live-finish-pane .finish-action-row .btn > :is(.fa-solid,.fa-regular) {
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
}
.match-screen .live-finish-pane .finish-action-row .btn > span {
  width: auto !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 380px) {
  .match-screen .live-finish-pane .post-match-scroll-body { padding-inline: 9px; }
  .match-screen .live-finish-pane .finish-action-row.is-ready,
  .match-screen .live-finish-pane .finish-action-row:not([hidden]) {
    gap: 7px !important;
    padding-inline: 9px !important;
  }
  .match-screen .live-finish-pane .finish-action-row .btn {
    font-size: .7rem !important;
    padding-inline: 8px !important;
  }
}


/* =========================================================
   V161 · Estádio sem fundo redundante e obra com texto claro
   ========================================================= */
.stadium-visual-specs {
  border-top: 0 !important;
  background: transparent !important;
}
.stadium-construction-card {
  display: grid;
  gap: 11px;
}
.stadium-construction-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.stadium-construction-heading > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.stadium-construction-heading h3 {
  margin: 0;
}
.stadium-construction-state {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.stadium-construction-state strong {
  color: var(--text);
}
.stadium-construction-card .progress-live-caption {
  margin-top: -3px;
}
.stadium-construction-investment {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.stadium-construction-investment span {
  color: var(--muted);
  font-size: .64rem;
}
.stadium-construction-investment strong {
  color: var(--text);
  font-size: .72rem;
  text-align: right;
}
@media (max-width: 430px) {
  .stadium-construction-heading { align-items: stretch; flex-direction: column; }
  .stadium-construction-heading .project-status-badge { align-self: flex-start; }
}

/* =========================================================
   V162 · atualização guiada, pós-jogo em tela útil e busca limpa
   ========================================================= */
.update-release-modal {
  display: grid;
  gap: 14px;
}
.update-release-hero {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 16px;
  background: color-mix(in srgb,var(--primary) 8%,var(--panel));
}
.update-release-hero > div { min-width: 0; }
.update-release-hero h3 { margin: 3px 0 0; font-size: 1rem; }
.update-release-hero p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.update-release-hero > b {
  align-self: start;
  padding: 6px 8px;
  border-radius: 10px;
  background: var(--primary);
  color: var(--on-primary);
  font-size: .68rem;
}
.update-release-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--primary);
  color: var(--on-primary);
  font-size: 1.05rem;
}
.update-release-author {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.update-release-author > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 12%,var(--panel));
}
.update-release-author small,
.update-release-author strong { display: block; }
.update-release-author small { color: var(--muted); font-size: .6rem; }
.update-release-author strong { margin-top: 2px; font-size: .78rem; }
.update-release-changes {
  display: grid;
  gap: 9px;
}
.update-release-changes ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.update-release-changes li {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
  font-size: .7rem;
  line-height: 1.42;
}
.update-release-changes li > :is(.fa-solid,.fa-regular) { margin-top: 2px; color: var(--success); }
.update-release-safety {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--primary);
  border-radius: 0 11px 11px 0;
  background: color-mix(in srgb,var(--primary) 7%,var(--panel-2));
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.45;
}
.update-release-safety strong { color: var(--text); }
.update-release-actions .btn { min-width: 0; }
html[data-app-updating="true"] .update-release-actions [data-apply-update] :is(.fa-solid,.fa-regular) {
  animation: progress-live-rotate 1s linear infinite;
}

/* Ao abrir o pós-jogo, o gramado deixa de reservar metade da tela e a área
   de informações passa a ocupar toda a altura útil abaixo do cabeçalho. */
.match-screen.is-finished.is-post-match-view {
  grid-template-rows: auto minmax(0,1fr) !important;
  min-height: 0 !important;
}
.match-screen.is-finished.is-post-match-view > .pitch-score {
  display: none !important;
}
.match-screen.is-finished.is-post-match-view > .live-information-panel {
  grid-row: 2 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  min-height: 0 !important;
  height: 100% !important;
  margin-top: 0 !important;
}
.match-screen.is-finished.is-post-match-view .live-info-tabs {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}
.match-screen.is-finished.is-post-match-view .live-info-workspace {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}
.match-screen.is-finished.is-post-match-view .live-finish-pane,
.match-screen.is-finished.is-post-match-view .live-finish-pane.is-active {
  min-height: 0 !important;
  height: 100% !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

/* A camada da busca sai completamente do compositor ao abrir um resultado.
   Isso evita o retângulo fosco/quadriculado observado em alguns Androids. */
.universal-search-overlay {
  background: rgba(5,8,14,.78) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.universal-search-overlay.is-suspended {
  display: none !important;
}
.universal-search-summary {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background: var(--panel) !important;
}

@media (max-width: 520px) {
  .update-release-hero { grid-template-columns: auto minmax(0,1fr); }
  .update-release-hero > b { grid-column: 1 / -1; justify-self: start; }
  .update-release-actions { grid-template-columns: 1fr 1fr !important; }
}

/* =========================================================
   V164 · atividade pública, amistosos, escalação e carreira
   ========================================================= */
.team-profile-friendly-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid color-mix(in srgb,var(--primary) 30%,var(--line));
  border-radius: 15px;
  background: color-mix(in srgb,var(--primary) 7%,var(--panel));
}
.team-profile-friendly-action > div {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.team-profile-friendly-action > div > span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 12px;
  color: var(--on-primary);
  background: var(--primary);
}
.team-profile-friendly-action small,
.team-profile-friendly-action strong,
.team-profile-friendly-action p { display: block; }
.team-profile-friendly-action small { color: var(--muted); font-size: .6rem; }
.team-profile-friendly-action strong { margin-top: 2px; font-size: .78rem; }
.team-profile-friendly-action p { margin: 3px 0 0; color: var(--muted); font-size: .66rem; line-height: 1.4; }
.team-profile-friendly-action > .btn { flex: 0 0 auto; }

.resignation-confirmation { display: grid; gap: 14px; }
.resignation-hero {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid color-mix(in srgb,var(--danger) 34%,var(--line));
  border-radius: 17px;
  background: color-mix(in srgb,var(--danger) 7%,var(--panel));
}
.resignation-hero .crest { width: 74px; height: 74px; }
.resignation-hero h3 { margin: 3px 0 0; font-size: 1rem; }
.resignation-hero p { margin: 6px 0 0; color: var(--muted); line-height: 1.5; }
.resignation-current-state {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.resignation-current-state article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.resignation-current-state small,
.resignation-current-state strong,
.resignation-current-state span { display: block; }
.resignation-current-state small { color: var(--muted); font-size: .59rem; }
.resignation-current-state strong { margin-top: 3px; overflow: hidden; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.resignation-current-state span { margin-top: 3px; color: var(--muted); font-size: .61rem; line-height: 1.35; }
.resignation-consequences { display: grid; gap: 8px; }
.resignation-consequences > div {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.resignation-consequences > div > span { color: var(--primary); }
.resignation-consequences > div.is-warning { border-color: color-mix(in srgb,var(--warning) 44%,var(--line)); background: color-mix(in srgb,var(--warning) 8%,var(--panel)); }
.resignation-consequences > div.is-warning > span { color: var(--warning); }
.resignation-consequences p { margin: 0; color: var(--muted); line-height: 1.45; }
.resignation-consequences strong { color: var(--text); }
.resignation-confirm-check {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb,var(--danger) 30%,var(--line));
  border-radius: 13px;
  background: color-mix(in srgb,var(--danger) 6%,var(--panel));
  cursor: pointer;
}
.resignation-confirm-check input { margin-top: 3px; }
.resignation-confirm-check span { line-height: 1.45; }
.resignation-actions .btn:disabled { opacity: .22 !important; filter: grayscale(1) !important; }

.command-center .command-visual canvas {
  min-height: 260px;
}

/* Abas ainda bloqueadas no ao vivo devem parecer realmente indisponíveis. */
.match-screen .live-info-tabs > button:disabled,
.match-screen .live-info-tabs > button[aria-disabled="true"] {
  opacity: .09 !important;
  filter: grayscale(1) saturate(0) contrast(.62) !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

@media (max-width: 680px) {
  .team-profile-friendly-action { align-items: stretch; flex-direction: column; }
  .team-profile-friendly-action > .btn { width: 100%; }
  .resignation-current-state { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 420px) {
  .resignation-hero { align-items: start; grid-template-columns: 54px minmax(0,1fr); padding: 13px; }
  .resignation-hero .crest { width: 52px; height: 52px; }
  .resignation-current-state { grid-template-columns: 1fr; }
  .resignation-actions { grid-template-columns: 1fr !important; }
}

/* =========================================================
   V165 · abas ao vivo, proporções de canvas e eventos visíveis
   ========================================================= */

.match-screen .live-management-actions .btn:disabled,
.match-screen .live-management-actions .btn[aria-disabled="true"],
.match-screen .live-management-actions .btn.is-disabled {
  opacity: .045 !important;
  filter: grayscale(1) saturate(0) contrast(.58) !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.match-screen .live-info-tabs > button:disabled,
.match-screen .live-info-tabs > button[aria-disabled="true"] {
  opacity: 1 !important;
  color: var(--live-control-disabled-text) !important;
  background: var(--live-control-disabled-bg) !important;
  border-color: color-mix(in srgb,var(--live-control-disabled-text) 26%,transparent) !important;
  filter: none !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

.match-screen {
  padding-bottom: var(--safe-bottom) !important;
}
.match-screen > .live-information-panel {
  align-self: stretch !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 4px !important;
  border-bottom: 0 !important;
  border-radius: 11px 11px 0 0 !important;
  overflow: hidden !important;
  grid-template-rows: 40px minmax(0,1fr) !important;
}
.match-screen .live-information-panel > .live-info-tabs {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 3px !important;
  gap: 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.match-screen .live-information-panel > .live-info-tabs::-webkit-scrollbar { display: none; }
.match-screen .live-information-panel > .live-info-tabs > button {
  flex: 1 0 58px !important;
  width: auto !important;
  min-width: 58px !important;
  height: 39px !important;
  min-height: 39px !important;
  margin: 0 !important;
  padding: 4px 3px !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.match-screen .live-information-panel > .live-info-tabs > button .live-tab-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.match-screen .live-info-workspace {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.match-screen .live-info-workspace > .live-match-pane {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
.match-screen .live-info-workspace > .live-match-pane[hidden],
.match-screen .live-info-workspace > .live-match-pane:not(.is-active) {
  display: none !important;
}
.match-screen .live-info-workspace > .live-match-pane.is-active:not([hidden]) {
  display: block !important;
}
.match-screen .live-info-workspace > .other-live-panel.is-active:not([hidden]),
.match-screen .live-info-workspace > .live-finish-pane.is-active:not([hidden]) {
  display: grid !important;
}
.match-screen .live-info-workspace > .live-finish-pane.is-active:not([hidden]) {
  grid-template-rows: minmax(0,1fr) auto !important;
  overflow: hidden !important;
}
.match-screen .live-info-workspace > .live-finish-pane .post-match-scroll-body {
  min-height: 0 !important;
  overflow-y: auto !important;
}
.match-screen.is-finished.is-post-match-view > .live-information-panel {
  margin-bottom: 0 !important;
  height: 100% !important;
}
.match-screen.is-finished.is-post-match-view .live-finish-pane,
.match-screen.is-finished.is-post-match-view .live-finish-pane.is-active {
  inset: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
}

.command-center .command-visual canvas,
.command-center .command-visual .tactical-canvas,
.stadium-canvas-shell,
.stadium-visual-v78 .stadium-canvas,
.stadium-canvas {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 960 / 470 !important;
  object-fit: contain !important;
}
.command-center .command-visual canvas {
  border-radius: 14px;
  background: #0d4f33;
}

.live-pitch-shell .live-event-overlay.is-user-goal,
.live-pitch-shell .live-event-overlay.is-user-goal.is-home,
.live-pitch-shell .live-event-overlay.is-user-goal.is-away,
.live-pitch-shell .live-event-overlay.is-user-goal.is-neutral {
  left: 50% !important;
  right: auto !important;
  width: min(560px,calc(100% - 18px)) !important;
  max-width: calc(100% - 18px) !important;
  box-sizing: border-box !important;
  transform-origin: 50% 0 !important;
}
.live-pitch-shell .live-event-overlay.is-important-event {
  left: 50% !important;
  right: auto !important;
  max-width: calc(100% - 18px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 430px) {
  .match-screen > .live-information-panel { margin-inline: 2px !important; }
  .match-screen .live-information-panel > .live-info-tabs > button {
    flex-basis: 54px !important;
    min-width: 54px !important;
  }
  .live-pitch-shell .live-event-overlay.is-user-goal {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
  }
}

/* V166 — recuperação de carregamento */
.boot-recovery-screen { gap: 12px; }
.boot-recovery-screen p { margin: 0; max-width: 46ch; color: var(--muted); line-height: 1.55; }
.boot-recovery-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }
.boot-recovery-actions .btn { min-width: 156px; }
@media (max-width: 430px) {
  .boot-recovery-actions { width: 100%; }
  .boot-recovery-actions .btn { flex: 1 1 100%; width: 100%; }
}

/* V168 — gol independente e instalação em destaque */
.live-pitch-shell .live-user-goal-overlay {
  z-index: 7 !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) {
  z-index: 6;
}
.live-pitch-shell .live-user-goal-overlay.is-visible {
  animation-duration: .48s;
}

.quick-menu-install-highlight {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 13px;
  border: 1px solid color-mix(in srgb,var(--primary) 50%,var(--line));
  border-radius: 16px;
  background: linear-gradient(135deg,color-mix(in srgb,var(--primary) 17%,var(--panel)),color-mix(in srgb,var(--primary-2) 10%,var(--panel)));
}
.quick-menu-install-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: var(--primary);
  color: var(--on-primary,var(--primary-contrast,#fff));
  font-size: 1.15rem;
}
.quick-menu-install-highlight > div { min-width: 0; display: grid; gap: 2px; }
.quick-menu-install-highlight > div > strong { font-size: .84rem; }
.quick-menu-install-highlight > div > small { color: var(--muted); font-size: .61rem; line-height: 1.35; }
.quick-menu-install-highlight .quick-install-button {
  min-height: 42px;
  padding-inline: 14px;
  white-space: nowrap;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--primary) 26%,transparent);
}
.install-app-cta {
  border-color: color-mix(in srgb,var(--primary) 64%,var(--line));
  background: var(--primary);
  color: var(--on-primary,var(--primary-contrast,#fff));
}
.install-benefits {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.install-benefits > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: color-mix(in srgb,var(--primary) 14%,var(--panel));
  color: var(--primary);
}
.install-benefits p { margin: 4px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.45; }
html.goooool-installed [data-install-app],
html.goooool-installed #installAppBtn { display: none !important; }

@media (max-width: 560px) {
  .quick-menu-install-highlight {
    grid-template-columns: auto minmax(0,1fr);
  }
  .quick-menu-install-highlight .quick-install-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* =========================================================
   V169 · leitura sem pressa em modais automáticos
   ========================================================= */
.auto-modal-countdown-status {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--primary) 26%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--primary) 8%, transparent);
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.45;
  text-align: center;
}
.app-modal-overlay.is-auto-countdown-paused .auto-modal-countdown-status {
  border-color: color-mix(in srgb, var(--success) 38%, var(--border));
  background: color-mix(in srgb, var(--success) 10%, transparent);
  color: var(--text);
}
.quick-menu-public-links > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 9px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-2) 84%, transparent);
  color: var(--text);
  text-decoration: none;
}
.quick-menu-public-links > a > span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary) 13%, transparent);
  color: var(--primary);
}
.quick-menu-public-links > a > strong,
.quick-menu-public-links > a > small { min-width: 0; }
.quick-menu-public-links > a > strong { font-size: .75rem; }
.quick-menu-public-links > a > small { color: var(--muted); font-size: .62rem; }
.quick-menu-public-links > a:is(:hover,:focus-visible) {
  border-color: color-mix(in srgb, var(--primary) 48%, var(--border));
  background: color-mix(in srgb, var(--primary) 8%, var(--surface-2));
}

/* =========================================================
   V170 · uma única rolagem por aba ao vivo e pós-jogo confiável
   ========================================================= */

/* Cada aba usa o próprio painel como único responsável pela rolagem vertical. */
.match-screen .live-info-workspace > .live-match-pane.is-active:not(.live-finish-pane) {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch;
}

/* Central de jogos e tabela não criam uma segunda área rolável dentro da aba. */
.match-screen .live-info-workspace > .other-live-panel.is-active:not([hidden]),
.match-screen .live-info-workspace > .live-standings-pane.is-active:not([hidden]) {
  display: block !important;
}
.match-screen .live-info-workspace > .other-live-panel.is-active .live-competition-list,
.match-screen .live-info-workspace > .live-standings-pane.is-active .live-standings-table {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  overscroll-behavior: auto !important;
  -webkit-overflow-scrolling: auto;
}

/* O pós-jogo mantém apenas o corpo do resultado rolável e ações sempre acessíveis. */
.match-screen .live-info-workspace > .live-finish-pane.is-active:not([hidden]) {
  overflow: hidden !important;
}
.match-screen .live-finish-pane .post-match-scroll-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
}

/* Estado liberado do botão Pós-jogo prevalece sobre estilos antigos de bloqueio. */
.match-screen #liveFinishTab[data-live-ready="true"] {
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  color: var(--text) !important;
}
.match-screen #liveFinishTab[data-live-ready="true"].is-active {
  color: var(--text) !important;
  box-shadow: inset 0 -3px 0 var(--primary) !important;
}

/* =========================================================
   V171 · estado confiável da aba Pós-jogo
   ========================================================= */
.match-screen #liveFinishTab:not([data-live-ready="true"]),
.match-screen #liveFinishTab[disabled] {
  opacity: .16 !important;
  filter: grayscale(1) saturate(.2) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
.match-screen #liveFinishTab[data-live-ready="true"]:not([disabled]) {
  opacity: 1 !important;
  filter: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.post-match-loading,
.post-match-summary-fallback {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 18px;
  border: 1px solid var(--border);
  background: var(--surface-2);
}
.post-match-loading > div,
.post-match-summary-fallback {
  min-width: 0;
}
.post-match-loading strong,
.post-match-loading small,
.post-match-summary-fallback strong,
.post-match-summary-fallback p,
.post-match-summary-fallback small {
  display: block;
}
.post-match-loading small,
.post-match-summary-fallback small {
  margin-top: 4px;
  color: var(--muted);
}

/* =========================================================
   V172 · ciclo completo e confiável das abas ao vivo
   ========================================================= */
.match-screen #liveFinishTab {
  position: relative;
}
.match-screen.is-finished #liveFinishTab[data-live-ready="true"] {
  opacity: 1 !important;
  filter: none !important;
  color: var(--text) !important;
  background: color-mix(in srgb, var(--primary) 12%, var(--panel-2)) !important;
  border-color: color-mix(in srgb, var(--primary) 38%, var(--line)) !important;
}
.match-screen.is-finished #liveFinishTab[data-live-ready="true"].is-active {
  color: var(--text) !important;
  background: color-mix(in srgb, var(--primary) 20%, var(--panel-2)) !important;
  box-shadow: inset 0 -3px 0 var(--primary), 0 0 0 1px color-mix(in srgb, var(--primary) 24%, transparent) !important;
}
.match-screen #liveFinishTab.has-post-match-update:not(.is-active)::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);
  animation: live-post-match-ready-pulse 1.2s ease-in-out infinite;
}
@keyframes live-post-match-ready-pulse {
  0%,100% { transform: scale(.84); opacity: .72; }
  50% { transform: scale(1.12); opacity: 1; }
}
.reduced-motion .match-screen #liveFinishTab.has-post-match-update::after { animation: none; }

/* =========================================================
   V174 · atualização em um único passo e modal compacto
   ========================================================= */
.app-modal.is-update-release {
  width: min(100%, 560px);
  max-height: min(88dvh, 720px);
}
.app-modal.is-update-release > header {
  padding: 12px 14px;
}
.app-modal.is-update-release > header h2 {
  font-size: .98rem;
}
.app-modal.is-update-release .app-modal-body {
  gap: 9px;
  padding: 12px;
}
.app-modal.is-update-release .update-release-modal {
  gap: 9px;
}
.app-modal.is-update-release .update-release-hero {
  grid-template-columns: 36px minmax(0,1fr) auto;
  gap: 9px;
  padding: 10px;
  border-radius: 12px;
}
.app-modal.is-update-release .update-release-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: .9rem;
}
.app-modal.is-update-release .update-release-hero p {
  margin: 3px 0 0;
  font-size: .67rem;
  line-height: 1.35;
}
.app-modal.is-update-release .update-release-hero small {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 5px;
  color: var(--muted);
  font-size: .58rem;
}
.app-modal.is-update-release .update-release-hero > b {
  padding: 5px 7px;
  border-radius: 8px;
  font-size: .62rem;
}
.app-modal.is-update-release .update-release-changes {
  gap: 6px;
}
.app-modal.is-update-release .update-release-changes ul {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 5px;
}
.app-modal.is-update-release .update-release-changes li {
  gap: 6px;
  padding: 7px 8px;
  border-radius: 9px;
  font-size: .64rem;
  line-height: 1.32;
}
.app-modal.is-update-release .update-release-safety {
  padding: 7px 9px;
  border-radius: 0 9px 9px 0;
  font-size: .62rem;
  line-height: 1.35;
}
.app-modal.is-update-release .sticky-modal-actions {
  gap: 7px;
  margin-top: 0;
  padding-top: 9px;
}
.app-modal.is-update-release .sticky-modal-actions .btn {
  min-height: 38px;
  padding: 8px 10px;
  font-size: .68rem;
}
@media (max-width: 520px) {
  .app-modal.is-update-release {
    max-height: 86dvh;
  }
  .app-modal.is-update-release .update-release-changes ul {
    grid-template-columns: 1fr;
  }
  .app-modal.is-update-release .update-release-hero {
    grid-template-columns: 34px minmax(0,1fr) auto;
  }
  .app-modal.is-update-release .update-release-icon {
    width: 34px;
    height: 34px;
  }
}

/* =========================================================
   V174 · auditoria visual e desempenho de listas extensas
   ========================================================= */
.market-load-more {
  display: grid;
  justify-items: center;
  gap: 9px;
  margin: 16px 0 6px;
  padding: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
  font-size: .72rem;
}
.market-load-more .btn {
  min-width: min(100%, 220px);
}
.market-player-grid > .market-card,
.contract-list > .contract-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 390px;
}
.wiki-book-chapter {
  content-visibility: auto;
  contain-intrinsic-size: auto 5200px;
}
.wiki-book-topic {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}
.topbar-glance-chip.is-action {
  min-height: 32px;
}
#customizeDashboardBtn {
  min-height: 32px;
  padding-inline: 8px;
}
.dashboard-hero-v60-form {
  min-height: 32px;
}
.inline-entity-link {
  display: inline;
  min-height: 0;
  padding: 0;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  vertical-align: baseline;
  border-radius: 4px;
}
@media (max-width: 480px) {
  .market-load-more { padding-inline: 10px; }
  .inline-entity-link { min-height: 32px; }
}

/* Ajustes finais da auditoria V174 em telas estreitas. */
.topbar-glance-chip.is-action {
  min-height: 34px !important;
}
.wiki-book-topic-list,
.wiki-book-topic {
  min-width: 0;
  overflow-x: clip;
}

/* ===== V175 · finalização assíncrona no modo espectador ===== */
.observer-screen #observerSkipBtn.observer-processing-button {
  opacity: 1 !important;
  cursor: progress !important;
}
.observer-screen #observerSkipBtn.observer-processing-button .fa-spinner {
  animation: post-match-save-spin .75s linear infinite;
}
.reduced-motion .observer-screen #observerSkipBtn.observer-processing-button .fa-spinner {
  animation: none;
}

@media (max-width: 430px) {
  .landing-save-card .save-slot-team-card { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 8px; padding-inline: 8px; }
  .save-slot-team-crest { width: 38px; }
  .save-slot-card-crest { width: 32px !important; height: 39px !important; }
  .landing-save-card .save-slot-team-card > .btn { min-width: 54px; padding-inline: 8px; }
}

/* =========================================================
   V179 · posições compactas, tema do navegador e contraste
   ========================================================= */
.position-abbr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.15em;
  min-height: 1.55em;
  padding: 1px 5px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 6px;
  color: var(--text);
  background: color-mix(in srgb,var(--primary) 9%,var(--panel-2));
  font: inherit;
  font-size: .9em;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .025em;
  text-decoration: none;
  cursor: help;
  vertical-align: .06em;
  white-space: nowrap;
}
.position-abbr:is(:hover,:focus-visible) {
  color: var(--on-primary);
  background: var(--primary);
  border-color: var(--primary);
  outline-offset: 2px;
}
.app-modal.has-team-context .position-abbr {
  color: var(--team-accent-text,var(--text));
  border-color: color-mix(in srgb,var(--team-accent-text) 30%,var(--line));
  background: color-mix(in srgb,var(--team-accent-text) 10%,var(--panel-2));
}
.app-modal.has-team-context .position-abbr:is(:hover,:focus-visible) {
  color: var(--team-accent-contrast,#fff);
  background: var(--team-accent-text,var(--primary));
  border-color: var(--team-accent-text,var(--primary));
}

/* O herói de clube pode usar texto escuro ou claro conforme a paleta calculada. */
.team-profile-hero-modern {
  color: var(--team-gradient-text,#fff);
}
.team-profile-hero-modern .team-profile-title p {
  color: color-mix(in srgb,currentColor 76%,transparent);
}
.team-profile-hero-modern .team-profile-tags span {
  color: inherit;
  border-color: color-mix(in srgb,currentColor 22%,transparent);
  background: color-mix(in srgb,currentColor 10%,transparent);
}
.team-profile-hero-modern .team-profile-rating {
  color: inherit;
  border-color: color-mix(in srgb,currentColor 22%,transparent);
  background: color-mix(in srgb,currentColor 11%,transparent);
}
.team-profile-hero-modern :is(.kicker,h3,strong,small,span,.fa-solid,.fa-regular) {
  color: inherit;
}

/* Em modais de clubes escuros, ícones e marcadores usam um acento corrigido
   contra a superfície do modal, não a cor bruta do escudo. */
.app-modal.has-team-context .team-profile-kpis article > span {
  color: var(--team-accent-text,var(--primary));
  background: color-mix(in srgb,var(--team-accent-text) 12%,var(--panel-2));
}
.app-modal.has-team-context .team-squad-modal-row.modern.is-starter {
  border-left-color: var(--team-accent-text,var(--primary));
}
.app-modal.has-team-context .team-squad-modal-row:is(:hover,:focus-visible) {
  border-color: var(--team-accent-text,var(--primary));
}
.app-modal.has-team-context .team-player-fitness b {
  background: linear-gradient(90deg,var(--team-accent-text,var(--primary)),var(--success));
}
.app-modal.has-team-context .team-profile-friendly-action {
  border-color: color-mix(in srgb,var(--team-accent-text) 30%,var(--line));
  background: color-mix(in srgb,var(--team-accent-text) 7%,var(--panel));
}
.app-modal.has-team-context .team-profile-friendly-action > div > span {
  color: var(--team-accent-contrast,#fff);
  background: var(--team-accent-text,var(--primary));
}
.app-modal.has-team-context :is(.badge,.team-player-number,.team-player-meta strong) {
  color: var(--text);
}
html[data-theme="light"] .app-modal.has-team-context .team-profile-hero-modern,
html[data-theme="dark"] .app-modal.has-team-context .team-profile-hero-modern {
  text-shadow: none;
}

/* =========================================================
   Contraste adaptativo no cabeçalho do clube
   ========================================================= */
.team-profile-hero-modern {
  background:
    radial-gradient(circle at 12% 16%, color-mix(in srgb,var(--team-gradient-primary) 28%,transparent), transparent 38%),
    linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary));
  color: var(--team-gradient-text,#fff);
}
.team-profile-hero-modern :is(.team-profile-title,.team-profile-rating,.team-profile-tags span,.team-profile-crest-stage > span) {
  text-shadow: var(--team-hero-text-shadow,0 2px 5px rgba(0,0,0,.65));
}
.team-profile-hero-modern .team-profile-title p {
  color: color-mix(in srgb,currentColor 80%,transparent);
}
.team-profile-hero-modern .team-profile-tags span,
.team-profile-hero-modern .team-profile-rating {
  border-color: color-mix(in srgb,currentColor 26%,transparent);
  background: color-mix(in srgb,currentColor 10%,transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb,currentColor 9%,transparent);
}

/* =========================================================
   V181 · notificações confiáveis e proteção entre janelas
   ========================================================= */
.notification-settings-status,
.session-guard-summary {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--primary) 5%,var(--panel-2));
}
.notification-settings-status > span,
.session-guard-summary::before {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 13%,var(--panel));
}
.session-guard-summary::before {
  content: "✓";
  font-weight: 600;
}
.session-guard-summary strong,
.session-guard-summary small {
  display: block;
}
.session-guard-summary small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.45;
}
.notification-test-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.notification-test-row > span {
  flex: 1 1 260px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.45;
}
.session-conflict-panel {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 14px 16px;
}
.session-conflict-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 14%,var(--panel-2));
  font-size: 1.35rem;
}
.session-conflict-copy h3 {
  margin: 3px 0 6px;
}
.session-conflict-copy p,
.session-conflict-footnote {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.session-conflict-explanation {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb,var(--warning) 35%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--warning) 9%,var(--panel-2));
}
.session-conflict-explanation > span {
  color: var(--warning);
  margin-top: 1px;
}
.session-conflict-explanation strong,
.session-conflict-explanation small {
  display: block;
}
.session-conflict-explanation small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.45;
}
.session-window-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.session-window-actions .btn {
  flex: 1 1 180px;
}
.session-conflict-footnote {
  grid-column: 1 / -1;
  font-size: .86rem;
}
.notification-center-item.notification-kind-youth,
.notification-center-item.notification-kind-contracts {
  --notification-accent: var(--primary);
}
html[data-theme="dark"] .notification-center-item.notification-kind-youth { --notification-accent: #78d7a1; }
html[data-theme="dark"] .notification-center-item.notification-kind-contracts { --notification-accent: #e2b970; }
html[data-theme="light"] .notification-center-item.notification-kind-youth { --notification-accent: #176d43; }
html[data-theme="light"] .notification-center-item.notification-kind-contracts { --notification-accent: #765013; }
@media (max-width: 560px) {
  .session-conflict-panel { grid-template-columns: 1fr; }
  .session-conflict-icon { width: 46px; height: 46px; }
  .session-conflict-explanation,
  .session-window-actions,
  .session-conflict-footnote { grid-column: 1; }
  .session-window-actions { flex-direction: column; }
  .session-window-actions .btn { width: 100%; flex-basis: auto; }
}

/* Lembrete local de retorno ao jogo. */
.local-reminder-settings {
  display: grid;
  gap: 11px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--primary) 25%, var(--line));
  border-radius: 18px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 7%, var(--panel)), var(--panel));
}
.local-reminder-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}
.local-reminder-heading > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: var(--primary);
  background: color-mix(in srgb, var(--primary) 13%, var(--panel-2));
}
.local-reminder-heading strong,
.local-reminder-heading small { display: block; }
.local-reminder-heading small {
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.4;
}
.local-reminder-grid,
.local-reminder-quiet-grid { margin-top: 0; }
.local-reminder-interval {
  display: grid;
  grid-template-columns: minmax(88px, .7fr) minmax(116px, 1fr);
  gap: 8px;
  margin-top: 6px;
}
.local-reminder-interval input,
.local-reminder-interval select { min-width: 0; width: 100%; }
.native-time-control {
  display: flex;
  width: 100%;
  min-width: 0;
  margin-top: 6px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.native-time-control input {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  color: var(--text);
  background: transparent;
}
.local-reminder-settings.is-disabled > :not(.local-reminder-heading):not(.toggle-row):not(.help-details) { opacity: .62; }
.local-reminder-settings input:disabled,
.local-reminder-settings select:disabled { cursor: not-allowed; opacity: .62; }
@media (max-width: 560px) {
  .local-reminder-settings { padding: 12px; }
  .local-reminder-interval { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
  .local-reminder-quiet-grid { grid-template-columns: 1fr; }
  .local-reminder-settings .notification-test-row .btn { width: 100%; }
}

/* V183 — acessibilidade visual, tamanho ampliado e switches estáveis. */
html[data-ui-size="xlarge"] { font-size: 19px; }
html[data-ui-size="maximum"] { font-size: 21px; }
html[data-ui-size="xlarge"] .panel,
html[data-ui-size="maximum"] .panel { padding: 18px; }
html[data-ui-size="xlarge"] .content,
html[data-ui-size="maximum"] .content { padding-inline: 15px; }
html[data-ui-size="xlarge"] .btn,
html[data-ui-size="maximum"] .btn { min-height: 52px; }
html[data-ui-size="xlarge"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea),
html[data-ui-size="maximum"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea) { min-height: 50px; }
html[data-ui-size="xlarge"] .nav-btn,
html[data-ui-size="maximum"] .nav-btn { min-height: 62px; }

/* O desenho do switch mantém exatamente a mesma altura em todos os cinco tamanhos. */
.toggle-row input[type="checkbox"] {
  inline-size: 48px !important;
  min-inline-size: 48px !important;
  max-inline-size: 48px !important;
  block-size: 28px !important;
  min-block-size: 28px !important;
  max-block-size: 28px !important;
  flex: 0 0 48px !important;
  margin: 0 !important;
  align-self: center;
}
.toggle-row input[type="checkbox"]::after {
  inline-size: 20px !important;
  block-size: 20px !important;
  left: 3px !important;
  top: 3px !important;
}
.toggle-row input[type="checkbox"]:checked::after { transform: translateX(22px) !important; }

.accessibility-settings-panel {
  display: grid;
  gap: 13px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--info) 14%, transparent), transparent 44%),
    var(--panel);
}
.accessibility-select-grid { align-items: start; }
.accessibility-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.accessibility-preview > span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid currentColor;
  border-radius: 12px;
  background: color-mix(in srgb, currentColor 9%, var(--panel-2));
  font-size: .7rem;
  font-weight: 600;
}
.accessibility-preview .is-success { color: var(--success); }
.accessibility-preview .is-warning { color: var(--warning); }
.accessibility-preview .is-danger { color: var(--danger); }
.accessibility-preview .is-info { color: var(--info); }

html.enhanced-readability { --muted: #c1c8d3; }
html[data-theme="light"].enhanced-readability { --muted: #46556a; }
html.enhanced-readability :is(p,small,.settings-intro,.field-note,.help-details) { line-height: 1.6; }
html.enhanced-readability :is(.panel small,.toggle-row small,.mini-row span) { font-weight: 500; }
html.large-touch-targets :is(.btn,.nav-btn,.subtabs button,.settings-tabs button,.live-info-tabs button,.observer-live-tabs button) { min-height: 54px; }
html.large-touch-targets :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea) { min-height: 52px; }
html.large-touch-targets .icon-action { min-width: 44px; min-height: 44px; }
html.large-touch-targets .toggle-row { min-height: 64px; }

/* Paletas semânticas assistivas. Cores oficiais de clubes e uniformes não são alteradas. */
html[data-color-vision="deuteranopia"] {
  --success: #58a6ff;
  --success-text: #b9dcff;
  --danger: #ff9f43;
  --danger-soft-text: #ffc483;
  --warning: #c79aff;
  --warning-text: #dfc4ff;
  --info: #55c7e8;
  --info-text: #b8efff;
}
html[data-theme="light"][data-color-vision="deuteranopia"] {
  --success: #1769aa;
  --success-text: #145b92;
  --danger: #a95700;
  --danger-soft-text: #874600;
  --warning: #7141a6;
  --warning-text: #60358e;
  --info: #126b85;
  --info-text: #0e5a70;
}
html[data-color-vision="protanopia"] {
  --success: #4eb7c5;
  --success-text: #b9f4fb;
  --danger: #f2a33b;
  --danger-soft-text: #ffd18e;
  --warning: #9c9cff;
  --warning-text: #d2d2ff;
  --info: #5ca8ff;
  --info-text: #b9dcff;
}
html[data-theme="light"][data-color-vision="protanopia"] {
  --success: #087581;
  --success-text: #075f68;
  --danger: #9a5a00;
  --danger-soft-text: #7d4800;
  --warning: #5555a8;
  --warning-text: #44448c;
  --info: #1769aa;
  --info-text: #145b92;
}
html[data-color-vision="tritanopia"] {
  --success: #38b88b;
  --success-text: #aef1da;
  --danger: #ed6ca6;
  --danger-soft-text: #ffc0dd;
  --warning: #f08a5d;
  --warning-text: #ffc6ac;
  --info: #8d8df2;
  --info-text: #d0d0ff;
}
html[data-theme="light"][data-color-vision="tritanopia"] {
  --success: #087257;
  --success-text: #075e48;
  --danger: #a02d62;
  --danger-soft-text: #84244f;
  --warning: #9a491f;
  --warning-text: #7e3b19;
  --info: #5151a6;
  --info-text: #42428b;
}

html.goooool-installed [data-install-surface] { display: none !important; }

@media (max-width: 440px) {
  .accessibility-preview { grid-template-columns: 1fr; }
}


/* =========================================================
   V185 · pesquisa de escudos no editor e ajustes de estabilidade
   ========================================================= */
.settings-static-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px 12px;
  margin-top: 12px;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, color-mix(in srgb,var(--primary) 6%,var(--panel-2)), var(--panel));
}
.settings-static-choice > span {
  min-width: 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .045em;
  line-height: 1.35;
  text-transform: uppercase;
}
.settings-static-choice > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb,var(--primary) 24%,var(--line));
  border-radius: 11px;
  color: var(--text);
  background: color-mix(in srgb,var(--primary) 9%,var(--panel));
  font-size: .88rem;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.settings-static-choice > strong :is(.fa-solid,.fa-regular) {
  flex: 0 0 auto;
  color: var(--primary);
}
.settings-static-choice > small {
  grid-column: 1 / -1;
  display: block;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.5;
}
@media (max-width: 560px) {
  .settings-static-choice {
    grid-template-columns: 1fr;
    padding: 13px;
  }
  .settings-static-choice > strong {
    justify-self: stretch;
    white-space: normal;
  }
}


/* ==========================================================
   V187 · interface exclusivamente mobile
   A mesma geometria de celular é preservada em qualquer largura de tela.
   ========================================================== */
html, body { width: 100%; max-width: 100%; }
body { display: block !important; }
.game-shell {
  width: 100% !important;
  max-width: 560px !important;
  margin-inline: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.navbar-mobile { display: grid !important; }
.strategy-canvas-shell,
.strategy-canvas { aspect-ratio: 4 / 3 !important; }
.youth-identity-card { grid-template-columns: auto minmax(0,1fr) !important; }
.youth-identity-metrics { grid-column: 1 / -1 !important; justify-content: flex-start !important; }

/* V188 · suporte privado, fluxo mobile e rolagem natural */
.developer-support-page {
  display: grid; gap: 14px; width: 100%; min-width: 0; overflow: visible; touch-action: pan-y;
}
.developer-support-page > * { min-width: 0; margin: 0; }
.developer-feedback-hero {
  background: linear-gradient(145deg, color-mix(in srgb, var(--success) 13%, var(--panel)), var(--panel));
  border-color: color-mix(in srgb, var(--success) 32%, var(--line));
}
.developer-feedback-hero .main-view-icon { color: var(--success); }
.developer-feedback-identity,
.developer-feedback-conversation-panel,
.developer-feedback-compose-panel { display: grid; gap: 12px; }
.developer-feedback-identity h3,
.developer-feedback-compose-panel h3,
.developer-feedback-conversation-panel h3 { margin: 2px 0 0; }
.developer-feedback-identity p { margin: 5px 0 0; color: var(--muted); line-height: 1.45; }
.developer-feedback-id-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center; }
.developer-feedback-id-row code {
  min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--panel-2); color: var(--text); font-size: .76rem; font-weight: 600;
  letter-spacing: .04em; overflow-wrap: anywhere; text-align: center;
}
.developer-feedback-privacy-note,
.developer-feedback-context-note {
  display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center;
  padding: 10px; border: 1px solid color-mix(in srgb, var(--success) 28%, var(--line));
  border-radius: 13px; background: color-mix(in srgb, var(--success) 7%, var(--panel-2));
}
.developer-feedback-privacy-note > i,
.developer-feedback-context-note > i { color: var(--success); font-size: 1rem; text-align: center; }
.developer-feedback-privacy-note span,
.developer-feedback-context-note span { display: grid; gap: 2px; min-width: 0; }
.developer-feedback-privacy-note small,
.developer-feedback-context-note small { color: var(--muted); line-height: 1.35; }
.developer-feedback-messages {
  display: grid; gap: 10px; max-height: none; overflow: visible; overscroll-behavior: auto;
  padding: 0; scroll-padding-block: 8px;
}
.developer-feedback-message {
  display: grid; gap: 7px; width: min(92%, 460px); padding: 11px 12px;
  border: 1px solid var(--line); border-radius: 15px 15px 15px 5px; background: var(--panel-2);
}
.developer-feedback-message.is-user {
  justify-self: end; border-radius: 15px 15px 5px 15px;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel-2));
  border-color: color-mix(in srgb, var(--primary) 28%, var(--line));
}
.developer-feedback-message.is-developer {
  border-color: color-mix(in srgb, var(--success) 32%, var(--line));
  background: color-mix(in srgb, var(--success) 9%, var(--panel-2));
}
.developer-feedback-message header,
.developer-feedback-message footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px 8px; min-width: 0; }
.developer-feedback-message header span { color: var(--text); font-size: .62rem; font-weight: 600; }
.developer-feedback-message header small,
.developer-feedback-message footer span { color: var(--muted); font-size: .54rem; }
.developer-feedback-message p { margin: 0; color: var(--text); line-height: 1.48; white-space: pre-wrap; overflow-wrap: anywhere; }
.developer-feedback-message footer strong { color: var(--success); font-size: .54rem; }
.developer-feedback-empty,
.developer-feedback-error,
.developer-feedback-loading,
.developer-feedback-unavailable {
  min-height: 150px; display: grid; place-items: center; align-content: center; gap: 6px;
  padding: 18px; text-align: center; color: var(--muted);
}
.developer-feedback-empty > i,
.developer-feedback-error > i,
.developer-feedback-unavailable > span { color: var(--success); font-size: 1.45rem; }
.developer-feedback-empty strong,
.developer-feedback-error strong { color: var(--text); }
.developer-feedback-empty p,
.developer-feedback-error p,
.developer-feedback-unavailable p { margin: 0; max-width: 38ch; line-height: 1.45; }
.developer-feedback-loading > i { color: var(--success); animation: spin 1s linear infinite; }
.developer-feedback-refresh { justify-self: stretch; width: 100%; }
.developer-feedback-compose-panel form { display: grid; gap: 11px; }
.developer-feedback-compose-panel label { display: grid; gap: 6px; }
.developer-feedback-compose-panel label > span { font-size: .66rem; font-weight: 600; color: var(--text); }
.developer-feedback-compose-panel label > small { color: var(--muted); line-height: 1.35; }
.developer-feedback-compose-panel :is(select,textarea) {
  width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 12px;
  background: var(--panel-2); color: var(--text); font: inherit; padding: 10px 11px;
}
.developer-feedback-compose-panel textarea { min-height: 150px; resize: none; line-height: 1.45; overflow-y: auto; }
.developer-feedback-send-status { min-height: 1.2em; color: var(--muted); font-size: .62rem; line-height: 1.35; }
.developer-feedback-send-status.is-success { color: var(--success); }
.developer-feedback-send-status.is-danger { color: var(--danger); }
.developer-feedback-context-note { margin-bottom: 6px; }
.developer-response-modal {
  display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 11px; align-items: center;
  padding: 12px; border: 1px solid color-mix(in srgb, var(--success) 34%, var(--line));
  border-radius: 15px; background: color-mix(in srgb, var(--success) 9%, var(--panel-2));
}
.developer-response-avatar {
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px;
  background: var(--success); color: var(--on-success, #fff); font-size: 1.05rem;
}
.developer-response-modal h3 { margin: 2px 0; }
.developer-response-date { margin: 0; color: var(--muted); font-size: .58rem; }
.developer-response-count { margin: 10px 0 0; color: var(--muted); text-align: center; }
.developer-response-body {
  margin-top: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 14px;
  background: var(--panel-2);
}
.developer-response-body p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.developer-response-helper { margin: 10px 0 0; color: var(--muted); font-size: .62rem; line-height: 1.4; text-align: center; }
.developer-response-error { min-height: 1.2em; margin-top: 8px; color: var(--danger); font-size: .62rem; text-align: center; }
.developer-response-actions { grid-template-columns: 1fr 1fr; }
@media (max-width: 390px) {
  .developer-feedback-id-row,
  .developer-response-actions { grid-template-columns: 1fr; }
  .developer-feedback-id-row .btn,
  .developer-response-actions .btn { width: 100%; }
  .developer-feedback-message { width: 96%; }
}


/* V188 · seleção eliminada continua podendo acompanhar e avançar a Copa */
.international-hero-actions { display: grid; gap: 8px; justify-items: end; min-width: 0; }
.world-cup-required-note.is-info {
  color: var(--text); border-color: color-mix(in srgb, var(--info) 34%, var(--line));
  background: color-mix(in srgb, var(--info) 9%, var(--panel-2));
}
#watchWorldCupBtn[aria-busy="true"] i { animation: spin 1s linear infinite; }
@media (max-width: 390px) {
  .international-hero-actions { justify-items: stretch; width: 100%; grid-column: 1 / -1; }
  .international-hero-actions .btn { width: 100%; }
}

/* V190 · recuperação segura do armazenamento local */
.boot-recovery-tip {
  display: block;
  max-width: 42ch;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.45;
  text-align: center;
}

/* ===== V205 · Saudação orientada ao desempenho ===== */
.dashboard-performance-message {
  display: grid;
  gap: 2px;
  margin: 4px 0 2px !important;
  max-width: 58ch;
}
.dashboard-performance-message strong {
  font-size: .82rem;
  line-height: 1.25;
}
.dashboard-performance-message span,
.dashboard-performance-context {
  font-size: .68rem;
  line-height: 1.3;
  opacity: .78;
}
.dashboard-position-value {
  display: flex;
  align-items: center;
  gap: 6px;
}
.dashboard-position-value .rank-move {
  margin: 0;
  font-size: .64rem;
}
.competition-end-podium li {
  grid-template-columns: auto minmax(0,1fr);
}
.competition-end-podium li > small {
  grid-column: 2;
  color: inherit;
  opacity: .72;
}
@media (max-width: 560px) {
  .dashboard-hero-v60-head { align-items: flex-start; }
  .dashboard-performance-message { max-width: 100%; }
  .dashboard-customize-action { padding-inline: 8px !important; }
}
.celebration-manager-name {
  margin: -2px 0 6px;
  font-size: .76rem;
  font-weight: 600;
  opacity: .82;
}

/* ===== V206 · gols contextuais, pênaltis visíveis, avisos compactos e público realista ===== */
/* A regra da V151 anulava a animação mais específica e mantinha as cobranças em opacity:0. */
.shootout-celebration.is-visible .shootout-teams article > div i.is-revealed {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: scale(1) !important;
  animation: shootout-kick-pop .34s cubic-bezier(.2,.9,.25,1.28) both !important;
}
.shootout-celebration.is-visible .shootout-teams article > div i.is-goal.is-revealed {
  background: #48d68b !important;
  border-color: #b8ffd5 !important;
  color: #07140d !important;
  box-shadow: 0 0 0 2px rgba(72,214,139,.22),0 3px 10px rgba(0,0,0,.28) !important;
}
.shootout-celebration.is-visible .shootout-teams article > div i.is-miss.is-revealed {
  background: #e54f61 !important;
  border-color: #ffc0c7 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px rgba(229,79,97,.24),0 3px 10px rgba(0,0,0,.28) !important;
}
.penalty-mini-score article > span i:is(.is-goal,.is-miss) {
  visibility: visible !important;
  opacity: 1 !important;
}
.reduced-motion .shootout-celebration.is-visible .shootout-teams article > div i.is-revealed {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Avisos rotineiros ocupam menos campo; o gol do clube controlado continua destacado. */
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event) {
  width: min(72%, 310px) !important;
  min-height: 0 !important;
  gap: 7px !important;
  padding: 6px 8px !important;
  border-radius: 11px !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event) .live-event-overlay-icon,
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event) .live-event-team-crest {
  width: 29px !important;
  height: 29px !important;
  border-radius: 9px !important;
  font-size: .78rem !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event) strong {
  font-size: .67rem !important;
  line-height: 1.05 !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event) small {
  display: -webkit-box !important;
  overflow: hidden !important;
  font-size: .55rem !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) {
  width: min(74%, 360px) !important;
  min-height: 0 !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 13px !important;
}
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) .live-event-overlay-icon,
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) .live-event-team-crest {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
}
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) strong { font-size: .72rem !important; }
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) small {
  display: -webkit-box !important;
  overflow: hidden !important;
  font-size: .57rem !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.live-pitch-shell .live-user-goal-overlay small {
  font-size: clamp(.9rem,2.5vw,1.22rem) !important;
  font-weight: 600 !important;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
.toast-stack.is-live-context .toast {
  width: min(280px,calc(100vw - 18px)) !important;
  min-height: 42px !important;
  padding: 7px 9px !important;
  gap: 7px !important;
}
.toast-stack.is-live-context .toast-icon { width: 27px !important; height: 27px !important; }
.toast-stack.is-live-context .toast-title { font-size: .68rem !important; }
.toast-stack.is-live-context .toast-message { font-size: .57rem !important; line-height: 1.2 !important; }

/* Público e torcida aparecem somente quando há espaço útil. */
.topbar-glance:has(.topbar-fans-chip) {
  grid-template-columns: minmax(80px,1.08fr) repeat(4,minmax(0,1fr));
}
.topbar-fans-chip strong { font-variant-numeric: tabular-nums; }
.match-attendance {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  white-space: nowrap;
}
.live-score-tile:has(.live-crowd) {
  grid-template-rows: minmax(18px,1fr) auto auto;
}
.live-score-tile:has(.live-crowd) .live-club { grid-row: 1 / span 3; }
.live-score-tile > .live-crowd {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  max-width: 100%;
  color: var(--muted);
  font-size: .5rem;
  line-height: 1;
  white-space: nowrap;
}
.live-score-tile > .live-crowd .fa-solid { font-size: .48rem; }
.match-screen .live-score-tile:has(.live-crowd) { min-height: 68px !important; }

@media (max-width: 900px) {
  .topbar-fans-chip { display: none !important; }
  .topbar-glance:has(.topbar-fans-chip) { grid-template-columns: minmax(80px,1.08fr) repeat(3,minmax(0,1fr)); }
}
@media (max-width: 430px) {
  .live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) {
    width: calc(100% - 18px) !important;
    max-width: 330px !important;
  }
  .match-attendance { white-space: normal; }
  .live-score-tile > .live-crowd { font-size: .47rem; }
}

/* Todo gol permanece maior que cartões, trocas e avisos comuns. */
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) {
  width: min(78%, 370px) !important;
  min-height: 0 !important;
  gap: 9px !important;
  padding: 9px 11px !important;
  border-width: 2px !important;
  border-radius: 14px !important;
}
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) .live-event-overlay-icon,
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) .live-event-team-crest {
  width: 37px !important;
  height: 37px !important;
  border-radius: 11px !important;
}
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) strong {
  font-size: .78rem !important;
}
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) small {
  display: block !important;
  overflow: visible !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: .045em;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}

/* V207: cada partida da Central de jogos possui relógio e fase próprios. */
.match-screen .live-score-tile.is-scheduled { opacity: .78; }
.match-screen .live-score-tile.is-scheduled > em { color: var(--muted) !important; }
.match-screen .live-score-tile.is-halftime {
  border-color: color-mix(in srgb, var(--warning) 52%, var(--line)) !important;
}
.match-screen .live-score-tile.is-halftime > em {
  color: var(--warning) !important;
  font-weight: 600;
}
.match-screen .live-score-tile.is-extra-time {
  border-color: color-mix(in srgb, var(--primary) 58%, var(--line)) !important;
  background: color-mix(in srgb, var(--primary) 7%, var(--panel)) !important;
}
.match-screen .live-score-tile.is-extra-time > em {
  color: var(--primary) !important;
  font-weight: 600;
}
.match-screen .live-score-tile.is-shootout {
  border-color: color-mix(in srgb, var(--danger) 52%, var(--line)) !important;
  background: color-mix(in srgb, var(--danger) 7%, var(--panel)) !important;
}
.match-screen .live-score-tile.is-shootout > strong,
.match-screen .live-score-tile.is-shootout > em {
  color: var(--danger) !important;
  font-weight: 600;
}
.match-screen .live-score-tile.is-finished { opacity: .88; }
.match-screen .live-score-tile.is-finished > em {
  color: var(--muted) !important;
  font-weight: 600;
}


/* V208 — avisos semânticos, compactos e independentes das cores dos clubes. */
.live-pitch-shell .live-event-overlay {
  top: 10px !important;
  max-width: calc(100% - 20px) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.035) !important;
}
.live-pitch-shell .live-event-overlay.is-home { left: 10px !important; right: auto !important; }
.live-pitch-shell .live-event-overlay.is-away { left: auto !important; right: 10px !important; }
.live-pitch-shell .live-event-overlay.is-neutral,
.live-pitch-shell .live-event-overlay.is-important-event,
.live-pitch-shell .live-event-overlay.is-user-goal {
  left: 50% !important;
  right: auto !important;
}
.live-pitch-shell .live-event-overlay.is-goal.is-controlled-event { --live-event-color: #2dbf73 !important; }
.live-pitch-shell .live-event-overlay.is-goal.is-opponent-goal { --live-event-color: #e45867 !important; }
.live-pitch-shell .live-event-overlay.is-yellow { --live-event-color: #f0c644 !important; }
.live-pitch-shell .live-event-overlay.is-red,
.live-pitch-shell .live-event-overlay.is-penalty-miss { --live-event-color: #e5485a !important; }
.live-pitch-shell .live-event-overlay.is-penalty { --live-event-color: #e4a93b !important; }
.live-pitch-shell .live-event-overlay.is-injury { --live-event-color: #e88b3d !important; }
.live-pitch-shell .live-event-overlay.is-substitution { --live-event-color: #438fd1 !important; }
.live-pitch-shell .live-event-overlay:is(.is-var-check,.is-var-decision) { --live-event-color: #7167cf !important; }
.live-pitch-shell .live-event-overlay:is(.is-extra-time,.is-shootout) { --live-event-color: #8a69cf !important; }
.live-pitch-shell .live-event-overlay:is(.is-stoppage-time,.is-halftime,.is-fulltime) { --live-event-color: #718096 !important; }
.live-pitch-shell .observer-event-overlay.is-goal { --live-event-color: #3d96d3 !important; }

.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event):not(.is-goal) {
  width: min(64%, 286px) !important;
  padding: 5px 7px !important;
  gap: 6px !important;
  border-radius: 11px !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event):not(.is-goal) .live-event-overlay-icon,
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event):not(.is-goal) .live-event-team-crest {
  width: 27px !important;
  height: 27px !important;
  border-radius: 8px !important;
  font-size: .72rem !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event):not(.is-goal) strong {
  font-size: .64rem !important;
  letter-spacing: .035em !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):not(.is-important-event):not(.is-goal) small {
  font-size: .53rem !important;
}
.live-pitch-shell .live-event-overlay.is-important-event:not(.live-user-goal-overlay) {
  width: min(70%, 338px) !important;
  padding: 7px 9px !important;
}
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) {
  width: min(76%, 358px) !important;
  padding: 8px 10px !important;
  border-radius: 13px !important;
}
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) strong { font-size: .74rem !important; }
.live-pitch-shell .live-event-overlay.is-goal:not(.live-user-goal-overlay) small { font-size: .65rem !important; }
.live-pitch-shell .live-event-overlay.is-user-goal {
  width: min(520px, calc(100% - 20px)) !important;
  max-width: calc(100% - 20px) !important;
}

.toast-stack.is-live-context {
  right: max(10px,env(safe-area-inset-right)) !important;
  bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  width: min(264px,calc(100vw - 20px)) !important;
  gap: 6px !important;
}
.toast-stack.is-live-context .toast {
  width: 100% !important;
  min-height: 38px !important;
  padding: 6px 8px !important;
  border-radius: 12px !important;
  border-left-width: 3px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.24) !important;
}
.toast-stack.is-live-context .toast-icon { width: 25px !important; height: 25px !important; border-radius: 8px !important; }
.toast-stack.is-live-context .toast-copy strong { font-size: .64rem !important; }
.toast-stack.is-live-context .toast-copy p { font-size: .56rem !important; line-height: 1.16 !important; }
.toast-stack.is-live-context .toast-close { width: 19px !important; height: 19px !important; }

.live-round-wait {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  margin: 7px 8px 3px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb,#7b72d8 42%,var(--line));
  border-radius: 12px;
  background: color-mix(in srgb,#7b72d8 10%,var(--panel));
}
.live-round-wait[hidden] { display: none !important; }
.live-round-wait > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: color-mix(in srgb,#7b72d8 18%,transparent);
  color: #9b92ed;
}
.live-round-wait > div { min-width: 0; display: grid; gap: 1px; }
.live-round-wait > div strong { font-size: .68rem; }
.live-round-wait > div small { color: var(--muted); font-size: .55rem; line-height: 1.2; }
.live-round-wait > b {
  min-width: 25px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #7b72d8;
  color: #fff;
  text-align: center;
  font-size: .62rem;
  font-variant-numeric: tabular-nums;
}
.live-info-tabs > button.is-waiting {
  color: #9b92ed !important;
  background: color-mix(in srgb,#7b72d8 10%,var(--panel)) !important;
}
.live-info-tabs > button.is-waiting .fa-solid { animation: live-wait-pulse 1.2s ease-in-out infinite; }
@keyframes live-wait-pulse { 50% { opacity: .52; transform: scale(.9); } }
.match-screen.is-awaiting-round .other-live-panel { border-color: color-mix(in srgb,#7b72d8 38%,var(--line)); }
.live-management-actions .is-waiting-round { opacity: .82; }

.observer-exit-button .live-action-label { white-space: nowrap; }
.observer-exit-button { min-width: 150px; }

@media (max-width: 430px) {
  .live-pitch-shell .live-event-overlay { top: 9px !important; max-width: calc(100% - 18px) !important; }
  .live-pitch-shell .live-event-overlay.is-home { left: 9px !important; }
  .live-pitch-shell .live-event-overlay.is-away { right: 9px !important; }
  .live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) { width: min(310px,calc(100% - 18px)) !important; }
  .live-pitch-shell .live-event-overlay.is-user-goal { width: calc(100% - 18px) !important; max-width: calc(100% - 18px) !important; }
  .live-round-wait { margin-inline: 6px; padding: 7px 8px; }
  .observer-exit-button { min-width: 0; }
}

html[data-reduced-motion="true"] .live-info-tabs > button.is-waiting .fa-solid { animation: none !important; }

/* V209 — Museu, retrospectivas e legado da carreira */
.season-retrospectives-panel { display: grid; gap: 12px; }
.season-current-card {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 12px; border: 1px solid var(--border); border-radius: 14px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface-2));
}
.season-current-card > div:first-child { display: grid; gap: 3px; min-width: 0; }
.season-current-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.season-current-card small { color: var(--muted); }
.season-current-form { display: flex; gap: 6px; flex: 0 0 auto; }
.season-current-form > span { min-width: 42px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); text-align: center; }
.season-current-form small,.season-current-form b { display: block; }
.season-current-form small { color: var(--muted); font-size: .68rem; }
.season-retrospective-list { display: grid; gap: 8px; }
.season-retrospective-card { border: 1px solid var(--border); border-radius: 14px; background: var(--surface-2); overflow: clip; }
.season-retrospective-card > summary {
  display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 11px; align-items: center;
  padding: 11px 12px; cursor: pointer; list-style: none;
}
.season-retrospective-card > summary::-webkit-details-marker { display: none; }
.season-retrospective-card > summary > .fa-chevron-down { color: var(--muted); transition: transform .18s ease; }
.season-retrospective-card[open] > summary > .fa-chevron-down { transform: rotate(180deg); }
.season-retro-year { width: 46px; height: 46px; display: grid; place-items: center; gap: 1px; border-radius: 12px; background: color-mix(in srgb, #d6a32b 14%, var(--surface)); color: #c38b13; }
.season-retro-year b { font-size: .72rem; }
.season-retro-summary-copy { min-width: 0; display: grid; gap: 2px; }
.season-retro-summary-copy strong,.season-retro-summary-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.season-retro-summary-copy small { color: var(--muted); }
.season-retro-summary-badges { display: grid; gap: 2px; text-align: right; }
.season-retro-summary-badges b { color: #c38b13; }
.season-retro-summary-badges small { color: var(--muted); }
.season-retrospective-body { display: grid; gap: 10px; padding: 0 12px 12px; border-top: 1px solid var(--border); }
.season-retro-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; padding-top: 10px; }
.season-retro-metrics > span,.season-retro-evolution > span { padding: 9px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); min-width: 0; }
.season-retro-metrics small,.season-retro-metrics strong,.season-retro-evolution small,.season-retro-evolution strong,.season-retro-evolution em { display: block; }
.season-retro-metrics small,.season-retro-evolution small,.season-retro-evolution em { color: var(--muted); font-style: normal; }
.season-retro-leaders { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.season-retro-leader { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
.season-retro-leader > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--accent) 11%, var(--surface-2)); color: var(--accent); }
.season-retro-leader div { min-width: 0; }
.season-retro-leader small,.season-retro-leader strong,.season-retro-leader em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.season-retro-leader small,.season-retro-leader em { color: var(--muted); font-style: normal; font-size: .75rem; }
.season-retro-trophies { display: flex; flex-wrap: wrap; gap: 6px; }
.season-retro-trophies span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid color-mix(in srgb, #d6a32b 35%, var(--border)); border-radius: 999px; background: color-mix(in srgb, #d6a32b 8%, var(--surface)); color: var(--text); }
.season-retro-no-trophy { margin: 0; }
.season-retro-evolution { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.season-retro-evolution em.is-positive { color: var(--success); }
.season-retro-evolution em.is-negative { color: var(--danger); }
.season-retro-records { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.season-retro-records:empty { display: none; }
.season-retro-records li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid var(--border); }
.season-retro-records span { color: var(--muted); }
.career-record-summary { grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); }
.career-record-scope { margin: 0 0 10px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 11px; background: color-mix(in srgb, var(--accent) 6%, var(--surface-2)); color: var(--muted); }
.career-record-scope b { color: var(--text); }
.club-icon-card { align-items: start; }
.club-icon-copy { gap: 3px !important; }
.club-icon-copy em { color: var(--muted); font-size: .72rem; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.club-icon-score { align-self: center; }
.club-icon-progress { display: block; height: 6px; border-radius: 999px; background: var(--border); overflow: hidden; }
.club-icon-progress > b { display: block; height: 100%; border-radius: inherit; background: var(--accent); }

@media (max-width: 700px) {
  .season-current-card { align-items: stretch; flex-direction: column; }
  .season-current-form { width: 100%; }
  .season-current-form > span { flex: 1; }
  .season-retrospective-card > summary { grid-template-columns: 42px minmax(0,1fr) auto; gap: 8px; }
  .season-retro-year { width: 42px; height: 42px; }
  .season-retro-summary-badges { display: none; }
  .season-retro-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .season-retro-leaders,.season-retro-evolution { grid-template-columns: 1fr; }
  .season-retro-records li { align-items: flex-start; flex-direction: column; gap: 2px; }
}
.season-retro-awards { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 7px; }
.season-retro-awards > span { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 1px 8px; align-items: center; padding: 8px 9px; border: 1px solid var(--border); border-radius: 11px; background: color-mix(in srgb, #d6a32b 7%, var(--surface)); }
.season-retro-awards > span > i { grid-row: 1/3; color: #c38b13; }
.season-retro-awards b,.season-retro-awards small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.season-retro-awards small { color: var(--muted); }

/* V210 — desafios da carreira */
.career-challenges-panel{display:grid;gap:14px}
.career-challenge-active-list,.career-challenge-catalog-list,.career-seal-grid{display:grid;gap:12px}
.career-challenge-card,.career-seal-card{border:1px solid var(--line);border-radius:20px;background:var(--panel-alt,#141b2b);padding:14px;display:grid;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.career-challenge-card.is-active{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-alt,#141b2b) 84%,var(--card-accent,#238A57) 16%),var(--panel-alt,#141b2b));border-color:color-mix(in srgb,var(--card-accent,#238A57) 38%,var(--line))}
.career-challenge-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.career-challenge-head small,.career-seal-copy small{display:block;color:var(--muted)}
.career-challenge-head strong,.career-seal-copy strong{display:block}
.career-challenge-icon,.career-seal-badge{display:grid;place-items:center}
.career-challenge-icon{width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--challenge-accent,#238A57) 18%,transparent);color:var(--challenge-accent,#238A57);border:1px solid color-mix(in srgb,var(--challenge-accent,#238A57) 34%,var(--line))}
.career-challenge-progress{display:grid;gap:8px}
.career-challenge-progress-copy{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.career-challenge-progress-copy small{color:var(--muted)}
.career-challenge-meta{display:flex;flex-wrap:wrap;gap:8px}
.career-challenge-meta span{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:var(--surface-strong,rgba(255,255,255,.05));border:1px solid var(--line);font-size:.88rem}
.career-challenge-catalog summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600}
.career-challenge-catalog summary::-webkit-details-marker{display:none}
.career-seal-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.career-seal-card{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--seal-accent,#238A57) 16%,var(--panel-alt,#141b2b)),var(--panel-alt,#141b2b));border-color:color-mix(in srgb,var(--seal-accent,#238A57) 36%,var(--line))}
.career-seal-badge{width:88px;min-height:88px;border-radius:26px;padding:10px;background:radial-gradient(circle at top,rgba(255,255,255,.32),transparent 58%),color-mix(in srgb,var(--seal-accent,#238A57) 24%,transparent);border:1px solid color-mix(in srgb,var(--seal-accent,#238A57) 46%,var(--line));text-align:center;gap:6px}
.career-seal-badge span{font-size:1.3rem;color:var(--seal-accent,#238A57)}
.career-seal-badge b{font-size:.82rem;line-height:1.2}
.career-seal-copy p{margin:4px 0 0;color:var(--muted)}
@media (max-width:720px){.career-challenge-head,.career-seal-card{grid-template-columns:1fr}.career-challenge-head .btn,.career-seal-card .btn{width:100%}.career-seal-badge{width:100%}}

/* ==========================================================
   V211 · Acabamento visual e consistência mobile
   ========================================================== */
:where(
  .panel,.settings-group,.card,.metric-card,.compact-panel,.home-dashboard-grid,
  .stack,.app-modal,.app-modal-body,.panel-heading-row,.club-heading,
  .career-challenge-card,.career-seal-card,.season-retrospective-card
) { min-width: 0; }

.stack > *,
.home-dashboard-grid > *,
.app-modal-body > *,
.panel > * { min-width: 0; }

.panel-heading-row {
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 14px;
  row-gap: 8px;
}
.panel-heading-row > :first-child {
  flex: 1 1 220px;
  min-width: 0;
}
.panel-heading-row > :last-child:not(:first-child) {
  flex: 0 0 auto;
  margin-inline-start: auto;
}
.panel-heading-row :is(h2,h3,strong,p) { overflow-wrap: anywhere; }
.panel-heading-row p {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.48;
}

:is(.panel,.settings-group,.card,.compact-panel) > :first-child { margin-top: 0; }
:is(.panel,.settings-group,.card,.compact-panel) > :last-child { margin-bottom: 0; }

/* Abas continuam em uma linha, mas preservam área de toque e respiro lateral. */
.subtabs {
  gap: 8px;
  padding-block: 4px 8px;
  scroll-padding-inline: 12px;
  scrollbar-width: none;
}
.subtabs::-webkit-scrollbar { display: none; }
.subtabs > * {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.subtabs :is(button,a) { touch-action: manipulation; }

/* Ações mantêm o mesmo alinhamento e nunca esmagam o texto. */
:is(.button-pair,.control-row,.form-actions,.settings-actions,.share-preview-actions,
  .share-studio-actions,.finish-action-row,.investment-actions,.match-action-row) > * {
  min-width: 0;
}
:is(.form-actions,.settings-actions,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
:is(.form-actions,.settings-actions,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row) > :is(.btn,button,a) {
  flex: 1 1 150px;
}
.button-pair > :is(.btn,button,a) { min-height: 42px; }

/* Texto longo e badges deixam de estourar cartões estreitos. */
:is(.badge,.competition-chip,.status-pill,.confidence-pill) {
  max-width: 100%;
  overflow-wrap: anywhere;
}
:is(.empty,.compact-empty,.empty-state-card) {
  padding: clamp(14px, 3.5vw, 20px);
  line-height: 1.5;
}

/* Modais ocupam a área disponível sem encostar nas bordas ou esconder ações. */
.app-modal-overlay {
  padding:
    max(8px, env(safe-area-inset-top))
    max(8px, env(safe-area-inset-right))
    max(8px, env(safe-area-inset-bottom))
    max(8px, env(safe-area-inset-left));
}
.app-modal,
.app-modal.is-wide {
  max-width: calc(100vw - max(16px, env(safe-area-inset-left) + env(safe-area-inset-right)));
  border-radius: clamp(16px, 4vw, 22px);
}
.app-modal > header {
  align-items: center;
  min-width: 0;
}
.app-modal > header > :is(div,h2) { min-width: 0; }
.app-modal > header h2 {
  overflow-wrap: anywhere;
  line-height: 1.28;
}
.app-modal-body {
  scroll-padding-block: 12px max(22px, env(safe-area-inset-bottom));
}
.app-modal-body .sticky-modal-actions {
  bottom: calc(-1 * var(--layout-space-4));
  padding-bottom: max(var(--layout-space-4), env(safe-area-inset-bottom));
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

/* Desafios: mantém hierarquia legível mesmo com títulos e descrições longas. */
.career-challenge-card.is-active {
  --card-accent: var(--challenge-accent, var(--primary));
}
.career-challenge-head > div,
.career-seal-copy { min-width: 0; }
.career-challenge-head strong,
.career-seal-copy strong,
.career-challenge-card p { overflow-wrap: anywhere; }
.career-challenge-catalog {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 0 12px;
  background: color-mix(in srgb, var(--panel-2) 70%, transparent);
}
.career-challenge-catalog > summary {
  min-height: 46px;
  padding-block: 8px;
}
.career-challenge-catalog[open] > summary {
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
}

/* Foco visível consistente para teclado e controles externos. */
:where(button,a,input,select,textarea,summary):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary) 78%, white 22%);
  outline-offset: 3px;
}

html[data-theme="light"] :is(.career-challenge-card,.career-seal-card,.career-challenge-catalog) {
  box-shadow: 0 8px 24px rgba(23,32,51,.07);
}
html[data-theme="light"] .career-challenge-meta span {
  background: color-mix(in srgb, var(--panel-2) 72%, white);
}

@media (max-width: 560px) {
  .screen { padding-inline: 12px; }
  .subtabs {
    margin-inline: -12px;
    padding-inline: 12px;
  }
  .panel-heading-row > :last-child:not(:first-child) {
    margin-inline-start: 0;
  }
  .panel-heading-row > :is(.badge,.btn,button,a):last-child {
    max-width: 100%;
  }
  .club-heading {
    align-items: flex-start;
    gap: 10px;
  }
  .club-heading > div:first-child { min-width: 0; }
  .club-heading :is(h2,span) { overflow-wrap: anywhere; }
  .app-modal-overlay { align-items: flex-end; }
  .app-modal,
  .app-modal.is-wide {
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top)));
    border-radius: 20px 20px 14px 14px;
  }
  .app-modal-body { padding: 13px 12px max(16px, env(safe-area-inset-bottom)); }
  .app-modal > header { padding: 13px 12px; }
  .career-challenge-card,
  .career-seal-card { padding: 12px; border-radius: 16px; }
  .career-challenge-progress-copy { display: grid; gap: 3px; }
}

@media (max-width: 420px) {
  .button-pair { grid-template-columns: 1fr; }
  :is(.form-actions,.settings-actions,.share-preview-actions,.share-studio-actions,
    .finish-action-row,.investment-actions,.match-action-row) > :is(.btn,button,a) {
    flex-basis: 100%;
    width: 100%;
  }
  .career-challenge-head,
  .career-seal-card { grid-template-columns: 1fr; }
  .career-challenge-head .btn,
  .career-seal-card .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .subtabs { scroll-behavior: auto; }
}

/* ===== V217 · notificações sem margens extras + contraste da home + CTA Jogar ===== */

/* Card “Continuar de onde parou” com contraste estável mesmo em paletas muito escuras ou muito claras. */
.landing-continue-career.team-tone,
.landing-save-card .save-slot-team-card.team-tone {
  color: var(--team-gradient-text, #fff) !important;
}
.landing-continue-career.team-tone {
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 22%, transparent) !important;
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--team-gradient-text, #fff) 14%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--team-gradient-primary, var(--team-primary)) 84%, #0f172a 16%), color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary)) 84%, #0f172a 16%)) !important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb, var(--team-gradient-text, #fff) 18%, transparent),
    0 12px 24px rgba(0,0,0,.12) !important;
}
.landing-continue-career.team-tone::after {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-gradient-text, #fff) 10%, transparent), transparent 56%) !important;
}
.landing-continue-career.team-tone .landing-continue-copy strong,
.landing-continue-career.team-tone .landing-continue-action,
.landing-continue-career.team-tone .landing-continue-action :is(span,i,svg),
.landing-save-card .save-slot-team-card.team-tone .save-slot-team-copy strong {
  color: var(--team-gradient-text, #fff) !important;
}
.landing-continue-career.team-tone .landing-continue-copy small,
.landing-continue-career.team-tone .landing-continue-copy em,
.landing-save-card .save-slot-team-card.team-tone .save-slot-team-copy span,
.landing-save-card .save-slot-team-card.team-tone .save-slot-team-copy small {
  color: color-mix(in srgb, var(--team-gradient-text, #fff) 82%, transparent) !important;
}
.landing-continue-career.team-tone .landing-continue-icon {
  background: color-mix(in srgb, var(--team-gradient-text, #fff) 12%, transparent) !important;
  color: var(--team-gradient-text, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--team-gradient-text, #fff) 22%, transparent);
}
.landing-save-card .save-slot-team-card.team-tone {
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 18%, transparent) !important;
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--team-gradient-text, #fff) 11%, transparent), transparent 32%),
    linear-gradient(135deg, color-mix(in srgb, var(--team-gradient-primary, var(--team-primary)) 78%, #111827 22%), color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary)) 84%, #0f172a 16%)) !important;
  box-shadow: inset 3px 0 0 color-mix(in srgb, var(--team-gradient-text, #fff) 16%, transparent) !important;
}
.landing-save-card .save-slot-team-card.team-tone > .btn {
  color: var(--team-gradient-text, #fff) !important;
  background: color-mix(in srgb, var(--team-gradient-text, #fff) 11%, transparent) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 26%, transparent) !important;
}
.landing-save-card .save-slot-team-card.team-tone > .btn:hover,
.landing-save-card .save-slot-team-card.team-tone > .btn:focus-visible {
  background: color-mix(in srgb, var(--team-gradient-text, #fff) 18%, transparent) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 38%, transparent) !important;
}

/* Botão central Jogar com identidade de CTA própria e sempre destacada, sem depender da cor do clube. */
:root {
  --play-cta-start: #22c55e;
  --play-cta-end: #15803d;
  --play-cta-text: #ffffff;
  --play-cta-shadow: rgba(21, 128, 61, .34);
}
html[data-theme="light"] {
  --play-cta-start: #16a34a;
  --play-cta-end: #047857;
  --play-cta-text: #ffffff;
  --play-cta-shadow: rgba(4, 120, 87, .28);
}
.navbar-mobile .nav-play,
.settings-nav-preview .is-play,
.nav-custom-preview-play {
  color: var(--play-cta-text) !important;
  background: linear-gradient(180deg, var(--play-cta-start), var(--play-cta-end)) !important;
  border: 1px solid color-mix(in srgb, var(--play-cta-start) 58%, #ffffff 10%) !important;
  border-right: 1px solid color-mix(in srgb, var(--play-cta-start) 58%, #ffffff 10%) !important;
  border-radius: 15px 15px 0 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 10px 24px var(--play-cta-shadow) !important;
}
.navbar-mobile .nav-play :is(.icon,.fa-solid,.fa-regular,span),
.settings-nav-preview .is-play :is(.fa-solid,.fa-regular,small),
.nav-custom-preview-play :is(.fa-solid,.fa-regular,small) {
  color: var(--play-cta-text) !important;
  -webkit-text-fill-color: currentColor !important;
}
.navbar-mobile .nav-play .icon,
.settings-nav-preview .is-play .fa-solid,
.nav-custom-preview-play .fa-solid {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-inline: auto;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}
.navbar-mobile .nav-play:hover,
.navbar-mobile .nav-play:focus-visible {
  filter: saturate(1.05) brightness(1.04);
}

/* ===== V218 · Jogar elevado, resultados compactos e foco nos jogos ativos ===== */

/* O CTA central ultrapassa suavemente o topo arredondado da barra. */
.navbar-mobile { overflow: visible !important; }
.navbar-mobile .nav-play {
  position: relative !important;
  z-index: 4 !important;
  height: calc(var(--bottom-nav-base-height) + 10px) !important;
  min-height: calc(var(--bottom-nav-base-height) + 10px) !important;
  margin-top: -10px !important;
  margin-bottom: 0 !important;
  transform: translateY(-6px) !important;
  border-radius: 20px 20px 14px 14px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 26px var(--play-cta-shadow),
    0 0 0 3px color-mix(in srgb,var(--panel) 88%,transparent) !important;
}
@media (max-width: 350px) {
  .navbar-mobile .nav-play {
    margin-top: -8px !important;
    transform: translateY(-4px) !important;
  }
}

/* A partida acompanhada automaticamente recebe destaque sem alterar seu placar. */
.live-score-tile.is-auto-focused {
  position: relative;
  z-index: 2;
  border-color: color-mix(in srgb,var(--primary) 72%,var(--line)) !important;
  box-shadow:
    0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent),
    0 12px 28px rgba(0,0,0,.18) !important;
}

/* Resultados da rodada no lugar do mapa de calor. */
.post-round-results-card .post-match-card-content { padding-top: 2px; }
.post-round-results {
  display: grid;
  gap: 7px;
  max-height: 360px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.post-round-result {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.post-round-result.is-user-match {
  border-color: color-mix(in srgb,var(--primary) 58%,var(--line));
  background: color-mix(in srgb,var(--primary) 9%,var(--panel-2));
  box-shadow: inset 3px 0 0 var(--primary);
}
.post-round-team {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.post-round-team.is-away { justify-content: flex-end; text-align: right; }
.post-round-team b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .66rem;
}
.post-round-result > strong {
  min-width: 52px;
  display: grid;
  place-items: center;
  padding: 5px 7px;
  border-radius: 10px;
  background: var(--panel);
  color: var(--text);
  font-size: .76rem;
  line-height: 1;
}
.post-round-result > strong small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .45rem;
}
.post-round-result > em {
  min-width: 50px;
  color: var(--muted);
  font-size: .52rem;
  font-style: normal;
  text-align: right;
}
.post-round-result.is-live > em { color: var(--primary); font-weight: 600; }
@media (max-width: 430px) {
  .post-round-result {
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 6px;
  }
  .post-round-result > em {
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: -3px;
    text-align: center;
  }
  .post-round-team b { font-size: .59rem; }
}

/* ===== V219 · CTAs da home e ícones Font Awesome ===== */
.landing-v99 .landing-primary-start {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 56px;
  margin-top: 14px;
  padding: 12px 16px;
  justify-content: center;
  gap: 9px;
  border-radius: 15px !important;
  font-size: .78rem;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--primary) 20%,transparent) !important;
}
.landing-v99 .landing-primary-start :is(.fa-solid,.fa-regular) {
  font-size: 1rem;
}
.landing-v99 .landing-career-card > #startExistingBtn,
.landing-v99 .landing-create-card > .landing-primary-start {
  align-self: stretch;
}
.landing-v99 .setup-help > summary {
  display: flex;
  align-items: center;
  gap: 8px;
}
.competition-podium-icon {
  display: grid;
  place-items: center;
}
.competition-podium-icon .fa-solid {
  font-size: 1rem;
}

/* Cobranças de pênaltis usam o mesmo conjunto Font Awesome sem perder as cores semânticas. */
.penalty-mini-score article > span > :is(i,span) {
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid color-mix(in srgb,var(--muted) 70%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--muted) 24%,var(--panel));
  color:var(--text);
  font-style:normal;
  font-size:.7rem;
  line-height:1;
  box-shadow:0 2px 7px rgba(0,0,0,.14);
}
.penalty-mini-score article > span > :is(i,span).is-goal {
  border-color:color-mix(in srgb,var(--success) 80%,white 20%);
  background:var(--success);
  color:#07140d;
}
.penalty-mini-score article > span > :is(i,span).is-miss {
  border-color:color-mix(in srgb,var(--danger) 82%,white 18%);
  background:var(--danger);
  color:#fff;
}
.penalty-mini-score article > span > :is(i,span) .fa-solid {
  width:.72em;
  min-width:.72em;
  height:.72em;
}
.shootout-teams article > div > :is(i,span) {
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.44);
  border-radius:50%;
  color:#fff;
  font-style:normal;
  font-size:.76rem;
  line-height:1;
  opacity:0;
  transform:scale(.25);
}
.shootout-teams article > div > :is(i,span).is-goal {
  background:#48d68b;
  border-color:#8df4bd;
  color:#07140d;
  box-shadow:0 0 0 2px rgba(72,214,139,.14);
}
.shootout-teams article > div > :is(i,span).is-miss {
  background:#e54f61;
  border-color:#ff8e99;
  color:#21070b;
  box-shadow:0 0 0 2px rgba(229,79,97,.16);
}
.shootout-celebration.is-visible .shootout-teams article > div > :is(i,span).is-revealed {
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:scale(1) !important;
  animation:shootout-kick-pop .34s cubic-bezier(.2,.9,.25,1.28) both !important;
}
.shootout-celebration.is-visible .shootout-teams article > div > :is(i,span).is-goal.is-revealed {
  background:#48d68b !important;
  border-color:#b8ffd5 !important;
  color:#07140d !important;
}
.shootout-celebration.is-visible .shootout-teams article > div > :is(i,span).is-miss.is-revealed {
  background:#e54f61 !important;
  border-color:#ffc0c7 !important;
  color:#fff !important;
}
.penalty-mini-score article > span > :is(i,span) > .fa-solid,
.shootout-teams article > div > :is(i,span) > .fa-solid {
  width:.72em !important;
  min-width:.72em !important;
  height:.72em !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
  opacity:1 !important;
  transform:none !important;
}

/* ===== V220 · navegação, pós-jogo, carreira, conquistas e dia de jogo ===== */

/* Barra inferior: quatro atalhos dividem o espaço restante e a bola fica centralizada. */
.navbar-mobile {
  --nav-play-size: 66px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) var(--nav-play-size) repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  column-gap: 5px !important;
  padding-inline: 7px !important;
  overflow: visible !important;
}
.navbar-mobile .nav-btn:not(.nav-play) {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}
.navbar-mobile .nav-play {
  width: var(--nav-play-size) !important;
  min-width: var(--nav-play-size) !important;
  height: var(--nav-play-size) !important;
  min-height: var(--nav-play-size) !important;
  margin: -20px auto 2px !important;
  padding: 7px 4px 6px !important;
  align-self: end !important;
  justify-self: center !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  place-items: center !important;
  gap: 1px !important;
  border: 3px solid var(--panel) !important;
  border-radius: 50% !important;
  transform: none !important;
  background: radial-gradient(circle at 34% 24%, #48dc7d 0 8%, var(--play-cta-start) 34%, var(--play-cta-end) 100%) !important;
  box-shadow: 0 12px 28px var(--play-cta-shadow), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.navbar-mobile .nav-play::after { display: none !important; content: none !important; }
.navbar-mobile .nav-play .icon {
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  background: rgba(255,255,255,.15) !important;
  font-size: 1.2rem !important;
}
.navbar-mobile .nav-play > span:last-child {
  color: #fff !important;
  font-size: .5rem !important;
  line-height: 1 !important;
}
@media (max-width: 360px) {
  .navbar-mobile { --nav-play-size: 60px; column-gap: 3px !important; padding-inline: 5px !important; }
  .navbar-mobile .nav-play { margin-top: -16px !important; }
}

/* O vencedor fica inequívoco, inclusive quando a decisão foi nos pênaltis. */
.post-round-team.is-winner {
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, #22c55e 62%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, #168447 78%, var(--panel) 22%);
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}
.post-round-team.is-winner b { color: #fff !important; font-weight: 600; }
.post-round-result.has-winner > strong {
  border: 1px solid color-mix(in srgb, #22c55e 28%, var(--line));
}
html[data-theme="light"] .post-round-team.is-winner { background: #137a40; border-color: #0f6635; }

/* Badge real, fora do conteúdo do placar, sem recorte ou abreviação. */
.live-score-tile.is-auto-focused {
  contain: layout style !important;
  overflow: visible !important;
}
.live-score-auto-badge {
  position: absolute;
  top: -11px;
  right: 7px;
  z-index: 5;
  width: max-content;
  min-width: max-content;
  max-width: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border: 2px solid var(--panel);
  border-radius: 999px;
  background: var(--primary);
  color: var(--primary-contrast, var(--on-primary, #fff));
  font-size: .48rem;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 5px 14px rgba(0,0,0,.22);
  pointer-events: none;
}
.live-score-auto-badge :is(i,span) { color: inherit !important; white-space: nowrap; }

/* Resumo da carreira com hierarquia de painel e leitura rápida. */
.career-summary-modal { display: grid; gap: 13px; }
.career-summary-hero {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--team-primary,var(--primary)) 38%,var(--line));
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--team-gradient-text,#fff) 13%,transparent),transparent 34%),
    var(--team-palette-gradient,linear-gradient(135deg,var(--primary),var(--primary-2)));
  color: var(--team-gradient-text,#fff);
}
.career-summary-hero :is(h3,p,.kicker,strong) { color: inherit !important; }
.career-summary-hero h3 { margin: 3px 0 4px; font-size: 1.35rem; }
.career-summary-hero p { margin: 0; color: color-mix(in srgb,var(--team-gradient-text,#fff) 80%,transparent) !important; }
.career-summary-identity { position: relative; width: 82px; height: 74px; }
.career-summary-manager,
.career-summary-club {
  position: absolute;
  display: grid;
  place-items: center;
  border: 2px solid color-mix(in srgb,var(--team-gradient-text,#fff) 34%,transparent);
  background: color-mix(in srgb,var(--panel) 86%,transparent);
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
}
.career-summary-manager { left: 0; top: 0; width: 56px; height: 56px; border-radius: 18px; overflow: hidden; }
.career-summary-manager img { width: 100%; height: 100%; object-fit: cover; }
.career-summary-club { right: 0; bottom: 0; width: 43px; height: 49px; border-radius: 14px; }
.career-summary-club .crest { width: 34px; height: 40px; }
.career-summary-season {
  display: grid;
  gap: 2px;
  padding: 8px 11px;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text,#fff) 25%,transparent);
  border-radius: 14px;
  background: color-mix(in srgb,var(--team-gradient-text,#fff) 10%,transparent);
  font-size: .56rem;
  text-align: center;
}
.career-summary-season strong { font-size: 1rem; }
.career-summary-scoreboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.career-summary-scoreboard article {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "icon small" "icon strong";
  align-items: center;
  gap: 2px 8px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.career-summary-scoreboard article > span { grid-area: icon; color: var(--primary); font-size: 1rem; }
.career-summary-scoreboard small { grid-area: small; color: var(--muted); font-size: .58rem; }
.career-summary-scoreboard strong { grid-area: strong; font-size: .92rem; }
.career-summary-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.career-summary-panel { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); }
.career-summary-panel > header { display: flex; align-items: center; gap: 9px; }
.career-summary-panel > header > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: color-mix(in srgb,var(--primary) 13%,var(--panel-2)); color: var(--primary); }
.career-summary-panel > header div { display: grid; }
.career-summary-panel > header small { color: var(--muted); font-size: .58rem; }
.career-summary-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.career-summary-list > span { display: grid; gap: 3px; padding: 9px; border-radius: 11px; background: var(--panel-2); }
.career-summary-list small { color: var(--muted); font-size: .56rem; }
.career-summary-list strong { font-size: .75rem; }
.career-summary-highlight {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid color-mix(in srgb,#eab308 38%,var(--line));
  border-radius: 16px;
  background: color-mix(in srgb,#eab308 9%,var(--panel));
}
.career-summary-highlight > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: color-mix(in srgb,#eab308 17%,var(--panel-2)); color: #d39b00; }
.career-summary-highlight div { display: grid; gap: 2px; }
.career-summary-highlight small,.career-summary-highlight p { color: var(--muted); }
.career-summary-highlight p { margin: 1px 0 0; font-size: .62rem; }
.career-summary-current { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel-2); }
.career-summary-current > span { color: var(--primary); }
.career-summary-current > div { display: grid; }
.career-summary-current small { color: var(--muted); font-size: .55rem; }
.career-summary-current strong { font-size: .7rem; }
@media (max-width: 560px) {
  .career-summary-hero { grid-template-columns: auto minmax(0,1fr); padding: 14px; }
  .career-summary-season { grid-column: 1 / -1; grid-template-columns: auto auto; justify-content: center; gap: 7px; }
  .career-summary-scoreboard,.career-summary-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .career-summary-current { grid-template-columns: auto 1fr; }
}

/* Fila de conquistas: um modal por vez, sem descarte automático. */
.award-modal-queue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 13px;
  background: color-mix(in srgb,var(--primary) 8%,var(--panel));
}
.award-modal-queue span { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; }
.award-modal-queue small { color: var(--muted); text-align: right; }
.celebration-card {
  position: relative;
  min-height: 300px;
  padding: 26px 20px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--team-gradient-text,#fff) 22%,transparent);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.24),transparent 30%),
    radial-gradient(circle at 12% 90%,color-mix(in srgb,var(--team-secondary) 54%,transparent),transparent 38%),
    var(--team-palette-gradient,linear-gradient(135deg,var(--primary),var(--primary-2)));
}
.celebration-confetti {
  position: absolute;
  inset: 0;
  opacity: .24;
  background-image:
    radial-gradient(circle at 12% 20%,#fff 0 2px,transparent 3px),
    radial-gradient(circle at 82% 18%,#ffe27a 0 3px,transparent 4px),
    radial-gradient(circle at 22% 78%,#fff 0 2px,transparent 3px),
    radial-gradient(circle at 76% 76%,#ffe27a 0 2px,transparent 3px);
  background-size: 70px 70px,90px 90px,82px 82px,64px 64px;
  pointer-events: none;
}
.celebration-emblems { position: relative; display: flex; align-items: center; justify-content: center; gap: 16px; }
.celebration-emblems .crest { width: 72px; height: 84px; filter: drop-shadow(0 10px 18px rgba(0,0,0,.28)); }
.celebration-trophy { width: 78px; height: 78px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.13); font-size: 2.25rem; }
.celebration-card .placement-rank { position: relative; min-width: 0; min-height: 0; padding: 6px 11px; border-color: rgba(255,255,255,.38); background: rgba(0,0,0,.18); }
.celebration-card .placement-rank.is-title { border-color: rgba(255,226,122,.55); color: #ffe27a; }
.celebration-card > .kicker { position: relative; color: rgba(255,255,255,.78) !important; }
.celebration-card h3 { position: relative; max-width: 28ch; margin-top: 3px; font-size: clamp(1.25rem,5vw,1.8rem); }
.celebration-prize { position: relative; display: grid; gap: 3px; margin-top: 5px; padding: 10px 16px; border: 1px solid rgba(255,226,122,.38); border-radius: 15px; background: rgba(0,0,0,.18); }
.celebration-prize small { color: rgba(255,255,255,.76) !important; }
.celebration-prize strong { color: #ffe27a !important; font-size: 1.35rem; }
.celebration-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
.celebration-details li { border-radius: 13px; }
@media (max-width: 560px) {
  .award-modal-queue { display: grid; }
  .award-modal-queue small { text-align: left; }
  .celebration-details { grid-template-columns: 1fr; }
}

/* Dia de jogo sem o campo artificial e com informações realmente úteis. */
.matchday-cinematic { min-height: 0 !important; }
.matchday-context-strip { display: flex; flex-wrap: wrap; gap: 7px; }
.matchday-context-strip > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(4,12,8,.42);
  color: rgba(255,255,255,.88);
  font-size: .61rem;
}
.matchday-context-strip > span.is-classic { border-color: rgba(255,190,80,.46); background: rgba(128,65,0,.26); color: #ffe1a0; }
.matchday-info-grid.is-expanded { grid-template-columns: repeat(3,minmax(0,1fr)); }
.matchday-auto-manager {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(4,12,8,.48);
  cursor: pointer;
}
.matchday-auto-manager.is-active { border-color: rgba(72,220,125,.52); background: rgba(20,105,58,.34); }
.matchday-auto-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,255,255,.11); color: #baf5d0; }
.matchday-auto-manager > span:nth-child(2) { display: grid; gap: 3px; }
.matchday-auto-manager small { color: rgba(255,255,255,.72); line-height: 1.35; }
.matchday-auto-manager input { width: 42px; height: 24px; accent-color: #22c55e; cursor: pointer; }
html[data-theme="light"] .matchday-context-strip > span,
html[data-theme="light"] .matchday-auto-manager { color: var(--text); border-color: var(--line); background: color-mix(in srgb,var(--panel) 92%,var(--primary) 8%); }
html[data-theme="light"] .matchday-context-strip > span.is-classic { color: #7a4700; border-color: rgba(160,98,0,.35); background: #fff3d5; }
html[data-theme="light"] .matchday-auto-manager small { color: var(--muted); }
@media (max-width: 600px) {
  .matchday-info-grid.is-expanded { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 390px) {
  .matchday-info-grid.is-expanded { grid-template-columns: 1fr; }
}

/* Campeão recebe uma apresentação mais nobre, sem comprometer a leitura. */
.competition-end-summary.is-champion .competition-end-hero {
  border-color: color-mix(in srgb,#eab308 46%,var(--border));
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,#ffe27a 24%,transparent),transparent 32%),
    linear-gradient(135deg,color-mix(in srgb,var(--team-primary,var(--primary)) 18%,var(--surface)),var(--surface));
  box-shadow: 0 16px 34px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.12);
}
.competition-end-summary.is-champion .competition-end-emblem {
  border-color: color-mix(in srgb,#eab308 48%,var(--border));
  background: radial-gradient(circle at 50% 28%,#fff9d7,var(--surface) 66%);
  box-shadow: 0 10px 24px color-mix(in srgb,#eab308 18%,transparent);
}
.competition-end-summary.is-champion .competition-end-position {
  background: linear-gradient(180deg,#f5c542,#b97a00);
  color: #201400;
  box-shadow: 0 8px 18px rgba(185,122,0,.22);
}

/* ===== V221 · leitura mobile, modais compactos e resultados claros ===== */

/* Resumo da carreira: identidade alinhada, sem foto e escudo sobrepostos. */
.career-summary-hero {
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px !important;
  overflow: visible !important;
  border-radius: 18px !important;
}
.career-summary-person {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  gap: 10px;
}
.career-summary-manager {
  position: static !important;
  width: 48px !important;
  height: 48px !important;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid color-mix(in srgb,var(--team-gradient-text,#fff) 34%,transparent);
  border-radius: 50% !important;
  background: color-mix(in srgb,var(--panel) 90%,transparent);
  color: var(--text);
  box-shadow: 0 6px 14px rgba(0,0,0,.2);
  font-size: 1rem;
  font-weight: 600;
}
.career-summary-manager > :is(img,span),
.career-summary-manager .manager-profile-photo {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}
.career-summary-copy { min-width: 0; }
.career-summary-copy h3 {
  margin: 2px 0 3px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem !important;
}
.career-summary-copy p {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .59rem;
}
.career-summary-copy p > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.career-summary-club-inline {
  width: 27px;
  height: 31px;
  flex: 0 0 27px;
  display: grid;
  place-items: center;
}
.career-summary-club-inline .crest { width: 25px !important; height: 29px !important; }
.career-summary-season {
  min-width: 62px;
  padding: 7px 9px !important;
  border-radius: 12px !important;
}
.career-summary-season small { font-size: .48rem; }
.career-summary-season strong { font-size: .86rem !important; }
.career-summary-scoreboard { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.career-summary-columns { grid-template-columns: 1fr !important; }
.career-summary-panel { padding: 11px !important; }
.career-summary-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.career-summary-current { grid-template-columns: auto minmax(0,1fr) !important; }

/* Dia de jogo: tudo nasce em geometria de celular e as ações aparecem antes dos detalhes. */
.matchday-cinematic {
  gap: 9px !important;
  padding: 13px !important;
  border-radius: 18px !important;
}
.matchday-stage {
  grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr) !important;
  gap: 5px !important;
  min-height: 104px !important;
}
.matchday-team { gap: 4px !important; }
.matchday-team .crest { width: 52px !important; height: 58px !important; }
.matchday-team strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .69rem !important;
}
.matchday-team small { font-size: .48rem; }
.matchday-versus { gap: 1px !important; }
.matchday-versus span { font-size: .48rem !important; letter-spacing: .08em !important; }
.matchday-versus strong { font-size: 1.28rem !important; }
.matchday-versus small { font-size: .48rem; }
.matchday-context-strip { gap: 5px !important; }
.matchday-context-strip > span {
  min-width: 0;
  padding: 5px 7px !important;
  gap: 5px !important;
  font-size: .52rem !important;
}
.matchday-actions {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px !important;
  margin: 0 !important;
}
.matchday-actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 45px;
  padding-inline: 7px;
  font-size: .61rem;
}
.matchday-form-panel,
.matchday-detail-list {
  display: grid;
  gap: 6px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  background: rgba(4,12,8,.44);
}
.matchday-compact-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.72);
  font-size: .53rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.matchday-form-team {
  min-width: 0;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  align-items: center;
  gap: 7px;
}
.matchday-form-team > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .59rem;
}
.matchday-form-sequence { display: flex; align-items: center; gap: 4px; }
.matchday-form-chip {
  width: 21px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #fff;
  font-size: .52rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}
.matchday-form-chip.is-win { background: #168447; border-color: #2bc36f; }
.matchday-form-chip.is-draw { background: #8a6510; border-color: #d6a72c; }
.matchday-form-chip.is-loss { background: #a43245; border-color: #df5a6e; }
.matchday-form-chip.is-empty { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.72); }
.matchday-detail-list > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px 72px minmax(0,1fr);
  align-items: center;
  gap: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.matchday-detail-list > span:last-child { padding-bottom: 0; border-bottom: 0; }
.matchday-detail-list > span > i { color: #baf5d0; text-align: center; }
.matchday-detail-list small { color: rgba(255,255,255,.64); font-size: .51rem; }
.matchday-detail-list strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #fff;
  font-size: .58rem;
  text-align: right;
}
.matchday-auto-manager {
  gap: 8px !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
}
.matchday-auto-icon { width: 34px !important; height: 34px !important; border-radius: 11px !important; }
.matchday-auto-manager strong { font-size: .62rem; }
.matchday-auto-manager small { font-size: .52rem; line-height: 1.25 !important; }
.matchday-auto-manager input { width: 38px !important; height: 22px !important; }
html[data-theme="light"] .matchday-form-panel,
html[data-theme="light"] .matchday-detail-list {
  border-color: var(--line);
  background: color-mix(in srgb,var(--panel) 92%,var(--primary) 8%);
}
html[data-theme="light"] .matchday-compact-title,
html[data-theme="light"] .matchday-detail-list small { color: var(--muted); }
html[data-theme="light"] .matchday-form-team > strong,
html[data-theme="light"] .matchday-detail-list strong { color: var(--text); }
html[data-theme="light"] .matchday-detail-list > span { border-bottom-color: var(--line); }
html[data-theme="light"] .matchday-detail-list > span > i { color: var(--primary); }

/* Classificação ao vivo: respiro antes do cabeçalho Pos./Clube/Jogos/Saldo/Pontos. */
.live-standings-pane .live-table-columns,
.observer-live-standings .live-table-columns { margin-top: 8px; }

/* Resultados: nome, escudo, placar, escudo, nome; somente o nome do vencedor fica verde. */
.post-round-result {
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important;
  gap: 6px !important;
}
.post-round-team.is-home { justify-content: flex-end; text-align: right; }
.post-round-team.is-away { justify-content: flex-start; text-align: left; }
.post-round-result > em {
  grid-column: 1 / -1;
  min-width: 0 !important;
  margin-top: -2px;
  text-align: center !important;
}
.post-round-team.is-winner {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}
.post-round-team.is-winner b {
  color: #2fc878 !important;
  font-weight: 600 !important;
}
html[data-theme="light"] .post-round-team.is-winner { background: transparent !important; border: 0 !important; }
.post-round-result.has-winner > strong { border-color: var(--line) !important; }

/* Métricas abaixo do campo: espaço lateral e inferior, mantendo o topo existente. */
.lineup-pitch-metrics,
.tactic-preview-caption {
  padding-inline: 12px !important;
  padding-bottom: 12px !important;
}
.lineup-pitch-metrics { padding-top: 10px !important; }

/* Somente celulares ainda menores recebem uma redução adicional. */
@media (max-width: 350px) {
  .career-summary-hero { grid-template-columns: 1fr !important; }
  .career-summary-season { width: 100%; grid-template-columns: auto auto; justify-content: center; gap: 6px; }
  .matchday-actions .btn { font-size: .56rem; padding-inline: 4px; }
  .matchday-form-chip { width: 19px; height: 19px; }
  .matchday-detail-list > span { grid-template-columns: 17px 62px minmax(0,1fr); }
}

/* ==========================================================
   V222 · campo ao vivo sem molduras artificiais
   ========================================================== */
.live-management-bar,
.match-screen .live-management-bar,
.observer-screen .live-management-bar,
html[data-theme="light"] .live-management-bar {
  background: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border-top: 0 !important;
}

.pitch-score::before {
  content: none !important;
  display: none !important;
}


/* =========================================================
   V223 · atualização neutra, campo ao vivo e perfis universais
   ========================================================= */

/* O modal de atualização pertence ao Goooool, não ao clube da carreira. */
.app-modal.is-update-release {
  --update-game-accent: #32d17d;
  --update-game-accent-strong: #167a4d;
  --update-game-on-accent: #07130c;
  --update-game-header: #0b3b29;
  --update-game-header-text: #f7fff9;
  --primary: var(--update-game-accent) !important;
  --primary-2: var(--update-game-accent-strong) !important;
  --on-primary: var(--update-game-on-accent) !important;
  --primary-contrast: var(--update-game-on-accent) !important;
  color: var(--text) !important;
  background: var(--panel) !important;
  border-color: color-mix(in srgb,var(--update-game-accent) 34%,var(--line)) !important;
}
.app-modal.is-update-release > header {
  color: var(--update-game-header-text) !important;
  background:
    radial-gradient(circle at 12% 0,rgba(255,255,255,.12),transparent 42%),
    linear-gradient(135deg,var(--update-game-header),var(--update-game-accent-strong)) !important;
  border-bottom-color: rgba(255,255,255,.18) !important;
}
.app-modal.is-update-release > header :is(h2,.kicker,.fa-solid,.fa-regular,button) {
  color: inherit !important;
}
.app-modal.is-update-release > header :is(.modal-close,.modal-back) {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.app-modal.is-update-release .app-modal-body {
  color: var(--text) !important;
  background: var(--panel) !important;
}
.app-modal.is-update-release .update-release-hero {
  color: var(--text) !important;
  background: color-mix(in srgb,var(--update-game-accent) 9%,var(--panel)) !important;
  border-color: color-mix(in srgb,var(--update-game-accent) 30%,var(--line)) !important;
}
.app-modal.is-update-release .update-release-hero :is(h3,p,small,.kicker) {
  color: inherit !important;
}
.app-modal.is-update-release .update-release-hero p,
.app-modal.is-update-release .update-release-hero small {
  color: var(--muted) !important;
}
.app-modal.is-update-release .update-release-icon,
.app-modal.is-update-release .update-release-hero > b,
.app-modal.is-update-release .sticky-modal-actions .btn:not(.secondary) {
  color: var(--update-game-on-accent) !important;
  background: var(--update-game-accent) !important;
  border-color: color-mix(in srgb,var(--update-game-accent) 70%,#ffffff 18%) !important;
}
.app-modal.is-update-release .update-release-hero > b {
  min-width: 44px;
  min-height: 30px;
  display: grid;
  place-items: center;
  text-align: center !important;
  line-height: 1 !important;
}
.app-modal.is-update-release .update-release-changes li,
.app-modal.is-update-release .update-release-safety {
  color: var(--text) !important;
  background: color-mix(in srgb,var(--update-game-accent) 5%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--update-game-accent) 22%,var(--line)) !important;
}
html[data-theme="light"] .app-modal.is-update-release {
  --update-game-accent: #117646;
  --update-game-accent-strong: #0b5e38;
  --update-game-on-accent: #ffffff;
  --update-game-header: #e6f4eb;
  --update-game-header-text: #0b3424;
}
html[data-theme="light"] .app-modal.is-update-release > header :is(.modal-close,.modal-back) {
  background: rgba(11,52,36,.07) !important;
  border-color: rgba(11,52,36,.18) !important;
}

/* A explicação da classificação é um elemento central. */
.live-standings-explainer {
  justify-content: center !important;
  text-align: center !important;
}
.live-standings-explainer > span { text-align: center !important; }

/* Comandos comuns usam o verde do próprio campo em ambos os temas. */
.match-screen .live-management-actions .live-command-button:not(.integrity-action):not(.post-match-panel-button):not(:disabled):not([aria-disabled="true"]),
.match-screen .live-management-actions .btn:not(.live-pause-button):not(.integrity-action):not(.post-match-panel-button):not(.danger):not(:disabled):not([aria-disabled="true"]) {
  color: #ffffff !important;
  background: linear-gradient(180deg,#247a4c,#155f3b) !important;
  border-color: #4a9f73 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.match-screen .live-management-actions .live-command-button:not(.integrity-action):not(.post-match-panel-button):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible),
.match-screen .live-management-actions .btn:not(.live-pause-button):not(.integrity-action):not(.post-match-panel-button):not(.danger):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible) {
  color: #ffffff !important;
  background: linear-gradient(180deg,#2d8d5b,#196a42) !important;
  border-color: #72bb92 !important;
}
.match-screen .live-pause-button:not(.is-paused):not(.is-ended):not(:disabled) {
  color: #ffffff !important;
  background: linear-gradient(180deg,#247a4c,#155f3b) !important;
  border-color: #4a9f73 !important;
}
.match-screen .live-management-actions .btn:disabled,
.match-screen .live-management-actions .btn[aria-disabled="true"],
.match-screen .live-management-actions .btn.is-disabled {
  color: rgba(255,255,255,.72) !important;
  background: #17472f !important;
  border-color: #35664d !important;
  opacity: .34 !important;
  filter: grayscale(.55) saturate(.5) !important;
  box-shadow: none !important;
}

/* Só o nome do vencedor fica verde, com tom próprio para cada tema. */
.post-round-team.is-winner b {
  color: #35d58a !important;
}
html[data-theme="light"] .post-round-team.is-winner b {
  color: #0b6f3c !important;
}

/* ===== V224 · todos os comandos dentro do campo usam a paleta do gramado ===== */
.live-management-bar {
  --field-command-top: #216f47;
  --field-command-bottom: #125437;
  --field-command-border: #4e9a72;
  --field-command-hover-top: #2b8055;
  --field-command-hover-bottom: #176140;
  --field-command-text: #ffffff;
}

.live-management-bar .live-management-actions :is(button,.btn) {
  color: var(--field-command-text) !important;
  -webkit-text-fill-color: var(--field-command-text) !important;
  background: linear-gradient(180deg,var(--field-command-top),var(--field-command-bottom)) !important;
  border-color: var(--field-command-border) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 2px 5px rgba(5,36,23,.18) !important;
  filter: none !important;
}

.live-management-bar .live-management-actions :is(button,.btn) :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
) {
  color: var(--field-command-text) !important;
  -webkit-text-fill-color: var(--field-command-text) !important;
}

.live-management-bar .live-management-actions :is(button,.btn):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active) {
  color: var(--field-command-text) !important;
  -webkit-text-fill-color: var(--field-command-text) !important;
  background: linear-gradient(180deg,var(--field-command-hover-top),var(--field-command-hover-bottom)) !important;
  border-color: #72b58f !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 3px 8px rgba(5,36,23,.24) !important;
}

.live-management-bar .live-management-actions :is(button,.btn):disabled,
.live-management-bar .live-management-actions :is(button,.btn)[aria-disabled="true"],
.live-management-bar .live-management-actions :is(button,.btn).is-disabled,
.live-management-bar .live-management-actions :is(button,.btn).is-ended {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
  background: linear-gradient(180deg,rgba(33,111,71,.72),rgba(18,84,55,.72)) !important;
  border-color: rgba(78,154,114,.68) !important;
  opacity: .46 !important;
  filter: saturate(.72) brightness(.9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.live-management-bar .live-management-actions :is(button,.btn):disabled :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
),
.live-management-bar .live-management-actions :is(button,.btn)[aria-disabled="true"] :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
),
.live-management-bar .live-management-actions :is(button,.btn).is-disabled :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
),
.live-management-bar .live-management-actions :is(button,.btn).is-ended :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
) {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

/* ===== V225 · auditoria definitiva de cores, perfis e placares ===== */

/* O selo de foco nunca herda preto, branco ou cores do clube. */
.live-score-auto-badge {
  background: linear-gradient(180deg,#216f47,#125437) !important;
  border-color: #68b58c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
.live-score-auto-badge :is(svg,.fa-solid,.fa-regular,span,strong,small) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Estados com fundo sólido usam uma única cor contrastante em texto e ícone. */
.post-match-head.is-victory { --post-outcome-accent:#146c43 !important; --post-outcome-on:#ffffff !important; }
.post-match-head.is-draw { --post-outcome-accent:#8a5a09 !important; --post-outcome-on:#ffffff !important; }
.post-match-head.is-defeat { --post-outcome-accent:#a92f42 !important; --post-outcome-on:#ffffff !important; }
.post-match-head.is-neutral { --post-outcome-accent:#2d6398 !important; --post-outcome-on:#ffffff !important; }
.post-match-outcome-label,
.post-match-outcome-label :is(svg,.fa-solid,.fa-regular,span,strong,b,small) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* Badges e chips não misturam a cor do texto com uma cor diferente no ícone. */
:is(
  .badge,
  .notification-status,
  .post-match-outcome-label,
  .post-match-dual-status > span,
  .matchday-form-chip,
  .live-score-auto-badge,
  .shootout-user-result,
  .risk-badge,
  .is-success-soft
) :is(svg,.fa-solid,.fa-regular,span,strong,b,small) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* O nome do vencedor tem verde contrastante sem pintar o restante do card. */
.post-round-team.is-winner b,
.post-round-team.is-winner .post-round-entity-link {
  color: #35d58a !important;
  -webkit-text-fill-color: #35d58a !important;
}
html[data-theme="light"] .post-round-team.is-winner b,
html[data-theme="light"] .post-round-team.is-winner .post-round-entity-link {
  color: #086438 !important;
  -webkit-text-fill-color: #086438 !important;
}

/* Nomes clicáveis mantêm a tipografia do local em vez de parecer botão genérico. */
:is(
  .scorer-player-link,
  .post-round-entity-link,
  .post-team-entity-link,
  .post-table-entity-link,
  .fixture-team-entity-link
) {
  min-width: 0;
  max-width: 100%;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-align: inherit !important;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
:is(
  .scorer-player-link,
  .post-round-entity-link,
  .post-team-entity-link,
  .post-table-entity-link,
  .fixture-team-entity-link
):is(:hover,:focus-visible) {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* O friso inferior do clube não combina com o card arredondado do placar. */
.pitch-score .fixture-team.team-tone::after,
.post-match-scoreline .fixture-team.team-tone::after,
.modern-scoreline .fixture-team.team-tone::after {
  content: none !important;
  display: none !important;
  height: 0 !important;
  background: none !important;
}

/* Regra visual e regra aplicada pelo JS usam o mesmo verde do gramado. */
.live-management-actions [data-field-command-button="true"],
.live-management-actions button,
.live-management-actions .btn,
html[data-theme="light"] .live-management-actions button,
html[data-theme="light"] .live-management-actions .btn,
html[data-theme="dark"] .live-management-actions button,
html[data-theme="dark"] .live-management-actions .btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#216f47,#125437) !important;
  border-color: #4e9a72 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(5,36,23,.18) !important;
}
.live-management-actions :is(button,.btn) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.live-management-actions :is(button,.btn):is(:disabled,[aria-disabled="true"],.is-disabled,.is-ended) {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
  background: linear-gradient(180deg,rgba(33,111,71,.74),rgba(18,84,55,.74)) !important;
  border-color: rgba(78,154,114,.70) !important;
  opacity: .46 !important;
  filter: saturate(.72) brightness(.9) !important;
}
.live-management-actions :is(button,.btn):is(:disabled,[aria-disabled="true"],.is-disabled,.is-ended) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small) {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

/* ==========================================================
   V226 · estabilidade do ao vivo, resultados e ações mobile
   ========================================================== */

/* Textos centrais de confronto ficam realmente centralizados. */
.matchday-versus,
.friendly-versus,
.calendar-showcase-versus {
  text-align: center !important;
}
.matchday-versus :is(span,strong,small),
.friendly-versus :is(span,strong,small),
.calendar-showcase-versus :is(span,strong,small) {
  text-align: inherit !important;
}

/* Ações principais do Dia de jogo têm leitura e área de toque maiores. */
.matchday-actions .btn {
  min-height: 52px !important;
  padding: 10px 12px !important;
  gap: 8px !important;
  font-size: .72rem !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
}
.matchday-actions .btn :is(.fa-solid,.fa-regular,svg) {
  font-size: 1.02rem !important;
}
.matchday-actions :is([data-matchday-continue],[data-national-matchday-continue]) {
  color: var(--play-cta-text,#fff) !important;
  -webkit-text-fill-color: var(--play-cta-text,#fff) !important;
  background: linear-gradient(180deg,var(--play-cta-start,#22c55e),var(--play-cta-end,#15803d)) !important;
  border-color: color-mix(in srgb,var(--play-cta-start,#22c55e) 64%,#fff 10%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24),0 8px 18px var(--play-cta-shadow,rgba(21,128,61,.32)) !important;
}
.matchday-actions :is([data-matchday-continue],[data-national-matchday-continue]) :is(.fa-solid,.fa-regular,svg,span,strong) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Acertos, problemas e próximo passo usam semântica consistente em ambos os temas. */
.assistant-review-grid article:nth-child(1) {
  border-color: rgba(53,213,138,.34) !important;
  background: rgba(16,91,56,.34) !important;
}
.assistant-review-grid article:nth-child(1) > strong { color: #67e8a6 !important; }
.assistant-review-grid article:nth-child(2) {
  border-color: rgba(244,99,117,.36) !important;
  background: rgba(112,29,45,.34) !important;
}
.assistant-review-grid article:nth-child(2) > strong { color: #ff8797 !important; }
.assistant-review-grid article:nth-child(3) {
  border-color: rgba(96,165,250,.34) !important;
  background: rgba(24,68,123,.32) !important;
}
.assistant-review-grid article:nth-child(3) > strong { color: #8ec5ff !important; }
.assistant-review-grid article > strong :is(.fa-solid,.fa-regular,svg) { color: inherit !important; }
html[data-theme="light"] .assistant-review-grid article:nth-child(1) {
  border-color: #9dd9b7 !important;
  background: #edf9f2 !important;
}
html[data-theme="light"] .assistant-review-grid article:nth-child(1) > strong { color: #086438 !important; }
html[data-theme="light"] .assistant-review-grid article:nth-child(2) {
  border-color: #e6b2ba !important;
  background: #fff2f4 !important;
}
html[data-theme="light"] .assistant-review-grid article:nth-child(2) > strong { color: #9f2339 !important; }
html[data-theme="light"] .assistant-review-grid article:nth-child(3) {
  border-color: #b5ccec !important;
  background: #f1f6fd !important;
}
html[data-theme="light"] .assistant-review-grid article:nth-child(3) > strong { color: #205a9e !important; }

/* A lista de resultados cresce naturalmente; não cria rolagem interna. */
.post-round-results {
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
  scrollbar-width: auto !important;
}

/* Colunas estáveis evitam nomes pulando quando o placar ou o status mudam. */
.post-round-result {
  grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr) !important;
  column-gap: 7px !important;
}
.post-round-team {
  min-width: 0 !important;
  width: 100%;
  display: grid !important;
  align-items: center;
  gap: 6px !important;
}
.post-round-team.is-home {
  grid-template-columns: minmax(0,1fr) auto;
  justify-content: stretch !important;
}
.post-round-team.is-away {
  grid-template-columns: auto minmax(0,1fr);
  justify-content: stretch !important;
}
.post-round-team b,
.post-round-team .post-round-entity-link {
  min-width: 0 !important;
  width: 100%;
  max-width: 100%;
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  direction: ltr;
}
.post-round-team.is-home :is(b,.post-round-entity-link) { text-align: right !important; }
.post-round-team.is-away :is(b,.post-round-entity-link) { text-align: left !important; }
.post-round-result > strong {
  width: 64px;
  min-width: 64px !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* Jogos acompanhados: largura fixa no placar e nomes com reticências somente no final. */
.match-screen .live-score-tile,
.observer-screen .live-score-tile {
  grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr) !important;
  column-gap: 7px !important;
}
.match-screen .live-score-tile > strong,
.observer-screen .live-score-tile > strong {
  width: 64px;
  min-width: 64px !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.match-screen .live-score-tile .live-club,
.observer-screen .live-score-tile .live-club {
  min-width: 0 !important;
  width: 100%;
}
.match-screen .live-score-tile .live-club b,
.observer-screen .live-score-tile .live-club b,
.live-table-club strong,
.live-table-club .inline-entity-link {
  min-width: 0 !important;
  max-width: 100%;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  direction: ltr;
}
.live-table-scroll,
.live-competition-list,
.observer-tab-pane {
  scrollbar-gutter: stable;
}

/* A legenda acompanhando fica dentro do card e nunca sai da área visível. */
.live-score-tile.is-auto-focused {
  min-height: 78px !important;
  padding-top: 25px !important;
  overflow: visible !important;
}
.live-score-auto-badge {
  top: 4px !important;
  right: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 8 !important;
  background: #176a43 !important;
  color: #fff !important;
  border-color: #72bb92 !important;
  white-space: nowrap !important;
}
.live-score-auto-badge :is(.fa-solid,.fa-regular,svg,span) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Somente celulares minúsculos reduzem um pouco as ações. */
@media (max-width: 350px) {
  .matchday-actions .btn { min-height: 49px !important; font-size: .66rem !important; }
  .post-round-result,
  .match-screen .live-score-tile,
  .observer-screen .live-score-tile { grid-template-columns: minmax(0,1fr) 58px minmax(0,1fr) !important; }
  .post-round-result > strong,
  .match-screen .live-score-tile > strong,
  .observer-screen .live-score-tile > strong { width: 58px; min-width: 58px !important; }
}

/* ==========================================================
   V227 · foco do jogo acompanhado e nomes estáveis
   ========================================================== */

/* Links de entidades dentro de tabelas e placares não herdam a margem negativa antiga. */
.post-round-team :is(b,.post-round-entity-link),
.live-table-club :is(strong,.inline-entity-link),
.match-screen .live-score-tile .live-club b,
.observer-screen .live-score-tile .live-club b {
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 1px !important;
  box-sizing: border-box !important;
}
.post-round-team .post-round-entity-link,
.live-table-club .inline-entity-link {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.live-table-club {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.live-table-club strong {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.post-round-team {
  overflow: hidden !important;
}

/* O card acompanhado possui espaço interno para o selo e é o alvo central da rolagem. */
.match-screen [data-live-pane="other-games"] .live-score-tile.is-auto-focused {
  scroll-margin-block: calc(50% - 39px) !important;
}
.live-score-auto-badge {
  max-width: calc(100% - 12px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* ==========================================================
   V228 · links estáveis, ao vivo sem toasts globais
   ========================================================== */

/* A margem negativa antiga cortava a primeira letra dentro de tabelas e cards com overflow. */
.inline-entity-link {
  margin: 0 !important;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  vertical-align: middle;
}

/* Em áreas de nome, preservar o início e usar reticências somente no final. */
:is(.post-round-team,.post-table-club,.live-table-club,.fixture-team,.live-club,.team-label,.post-team-side,.favorite-player-name,.favorite-player-team) .inline-entity-link {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  direction: ltr;
}

/* Durante partidas, toasts globais comuns não aparecem; avisos internos do campo continuam intactos. */
.toast-stack.is-live-context .toast:not(.is-live-allowed) {
  display: none !important;
}

/* ==========================================================
   V229 · classificações completas e links com reticências
   ========================================================== */

/* O link comum volta a se comportar como texto. Tabelas podem transformá-lo em bloco para ellipsis. */
.inline-entity-link {
  display: inline !important;
  align-items: initial !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: baseline !important;
}
:is(.post-round-team,.post-table-club,.live-table-club,.fixture-team,.live-club,.team-label,.post-team-side) .inline-entity-link {
  display: block !important;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Todas as tabelas de pontos usam a mesma ordem e podem rolar horizontalmente no celular. */
.standings-scroll,
.league-standings-wrap,
.live-standings-table {
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.live-standings-table { overflow-y: auto !important; }
.live-table-columns,
.live-table-row,
.post-table-head,
.post-table-row {
  grid-template-columns: 46px minmax(150px,1fr) 42px 42px 42px 38px 42px 42px 42px 42px 118px !important;
  gap: 5px !important;
  min-width: 704px;
}
.live-table-columns,
.post-table-head {
  padding-inline: 8px !important;
}
.live-table-row,
.post-table-row {
  padding-inline: 8px !important;
}
.live-table-columns > span:not(:nth-child(2)),
.post-table-head > span:not(:nth-child(2)),
.live-table-row > :not(.live-table-position):not(.live-table-club),
.post-table-row > :not(.post-position):not(.post-table-club) {
  text-align: center !important;
  font-variant-numeric: tabular-nums;
}
.live-table-club,
.post-table-club {
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}
.live-table-club strong,
.post-table-club b {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.standings-points { font-weight: 600; }
.standings-form-cell { display: flex; align-items: center; justify-content: center; }
.form-sequence.is-standings {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 106px;
}
.form-sequence.is-standings i {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  font-size: .52rem;
}
.form-sequence.is-standings i.is-empty {
  color: var(--muted);
  background: color-mix(in srgb,var(--muted) 14%,var(--panel-2));
  border: 1px solid color-mix(in srgb,var(--muted) 24%,transparent);
}

/* Tabela principal: nenhuma estatística é escondida. */
.league-standings-table {
  width: 100%;
  min-width: 760px !important;
  table-layout: auto !important;
}
.league-standings-table :is(th,td) {
  display: table-cell !important;
  width: auto !important;
  min-width: 40px;
  padding-inline: 6px;
  text-align: center;
  white-space: nowrap;
}
.league-standings-table :is(th,td):nth-child(1) { min-width: 52px; }
.league-standings-table :is(th,td):nth-child(2) {
  min-width: 170px;
  text-align: left;
}
.league-standings-table :is(th,td):nth-child(11) { min-width: 118px; }
.league-standings-table .table-club-cell { min-width: 0; }
.league-standings-table .table-club-cell .team-label {
  width: 100%;
  min-width: 0;
}
.league-standings-table .table-club-cell .team-label b,
.league-standings-table .table-club-cell .inline-entity-link {
  display: block !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.post-table-scroll { width: 100%; }
.qualifier-standings-table,
.world-group-standings { width: 100%; }
.world-group { min-width: 0 !important; }
.world-group-standings .live-table-columns { top: 0; }

@media (max-width: 350px) {
  .live-table-columns,
  .live-table-row,
  .post-table-head,
  .post-table-row {
    grid-template-columns: 42px minmax(132px,1fr) 40px 40px 40px 36px 40px 40px 40px 40px 108px !important;
    min-width: 650px;
  }
  .form-sequence.is-standings { min-width: 98px; gap: 2px; }
  .form-sequence.is-standings i { flex-basis: 17px; width: 17px; height: 17px; }
}

/* ==========================================================
   V230 · rolagem confiável nas tabelas completas do ao vivo
   ========================================================== */

/* As tabelas completas precisam rolar horizontalmente dentro da própria aba.
   A rolagem vertical continua sob responsabilidade do painel ativo. */
.match-screen .live-info-workspace > .other-live-panel.is-active .live-competition-list,
.match-screen .live-info-workspace > .live-standings-pane.is-active .live-standings-table {
  overflow-x: auto !important;
  overflow-y: visible !important;
  overscroll-behavior-inline: contain !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin;
}

/* Classificações no pós-jogo e em transmissões observadas também não podem
   herdar overflow-x:hidden de contêineres antigos. */
.match-screen .live-finish-pane .post-table-scroll,
.match-screen .live-finish-pane .standings-scroll,
.observer-screen .standings-scroll,
.observer-screen .live-standings-table {
  max-width: 100% !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain !important;
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin;
}

/* ===== V231 · contenção dos marcadores de pênaltis e bandeiras em conquistas ===== */

/* V/X das cobranças ficam integralmente dentro dos círculos pequenos. */
.penalty-mini-score article > span > :is(i,span).is-goal,
.penalty-mini-score article > span > :is(i,span).is-miss {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  contain: paint !important;
  line-height: 1 !important;
}
.penalty-mini-score article > span > :is(i,span).is-goal > .fa-solid,
.penalty-mini-score article > span > :is(i,span).is-miss > .fa-solid {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  font-size: 9px !important;
  line-height: 1 !important;
  overflow: hidden !important;
  transform: scale(.82) !important;
  transform-origin: center !important;
}

/* V/X da apresentação final também respeitam a caixa circular. */
.shootout-teams article > div > :is(i,span).is-goal,
.shootout-teams article > div > :is(i,span).is-miss {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  contain: paint !important;
  line-height: 1 !important;
}
.shootout-teams article > div > :is(i,span).is-goal > .fa-solid,
.shootout-teams article > div > :is(i,span).is-miss > .fa-solid {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  font-size: 10px !important;
  line-height: 1 !important;
  overflow: hidden !important;
  transform: scale(.82) !important;
  transform-origin: center !important;
}

/* A bandeira em emoji nunca ultrapassa a área reservada ao escudo no modal de campanha. */
.competition-end-emblem {
  overflow: hidden !important;
  contain: paint !important;
}
.competition-end-emblem .national-crest-emoji,
.competition-end-emblem .national-crest-emoji.is-featured,
.competition-end-emblem .national-crest-emoji.is-large {
  width: 52px !important;
  height: 40px !important;
  max-width: calc(100% - 12px) !important;
  max-height: calc(100% - 12px) !important;
  overflow: hidden !important;
  contain: paint !important;
  font-size: 2.45rem !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.16)) !important;
}
@media (max-width: 390px) {
  .competition-end-emblem .national-crest-emoji,
  .competition-end-emblem .national-crest-emoji.is-featured,
  .competition-end-emblem .national-crest-emoji.is-large {
    width: 40px !important;
    height: 30px !important;
    font-size: 1.95rem !important;
  }
}

/* ===== V235 · bandeira da seleção e salvamento visível no fim do jogo ===== */
.topbar-club-visual > .topbar-selection-flag,
.topbar-club-visual .national-crest-emoji.topbar-selection-flag {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 29px !important;
  height: 29px !important;
  min-width: 29px !important;
  max-width: 29px !important;
  min-height: 29px !important;
  max-height: 29px !important;
  place-items: center !important;
  overflow: visible !important;
  color: initial !important;
  -webkit-text-fill-color: initial !important;
  font-family: "Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",sans-serif !important;
  font-size: 1.55rem !important;
  font-variant-emoji: emoji;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
  clip-path: none !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.2)) !important;
}
html.national-duty-active .topbar-club-visual,
html.national-duty-active .topbar-club-summary {
  overflow: visible !important;
}

.match-screen,
.observer-screen { position: relative; }
.live-finalization-overlay {
  position: absolute;
  z-index: 140;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5,15,11,.62);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.live-finalization-overlay[hidden] { display: none !important; }
.live-finalization-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.live-finalization-card {
  width: min(100%, 320px);
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(116,205,154,.42);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(180deg,rgba(20,75,48,.98),rgba(8,40,27,.98));
  box-shadow: 0 16px 36px rgba(0,0,0,.32);
}
.live-finalization-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(255,255,255,.24);
  border-top-color: #fff;
  border-radius: 50%;
  animation: post-match-save-spin .75s linear infinite;
}
.live-finalization-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.live-finalization-copy strong,
.live-finalization-copy small,
.live-finalization-value { color: #fff !important; }
.live-finalization-copy strong { font-size: .88rem; line-height: 1.15; }
.live-finalization-copy small { font-size: .68rem; line-height: 1.35; opacity: .84; }
.live-finalization-value { font-size: .72rem; font-variant-numeric: tabular-nums; }
.live-finalization-progress {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}
.live-finalization-progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #8be0ad;
  transition: width .2s ease;
}
.live-finalization-overlay.is-complete .live-finalization-spinner {
  border-color: rgba(255,255,255,.35);
  border-top-color: #b8f4cf;
}
.live-finalization-overlay.is-complete .live-finalization-progress span { background: #b8f4cf; }
.live-finalization-overlay.is-error .live-finalization-card {
  border-color: rgba(255,150,150,.5);
  background: linear-gradient(180deg,rgba(117,34,45,.98),rgba(65,18,27,.98));
}
.live-finalization-overlay.is-error .live-finalization-progress span { background: #ff9aa8; }
.reduced-motion .live-finalization-spinner { animation: none !important; }
@media (max-width: 350px) {
  .live-finalization-card { grid-template-columns: 32px minmax(0,1fr) auto; padding: 12px; }
  .live-finalization-spinner { width: 28px; height: 28px; }
}


/* ===== V238 · marca completa, perfis no mercado e editor administrativo livre ===== */
.app-modal > header .kicker { letter-spacing: .08em; }
.market-player-open { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; width:100%; }
.market-player-open button { font:inherit; color:inherit; }
.market-club-crest.entity-name-link,
.market-overall[data-player-profile] { border:0; background:transparent; padding:0; cursor:pointer; }
.market-player-copy { min-width:0; }
.market-player-team-link,
.market-player-name-link,
.contract-player-name { display:block; width:max-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; padding:0; margin:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.market-player-team-link { font-size:.72rem; opacity:.78; }
.market-player-name-link { font-weight:600; font-size:inherit; }
.market-player-team-link:hover,
.market-player-name-link:hover,
.contract-player-name:hover { text-decoration:underline; }
.admin-club-lock-card { display:none !important; }

/* ===== V238 · editor livre, perfis no mercado e futebol brasileiro ===== */
.market-player-open button.market-free-avatar,
.market-player-open button.market-overall {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
}
.market-player-open button.market-free-avatar:focus-visible,
.market-player-open .market-player-name-link:focus-visible,
.market-player-open button.market-overall:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.free-agent-profile-hero .market-free-avatar {
  inline-size: 48px;
  block-size: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.club-editor-identity-grid select:disabled,
.club-editor-identity-grid input:disabled {
  opacity: .5;
}

/* V238 · rotas de negociação também abrem perfis completos */
.market-route-entity-link {
  appearance: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.market-route-name-link {
  display: block !important;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
}
.market-route-entity-link:hover,
.market-route-name-link:hover { filter: brightness(1.08); text-decoration: underline; }
.market-route-entity-link:focus-visible,
.market-route-name-link:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ===== V241 · ritmo visual e grupos de ações equilibrados ===== */
.landing-choice-shell > .landing-community-callout { margin-top: 10px; }
.landing-choice-shell > .landing-setup-stage { margin-top: 18px; }
.app-screen > .content > :is(.panel,.settings-group,.info-box,.empty,.table-wrap) + :is(.panel,.settings-group,.info-box,.empty,.table-wrap) { margin-top: 10px; }
:is(.panel,.settings-group,.app-modal-body) > :is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,.finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,.contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,.national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,.fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,.club-editor-palette-actions):not(:first-child) { margin-top: 9px; }

:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions] {
  display: grid !important;
  align-items: stretch !important;
  gap: var(--mobile-control-gap, 7px) !important;
}
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions] > :not([data-action-layout-visible="true"]) {
  grid-column: 1 / -1;
  min-width: 0;
}
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="1"] { grid-template-columns: minmax(0,1fr) !important; }
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="2"],
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="4"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="3"],
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="6"] { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
:where(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,
  .finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,
  .contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,
  .national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,
  .fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,
  .club-editor-palette-actions,.notification-item-actions,.session-window-actions,.retired-career-actions,
  .international-hero-actions,.favorite-player-actions,.national-player-actions,.league-live-actions,
  .landing-secondary-actions)[data-visible-actions="5"] { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
:where([data-visible-actions="5"]) > [data-action-layout-visible="true"] { grid-column: span 2 !important; }
:where([data-visible-actions="5"]) > :is([data-action-layout-index="4"],[data-action-layout-index="5"]) { grid-column: span 3 !important; }
:where([data-visible-actions]) > [data-action-layout-visible="true"] {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
  justify-content: center;
}
:where([data-visible-actions="1"]) > [data-action-layout-visible="true"] { grid-column: 1 / -1 !important; }
:where([data-visible-actions="2"],[data-visible-actions="3"],[data-visible-actions="4"],[data-visible-actions="6"]) > [data-action-layout-visible="true"] { grid-column: auto !important; }

@media (max-width: 350px) {
  :where([data-visible-actions="3"],[data-visible-actions="6"]) > [data-action-layout-visible="true"] {
    padding-inline: 5px !important;
    font-size: .66rem;
  }
}


/* A V241 também cobre grupos de ações criados dinamicamente em qualquer tela do jogo. */
[data-visible-actions] {
  display: grid !important;
  align-items: stretch !important;
  gap: var(--mobile-control-gap, 7px) !important;
}
[data-visible-actions="1"] { grid-template-columns: minmax(0,1fr) !important; }
[data-visible-actions="2"],
[data-visible-actions="4"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
[data-visible-actions="3"],
[data-visible-actions="6"] { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
[data-visible-actions="5"] { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
[data-visible-actions] > :not([data-action-layout-visible="true"]) {
  grid-column: 1 / -1;
  min-width: 0;
}


.celebration-share-preview {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.celebration-share-preview > header {
  display: grid;
  gap: 4px;
}
.celebration-share-preview .share-preview-canvas {
  width: min(100%, 360px);
  margin: 0 auto;
}


/* ===== V244 — auditoria visual ampla: home + jogo ao vivo + competições ===== */
:root {
  --audit-section-gap: 12px;
  --audit-card-gap: 10px;
  --audit-card-radius: 18px;
}

/* Home / página inicial */
.landing-choice-shell {
  display: grid;
  gap: 14px;
  align-content: start;
}
.landing-choice-shell > * {
  min-width: 0;
}
.landing-v99 .setup-actions,
.landing-v99 .team-picker-tools,
.landing-v99 .editor-grid,
.landing-v99 .save-slot-visual-list,
.landing-v99 .home-dashboard-grid {
  gap: 12px !important;
}
.landing-v99 .landing-continue-career,
.landing-v99 .landing-community-callout,
.landing-v99 .setup-selected-team,
.landing-v99 .landing-save-card,
.landing-v99 .landing-career-card,
.landing-v99 .landing-create-card {
  border-radius: 22px;
  overflow: hidden;
}
.landing-v99 .landing-continue-career {
  min-height: 92px;
  padding: 14px 16px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.landing-v99 .landing-mode-grid.setup-mode-switch {
  align-items: stretch;
}
.landing-v99 .landing-mode-grid.setup-mode-switch > .landing-mode-card {
  min-height: 156px;
  justify-content: space-between;
}
.landing-secondary-actions {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px !important;
  align-items: stretch;
}
.landing-secondary-actions > :is(button,label,span,a) {
  min-height: 72px;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  gap: 8px;
  padding: 12px 13px;
  border-radius: 16px;
}
.landing-secondary-actions > span {
  grid-column: 1 / -1;
}
.landing-community-callout {
  gap: 14px !important;
  padding: 16px !important;
}
.landing-save-card .save-slot-row,
.landing-save-card .save-slot-team-card {
  gap: 12px;
  align-items: center;
  border-radius: 16px;
}
.landing-save-card .save-slot-team-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.landing-save-card .save-slot-team-copy > :is(strong,span,small) {
  overflow-wrap: anywhere;
}
.landing-v99 .team-grid {
  padding-right: 4px;
  gap: 11px;
}
.landing-v99 .team-card {
  border-radius: 16px;
  min-height: 78px;
}
.landing-v99 .setup-selected-team {
  margin: 16px 0 0;
  box-shadow: 0 12px 24px rgba(0,0,0,.14);
}
.landing-v99 .setup-selected-team .selected-team-meta {
  gap: 8px;
  flex-wrap: wrap;
}

/* Jogo ao vivo */
.match-screen .match-header,
.match-screen .live-management-bar,
.match-screen .live-info-tabs,
.match-screen .live-info-workspace,
.match-screen .match-stats,
.match-screen .post-match-summary,
.match-screen .match-action-row,
.match-screen .finish-action-row {
  margin-bottom: 10px;
}
.match-screen .live-management-bar,
.match-screen .live-info-tabs,
.match-screen .match-events,
.match-screen .other-live-panel,
.match-screen .live-quick-statistics,
.match-screen .live-lineups-pane,
.match-screen .live-standings-pane,
.match-screen .post-match-summary {
  border-radius: 18px;
  overflow: hidden;
}
.match-screen .live-management-bar {
  padding: 10px 12px;
  gap: 10px;
}
.match-screen .live-management-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  align-items: stretch;
}
.match-screen .live-management-actions .btn {
  min-height: 40px;
  width: 100%;
}
.match-screen .live-info-tabs {
  gap: 6px;
  padding: 6px;
}
.match-screen .live-info-tabs > button {
  min-height: 52px;
  border-radius: 14px;
}
.match-screen .live-info-workspace > :is(.match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,.live-standings-pane) {
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.match-screen .other-live-panel {
  padding: 0;
}
.match-screen .other-live-panel.is-active .live-competition-list {
  padding: 10px;
  gap: 10px;
}
.match-screen .live-competition-group {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 10px;
}
.match-screen .live-competition-group > header {
  padding: 11px 12px;
  gap: 6px;
}
.match-screen .live-fixture-grid {
  gap: 10px;
}
.match-screen .live-score-tile,
.match-screen .observer-tile,
.match-screen .fixture-card.modern-scoreline {
  border-radius: 16px;
  min-height: 76px;
}
.match-screen .live-quick-statistics {
  padding: 12px;
}
.match-screen .live-stat-grid {
  gap: 8px;
}
.match-screen .live-stat-grid > div {
  border-radius: 14px;
}
.match-screen :is(.match-action-row,.finish-action-row) {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  padding: 0;
}
.match-screen :is(.match-action-row,.finish-action-row) .btn {
  min-height: 42px;
  border-radius: 14px;
}
.match-screen .observer-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

/* Competições */
.competition-stack,
.competition-hub,
.competition-podium-history,
.live-competition-list {
  gap: 12px;
}
.competition-snapshot,
.cup-card,
.standings-card,
.competition-podium-history-card,
.competition-end-columns > section {
  border-radius: 18px;
}
.competition-snapshot,
.cup-card,
.standings-card,
.competition-podium-history-card {
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.competition-snapshot .mini-row,
.standings-card .mini-row,
.competition-snapshot .mini-list {
  gap: 8px;
}
.cup-card header,
.competition-podium-history-card > header {
  gap: 10px;
}
.cup-card .cup-participants,
.competition-end-campaign,
.competition-end-podium,
.competition-end-awards {
  gap: 8px;
}
.competition-podium-history {
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: start;
}
.competition-podium-history-card {
  display: grid;
  gap: 10px;
  padding: 14px;
}
.competition-podium-history-card > header strong,
.competition-podium-history-row > strong {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  overflow-wrap: anywhere;
}
.competition-podium-history-row {
  gap: 8px;
  align-items: start;
}
.competition-podium-history-card footer {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}
.competition-end-columns {
  gap: 12px;
  align-items: start;
}
.competition-end-columns > section {
  padding: 12px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--panel-2) 72%, transparent);
}

/* Ajustes gerais de respiro */
.home-dashboard-grid,
.competition-stack,
.settings-group,
.stack,
.panel,
.match-screen .live-info-workspace {
  scroll-margin-top: 18px;
}
:is(.panel,.settings-group,.app-modal-body,.competition-end-columns > section) > :is(.button-pair,.control-row,.editor-action-grid,.share-preview-actions,.share-studio-actions,.finish-action-row,.investment-actions,.match-action-row,.matchday-actions,.offer-actions,.contract-actions,.market-actions,.save-slot-actions,.manager-profile-actions,.national-duty-actions,.national-duty-entry-actions,.player-talk-actions,.wiki-hero-actions,.community-hub-actions,.fc-pack-actions,.fc-staff-actions,.audit-actions,.sticky-modal-actions,.club-editor-actions,.club-editor-palette-actions,.live-management-actions,.observer-actions):not(:first-child) {
  margin-top: 10px;
}

/* Responsividade fina */
@media (max-width: 520px) {
  .competition-podium-history {
    grid-template-columns: 1fr;
  }
  .landing-v99 .setup-selected-team,
  .landing-community-callout {
    grid-template-columns: 1fr;
  }
  .landing-community-callout > span,
  .landing-v99 .setup-selected-team > strong {
    justify-self: start;
  }
}
@media (max-width: 420px) {
  .landing-secondary-actions,
  .match-screen .live-management-actions,
  .match-screen .observer-actions,
  .match-screen :is(.match-action-row,.finish-action-row) {
    grid-template-columns: 1fr;
  }
  .landing-secondary-actions > span {
    grid-column: auto;
  }
  .match-screen .live-info-tabs > button {
    min-height: 48px;
  }
  .match-screen .live-stat-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== V245 — home compacta ===== */
/* Atalhos da página inicial: três ações compactas; o contador é somente informativo. */
.landing-secondary-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}
.landing-secondary-actions > :is(button,label,a) {
  position: relative;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 46px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 8px 7px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border-radius: 12px !important;
  text-align: center !important;
  line-height: 1.15 !important;
  overflow: hidden;
}
.landing-secondary-actions > :is(button,label,a) > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.landing-secondary-actions > :is(button,label,a) .fa-solid {
  flex: 0 0 auto;
}
.landing-secondary-actions > span {
  grid-column: 1 / -1 !important;
  min-height: 36px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 8px 10px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border-radius: 12px !important;
  text-align: center !important;
}
.landing-secondary-actions input[type="file"] {
  position: fixed !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

@media (max-width: 370px) {
  .landing-secondary-actions { gap: 6px !important; }
  .landing-secondary-actions > :is(button,label,a) {
    min-height: 44px !important;
    padding-inline: 5px !important;
    gap: 4px !important;
    font-size: .62rem !important;
  }
  .landing-secondary-actions > :is(button,label,a) .fa-solid { font-size: .72rem !important; }
}


/* ===== V246 — navbar restaurado exatamente da V238 enviada nesta conversa ===== */
/* REGRAS EXATAS DO NAVBAR/TOPBAR DA V238 */
.topbar {
padding: calc(12px + var(--safe-top)) 14px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  background: linear-gradient(135deg, var(--club-primary), var(--club-secondary));
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.club-meta strong {
display: block; font-size: .95rem;
}

.club-meta span {
display: block; color: rgba(255,255,255,.74); font-size: .75rem; margin-top: 2px;
}

.money {
font-size: .78rem;
  font-weight: 600;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 8px 10px;
  white-space: nowrap;
}

.navbar {
position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 8px 8px calc(8px + var(--safe-bottom));
  background: rgba(12,15,21,.97);
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  backdrop-filter: blur(16px);
}

.nav-btn {
border: 0;
  background: transparent;
  color: var(--muted);
  min-height: 54px;
  border-radius: 12px;
  font-size: .68rem;
  display: grid;
  place-items: center;
  gap: 2px;
  cursor: pointer;
}

.nav-btn .icon {
font-size: 1.18rem;
}

.nav-btn.is-active {
color: var(--text); background: var(--panel-2);
}

.navbar {
grid-template-columns: repeat(6, 1fr); padding-left: 5px; padding-right: 5px; gap: 2px;
}

.nav-btn {
font-size: .61rem; min-width: 0;
}

.nav-btn .icon {
font-size: 1.08rem;
}

@media (max-width: 360px) {
  .nav-btn {
font-size: .55rem;
  }

  .nav-btn .icon {
font-size: 1rem;
  }
}

html[data-theme="light"] .navbar {
background: rgba(249,250,253,.96);
  box-shadow: 0 -10px 30px rgba(36,49,70,.08);
}

html[data-ui-size="small"] .topbar {
padding: calc(8px + var(--safe-top)) 9px 8px;
}

html[data-ui-size="small"] .navbar {
padding-top: 4px;
}

html[data-ui-size="small"] .nav-btn {
min-height: 44px; border-radius: 9px;
}

html[data-ui-size="large"] .nav-btn {
min-height: 60px;
}

.topbar, .topbar .club-meta strong, .topbar .money {
color: #fff;
}

.topbar .club-meta span {
color: rgba(255,255,255,.76);
}

.navbar {
grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  overflow: visible;
}

.nav-play {
position: relative;
  z-index: 3;
  transform: translateY(-14px);
  min-height: 62px;
  border-radius: 50% 50% 16px 16px;
  color: #07110c;
  background: linear-gradient(180deg, var(--primary), var(--primary-2));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 35%, rgba(0,0,0,.45));
}

.nav-play .icon {
font-size: 1.3rem;
}

.nav-play span:last-child {
font-weight: 600;
}

@media (max-width: 430px) {
  .navbar {
padding-inline: 3px;
  }

  .nav-btn {
font-size: .49rem; min-height: 50px;
  }

  .nav-btn .icon {
font-size: .98rem;
  }

  .nav-play {
min-height: 58px; transform: translateY(-12px);
  }
}

.topbar, .navbar {
border-radius: 0;
}

.topbar {
background: linear-gradient(135deg,
    color-mix(in srgb, var(--club-primary) 68%, #0b1018),
    color-mix(in srgb, var(--club-secondary) 68%, #0b1018));
}

html[data-theme="light"] .nav-play {
color: #fff;
}

.topbar-actions {
display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0;
}

.topbar-help {
width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%;
  background: rgba(0,0,0,.24); color: #fff; font-weight: 600; cursor: pointer;
}

.topbar.is-unemployed {
background: linear-gradient(135deg, #303846, #171b23);
}

.topbar {
grid-template-columns: auto auto minmax(0,1fr) auto;
}

.topbar {
grid-template-columns: auto auto minmax(0,1fr) auto; gap: 7px;
}

.topbar > .crest.small, .topbar > .manager-avatar {
width: 30px; height: 34px;
}

.club-meta strong {
font-size: .82rem;
}

.club-meta span {
font-size: .65rem;
}

.topbar .money {
display: none;
}

@media (max-width: 380px) {
  .topbar-help {
display: none;
  }
}

.topbar .money, .topbar-help {
display: block !important;
}

.topbar .money {
font-size: .58rem; max-width: 78px; overflow: hidden; text-overflow: ellipsis;
}

.topbar-help {
width: 26px; height: 28px;
}

@media (max-width: 370px) {
  .topbar {
gap: 4px; padding-inline: 7px;
  }

  .topbar .money {
max-width: 58px;
  }
}

.topbar-settings {
width: 32px; height: 32px; display: grid; place-items: center; padding: 0;
  border: 1px solid rgba(255,255,255,.2); background: rgba(3,10,13,.26); color: #fff;
  cursor: pointer; font-size: .92rem;
}

.topbar-settings:hover, .topbar-settings:focus-visible {
background: rgba(255,255,255,.14); outline: 2px solid rgba(255,255,255,.55); outline-offset: 2px;
}

.club-meta small {
display: block; margin-top: 2px; color: rgba(255,255,255,.7); font-size: .6rem; line-height: 1.25;
}

.nav-btn.is-disabled {
opacity: .42; cursor: not-allowed; filter: saturate(.35);
}

html[data-theme="light"] .topbar-settings {
background: rgba(0,0,0,.28);
}

@media (max-width: 520px) {
  .club-meta small {
font-size: .55rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }

  .topbar-settings {
width: 27px; height: 29px;
  }
}

.topbar-menu-button, .topbar-money {
border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  background: color-mix(in srgb, #000 18%, transparent);
  color: #fff;
  min-height: 34px;
  border-radius: 10px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.topbar-money {
padding: 6px 10px; white-space: nowrap; max-width: none; text-overflow: clip; overflow: visible;
}

.topbar-menu-button {
width: 36px; padding: 0; font-size: 1.2rem; line-height: 1;
}

html[data-theme="light"] .topbar-money, html[data-theme="light"] .topbar-menu-button {
color: #fff;
}

.topbar .money.topbar-money {
display: inline-flex !important; max-width: none !important; font-size: .56rem; padding: 5px 7px;
}

.topbar-actions {
gap: 5px;
}

.topbar-menu-button {
width: 32px; min-height: 31px; border-radius: 8px;
}

@media (max-width: 430px) {
  .topbar .crest.small {
width: 27px; height: 32px;
  }

  .topbar-money {
max-width: 80px !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
}

.topbar-club-summary {
min-width: 0; appearance: none; border: 0; background: transparent; color: inherit;
  padding: 2px 5px; margin: 0; text-align: left; cursor: pointer; border-radius: 7px;
  font: inherit; display: grid; align-content: center; gap: 1px;
}

.topbar-club-summary:hover, .topbar-club-summary:focus-visible {
background: rgba(255,255,255,.09); outline: 2px solid rgba(255,255,255,.4); outline-offset: 1px;
}

.topbar-money {
position: relative;
}

.topbar-money.money-change-negative {
animation: money-negative-pulse .82s ease;
}

.topbar-money.money-change-positive {
animation: money-positive-pulse .82s ease;
}

.navbar .icon .fa-solid {
font-size: 1em;
}

.topbar-menu-button .fa-solid {
pointer-events: none;
}

.topbar {
grid-template-columns: auto auto minmax(0,1fr) auto !important;
  gap: 8px;
}

.topbar-page-context {
min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(0,0,0,.16);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}

.topbar-page-context span {
font-size: .62rem; white-space: nowrap;
}

.topbar-page-context .fa-solid {
font-size: .78rem;
}

.nav-btn:not(:disabled):active {
transform: scale(.975);
}

.nav-btn .fa-solid {
pointer-events: none;
}

.motion-enabled .nav-btn.is-active .icon {
animation: goooool-nav-pop .28s ease-out;
}

.motion-enabled .money-flyout {
animation-duration: 1.9s;
}

.nav-btn.is-active::after {
content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .8;
}

.nav-btn {
position: relative;
}

.topbar-page-context {
min-width: 32px; width: 32px; padding: 0;
}

.topbar-page-context span {
display: none;
}

.topbar {
grid-template-columns: auto auto minmax(0,1fr) auto !important; gap: 5px;
}

.topbar {
min-width: 0;
}

.topbar-actions {
min-width: 0; flex: 0 0 auto;
}

.topbar-money, .topbar-status-money {
display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: none !important;
  padding: 6px 10px;
  border-radius: 11px;
  overflow: visible !important;
  text-overflow: clip !important;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
}

.topbar-money > i {
font-size: .78rem; opacity: .86;
}

.topbar-money > span, .topbar-status-money {
line-height: 1.05;
}

.topbar-money small, .topbar-status-money small {
display: block;
  margin-bottom: 2px;
  color: rgba(255,255,255,.7);
  font-size: .52rem;
  font-weight: 500;
  letter-spacing: .025em;
}

.topbar-money strong, .topbar-status-money strong {
display: block;
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
}

@media (max-width: 430px) {
  .topbar {
grid-template-columns: auto auto minmax(0,1fr) auto !important; gap: 5px;
  }

  .topbar-page-context {
width: 31px; min-width: 31px; padding-inline: 0;
  }

  .topbar-page-context span {
display: none;
  }

  .topbar-money {
padding: 5px 7px !important; gap: 5px;
  }

  .topbar-money > i, .topbar-money small {
display: none;
  }

  .topbar-money strong {
font-size: .65rem;
  }

  .topbar-club-summary small {
display: none;
  }
}

@media (max-width: 350px) {
  .topbar-money strong {
font-size: .58rem;
  }

  .topbar-menu-button {
width: 29px;
  }
}

.navbar {
overflow-anchor: none;
}

:is(
  button,
  a,
  .btn,
  .subtab,
  .nav-btn,
  .nav-button,
  .icon-button,
  .text-action,
  .topbar-menu-button,
  .topbar-page-context,
  .topbar-money,
  .quick-menu-grid button,
  .quick-action-grid button,
  .history-controls button,
  .live-info-tabs button,
  .live-management-actions button,
  .share-type-card,
  .post-match-card-toggle
) :is(.fa-solid,.fa-regular,.fa-brands) {
color: currentColor !important;
}

.navbar .nav-btn[data-view="wiki"] {
display: none;
}

.topbar {
position: relative; z-index: var(--z-navigation); isolation: isolate;
}

.navbar {
z-index: var(--z-navigation); isolation: isolate; overflow: visible;
}

.navbar {
display: block;
}

.navbar-mobile {
width: 100%;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 2px;
}

.navbar-mobile .nav-btn {
min-width: 0;
  max-width: 100%;
  min-height: 52px;
  padding: 5px 2px;
  overflow: hidden;
  white-space: nowrap;
}

.navbar-mobile .nav-btn > span:last-child {
width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .56rem;
}

.navbar-mobile .nav-play {
width: 62px;
  min-width: 62px;
  min-height: 62px;
  aspect-ratio: 1;
  justify-self: center;
  border-radius: 50%;
  transform: translateY(-13px);
  padding: 6px;
}

.navbar-mobile .nav-play .icon {
font-size: 1.36rem;
}

.navbar-mobile .nav-play > span:last-child {
font-size: .58rem;
}

@media (max-width: 360px) {
  .navbar-mobile .nav-play {
width: 56px; min-width: 56px; min-height: 56px; transform: translateY(-10px);
  }

  .navbar-mobile .nav-btn > span:last-child {
font-size: .5rem;
  }
}

.topbar {
min-height: var(--topbar-compact-height);
  padding: calc(6px + var(--safe-top)) 8px 6px !important;
  gap: 6px !important;
}

.topbar > .crest.small {
width: 24px; height: 29px; flex-basis: 24px;
}

.topbar-page-context {
width: 31px;
  min-width: 31px;
  min-height: 31px;
  padding: 0 7px;
  border-radius: 9px;
}

.topbar-page-context .fa-solid {
font-size: .72rem;
}

.topbar-club-summary {
padding: 3px 5px !important; min-height: 0;
}

.topbar-club-summary strong {
font-size: .76rem; line-height: 1.1;
}

.topbar-club-summary span {
margin-top: 1px; font-size: .58rem; line-height: 1.15;
}

.topbar-club-summary small {
margin-top: 1px; font-size: .49rem; line-height: 1.1;
}

.topbar-actions {
gap: 4px;
}

.topbar-money, .topbar-status-money {
min-height: 31px; padding: 4px 7px !important; border-radius: 9px; gap: 5px;
}

.topbar-money strong, .topbar-status-money strong {
font-size: .65rem;
}

.topbar-money small, .topbar-status-money small {
font-size: .46rem;
}

.topbar-menu-button {
width: 31px; min-width: 31px; height: 31px; padding: 0; border-radius: 9px; font-size: 1rem;
}

.navbar {
padding: 4px 5px calc(4px + var(--safe-bottom)) !important;
}

.navbar-mobile .nav-btn {
min-height: 44px;
  padding: 3px 2px;
  border-radius: 10px;
  gap: 1px;
}

.navbar-mobile .nav-btn .icon {
font-size: 1rem;
}

.navbar-mobile .nav-btn > span:last-child {
font-size: .51rem;
}

.navbar-mobile .nav-play {
width: 52px;
  min-width: 52px;
  min-height: 52px;
  transform: translateY(-8px);
  box-shadow: 0 7px 18px color-mix(in srgb,var(--primary) 28%,rgba(0,0,0,.42));
}

.navbar-mobile .nav-play .icon {
font-size: 1.12rem;
}

.navbar-mobile .nav-play > span:last-child {
font-size: .52rem;
}

.topbar-club-summary span, .topbar-club-summary small {
display: none;
}

.topbar-club-summary strong {
font-size: .69rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.topbar-money > i, .topbar-money small {
display: none;
}

@media (max-width: 430px) {
  .topbar {
grid-template-columns: auto auto minmax(0,1fr) auto !important; min-height: 46px;
  }

  .topbar-page-context {
width: 28px; min-width: 28px; min-height: 28px;
  }

  .topbar > .crest.small {
width: 21px; height: 25px;
  }

  .topbar-menu-button {
width: 28px; min-width: 28px; height: 28px;
  }

  .topbar-money {
min-height: 28px; padding-inline: 5px !important;
  }

  .navbar-mobile .nav-btn {
min-height: 41px;
  }

  .navbar-mobile .nav-play {
width: 48px; min-width: 48px; min-height: 48px; transform: translateY(-7px);
  }
}

.topbar-club-short, .topbar-compact-meta {
display: none;
}

.notification-button {
position: relative; overflow: visible !important;
}

.notification-badge {
position: absolute;
  top: -4px;
  right: -4px;
  min-width: 17px;
  height: 17px;
  padding-inline: 4px;
  display: grid;
  place-items: center;
  border: 2px solid color-mix(in srgb, var(--club-primary) 72%, #101722);
  border-radius: 999px;
  background: #c92d4b;
  color: #fff;
  font-size: .5rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 3px 8px rgba(0,0,0,.24);
  pointer-events: none;
}

.notification-badge.is-dot {
min-width: 9px; width: 9px; height: 9px; padding: 0; border-width: 1px; color: transparent;
}

.topbar-club-summary strong {
display: flex !important; align-items: center; gap: 5px; min-width: 0;
}

.topbar-club-summary strong > .topbar-club-name {
display: none !important;
}

.topbar-club-summary strong > .topbar-club-short {
display: inline !important;
    flex: 0 0 auto;
    font-size: .69rem;
    font-weight: 600;
}

.topbar-club-summary strong > .topbar-compact-meta {
display: inline !important;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(255,255,255,.72);
    font-size: .53rem;
    font-weight: 600;
}

@media (max-width: 390px) {
  .topbar-page-context {
display: none !important;
  }

  .topbar {
grid-template-columns: auto minmax(0,1fr) auto !important;
  }

  .topbar-club-summary strong > .topbar-compact-meta {
font-size: .49rem;
  }
}

.nav-play {
color: var(--on-primary) !important;
}

.navbar-mobile {
align-items: end;
  gap: 4px;
  padding-inline: 5px;
  border: 1px solid var(--line);
  border-radius: 17px 17px 0 0;
  background: color-mix(in srgb,var(--panel-2) 94%,transparent);
  box-shadow: 0 -12px 32px rgba(0,0,0,.2);
}

.navbar-mobile .nav-btn:not(.nav-play) {
min-height: 52px;
  border: 0;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}

.navbar-mobile .nav-btn:not(.nav-play).is-active, .navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
color: var(--primary);
  background: transparent;
  box-shadow: inset 0 -2px 0 var(--primary);
}

.navbar-mobile .nav-play {
width: 58px;
  min-width: 58px;
  min-height: 58px;
  border: 1px solid color-mix(in srgb,var(--primary) 66%,white 14%);
  background: linear-gradient(180deg,var(--primary),var(--primary-2));
  transform: translateY(-9px);
}

.topbar-club-summary strong {
display:flex !important; align-items:center; gap:6px; min-width:0;
}

.topbar-club-summary .topbar-club-name {
display:block !important;
  min-width:0;
  max-width: 190px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.topbar-club-summary .topbar-compact-meta {
display:inline !important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.68);
  font-size:.52rem;
  font-weight:600;
}

.topbar-club-summary strong > .topbar-club-name {
display:block !important; max-width: 118px; font-size:.68rem;
}

.topbar-club-summary strong > .topbar-compact-meta {
display:inline !important; font-size:.48rem;
}

.topbar-club-summary > span {
max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.topbar-club-summary > small {
max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

@media (max-width: 390px) {
  .topbar-club-summary strong > .topbar-club-name {
max-width: 96px;
  }

  .topbar-club-summary strong > .topbar-compact-meta {
max-width: 116px;
  }
}

html[data-theme="light"] :is(.panel,.app-modal,.match-events,.other-live-panel,.live-quick-statistics,.live-lineups-pane,.live-standings-pane,.live-management-bar,.live-info-tabs,.navbar,.settings-nav-preview,.nav-custom-preview)
  :is(h1,h2,h3,h4,p,span,strong,b,small,em,i,button,label,summary) {
text-shadow: none;
}

html[data-theme="light"] :is(.btn.secondary,.btn.ghost,.icon-button,.modal-back,.topbar-menu-button) {
box-shadow: none;
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) {
color: #fff;
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) :is(p,small,span) {
color: rgba(255,255,255,.80);
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,.team-dual-tone,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .matchday-cinematic,.market-command-hero,.celebration-card,.tactic-identity-card,
  .opponent-hero,.legacy-museum-hero,.shootout-card,.game-opening-hero
) :is(strong,b,h1,h2,h3,.score,.vs) {
color: #fff;
}

.navbar-mobile {
display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr));
  align-items: end;
  gap: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
}

.navbar-mobile {
border-inline: 0 !important; border-bottom: 0 !important;
}

.navbar-mobile .nav-btn:not(.nav-play) {
min-height: 52px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.navbar-mobile .nav-play {
width: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  border-radius: 50% !important;
  transform: translateY(-8px) !important;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--primary) 24%,transparent) !important;
}

@media (max-width: 430px) {
  .navbar-mobile .nav-play {
width: 50px !important; min-width: 50px !important; min-height: 50px !important; transform: translateY(-6px) !important;
  }
}

html[data-theme="light"] :is(.sticky-action-bar,.unemployed-action-bar,.match-action-row,.navbar-mobile) {
box-shadow: 0 -8px 20px rgba(28,39,57,.075);
}

.navbar-mobile {
min-height: 58px;
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  border-inline: 0 !important;
  border-bottom: 0 !important;
}

.navbar-mobile .nav-btn {
display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  padding: 4px 2px !important;
}

.navbar-mobile .nav-play {
justify-self: center !important;
  align-self: end !important;
  padding: 0 !important;
  aspect-ratio: 1 !important;
}

html[data-theme="light"] :is(.navbar-mobile,.settings-nav-preview,.nav-custom-preview) {
background: #fff !important;
}

.navbar {
height: var(--bottom-nav-final-height) !important;
    min-height: var(--bottom-nav-final-height) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    overflow: visible !important;
}

.navbar-mobile {
position: absolute;
    inset: auto 0 0;
    height: calc(var(--bottom-nav-base-height) + var(--safe-bottom));
    min-height: calc(var(--bottom-nav-base-height) + var(--safe-bottom));
    padding: 0 0 var(--safe-bottom) !important;
    border: 0 !important;
    border-top: 1px solid var(--line) !important;
    background: var(--panel) !important;
    box-shadow: 0 -7px 18px rgba(0,0,0,.12) !important;
}

html[data-theme="light"] .navbar-mobile {
background: #fff !important;
    box-shadow: 0 -7px 18px rgba(28,39,57,.07) !important;
}

.navbar-mobile .nav-btn:not(.nav-play) {
min-height: var(--bottom-nav-base-height) !important;
}

.navbar-mobile .nav-play {
transform: translateY(calc(-1 * var(--bottom-nav-rise))) !important;
}

html body :is(
  .panel,
  [class$="-card"], [class*="-card "],
  [class$="-row"], [class*="-row "],
  .main-view-hero, .club-heading, .world-group,
  .settings-tabs, .subtabs, .live-info-tabs, .observer-live-tabs,
  .editor-side-menu, .fc-tabs, .wiki-category-strip, .wiki-progress-filters,
  .settings-nav-preview, .nav-custom-preview, .navbar-mobile,
  .matchday-cinematic, .matchday-info-grid > span,
  .opening-scoreboard, .strategy-canvas-shell
) {
box-shadow: none !important;
}

.navbar-mobile {
box-shadow: none !important;
}

:is(
  .topbar,
  .pitch-score,
  .live-pitch-caption,
  .live-event-overlay,
  .header-detail-hero,
  .manager-profile-hero-modern,
  .team-profile-hero-modern,
  .market-command-hero,
  .celebration-card,
  .tactic-identity-card,
  .opponent-hero,
  .legacy-museum-hero,
  .shootout-card,
  .game-opening-hero,
  .club-identity-card
) :is(h1,h2,h3,h4,p,span,strong,b,small,em) {
text-shadow: 0 1px 2px rgba(0,0,0,.72) !important;
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) {
color: #ffffff;
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) :is(h1,h2,h3,h4,strong,b,label,summary,button) {
color: #ffffff !important;
}

html[data-theme="light"] :is(
  .topbar,.pitch-score,.live-pitch-caption,.live-event-overlay,
  .header-detail-hero,.manager-profile-hero-modern,.team-profile-hero-modern,
  .market-command-hero,.celebration-card,.tactic-identity-card,.opponent-hero,
  .legacy-museum-hero,.shootout-card,.game-opening-hero,.club-identity-card
) :is(p,small,em,span) {
color: rgba(255,255,255,.82);
}

html[data-theme="light"] .topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context,.club-meta) {
color: #ffffff !important;
}

:is(
  .game-shell,.app-screen,.navbar-mobile,.nav-play,.settings-nav-play,.nav-custom-play,
  .subtab.is-active,.live-info-tabs button.is-active,.setup-mode-switch button.is-active,
  .danger-dot,.live-dot,.level-dots i.is-on,.team-label i,.theme-preview-dot,
  .toggle-row input::after,.notification-badge,.notification-status,
  .team-select.is-selected,.team-select[aria-pressed="true"],
  .team-card.is-selected,.team-card[aria-pressed="true"],
  .clone-candidate.is-selected,.tactic-choice.is-selected,.tactic-modern-option.is-selected,
  .bench-player-card.is-selected,.role-player-choice.is-selected,
  .wiki-search-box:focus-within,.opening-primary,.opening-scoreboard > span::before,
  .quick-menu-grid button,.quick-menu-grid button > span,
  .investment-confirmation-icon,.live-table-row.is-user,.live-player-spotlight,
  .football-player-chip:hover
) {
box-shadow: none !important;
}

html.national-duty-active .topbar {
border-bottom-color: color-mix(in srgb, var(--club-primary) 52%, var(--line));
}

html.national-duty-active .navbar {
border-top-color: color-mix(in srgb, var(--club-primary) 48%, var(--line));
}

html.national-duty-active .topbar-status-money {
border-color: color-mix(in srgb, var(--club-primary) 42%, var(--line));
  background: color-mix(in srgb, var(--club-primary) 9%, var(--panel));
}

html[data-theme="light"].national-duty-active :is(.world-cup-required-note,.national-lock-badge,.topbar-status-money,.national-duty-status) {
background: color-mix(in srgb, var(--club-primary) 7%, #fff);
}

html.national-duty-active .topbar {
color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--club-primary) 40%,#07111f),
    color-mix(in srgb,var(--club-secondary) 38%,#07111f)) !important;
  border-bottom-color: rgba(255,255,255,.24) !important;
}

html.national-duty-active .topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid) {
color: inherit !important;
}

html.national-duty-active .topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
color: rgba(255,255,255,.82) !important;
}

html.national-duty-active .topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.national-duty-status) {
color: #fff !important;
  background: rgba(7,17,31,.28) !important;
  border-color: rgba(255,255,255,.25) !important;
}

.topbar {
color: #ffffff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--club-primary) 40%,#07111f),
    color-mix(in srgb,var(--club-secondary) 38%,#07111f)) !important;
  border-bottom-color: rgba(255,255,255,.22) !important;
}

.topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid,.fa-regular) {
color: inherit !important;
  text-shadow: none !important;
}

.topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
color: rgba(255,255,255,.82) !important;
}

.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context) {
color: #ffffff !important;
  background: rgba(7,17,31,.28) !important;
  border-color: rgba(255,255,255,.25) !important;
}

.topbar-club-summary {
min-width: 0; overflow: hidden;
}

.topbar-club-summary strong {
max-width: 104px;
}

.topbar-money {
flex: 0 0 auto;
}

@media (max-width: 350px) {
  .topbar-club-summary strong {
max-width: 78px;
  }
}

.app-screen > .topbar {
position: relative !important;
  inset: auto !important;
  grid-row: 1;
  width: 100%;
  flex: 0 0 auto;
  z-index: var(--z-navigation);
}

.app-screen > .navbar {
position: relative !important;
  inset: auto !important;
  grid-row: 3;
  width: 100%;
  flex: 0 0 auto;
  z-index: var(--z-navigation);
}

.navbar {
min-height: var(--bottom-nav-final-height);
}

.navbar-mobile {
min-height: 50px;
}

.navbar-mobile .nav-play {
margin-top: -8px; transform: none !important;
}

@media (max-width: 350px) {
  .topbar-money {
max-width: 72px !important; overflow: hidden !important;
  }
}

.topbar, html.national-duty-active .topbar {
color: var(--club-gradient-text) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text) 24%,transparent) !important;
}

.topbar :is(.club-meta,.topbar-club-name,.topbar-compact-meta,.topbar-money,.topbar-menu-button,.topbar-page-context,.fa-solid,strong,span,small) {
color: inherit !important; text-shadow: none !important;
}

.topbar :is(.topbar-money,.topbar-menu-button) {
background: color-mix(in srgb,var(--club-gradient-text) 10%,transparent) !important; border-color: color-mix(in srgb,var(--club-gradient-text) 26%,transparent) !important;
}

:is(.market-command-hero,.topbar,.pitch-score,.national-duty-hero,.dashboard-hero-v60,.team-profile-hero-modern,.manager-profile-hero-modern) .kicker {
color: inherit !important;
}

html[data-theme="light"] .topbar, html[data-theme="light"].national-duty-active .topbar {
color: var(--club-gradient-text) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
}

html[data-theme="light"] .topbar :is(
  .club-meta,.topbar-club-name,.topbar-compact-meta,.topbar-money,.topbar-menu-button,
  .topbar-page-context,.fa-solid,strong,span,small,b,p,h1,h2,h3,h4
) {
color: inherit !important;
  text-shadow: none !important;
}

.navbar-mobile .nav-play {
color: var(--primary-contrast, var(--on-primary)) !important;
}

.navbar-mobile .nav-play :is(.fa-solid,svg,span) {
color: inherit !important;
}

.navbar {
height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}

.navbar-mobile {
position: absolute !important;
  left: var(--bottom-nav-outer-gap) !important;
  right: var(--bottom-nav-outer-gap) !important;
  bottom: calc(var(--bottom-nav-outer-gap) + var(--safe-bottom)) !important;
  width: auto !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  padding: 4px !important;
  align-items: center !important;
  gap: 2px !important;
  overflow: visible !important;
  pointer-events: auto;
  border: 1px solid color-mix(in srgb,var(--line) 82%,var(--primary) 18%) !important;
  border-radius: 20px !important;
  background: color-mix(in srgb,var(--panel) 91%,transparent) !important;
  box-shadow: 0 -2px 0 color-mix(in srgb,var(--primary) 12%,transparent), 0 12px 30px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) saturate(1.28);
  -webkit-backdrop-filter: blur(18px) saturate(1.28);
}

html[data-theme="light"] .navbar-mobile {
border-color: color-mix(in srgb,var(--line) 76%,var(--primary) 24%) !important;
  background: color-mix(in srgb,#fff 94%,transparent) !important;
  box-shadow: 0 -2px 0 color-mix(in srgb,var(--primary) 9%,transparent), 0 12px 28px rgba(28,39,57,.13) !important;
}

.navbar-mobile .nav-btn {
position: relative;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px;
  padding: 4px 2px !important;
  gap: 2px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
  color: var(--muted);
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate;
}

.navbar-mobile .nav-btn:not(.nav-play)::before {
content: "";
  position: absolute;
  inset: 3px;
  z-index: -1;
  border-radius: 12px;
  background: transparent;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.navbar-mobile .nav-btn:not(.nav-play).is-active, .navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
color: var(--primary) !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

.navbar-mobile .nav-btn:not(.nav-play).is-active::before, .navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"]::before {
background: color-mix(in srgb,var(--primary) 13%,var(--panel));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent);
}

.navbar-mobile .nav-btn .icon {
display: grid;
  place-items: center;
  width: 26px;
  height: 24px;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1;
}

.navbar-mobile .nav-btn > span:last-child {
font-size: .54rem !important;
  font-weight: 600;
  letter-spacing: .01em;
}

.navbar-mobile .nav-play {
width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  align-self: end !important;
  justify-self: center !important;
  transform: translateY(calc(-1 * var(--bottom-nav-rise))) !important;
  border: 3px solid var(--panel) !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg,var(--primary),var(--primary-2)) !important;
  box-shadow: 0 9px 22px color-mix(in srgb,var(--primary) 34%,transparent), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.navbar-mobile .nav-play::after {
content: "";
  position: absolute;
  inset: -5px;
  z-index: -1;
  border: 1px solid color-mix(in srgb,var(--primary) 34%,transparent);
  border-radius: inherit;
  background: color-mix(in srgb,var(--panel) 88%,transparent);
}

.navbar-mobile .nav-play .icon {
width: 28px; height: 25px; font-size: 1.12rem;
}

.navbar-mobile .nav-play > span:last-child {
font-size: .52rem !important;
}

.navbar-mobile .nav-btn:focus-visible {
outline: 2px solid color-mix(in srgb,var(--primary) 72%,white 18%);
  outline-offset: 1px;
}

.navbar-mobile .nav-btn:disabled {
opacity: .42;
}

@media (max-width: 350px) {
  .navbar-mobile {
border-radius: 18px !important;
  }

  .navbar-mobile .nav-btn {
min-height: 48px !important; height: 48px;
  }

  .navbar-mobile .nav-play {
width: 54px !important; min-width: 54px !important; height: 54px !important; min-height: 54px !important;
  }

  .navbar-mobile .nav-btn > span:last-child {
font-size: .49rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navbar-mobile .nav-btn, .navbar-mobile .nav-btn::before {
transition: none !important;
  }
}

.topbar {
grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas:
    "club actions"
    "glance glance";
  gap: 7px 9px !important;
  min-width: 0;
  padding: calc(8px + var(--safe-top)) 9px 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  isolation: isolate;
}

.topbar::after {
content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(255,255,255,.08),transparent 54%,rgba(0,0,0,.08));
}

.topbar-club-summary {
grid-area: club;
  width: 100%;
  min-width: 0;
  min-height: 39px;
  display: grid !important;
  grid-template-columns: 31px minmax(0,1fr) !important;
  align-items: center;
  align-content: center;
  gap: 8px !important;
  padding: 3px 5px !important;
  overflow: hidden;
  border-radius: 11px !important;
}

.topbar-club-summary:hover, .topbar-club-summary:focus-visible {
background: color-mix(in srgb,currentColor 9%,transparent) !important;
  outline-color: color-mix(in srgb,currentColor 48%,transparent) !important;
}

.topbar-club-visual {
width: 31px;
  height: 35px;
  display: grid !important;
  place-items: center;
  overflow: visible;
}

.topbar-club-visual .crest.small, .topbar-club-visual > .crest.small {
width: 27px !important;
  height: 32px !important;
  flex: 0 0 27px !important;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.22));
}

.topbar-club-visual .manager-avatar {
width: 29px !important;
  height: 32px !important;
}

.topbar-club-copy {
min-width: 0;
  display: grid !important;
  gap: 2px;
  text-align: left;
}

.topbar-club-copy strong, .topbar-club-copy > span {
min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar-club-copy strong {
font-size: .78rem !important; line-height: 1.12 !important;
}

.topbar-club-copy > span {
font-size: .52rem !important; line-height: 1.12 !important; opacity: .76;
}

.topbar-club-name {
display: block !important; max-width: none !important;
}

.topbar-actions {
grid-area: actions;
  align-self: center;
  display: flex;
  gap: 5px !important;
}

.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money) {
min-height: 34px !important;
  border-radius: 10px !important;
  backdrop-filter: blur(8px);
}

.topbar-money, .topbar-status-money {
padding: 5px 7px !important;
}

.topbar-money small, .topbar-status-money small {
font-size: .45rem !important; opacity: .72;
}

.topbar-money strong, .topbar-status-money strong {
font-size: .61rem !important;
}

.topbar-menu-button {
width: 34px !important; padding: 0 !important;
}

.topbar-glance {
grid-area: glance;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(80px,1.08fr) repeat(3,minmax(0,1fr));
  gap: 5px;
}

.topbar-page-context, .topbar-glance-chip {
min-width: 0;
  min-height: 29px;
  margin: 0;
  border: 1px solid color-mix(in srgb,currentColor 20%,transparent) !important;
  border-radius: 9px !important;
  background: color-mix(in srgb,currentColor 8%,transparent) !important;
  color: inherit !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb,currentColor 8%,transparent);
}

.topbar-page-context {
width: auto !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

.topbar-page-context span {
display: block !important;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .54rem !important;
  font-weight: 600;
}

.topbar-page-context .fa-solid {
flex: 0 0 auto; font-size: .68rem !important;
}

.topbar-glance-chip {
display: grid;
  place-content: center;
  gap: 1px;
  padding: 3px 5px;
  text-align: center;
}

.topbar-glance-chip small, .topbar-glance-chip strong {
display: block;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.05;
}

.topbar-glance-chip small {
font-size: .4rem !important; font-weight: 600; opacity: .68;
}

.topbar-glance-chip strong {
font-size: .53rem !important; font-weight: 600;
}

@media (max-width: 370px) {
  .topbar {
gap: 6px !important; padding-inline: 7px !important;
  }

  .topbar-club-summary {
grid-template-columns: 27px minmax(0,1fr) !important; gap: 6px !important;
  }

  .topbar-club-visual {
width: 27px;
  }

  .topbar-club-copy strong {
font-size: .7rem !important;
  }

  .topbar-club-copy > span {
font-size: .47rem !important;
  }

  .topbar-glance {
grid-template-columns: 31px repeat(3,minmax(0,1fr)); gap: 4px;
  }

  .topbar-page-context {
justify-content: center; padding: 0 !important;
  }

  .topbar-page-context span {
display: none !important;
  }

  .topbar-glance-chip {
padding-inline: 3px;
  }

  .topbar-glance-chip strong {
font-size: .49rem !important;
  }

  .topbar-money {
gap: 3px !important; padding-inline: 5px !important;
  }

  .topbar-money > i {
display: none !important;
  }

  .topbar-menu-button {
width: 31px !important;
  }
}

.topbar-club-copy > span {
display: block !important;
}

.topbar-club-summary {
color: #fff !important;
  background: rgba(7,17,31,.42) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.topbar-club-copy, .topbar-club-copy strong, .topbar-club-copy strong .topbar-club-name {
color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

.topbar-club-copy > span {
color: rgba(255,255,255,.82) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.28) !important;
}

.navbar {
height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.navbar-mobile {
display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: var(--bottom-nav-base-height) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: color-mix(in srgb,var(--panel) 96%,transparent) !important;
  box-shadow: 0 -5px 16px rgba(0,0,0,.14) !important;
}

.navbar-mobile {
position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: var(--bottom-nav-final-height) !important;
  min-height: var(--bottom-nav-final-height) !important;
  padding-bottom: var(--safe-bottom) !important;
  border-inline: 0 !important;
  border-bottom: 0 !important;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.navbar-mobile .nav-btn {
position: relative !important;
  width: auto !important;
  min-width: 0 !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  margin: 0 !important;
  padding: 5px 2px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 3px !important;
  border: 0 !important;
  border-right: 1px solid color-mix(in srgb,var(--line) 76%,transparent) !important;
  border-radius: 0 !important;
  color: var(--muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  aspect-ratio: auto !important;
}

.navbar-mobile .nav-btn:last-child {
border-right: 0 !important;
}

.navbar-mobile .nav-btn .icon {
width: 24px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 auto !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.navbar-mobile .nav-btn > span:last-child {
width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: .52rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.navbar-mobile .nav-play {
width: auto !important;
  min-width: 0 !important;
  height: var(--bottom-nav-base-height) !important;
  min-height: var(--bottom-nav-base-height) !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel)) !important;
  border: 0 !important;
  border-right: 1px solid color-mix(in srgb,var(--line) 76%,transparent) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
  transform: none !important;
}

.navbar-mobile .nav-play::after {
display: none !important;
}

.navbar-mobile .nav-play :is(.icon,.fa-solid,.fa-regular,span,small) {
color: inherit !important;
}

.navbar-mobile .nav-btn:not(.nav-play).is-active, .navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"] {
color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 7%,var(--panel)) !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
}

.navbar-mobile .nav-btn:not(.nav-play)::before {
display: none !important;
}

.navbar-mobile .nav-btn:focus-visible {
outline: 2px solid var(--primary) !important;
  outline-offset: -3px !important;
}

html[data-theme="light"] :is(.navbar-mobile,.settings-nav-preview,.nav-custom-preview) {
background: rgba(255,255,255,.98) !important;
  box-shadow: 0 -4px 14px rgba(28,39,57,.08) !important;
}

@media (max-width: 350px) {
  .navbar-mobile .nav-btn, .navbar-mobile .nav-play {
height: var(--bottom-nav-base-height) !important;
    min-height: var(--bottom-nav-base-height) !important;
  }

  .navbar-mobile .nav-btn > span:last-child {
font-size: .48rem !important;
  }
}

.navbar-mobile .nav-play {
color: var(--primary) !important;
  background: color-mix(in srgb,var(--primary) 12%,var(--panel)) !important;
  box-shadow: inset 0 3px 0 var(--primary) !important;
}

.navbar-mobile .nav-play :is(.fa-solid,.fa-regular,.icon,span) {
color: var(--primary) !important;
  -webkit-text-fill-color: currentColor !important;
}

.topbar-glance-chip.is-action {
appearance: none;
  width: auto;
  min-height: 29px !important;
  border: 1px solid color-mix(in srgb,currentColor 20%,transparent) !important;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
}

.topbar-glance-chip.is-action:is(:hover,:focus-visible) {
border-color: rgba(255,255,255,.42) !important;
  background: rgba(255,255,255,.13) !important;
  outline: none;
}

.topbar-glance-chip.is-action:active {
transform: scale(.97);
}

.topbar-glance-chip.is-rival {
grid-template-columns: 16px minmax(0,1fr);
  place-content: center stretch;
  align-items: center;
  gap: 4px;
  padding-inline: 4px;
  color: #fff !important;
  background: linear-gradient(135deg,
    color-mix(in srgb,var(--team-primary,#27364d) 42%,#07111f),
    color-mix(in srgb,var(--team-secondary,#536174) 38%,#07111f)) !important;
  border-color: rgba(255,255,255,.25) !important;
}

.topbar-next-crest {
display: grid !important;
  place-items: center;
  width: 16px;
  height: 20px;
  min-width: 16px;
  overflow: hidden;
}

.topbar-next-crest .crest, .topbar-next-crest svg.crest {
width: 13px !important;
  height: 16px !important;
  max-width: 13px !important;
  max-height: 16px !important;
  filter: none !important;
}

.topbar-next-crest .national-crest-emoji {
font-size: .68rem !important;
}

.topbar-next-copy {
display: grid !important; gap: 1px; min-width: 0;
}

.topbar-next-copy :is(small,strong) {
min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

@media (max-width: 370px) {
  .topbar-glance-chip.is-rival {
grid-template-columns: 14px minmax(0,1fr); gap: 3px;
  }

  .topbar-next-crest {
width: 14px; min-width: 14px;
  }
}

.topbar-glance-chip.is-rival.is-action {
min-width: 0;
  max-width: 100%;
  text-align: left;
}

.topbar-glance-chip.is-rival.is-action:focus-visible {
box-shadow: inset 0 0 0 2px rgba(255,255,255,.56);
}

.topbar-glance-chip.is-rival {
color: var(--team-gradient-text, #fff) !important;
  background: linear-gradient(135deg,
    var(--team-gradient-primary, var(--team-primary, #27364d)),
    var(--team-gradient-secondary, var(--team-secondary, #536174))) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 30%, transparent) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--team-gradient-text, #fff) 13%, transparent) !important;
}

.topbar-glance-chip.is-rival :is(small,strong,.fa-solid) {
color: inherit !important;
}

.topbar-glance-chip.is-rival.is-action:is(:hover,:focus-visible) {
color: var(--team-gradient-text, #fff) !important;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--team-gradient-primary, var(--team-primary, #27364d)) 88%, var(--team-gradient-text, #fff) 12%),
    color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary, #536174)) 88%, var(--team-gradient-text, #fff) 12%)) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 48%, transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--team-gradient-text, #fff) 24%, transparent) !important;
}

.topbar .topbar-page-context, .topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival) {
color: var(--club-gradient-text, #fff) !important;
}

.topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival) :is(small,strong,.fa-solid,.fa-regular,span) {
color: inherit !important;
}

.topbar .topbar-glance > .topbar-glance-chip.is-action:not(.is-rival):is(:hover,:focus-visible) {
color: var(--club-gradient-text, #fff) !important;
  background: color-mix(in srgb, var(--club-gradient-text, #fff) 13%, transparent) !important;
  border-color: color-mix(in srgb, var(--club-gradient-text, #fff) 38%, transparent) !important;
}

.topbar .topbar-glance > .topbar-glance-chip.is-rival {
color: var(--team-gradient-text, #fff) !important;
}

.topbar .topbar-glance > .topbar-glance-chip.is-rival :is(small,strong,.fa-solid,.fa-regular,span) {
color: inherit !important;
}

.topbar-club-visual > .national-crest-emoji, .topbar-club-visual .national-crest-emoji.is-small {
width: 29px !important;
  height: 31px !important;
  min-width: 29px !important;
  font-size: 1.7rem !important;
  line-height: 1 !important;
  overflow: visible !important;
  font-family: "Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",system-ui,sans-serif !important;
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.22));
}

.topbar {
background:var(--club-palette-gradient,linear-gradient(135deg,var(--club-primary),var(--club-secondary)))
}

.topbar-share-button {
flex: 0 0 auto;
}

@media (max-width: 370px) {
  .topbar :is(.topbar-share-button,.notification-button,.topbar-menu-button) {
width: 29px !important;
    min-width: 29px !important;
  }

  .topbar-actions {
gap: 3px !important;
  }
}

.career-unemployed-shell .topbar {
background:var(--topbar-bg,var(--panel));
}

.career-unemployed-shell .topbar, .topbar.is-unemployed {
color: var(--club-gradient-text, #fff) !important;
  background:
    radial-gradient(circle at 12% -40%, color-mix(in srgb,var(--club-gradient-text,#fff) 14%,transparent), transparent 46%),
    linear-gradient(135deg,var(--club-gradient-primary,#167a4d),var(--club-gradient-secondary,#0e2a1c)) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text,#fff) 20%,transparent) !important;
}

.career-unemployed-shell .topbar :is(button,strong,span,small,.fa-solid,.fa-regular) {
color: inherit !important;
}

.money-value {
font-variant-numeric: tabular-nums;
  letter-spacing: .005em;
}

.money-income, .positive.money-value {
color: var(--money-income-color) !important;
}

.money-expense, .negative.money-value, .expense-text.money-value {
color: var(--money-expense-color) !important;
}

.topbar, html.national-duty-active .topbar {
color: var(--club-gradient-text, #fff) !important;
  background: var(--club-palette-gradient,linear-gradient(135deg,var(--club-gradient-primary),var(--club-gradient-secondary))) !important;
  border-bottom-color: color-mix(in srgb,var(--club-gradient-text,#fff) 24%,transparent) !important;
}

.topbar :is(button,strong,span,small,svg.svg-inline--fa,.fa-solid,.fa-regular) {
color: inherit !important;
  text-shadow: none !important;
}

.topbar :is(.topbar-menu-button,.topbar-money,.topbar-status-money,.topbar-page-context,.topbar-glance-chip) {
color: inherit !important;
  background: color-mix(in srgb,var(--club-gradient-text,#fff) 10%,transparent) !important;
  border-color: color-mix(in srgb,var(--club-gradient-text,#fff) 25%,transparent) !important;
}

.topbar :is(.topbar-club-summary > span,.topbar-club-summary small,.topbar-compact-meta) {
color: color-mix(in srgb,var(--club-gradient-text,#fff) 82%,transparent) !important;
}

.topbar .topbar-glance-chip.is-rival {
color: var(--team-gradient-text, #fff) !important;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text,#fff) 28%,transparent) !important;
}

.topbar .topbar-glance-chip.is-rival :is(strong,small,span,.fa-solid,.fa-regular) {
color: inherit !important;
}

.notification-badge:not(.is-dot) {
background: var(--notification-badge-bg) !important;
  color: #fff !important;
}

.topbar-glance-chip.is-action {
min-height: 32px;
}

.topbar-glance-chip.is-action {
min-height: 34px !important;
}

html[data-ui-size="xlarge"] .nav-btn, html[data-ui-size="maximum"] .nav-btn {
min-height: 62px;
}

html.large-touch-targets :is(.btn,.nav-btn,.subtabs button,.settings-tabs button,.live-info-tabs button,.observer-live-tabs button) {
min-height: 54px;
}

.navbar-mobile {
display: grid !important;
}

.topbar-glance:has(.topbar-fans-chip) {
grid-template-columns: minmax(80px,1.08fr) repeat(4,minmax(0,1fr));
}

.topbar-fans-chip strong {
font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .topbar-fans-chip {
display: none !important;
  }

  .topbar-glance:has(.topbar-fans-chip) {
grid-template-columns: minmax(80px,1.08fr) repeat(3,minmax(0,1fr));
  }
}

.navbar-mobile .nav-play {
color: var(--play-cta-text) !important;
  background: linear-gradient(180deg, var(--play-cta-start), var(--play-cta-end)) !important;
  border: 1px solid color-mix(in srgb, var(--play-cta-start) 58%, #ffffff 10%) !important;
  border-right: 1px solid color-mix(in srgb, var(--play-cta-start) 58%, #ffffff 10%) !important;
  border-radius: 15px 15px 0 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 10px 24px var(--play-cta-shadow) !important;
}

.navbar-mobile .nav-play :is(.icon,.fa-solid,.fa-regular,span) {
color: var(--play-cta-text) !important;
  -webkit-text-fill-color: currentColor !important;
}

.navbar-mobile .nav-play .icon {
display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-inline: auto;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}

.navbar-mobile .nav-play:hover, .navbar-mobile .nav-play:focus-visible {
filter: saturate(1.05) brightness(1.04);
}

.navbar-mobile {
overflow: visible !important;
}

.navbar-mobile .nav-play {
position: relative !important;
  z-index: 4 !important;
  height: calc(var(--bottom-nav-base-height) + 10px) !important;
  min-height: calc(var(--bottom-nav-base-height) + 10px) !important;
  margin-top: -10px !important;
  margin-bottom: 0 !important;
  transform: translateY(-6px) !important;
  border-radius: 20px 20px 14px 14px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 12px 26px var(--play-cta-shadow),
    0 0 0 3px color-mix(in srgb,var(--panel) 88%,transparent) !important;
}

@media (max-width: 350px) {
  .navbar-mobile .nav-play {
margin-top: -8px !important;
    transform: translateY(-4px) !important;
  }
}

.navbar-mobile {
--nav-play-size: 66px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) var(--nav-play-size) repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  column-gap: 5px !important;
  padding-inline: 7px !important;
  overflow: visible !important;
}

.navbar-mobile .nav-btn:not(.nav-play) {
width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}

.navbar-mobile .nav-play {
width: var(--nav-play-size) !important;
  min-width: var(--nav-play-size) !important;
  height: var(--nav-play-size) !important;
  min-height: var(--nav-play-size) !important;
  margin: -20px auto 2px !important;
  padding: 7px 4px 6px !important;
  align-self: end !important;
  justify-self: center !important;
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  place-items: center !important;
  gap: 1px !important;
  border: 3px solid var(--panel) !important;
  border-radius: 50% !important;
  transform: none !important;
  background: radial-gradient(circle at 34% 24%, #48dc7d 0 8%, var(--play-cta-start) 34%, var(--play-cta-end) 100%) !important;
  box-shadow: 0 12px 28px var(--play-cta-shadow), inset 0 1px 0 rgba(255,255,255,.32) !important;
}

.navbar-mobile .nav-play::after {
display: none !important; content: none !important;
}

.navbar-mobile .nav-play .icon {
width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  background: rgba(255,255,255,.15) !important;
  font-size: 1.2rem !important;
}

.navbar-mobile .nav-play > span:last-child {
color: #fff !important;
  font-size: .5rem !important;
  line-height: 1 !important;
}

@media (max-width: 360px) {
  .navbar-mobile {
--nav-play-size: 60px; column-gap: 3px !important; padding-inline: 5px !important;
  }

  .navbar-mobile .nav-play {
margin-top: -16px !important;
  }
}

.topbar-club-visual > .topbar-selection-flag, .topbar-club-visual .national-crest-emoji.topbar-selection-flag {
display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 29px !important;
  height: 29px !important;
  min-width: 29px !important;
  max-width: 29px !important;
  min-height: 29px !important;
  max-height: 29px !important;
  place-items: center !important;
  overflow: visible !important;
  color: initial !important;
  -webkit-text-fill-color: initial !important;
  font-family: "Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",sans-serif !important;
  font-size: 1.55rem !important;
  font-variant-emoji: emoji;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  transform: none !important;
  clip-path: none !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.2)) !important;
}

html.national-duty-active .topbar-club-visual, html.national-duty-active .topbar-club-summary {
overflow: visible !important;
}


/* ===== V246 — contraste do card de save na abertura em tema claro ===== */
html[data-theme="light"] .landing-continue-career.team-tone {
  color: var(--team-gradient-text, #fff) !important;
  border-color: color-mix(in srgb, var(--team-gradient-text, #fff) 24%, transparent) !important;
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--team-gradient-text, #fff) 14%, transparent), transparent 35%),
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--team-gradient-primary, var(--team-primary)) 76%, #0f172a 24%),
      color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary)) 80%, #0f172a 20%)
    ) !important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb, var(--team-gradient-text, #fff) 20%, transparent),
    0 12px 24px rgba(15, 23, 42, .16) !important;
}
html[data-theme="light"] .landing-continue-career.team-tone::after {
  background: linear-gradient(90deg, color-mix(in srgb, var(--team-gradient-text, #fff) 10%, transparent), transparent 56%) !important;
}
html[data-theme="light"] .landing-continue-career.team-tone :is(
  .landing-continue-copy strong,
  .landing-continue-action,
  .landing-continue-action span,
  .landing-continue-action i,
  .landing-continue-action svg
) {
  color: var(--team-gradient-text, #fff) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] .landing-continue-career.team-tone :is(
  .landing-continue-copy small,
  .landing-continue-copy em
) {
  color: color-mix(in srgb, var(--team-gradient-text, #fff) 84%, transparent) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] .landing-continue-career.team-tone .landing-continue-play-badge {
  border-color: color-mix(in srgb, #0f172a 76%, transparent) !important;
}

/* Os cards da lista de saves usam a mesma correção para não repetir o problema. */
html[data-theme="light"] .landing-save-card .save-slot-team-card.team-tone {
  color: var(--team-gradient-text, #fff) !important;
  background:
    radial-gradient(circle at 10% 18%, color-mix(in srgb, var(--team-gradient-text, #fff) 11%, transparent), transparent 32%),
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--team-gradient-primary, var(--team-primary)) 72%, #111827 28%),
      color-mix(in srgb, var(--team-gradient-secondary, var(--team-secondary)) 78%, #0f172a 22%)
    ) !important;
}
html[data-theme="light"] .landing-save-card .save-slot-team-card.team-tone :is(
  .save-slot-team-copy strong,
  .save-slot-team-copy span,
  .save-slot-team-copy small,
  .btn,
  .btn i,
  .btn svg
) {
  color: var(--team-gradient-text, #fff) !important;
  -webkit-text-fill-color: currentColor !important;
}


/* ===== V247 — ações da barra superior sempre na mesma linha ===== */
.topbar .topbar-actions {
  grid-area: actions !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  gap: 5px !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
.topbar .topbar-actions > * {
  flex: 0 0 auto !important;
  grid-column: auto !important;
  width: auto;
  margin: 0 !important;
}
.topbar .topbar-actions > .topbar-menu-button {
  width: 34px !important;
  min-width: 34px !important;
}
.topbar .topbar-actions[data-visible-actions],
.topbar .topbar-actions[data-visible-actions="1"],
.topbar .topbar-actions[data-visible-actions="2"],
.topbar .topbar-actions[data-visible-actions="3"],
.topbar .topbar-actions[data-visible-actions="4"],
.topbar .topbar-actions[data-visible-actions="5"],
.topbar .topbar-actions[data-visible-actions="6"] {
  display: flex !important;
  grid-template-columns: none !important;
}
@media (max-width: 430px) {
  .topbar .topbar-actions { gap: 4px !important; }
  .topbar .topbar-actions > .topbar-menu-button {
    width: 31px !important;
    min-width: 31px !important;
  }
  .topbar .topbar-money {
    padding-inline: 6px !important;
  }
}
@media (max-width: 370px) {
  .topbar .topbar-actions { gap: 3px !important; }
  .topbar .topbar-actions > .topbar-menu-button {
    width: 29px !important;
    min-width: 29px !important;
  }
}

/* ===== V251 — estatísticas, perfis e textos compactos ===== */
/* O segundo submenu de Competições > Estatísticas fica centralizado quando
   cabe inteiro e volta ao início com rolagem quando a tela é estreita. */
#competitionContent > .statistics-toolbar + .subtabs {
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  justify-content: safe center;
  scroll-padding-inline: 8px;
}

/* O resumo do jogador nunca invade a coluna da força geral. */
.player-profile-head.modern-player-hero {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
}
.player-profile-head.modern-player-hero .player-profile-identity {
  min-width: 0;
  max-width: 100%;
}
.player-profile-head.modern-player-hero .player-profile-summary {
  max-width: 100%;
  margin-top: 4px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.player-profile-head.modern-player-hero .player-profile-overall {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: end !important;
  min-width: 58px;
  margin: 0 !important;
  display: grid;
  justify-items: end;
  line-height: 1;
}
.player-profile-head.modern-player-hero .player-profile-overall small {
  display: block;
  margin-top: 4px;
  text-align: right;
  line-height: 1.15;
}
.ranking-value > small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .5rem;
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 390px) {
  .player-profile-head.modern-player-hero {
    gap: 8px !important;
  }
  .player-profile-head.modern-player-hero > .crest,
  .player-profile-head.modern-player-hero > .national-crest-emoji {
    width: 28px !important;
    height: 32px !important;
  }
  .player-profile-head.modern-player-hero .player-profile-summary {
    font-size: .62rem;
  }
  .player-profile-head.modern-player-hero .player-profile-overall {
    min-width: 50px;
    font-size: 1.2rem;
  }
}


/* ===== V251 — Estatísticas adaptativas, temas e proteção contra estouro ===== */
/* A central de estatísticas nunca aumenta a largura da página. */
#competitionContent,
#statisticsBody,
#statisticsBody > *,
#statisticsBody .statistics-panel,
#statisticsBody .statistics-record-grid,
#statisticsBody .tournament-award-list,
#statisticsBody .award-history,
#statisticsBody .competition-podium-history {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
#competitionContent,
#statisticsBody {
  overflow-x: clip;
}
@supports not (overflow: clip) {
  #competitionContent,
  #statisticsBody { overflow-x: hidden; }
}

/* Os filtros tinham classe no HTML, mas nenhuma regra própria. */
.statistics-toolbar {
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
}
.statistics-toolbar > div { min-width: 0; }
.statistics-filter-group {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  width: min(100%, 360px);
  min-width: min(100%, 260px);
  max-width: 100%;
}
.statistics-filter-group > label {
  display: grid;
  gap: 5px;
  width: auto !important;
  min-width: 0;
  margin: 0;
}
.statistics-filter-group select {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  text-overflow: ellipsis;
}

/* Centraliza somente quando todos os botões cabem. */
#competitionContent > .statistics-toolbar + .subtabs {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  justify-content: center;
  min-width: 0;
  scroll-padding-inline: 8px;
}
#competitionContent > .statistics-toolbar + .subtabs.is-overflowing {
  justify-content: flex-start;
}
#competitionContent > .statistics-toolbar + .subtabs > .subtab {
  flex: 0 0 auto;
  min-width: 0;
}

/* Grades e linhas flexíveis: nenhum texto ou valor força largura extra. */
#statisticsBody :is(.panel,.ranking-list,.ranking-row,.record-match-row,.tournament-award-card,
  .tournament-award-grid,.tournament-award-person,.team-of-tournament,.team-of-tournament > div,
  .team-of-tournament button,.award-season-card,.competition-podium-history-card,
  .competition-podium-history-row) {
  min-width: 0;
  max-width: 100%;
}
#statisticsBody .ranking-list {
  overflow-x: hidden;
  overscroll-behavior-inline: contain;
}
#statisticsBody .ranking-row {
  grid-template-columns: 28px 24px minmax(0,1fr) minmax(58px,max-content);
}
#statisticsBody .ranking-main,
#statisticsBody .ranking-value,
#statisticsBody .award-season-card > div > span,
#statisticsBody .tournament-award-card > summary > div,
#statisticsBody .tournament-award-person > div,
#statisticsBody .team-of-tournament button > :is(strong,small) {
  min-width: 0;
}
#statisticsBody .ranking-value {
  max-width: min(38vw, 145px);
  overflow-wrap: anywhere;
  text-align: right;
}
#statisticsBody .record-match-row > div,
#statisticsBody .record-match-row .score-team {
  min-width: 0;
}
#statisticsBody .record-match-row .score-team b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#statisticsBody .record-match-row > small,
#statisticsBody .statistics-panel .panel-heading-row p,
#statisticsBody .award-season-card > div > strong {
  overflow-wrap: anywhere;
}
#statisticsBody .tournament-award-card > summary {
  grid-template-columns: minmax(0,1fr) auto auto;
  min-width: 0;
}
#statisticsBody .tournament-award-card > summary .badge {
  max-width: 100%;
  white-space: nowrap;
}
#statisticsBody .team-of-tournament button {
  width: 100%;
  overflow: hidden;
}
#statisticsBody .team-of-tournament button > :is(strong,small) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Leitura dinâmica: resume o líder sem recalcular os rankings. */
.statistics-smart-insight {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: start;
  gap: 10px;
  margin: 10px 0;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb,var(--primary) 38%,var(--line));
  border-radius: 13px;
  background: color-mix(in srgb,var(--primary) 8%,var(--panel-2));
  color: var(--text);
}
.statistics-smart-insight > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: color-mix(in srgb,var(--primary) 16%,var(--panel));
  color: var(--primary);
}
.statistics-smart-insight > div { min-width: 0; }
.statistics-smart-insight :is(small,strong,p) { display: block; min-width: 0; }
.statistics-smart-insight small { color: var(--primary); font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.statistics-smart-insight strong { margin-top: 2px; overflow-wrap: anywhere; font-size: .78rem; }
.statistics-smart-insight p { margin-top: 3px; color: var(--muted); font-size: .67rem; line-height: 1.4; overflow-wrap: anywhere; }

/* Classes funcionais que existiam no HTML sem acabamento dedicado. */
.compact-info { padding: 9px 10px; font-size: .68rem; line-height: 1.4; }
.manager-ranking-row .ranking-main small { overflow-wrap: anywhere; }

/* Tema claro e escuro explícitos para os componentes novos e estatísticos. */
html:not([data-theme="light"]) #statisticsBody :is(.tournament-award-card,.award-season-card,.competition-podium-history-card) {
  background: var(--panel-2);
  color: var(--text);
}
html:not([data-theme="light"]) #statisticsBody :is(.tournament-award-person,.team-of-tournament button,.competition-podium-history-row) {
  background: var(--panel);
  color: var(--text);
}
html[data-theme="light"] #statisticsBody :is(.tournament-award-card,.award-season-card,.competition-podium-history-card) {
  background: #f7f9fc !important;
  color: #172033 !important;
  border-color: rgba(28,39,57,.16) !important;
}
html[data-theme="light"] #statisticsBody :is(.tournament-award-person,.team-of-tournament button,.competition-podium-history-row) {
  background: #fff !important;
  color: #172033 !important;
  border-color: rgba(28,39,57,.14) !important;
}
html[data-theme="light"] #statisticsBody :is(.tournament-award-person,.team-of-tournament button,.award-season-card,.competition-podium-history-card)
  :is(strong,b,span) { color: #172033; }
html[data-theme="light"] #statisticsBody :is(.tournament-award-person,.team-of-tournament button,.award-season-card,.competition-podium-history-card)
  :is(small,em,p) { color: #5b687b; }
html[data-theme="light"] .statistics-smart-insight {
  background: color-mix(in srgb,var(--primary) 7%,#fff);
  color: #172033;
  border-color: color-mix(in srgb,var(--primary) 40%,rgba(28,39,57,.16));
}
html[data-theme="light"] .statistics-smart-insight > span {
  background: color-mix(in srgb,var(--primary) 13%,#fff);
}
html[data-theme="light"] .statistics-smart-insight p { color: #536174; }

@media (max-width: 430px) {
  .statistics-filter-group {
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
  }
  #statisticsBody .ranking-row {
    grid-template-columns: 26px 22px minmax(0,1fr);
    align-items: start;
  }
  #statisticsBody .ranking-value {
    grid-column: 3;
    justify-self: start;
    max-width: 100%;
    margin-top: -2px;
    text-align: left;
    white-space: normal;
    font-size: .76rem;
  }
  #statisticsBody .ranking-value > small {
    display: inline;
    margin: 0 0 0 3px;
    white-space: normal;
  }
  #statisticsBody .record-match-row > div {
    gap: 5px;
  }
  #statisticsBody .award-season-card > div {
    grid-template-columns: 24px minmax(0,1fr);
  }
  #statisticsBody .award-season-card > div > strong {
    grid-column: 2;
    justify-self: start;
    font-size: .68rem;
  }
  #statisticsBody .tournament-award-card > summary {
    grid-template-columns: minmax(0,1fr) auto;
  }
  #statisticsBody .tournament-award-card > summary > .fa-solid {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
}

/* Acabamentos encontrados na auditoria de classes da V251. */
.btn.tertiary {
  color: var(--primary);
  background: transparent;
  border: 1px solid color-mix(in srgb,var(--primary) 48%,var(--line));
}
.btn.tertiary:hover,
.btn.tertiary:focus-visible {
  background: color-mix(in srgb,var(--primary) 10%,var(--panel-2));
}
.share-preview-inline {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  background: var(--panel-2);
}
html[data-theme="light"] .btn.tertiary {
  color: #087346;
  border-color: rgba(8,115,70,.34);
  background: rgba(255,255,255,.86);
}
html[data-theme="light"] .share-preview-inline {
  color: #172033;
  background: #f7f9fc;
  border-color: rgba(28,39,57,.16);
}

/* ===== V253 — ao vivo, navegação, premiações, chaveamento e PiP ===== */

/* No jogo ao vivo, escudo e bandeira aparecem limpos, sem um cartão colorido atrás. */
.match-screen :is(
  .live-club,
  .score-fixture-team,
  .fixture-team.team-tone,
  .live-knockout-team,
  .live-stat-team-identity,
  .penalty-mini-score article,
  .penalty-score-team,
  .shootout-team,
  .live-team-key
) {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.match-screen :is(.live-club,.score-fixture-team,.fixture-team.team-tone,.live-knockout-team,.live-team-key)::before,
.match-screen :is(.live-club,.score-fixture-team,.fixture-team.team-tone,.live-knockout-team,.live-team-key)::after {
  display: none !important;
  content: none !important;
}
.match-screen :is(.live-club,.score-fixture-team,.fixture-team.team-tone,.live-knockout-team,.live-team-key) :is(strong,b,span,small) {
  color: var(--text) !important;
  text-shadow: none !important;
}
.match-screen :is(.national-crest-emoji,.national-flag-emoji,.crest) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Nenhum toast global deve bloquear controles do jogo ao vivo. */
.toast-stack.is-live-context,
body:has(.match-screen) > .toast-stack,
.game-shell:has(.match-screen) .toast-stack {
  display: none !important;
  pointer-events: none !important;
}

/* Tela compacta e informativa de salvamento/finalização do ao vivo. */
.live-finalization-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 78 !important;
  display: grid;
  place-items: center;
  padding: 18px;
  background: color-mix(in srgb,#07110c 58%,transparent) !important;
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .18s ease;
}
.live-finalization-overlay[hidden] { display: none !important; }
.live-finalization-overlay.is-visible { opacity: 1; }
.live-finalization-card {
  width: min(100%, 360px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid color-mix(in srgb,var(--primary) 34%,rgba(255,255,255,.14)) !important;
  border-radius: 18px !important;
  color: #f8fbf9 !important;
  background: linear-gradient(145deg,rgba(15,25,21,.98),rgba(10,16,20,.98)) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.34) !important;
}
.live-finalization-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}
.live-finalization-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255,255,255,.15);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: live-finalization-spin .82s linear infinite;
}
@keyframes live-finalization-spin { to { transform: rotate(360deg); } }
.live-finalization-copy { min-width: 0; display: grid; gap: 2px; }
.live-finalization-copy strong { font-size: .78rem; overflow-wrap: anywhere; }
.live-finalization-copy small { color: rgba(255,255,255,.7); font-size: .61rem; line-height: 1.35; }
.live-finalization-value { color: var(--primary); font-size: .72rem; }
.live-finalization-progress {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
}
.live-finalization-progress > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 62%,#fff));
  transition: width .22s ease;
}
.live-finalization-tip {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: start;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
}
.live-finalization-tip > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(255,255,255,.07);
}
.live-finalization-tip > div { min-width: 0; display: grid; gap: 2px; }
.live-finalization-tip strong { font-size: .66rem; }
.live-finalization-tip small { color: rgba(255,255,255,.68); font-size: .58rem; line-height: 1.35; overflow-wrap: anywhere; }
.live-finalization-tip.is-tip > span { color: #ffd66b; background: rgba(255,214,107,.12); }
.live-finalization-tip.is-strategy > span { color: #8ec5ff; background: rgba(142,197,255,.12); }
.live-finalization-tip.is-warning > span { color: #ffb56b; background: rgba(255,181,107,.12); }
.live-finalization-tip.is-wiki > span { color: #b9a7ff; background: rgba(185,167,255,.12); }
.live-finalization-tip.is-success > span { color: #78e7a7; background: rgba(120,231,167,.12); }
.live-finalization-overlay.is-complete .live-finalization-spinner {
  border: 0;
  background: var(--primary);
  animation: none;
}
.live-finalization-overlay.is-complete .live-finalization-spinner::after {
  content: "✓";
  display: grid;
  place-items: center;
  height: 100%;
  color: #07110c;
  font-weight: 600;
}
.live-finalization-overlay.is-error .live-finalization-card { border-color: rgba(255,92,112,.52) !important; }
.live-finalization-overlay.is-error .live-finalization-progress > span { background: #ff5c70; }

/* A prévia reutiliza exatamente a anatomia da barra inferior real. */
.nav-preview-navbar.settings-nav-preview,
.nav-preview-navbar.nav-custom-preview {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 72px !important;
  margin: 18px 0 8px !important;
  padding: 8px 7px calc(8px + env(safe-area-inset-bottom,0px)) !important;
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  align-items: end !important;
  overflow: visible !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  background: color-mix(in srgb,var(--panel) 96%,transparent) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
}
.nav-preview-navbar .nav-btn.is-preview {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  display: grid !important;
  grid-template-rows: 24px auto !important;
  place-items: center !important;
  gap: 2px !important;
  padding: 4px 2px !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.nav-preview-navbar .nav-btn.is-preview .icon { display: grid; place-items: center; font-size: .9rem; }
.nav-preview-navbar .nav-btn.is-preview > span:last-child {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .51rem !important;
  line-height: 1;
}
.nav-preview-navbar .nav-play.is-preview {
  width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  justify-self: center !important;
  margin-top: -19px !important;
  align-self: start !important;
  grid-template-rows: 31px auto !important;
  border-radius: 50% !important;
  color: var(--primary-contrast,#07110c) !important;
  background: linear-gradient(180deg,var(--primary),var(--primary-2)) !important;
  box-shadow: 0 9px 22px color-mix(in srgb,var(--primary) 34%,transparent),0 0 0 5px var(--panel) !important;
}
.nav-preview-navbar .nav-play.is-preview .icon { font-size: 1rem; color: inherit !important; }
html[data-theme="light"] .nav-preview-navbar.settings-nav-preview,
html[data-theme="light"] .nav-preview-navbar.nav-custom-preview {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(25,36,52,.14) !important;
  box-shadow: 0 10px 26px rgba(24,35,52,.12) !important;
}
html[data-theme="light"] .nav-preview-navbar .nav-play.is-preview { box-shadow: 0 9px 22px color-mix(in srgb,var(--primary) 28%,transparent),0 0 0 5px #fff !important; }

/* Chave eliminatória horizontal. */
.knockout-bracket-panel { overflow: hidden; }
.knockout-bracket {
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding: 4px 2px 10px;
}
.knockout-bracket-track {
  width: max-content;
  min-width: 100%;
  display: flex;
  align-items: stretch;
  gap: 14px;
}
.knockout-bracket-stage {
  position: relative;
  flex: 0 0 min(250px,78vw);
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 9px;
}
.knockout-bracket-stage:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 42px;
  right: -8px;
  width: 2px;
  height: calc(100% - 54px);
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 34%,var(--line));
}
.knockout-bracket-stage > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.knockout-bracket-stage > header span { font-size: .66rem; font-weight: 600; }
.knockout-bracket-stage > header small { color: var(--muted); font-size: .52rem; }
.knockout-bracket-stage > div {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  gap: 10px;
}
.knockout-bracket-match {
  position: relative;
  display: grid;
  gap: 2px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--panel-2) 88%,transparent);
}
.knockout-bracket-stage:not(:last-child) .knockout-bracket-match::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  width: 14px;
  height: 1px;
  background: color-mix(in srgb,var(--primary) 40%,var(--line));
}
.knockout-bracket-team {
  min-width: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 25px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 6px 7px;
  border: 0;
  border-radius: 10px;
  color: var(--text);
  background: transparent;
  text-align: left;
}
.knockout-bracket-team > span { min-width: 0; display: grid; gap: 1px; }
.knockout-bracket-team strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .61rem; }
.knockout-bracket-team small { color: var(--muted); font-size: .47rem; }
.knockout-bracket-team > b { font-size: .72rem; }
.knockout-bracket-team.is-winner { background: color-mix(in srgb,var(--primary) 11%,transparent); }
.knockout-bracket-team.is-winner > b,
.knockout-bracket-team.is-winner strong { color: var(--primary); }
.knockout-bracket-team.is-managed { outline: 1px solid color-mix(in srgb,var(--primary) 55%,transparent); }
.knockout-bracket-team .crest,
.knockout-bracket-team .national-crest-emoji { width: 23px !important; height: 23px !important; font-size: 1.25rem !important; }
.knockout-bracket-match-note {
  display: block;
  padding: 3px 7px 0;
  color: var(--muted);
  font-size: .47rem;
  text-align: right;
}
.knockout-bracket.is-compact .knockout-bracket-stage { flex-basis: min(220px,74vw); }
.cup-bracket-details {
  min-width: 0;
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
}
.cup-bracket-details > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  cursor: pointer;
  color: var(--text);
  font-size: .64rem;
  font-weight: 600;
  background: var(--panel-2);
}
.cup-bracket-details[open] > summary { border-bottom: 1px solid var(--line); }
.cup-bracket-details > .knockout-bracket { padding: 10px; }

/* Destaque do lugar alcançado, pódio e prêmios pertencentes à equipe controlada. */
.competition-end-placement-callout {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 2px 9px;
  margin-top: 10px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb,var(--primary) 38%,var(--line));
  border-radius: 13px;
  background: color-mix(in srgb,var(--primary) 9%,transparent);
}
.competition-end-placement-callout small { grid-column: 1/-1; color: var(--muted); font-size: .52rem; text-transform: uppercase; letter-spacing: .08em; }
.competition-end-placement-callout strong { color: var(--primary); font-size: .82rem; }
.competition-end-placement-callout span { min-width: 0; overflow-wrap: anywhere; font-size: .62rem; }
.competition-end-podium li.is-managed-podium {
  border-color: color-mix(in srgb,var(--primary) 54%,var(--line));
  background: color-mix(in srgb,var(--primary) 10%,var(--panel-2));
  box-shadow: inset 3px 0 0 var(--primary);
}
.competition-end-podium li.is-managed-podium > b {
  grid-column: 2;
  color: var(--primary);
  font-size: .5rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.competition-end-awards article.is-managed-award {
  position: relative;
  border-color: color-mix(in srgb,var(--primary) 52%,var(--line));
  background: color-mix(in srgb,var(--primary) 10%,var(--panel-2));
}
.managed-award-mark {
  position: absolute;
  top: 7px;
  right: 7px;
  color: var(--primary);
  font-size: .58rem;
}
.competition-end-note.is-award-note { border-color: color-mix(in srgb,var(--primary) 42%,var(--line)); color: var(--primary); }
.celebration-placement-copy {
  margin: 3px auto 8px;
  max-width: 30ch;
  color: rgba(255,255,255,.78);
  font-size: .66rem;
  line-height: 1.35;
  text-align: center;
}
.celebration-placement-copy strong { color: #fff; }

html[data-theme="light"] :is(.knockout-bracket-stage > header,.knockout-bracket-match,.cup-bracket-details > summary) {
  color: #172033;
  background: #f7f9fc;
  border-color: rgba(28,39,57,.15);
}
html[data-theme="light"] .knockout-bracket-team { color: #172033; }
html[data-theme="light"] .competition-end-podium li.is-managed-podium,
html[data-theme="light"] .competition-end-awards article.is-managed-award {
  color: #172033;
  background: color-mix(in srgb,var(--primary) 8%,#fff);
}

@media (max-width: 390px) {
  .live-finalization-overlay { padding: 12px; }
  .live-finalization-card { padding: 12px !important; }
  .nav-preview-navbar .nav-btn.is-preview > span:last-child { font-size: .46rem !important; }
  .knockout-bracket-stage { flex-basis: 76vw; }
}

html[data-reduced-motion="true"] .live-finalization-spinner { animation: none !important; }
