: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; touch-action: manipulation; }

.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: var(--action-text, #07110c);
  background: linear-gradient(180deg, var(--action-primary, var(--primary)), var(--action-secondary, 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%);
}










.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; }
.pitch-score .score{ font-size: 1.5rem; 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); }







.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); }


  .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 */




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; }


  .market-filters{ grid-template-columns: 1fr 94px; }
  .market-filters .btn{ grid-column: 1 / -1; width: 100%; }



  
  
  .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; }


  .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; }


  .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; }
  .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; }


  .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 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; }


  .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"] 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"] .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"] .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; }


  
  .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. */


.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; }






.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; }


  
  
  
  


  
  .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; }



  .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. */

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: none; }
.crest.nano{ width: 16px; height: 19px; flex: 0 0 16px; filter: none; }




/* 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{ 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; }



  .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{
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(2,18,9,.35);
  overflow: hidden;
}
/* V481 · o respiro de 12 px pertence ao campo/aviso Turbo, não à faixa
   compacta de narração. Assim, campo desligado + velocidade normal continua
   sem deslocamento; campo visível ou Turbo recuperam a separação original. */
.match-screen:not(.is-live-pitch-disabled) .live-pitch-shell, .match-screen.is-turbo-live .live-pitch-shell{
  margin-top: 12px;
}
.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: minmax(0,1fr) 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); border-radius: 11px; background: var(--panel-2); color: var(--text);
}
.notification-option-grid input{ width: 17px; height: 17px; min-height: 0; margin: 0; padding: 0; flex: 0 0 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; }

.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 ===== */

.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: minmax(0,1fr) 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 */

  
  .history-controls{ gap: 2px; }
  .history-controls button{ width: 24px; height: 30px; font-size: 1.08rem; }
  
  
  
  
  .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: minmax(0,1fr) minmax(0,1fr); }
  .live-management-actions .btn{ padding-inline: 5px; font-size: .67rem; }
  .live-strategy-grid, .live-sub-grid{ grid-template-columns: 1fr; }



  
  .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: minmax(0,1fr) 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; }
  
  
  .glance-row{ grid-template-columns: 42px minmax(0,1fr) minmax(74px,.6fr) 55px !important; }
  .glance-row > small{ font-size: .58rem; line-height: 1.2; }



  .observer-tile > span b{ font-size: .64rem; }
  .observer-featured > div strong{ max-width: 86px; }
  
  




/* ===== Etapa 15: modularidade, leitura e interação sem armadilhas ===== */





/* 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"] .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; }



  
  
  .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: minmax(0,1fr) 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-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; text-align: left; }
.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 strong{ max-width: 95px; font-size: .65rem; }
  .live-pitch-shell{ min-height: 0; 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: minmax(0,1fr) 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 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: minmax(0,1fr) 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: minmax(0,1fr) minmax(0,1fr); }
  .match-action-row{ position: static; padding: 4px; }



  .live-fixture-grid{ grid-template-columns: 1fr; }
  
  .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); }
 .confidence-split{ grid-template-columns: 1fr; } 
.save-slot-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
 .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 */



.quick-menu-grid{ display: grid; grid-template-columns: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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; }



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

  
  
  
  .quick-menu-grid{ grid-template-columns: 1fr; }
  .setup-mode-switch{ grid-template-columns: minmax(0,1fr) 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 .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; }



  
  
  
  .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: minmax(0,1fr) 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)); }



  .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; }



  .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); } }



.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: minmax(0,1fr) 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 .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: minmax(0,1fr) 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 .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; }



  .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 .vs{ font-size: .46rem !important; margin-top: 1px; }
.live-pitch-shell{ 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: minmax(0,1fr) 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: minmax(0,1fr) 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 > .live-shirt-number{ 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: minmax(0,1fr) 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; }
.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; }



  .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; }
  
  .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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) minmax(0,1fr); }




.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: minmax(0,1fr) 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; }


  .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 */




.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[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)); }




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

  
  
  
  .quick-scout-grid{ grid-template-columns: minmax(0,1fr) 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; }



  .player-profile-actionbar{ grid-template-columns: 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);}



  .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;}
.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. */








  
  
  
  
  
  
  


  
  


/* 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; }

.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)); }


  .community-editor-flow{ display: grid; grid-template-columns: 1fr; }
  
  .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: minmax(0,1fr) minmax(0,1fr); }

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

  
  .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); } }



  .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-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); }


  .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; }


.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); }
}


  .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: none; }
.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:none; }
.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-copy > strong, .team-card-copy > .team-card-detail-line{ display:block; }
.team-card-copy > .team-card-detail-line{ margin-top:3px; color:var(--muted); font-size:.78rem; }
.team-card-copy .team-card-detail-line :is(.team-card-detail,.country-inline-label,.country-inline-label > span){ margin-top:0 !important; }
.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;
  }


  .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: minmax(0,1fr) 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 */

  

.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; }


  .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:none}.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%}
.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. */


.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. */










  
  




/* 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: minmax(0,1fr) 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; }
  

.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. */





















.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: minmax(0,1fr) 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: minmax(0,1fr) 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 */

  
  
  
  .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: minmax(0,1fr) minmax(0,1fr); }
  .manager-style-grid{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .manager-profile-form{ grid-template-columns: 1fr 1fr; }



  :root{ --topbar-compact-height: 46px; --bottom-nav-compact-height: 54px; }
  
  
  
  
  
  
  
  .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;
}

  .app-modal-body{ padding-inline: 12px !important; }
  .app-modal-body .sticky-modal-actions{ gap: 8px; }


/* Etapa 44 · cabeçalho compacto com contexto útil */






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

  
  
  
  


  
  
  


/* 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: minmax(0,1fr) 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: minmax(0,1fr) minmax(0,1fr); }
  .team-squad-modal-list.modern{ grid-template-columns: 1fr; }


  .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: minmax(0,1fr) 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. */





/* Cabeçalho compacto, mas com nome real e contexto útil. */




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

  
  
  
  


  
  


/* Copa do Mundo: grupos arejados; a identidade do país usa imagem oficial quando disponível. */
.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; }



.international-fixture-row .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 .team-label strong{ max-width:100%; font-size:.68rem; text-align:center; }

  .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){ 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); }


/* 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(
  .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 !important;
  justify-content: flex-end;
  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 .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; }


  .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"] .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;
}


/* 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: none; }

/* 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 */

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


/* Seleções usam o mesmo pipeline de escudos do restante do jogo; emojis de país não são usados. */












/* 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. */


/* 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 */

  


/* 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;
}

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. */






/* Auditoria final de sombras: profundidade apenas para camadas sobrepostas. */


/* 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: minmax(0,1fr) 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{
  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; }



  .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{ 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: minmax(0,1fr) 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 > small{ color: var(--muted); font-size: .52rem; white-space: nowrap; }

  .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: minmax(0,1fr) minmax(0,1fr); }
  .national-squad-filters{ grid-template-columns: minmax(0,1fr) 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; }



  .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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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; }


  
  .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;
  border-radius: 999px;
  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}.regulations-layout{--regulation-accent:var(--club-surface-accent,var(--primary))}.regulation-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--regulation-accent) 11%,var(--panel-2));border:1px solid color-mix(in srgb,var(--regulation-accent) 28%,var(--line));color:var(--regulation-accent)}
.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)}


  .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}


/* 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; }

  .live-world-group-head{ align-items: flex-start; flex-direction: column; gap: 3px; }
  .live-world-group-head > strong{ text-align: left; }



  .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-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));
}


  .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; }



  .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; }

  
  .live-management-actions .btn:not(.live-pause-button):not(.integrity-action), .live-management-actions .live-pause-button{ min-height: 44px; padding-inline: 5px !important; }


  .live-management-actions{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }


/* Durante a Copa, a seleção assume a identidade sem sacrificar contraste. */




.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 .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: minmax(0,1fr) 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: minmax(0,1fr) 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; }
 .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: minmax(0,1fr) 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-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{
  /* V436: foreground de identidade em superfície neutra nunca usa cor bruta. */
  --club-accent-text: var(--club-surface-accent, 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. */





/* 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. */




/* 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;
}


  .game-opening-copy h1{ font-size: 2.05rem !important; }
  .landing-start-options.setup-mode-switch > button{ font-size: .56rem !important; padding-inline: 3px !important; }
  
  .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 > .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;
}



/* A elevação do botão Jogar pertence à própria barra e não cria altura vazia na página. */




/* 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;
}


  :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; }
  


/* ===== 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;
}
.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: 36px !important; min-height: 36px !important; padding: 2px 4px !important; gap: 4px; border-radius: 12px; }
.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 .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; }
.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; }

  .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;
}


  .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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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; }


  .wiki-filter-bar{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .wiki-filter-bar select{ grid-column: 1 / -1; }
  .wiki-simple-actions{ grid-template-columns: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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 > .live-shirt-number,.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);
}


  .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: minmax(0,1fr) 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. */




.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; }


/* 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 .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"] .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 > .live-shirt-number{
  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. */


















  :root{ --bottom-nav-outer-gap: 5px; --bottom-nav-base-height: 58px; --bottom-nav-rise: 7px; }
  
  
  
  


@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 ===== */




























/* 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;
}


/* 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;
}



  
  
  
  
  
  
  
  
  
  
  
  
  



/* ===== Etapa 69 · acabamento da barra superior e transmissão ===== */

.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. */




/* A barra real e as duas prévias usam a mesma faixa reta de cinco opções. */

.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;
}

.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; }





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; }


  :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;
}


  .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;
}


  .editor-selector-fields-v72{ grid-template-columns: minmax(0, 1fr); }
  .editor-action-grid-v72{ grid-template-columns: minmax(0, 1fr); }



  .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: minmax(0,1fr) 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);
}


  .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;
}

  .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; }


  .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: minmax(0,1fr) 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; }


  .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: minmax(0,1fr) 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;
}

  .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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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); }


  .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: minmax(0,1fr) minmax(0,1fr); }
  .medical-legend{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }


  .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; }
  
  .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: minmax(0,1fr) 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: 34px;
  padding: 6px 7px;
  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: minmax(0,1fr) 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);
}


  
  .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-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: minmax(0,1fr) 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; }



  .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: minmax(0,1fr) 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;
}

  .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; }


  .quick-control-strip{ grid-template-columns: minmax(0,1fr) 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,#statisticsBody,#clubTabContent){
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}
:is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#statisticsBody,#clubTabContent) > .panel, :is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#statisticsBody,#clubTabContent) > section.panel{
  margin-block: 0 !important;
}
#competitionContent > :is(.statistics-toolbar,.calendar-summary){ margin-bottom: 0 !important; }


  :is(#squadTabContent,#tacticsTabContent,#marketTabContent,#competitionContent,#statisticsBody,#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. */










/* 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; }


  .stadium-canvas-shell, .stadium-visual-v78 .stadium-canvas{ min-height: 180px; }
  .stadium-canvas-status{ top: 7px; left: 7px; max-width: calc(100% - 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. */



/* 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;
}


  .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. */




/* 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; }


  .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; }


  .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. */






/* 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; }


  .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;
}


  .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: none; }
.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: minmax(0,1fr) 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; }


  .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); }


  .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));
}

  .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;
}


  .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. */


/* 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;
}


  .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;
}


/* 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;
}


  .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; }



  .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; }
 .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;
  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: none; }
.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: none; }
.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: minmax(0,1fr) 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}.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-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; }


  .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-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; }



  .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;
}


  .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;
  }



  .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 > .fa-gear{
  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 > span{ min-width: 0; }
.landing-v99 .advanced-club-generation > summary > .fa-chevron-down{
  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 > .fa-chevron-down{ 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);
}

  .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)))}

.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 ===== */

.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;
}


  .celebration-share-actions{
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  }
  .share-type-heading small{ display: none; }



  
  
  .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}

  .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; }
/* O cabeçalho interno precisa de ritmo próprio porque o reset global remove
   as margens padrão de títulos e parágrafos também dentro dos modais. */
.pre-match-plan-modal > header{ display: grid; gap: 4px; }
.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; }


  .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: minmax(0,1fr) 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; }

  .retired-career-metrics{ grid-template-columns: minmax(0,1fr) 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; }


  .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-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:none; }
.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. */

  #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; }


  .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: minmax(0,1fr) 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; }


  .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; }



  .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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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; }


  .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: minmax(0,1fr) 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-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;
}


  .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;
}


  .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: minmax(0,1fr) 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; }


  .favorite-player-grid{ grid-template-columns: 1fr; }
  .staff-candidate-comparison{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .universal-search-overlay{ padding-inline: 7px; }
  .universal-search-shell{ border-radius: 15px; }


  .favorite-player-metrics{ grid-template-columns: minmax(0,1fr) 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: minmax(0,1fr) 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); }


  .club-editor-color-grid{ grid-template-columns: minmax(0,1fr) 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%;
}

  .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; }



  .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; }

  .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);
}





.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-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; }


  .quick-menu-cluster-grid{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .quick-menu-cluster-grid button{ min-height: 68px; }
  .quick-menu-section .panel-heading-row .badge{ display: none; }



  .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 > .live-shirt-number{
  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. */





/* O rival possui sua própria paleta, inclusive quando a cor principal é muito clara. */



/* 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;
}


.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);
}


  .competition-end-campaign{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .competition-end-columns{ grid-template-columns: 1fr; }


  .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: minmax(0,1fr) 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);
}


  :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)); }
  
  .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);
}


  :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;
}

  .stadium-visual-specs{ grid-template-columns: minmax(0,1fr) 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;
  text-transform: inherit;
  letter-spacing: 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{
  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: minmax(0,1fr) 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; }


  .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: minmax(0,1fr) 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;
}

  .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;
}

  .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
   ========================================================= */
/* 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;
}


/* =========================================================
   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;
}


  .team-profile-friendly-action{ align-items: stretch; flex-direction: column; }
  .team-profile-friendly-action > .btn{ width: 100%; }
  .resignation-current-state{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }


  .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;
}


  .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; }

  .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; }


  .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 · 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;
}

#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;
}

  .market-load-more{ padding-inline: 10px; }
  .inline-entity-link{ min-height: 32px; }


/* Ajustes finais da auditoria V174 em telas estreitas. */

.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;
}


  .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;
}
.device-diagnostics-modal{ display: grid; gap: 14px; }
.device-diagnostics-modal > header{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 12px;
}
.device-diagnostics-modal > header > 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));
}
.device-diagnostics-modal header :is(h3,p,small){ margin: 0; }
.device-diagnostics-modal header p, .device-diagnostics-modal header small{ color: var(--muted); line-height: 1.45; }
.device-diagnostics-modal header h3{ margin-block: 3px 5px; }
.device-diagnostic-summary{ display: grid; grid-template-columns: 1fr; gap: 7px; }
.device-diagnostic-summary > span{
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.device-diagnostic-summary small, .device-diagnostic-summary strong{ display: block; min-width: 0; overflow-wrap: anywhere; }
.device-diagnostic-summary small{ color: var(--muted); font-size: .68rem; }
.device-diagnostic-summary strong{ margin-top: 3px; font-size: .82rem; }
.device-diagnostic-list{ display: grid; gap: 7px; }
.device-diagnostic-row{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.device-diagnostic-row > span{ color: var(--muted); }
.device-diagnostic-row.is-ok > span{ color: var(--success); }
.device-diagnostic-row.is-warning > span{ color: var(--warning); }
.device-diagnostic-row.is-critical > span{ color: var(--danger); }
.device-diagnostic-row strong, .device-diagnostic-row small{ display: block; }
.device-diagnostic-row small{ margin-top: 2px; color: var(--muted); line-height: 1.35; }
.device-diagnostic-row b{
  grid-column: 2;
  justify-self: start;
  max-width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: .62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.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; }

/* V344 · Mundo em andamento e atalhos exatos de partidas. */
.background-world-settings{
  display: grid;
  gap: 11px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, #4ba3ff 30%, var(--line));
  border-radius: 18px;
  background: linear-gradient(145deg, color-mix(in srgb, #4ba3ff 8%, var(--panel)), var(--panel));
}
.background-world-settings .local-reminder-heading{ grid-template-columns: auto minmax(0,1fr) auto; }
.background-world-settings .local-reminder-heading > span:first-child{
  color: #78b9ff;
  background: color-mix(in srgb, #4ba3ff 14%, var(--panel-2));
}
.background-world-settings .local-reminder-heading > .badge{
  width: auto;
  height: auto;
  max-width: min(34vw, 180px);
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--text);
  background: var(--panel-2);
  font-size: .56rem;
  line-height: 1.25;
  text-align: center;
}
.background-world-settings.is-disabled > :not(.local-reminder-heading):not(.toggle-row){ opacity: .62; }
.background-world-settings input:disabled, .background-world-settings select:disabled{ cursor: not-allowed; opacity: .62; }
.background-world-settings .info-box{ margin: 0; line-height: 1.5; }
.background-match-record{ display: grid; gap: 14px; text-align: center; }
.background-match-score{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 16px 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-2);
}
.background-match-score strong{ min-width: 0; overflow-wrap: anywhere; font-size: .82rem; }
.background-match-score b{ color: var(--primary); font-size: clamp(1.2rem, 6vw, 2rem); white-space: nowrap; }
.background-match-record p, .background-match-record > small{ color: var(--muted); }
.notification-center-item.notification-kind-background-match, .notification-center-item.notification-kind-background-result{ --notification-accent: #4ba3ff; }
.notification-center-item.notification-kind-stories, .notification-center-item.notification-kind-legacy{ --notification-accent: #d6ad55; }
.notification-center-item.notification-kind-player-relations, .notification-center-item.notification-kind-club-pressure{ --notification-accent: #bb79ea; }

  .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; }

  .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; }


/* 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(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; }


  .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;
}

  .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;
}

.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; }

  .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; }

  .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;
}

  .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. */


.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; }


  
  


  .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; }


  .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); }


  .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: minmax(0,1fr) 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)}
.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);
}


  .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; }



  .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);
}


/* ===== V218 · Jogar elevado, resultados compactos e foco nos jogos ativos ===== */

/* O CTA central ultrapassa suavemente o topo arredondado da barra. */



  


/* 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; }

  .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. */







  
  


/* 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: minmax(0,1fr) 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: minmax(0,1fr) 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; }

  .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: minmax(0,1fr) 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: none; }
.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: minmax(0,1fr) minmax(0,1fr); }
.celebration-details li{ border-radius: 13px; }

  .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); }

  .matchday-info-grid.is-expanded{ grid-template-columns: minmax(0,1fr) minmax(0,1fr); }


  .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: minmax(0,1fr) minmax(0,1fr) !important; }
.career-summary-columns{ grid-template-columns: 1fr !important; }
.career-summary-panel{ padding: 11px !important; }
.career-summary-list{ grid-template-columns: minmax(0,1fr) 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: minmax(0,1fr) 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. */

  .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
   ========================================================= */

/* 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;
}


/* 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. */

  .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;
  -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; }


  .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 marca visual da seleção permanece contida na área reservada ao escudo no modal de campanha. */
.competition-end-emblem{
  overflow: hidden !important;
  contain: paint !important;
}


  


/* ===== V235 · bandeira da seleção e salvamento visível no fim do jogo ===== */



.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.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; }

  .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: minmax(0,1fr) 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; }


  :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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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: 30px;
}
.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: minmax(0,1fr) 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: minmax(0,1fr) 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: minmax(0,1fr) 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 */

  .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;
  }


  .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;
}


  .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;
}


  .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;
}


  .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;
}


  .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;
}


  .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);
}


  .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;
}


  .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{
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;
}


  .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 strong{
font-size: .65rem;
  }

  .topbar-club-summary small{
display: none;
  }



  .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;
}


  .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;
}


  .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;
}


  .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;
}


  .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;
}


  .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(.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;
}


  .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;
}


  .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;
}


  .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: none;
}

.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;
}


  .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-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-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;
}


  .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-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;
}


  .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{
background:var(--club-palette-gradient,linear-gradient(135deg,var(--club-primary),var(--club-secondary)))
}

.topbar-share-button{
flex: 0 0 auto;
}


  .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;
}


  .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;
}


  .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;
}


  .navbar-mobile{
--nav-play-size: 60px; column-gap: 3px !important; padding-inline: 5px !important;
  }

  .navbar-mobile .nav-play{
margin-top: -16px !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;
}

  .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;
  }


  .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;
}


  .player-profile-head.modern-player-hero{
    gap: 8px !important;
  }
  .player-profile-head.modern-player-hero > .crest{
    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: minmax(0,1fr) 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; }


  .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 ===== */

/* Identidade visual por equipe.
   Blocos que exibem nome mantêm o fundo anterior e o contraste calculado pela
   própria equipe. Fundo adicional é usado somente em marcas isoladas. */
:is(
  .topbar-club-visual,
  .topbar-next-crest,
  .national-context-banner-mark,
  .main-view-icon,
  .team-profile-crest-stage,
  .competition-end-emblem,
  .celebration-emblems,
  .favorite-team-mark,
  .national-offer-mark
) > .team-own-mark{
  box-sizing: border-box;
  display: block;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 11px;
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--crest-primary,#667085),var(--crest-secondary,#111827))) !important;
  box-shadow: 0 5px 12px rgba(0,0,0,.18) !important;
}

html[data-theme="light"] :is(
  .topbar-club-visual,
  .topbar-next-crest,
  .national-context-banner-mark,
  .main-view-icon,
  .team-profile-crest-stage,
  .competition-end-emblem,
  .celebration-emblems,
  .favorite-team-mark,
  .national-offer-mark
) > .team-own-mark{
  border-color: rgba(20,31,48,.16) !important;
  box-shadow: 0 4px 10px rgba(24,35,52,.14) !important;
}

/* Durante o jogo ao vivo a pilha continua montada, mas somente avisos
   explicitamente autorizados podem aparecer. Isso preserva o feedback das
   decisões de Ética sem reabrir os demais toasts globais da partida. */
.toast-stack.is-live-context, body:has(.match-screen) > .toast-stack, .game-shell:has(.match-screen) .toast-stack{
  display: flex !important;
  pointer-events: none !important;
}
.toast-stack.is-live-context .toast.is-live-allowed{
  display: grid !important;
  pointer-events: auto !important;
}

/* Tela compacta e informativa de salvamento/finalização do ao vivo. */
.live-finalization-overlay{
  position: fixed !important;
  inset: 0 !important;
  z-index: 12020 !important;
  display: grid;
  place-items: center;
  padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background: color-mix(in srgb,#07110c 62%,transparent) !important;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  overscroll-behavior: contain;
  opacity: 0;
  transition: opacity .16s 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; }

/* Caminho compacto no mata-mata: uma partida relevante por fase. */
.knockout-bracket-panel{ overflow: hidden; }
.knockout-path{
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  padding: 3px 1px 8px;
}
.knockout-path-track{
  width: max-content;
  min-width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
}
.knockout-path-stage{
  flex: 0 0 158px;
  min-width: 0;
  display: grid;
  gap: 5px;
}
.knockout-path-stage > header{
  min-width: 0;
  display: grid;
  gap: 1px;
  padding: 0 2px;
}
.knockout-path-stage > header span{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: .6rem;
  font-weight: 600;
}
.knockout-path-stage > header small{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: .45rem;
}
.knockout-path-match{
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb,var(--panel-2) 90%,transparent);
}
.knockout-path-stage.is-current .knockout-path-match{
  border-color: color-mix(in srgb,var(--primary) 48%,var(--line));
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 13%,transparent);
}
.knockout-path-team{
  min-width: 0;
  width: 100%;
  min-height: 31px;
  display: grid;
  grid-template-columns: 21px minmax(0,1fr) auto;
  align-items: center;
  gap: 5px;
  padding: 4px 6px;
  border: 0;
  border-radius: 8px;
  color: var(--team-gradient-text,#fff);
  background: var(--team-palette-gradient,linear-gradient(135deg,var(--team-primary,#667085),var(--team-secondary,#111827)));
  text-align: left;
  text-shadow: var(--team-hero-text-shadow,0 1px 2px rgba(0,0,0,.55));
}
.knockout-path-team .team-own-mark{
  width: 20px !important;
  height: 22px !important;
  min-width: 20px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.knockout-path-team strong{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit !important;
  font-size: .55rem;
}
.knockout-path-team > b{
  color: inherit !important;
  font-size: .68rem;
}
.knockout-path-team:not(.is-winner){ opacity: .78; }
.knockout-path-team.is-winner{ outline: 1px solid color-mix(in srgb,#fff 42%,transparent); }
.knockout-path-team.is-managed{ box-shadow: inset 3px 0 0 var(--primary); }
.knockout-path-match > em{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 1px 3px 0;
  color: var(--muted);
  font-size: .43rem;
  font-style: normal;
  text-align: right;
}
.knockout-path-connector{
  flex: 0 0 16px;
  display: grid;
  place-items: center;
  color: var(--primary);
  font-size: .58rem;
}
.knockout-path.is-compact .knockout-path-stage{ flex-basis: 148px; }
.cup-bracket-details{
  min-width: 0;
  margin-top: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.cup-bracket-details > summary{
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  cursor: pointer;
  color: var(--text);
  font-size: .59rem;
  font-weight: 600;
  background: var(--panel-2);
}
.cup-bracket-details[open] > summary{ border-bottom: 1px solid var(--line); }
.cup-bracket-details > .knockout-path{ padding: 8px; }
html[data-theme="light"] :is(.knockout-path-match,.cup-bracket-details > summary){
  background: #f7f9fc;
  border-color: rgba(28,39,57,.15);
}

  .knockout-path-stage{ flex-basis: 142px; }
  .knockout-path.is-compact .knockout-path-stage{ flex-basis: 136px; }


/* 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"] .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);
}


  .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; }


html[data-reduced-motion="true"] .live-finalization-spinner{ animation: none !important; }


/* ===== V255 — resultados, bandeiras, tabelas completas e chave total ===== */

/* O título e as duas ações do último resultado permanecem na mesma linha. */
.home-last-result-heading{
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 7px !important;
}
.home-last-result-heading > .panel-title{ min-width: 0; flex: 1 1 auto; }
.home-last-result-actions{
  flex: 0 0 auto !important;
  width: auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 4px !important;
}
.home-last-result-actions .btn{
  width: auto !important;
  min-width: 0 !important;
  min-height: 29px !important;
  padding: 5px 7px !important;
  gap: 4px !important;
  border-radius: 9px !important;
  font-size: .52rem !important;
  white-space: nowrap !important;
}
.home-last-result-actions .btn .fa-solid{ font-size: .54rem !important; }

  .home-last-result-heading{ gap: 5px !important; }
  .home-last-result-actions .btn{ padding-inline: 5px !important; font-size: .47rem !important; }


/* A identidade visual de cada seleção usa somente seu próprio escudo/imagem oficial. */

/* O bloco com nome usa a paleta da própria seleção, nunca a paleta da seleção comandada. */
.international-fixture-row > .team-label.team-tone{
  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) 24%,transparent) !important;
  text-shadow: var(--team-hero-text-shadow,0 1px 2px rgba(0,0,0,.5)) !important;
}
.international-fixture-row > .team-label.team-tone strong{ color: inherit !important; }

/* O escudo da seleção no perfil cabe integralmente na área reservada. */
.national-profile-hero .team-profile-crest-stage{
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  overflow: hidden;
}


  .national-profile-hero .team-profile-crest-stage{ width: 58px; min-width: 58px; max-width: 58px; }
  


/* Todas as classificações exibem o conjunto completo e rolam dentro do card. */
:is(.standings-scroll,.league-standings-wrap,.live-standings-table,.qualifier-standings-table,.world-group-standings,.post-table-scroll,.home-standings-scroll){
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
}
:is(.standings-scroll,.home-standings-scroll) > :is(.live-table-columns,.live-table-row), .live-standings-table > :is(.live-table-columns,.live-table-row){
  grid-template-columns: 46px minmax(150px,1fr) 42px 42px 42px 38px 42px 42px 42px 42px 118px !important;
  min-width: 704px !important;
}
.league-standings-table{ min-width: 760px !important; table-layout: auto !important; }
.league-standings-table :is(th,td){ display: table-cell !important; width: auto !important; }
.home-standings-scroll{
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel-2);
}
.home-standings-scroll .live-table-columns{ position: sticky; top: 0; }
.home-standings-scroll .home-standings-row:last-child{ border-bottom: 0; }
html[data-theme="light"] .home-standings-scroll{ background: #fff; border-color: rgba(28,39,57,.15); }

/* Chave completa, ainda compacta: todos os confrontos de cada fase. */
.knockout-path-track{ align-items: flex-start !important; }
.knockout-path-stage{
  flex: 0 0 166px;
  align-content: start;
}
.knockout-path-stage.is-medium, .knockout-path-stage.is-dense{ flex-basis: 318px; }
.knockout-path-stage-matches{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-content: start;
  gap: 4px;
}
.knockout-path-stage.is-medium .knockout-path-stage-matches, .knockout-path-stage.is-dense .knockout-path-stage-matches{
  grid-template-columns: repeat(2,minmax(150px,1fr));
}
.knockout-path-match{ padding: 3px !important; gap: 2px !important; }
.knockout-path-team{ min-height: 27px !important; padding: 3px 5px !important; }
.knockout-path-match > em{ min-height: 9px; padding-top: 0; font-size: .4rem; }
.knockout-path-connector{ align-self: center; margin-top: 24px; }


  .knockout-path-stage{ flex-basis: 156px; }
  .knockout-path-stage.is-medium, .knockout-path-stage.is-dense{ flex-basis: 298px; }
  .knockout-path-stage.is-medium .knockout-path-stage-matches, .knockout-path-stage.is-dense .knockout-path-stage-matches{ grid-template-columns: repeat(2,minmax(140px,1fr)); }


.knockout-path.is-compact .knockout-path-stage{ flex-basis: 156px !important; }
.knockout-path.is-compact .knockout-path-stage.is-medium, .knockout-path.is-compact .knockout-path-stage.is-dense{ flex-basis: 298px !important; }

/* Compatibilidade do rodapé final: duas ações com largura igual. */
.finish-action-row{ grid-template-columns: repeat(2,minmax(0,1fr)) !important; }

/* ===== V256 — chave eliminatória completa, prévia verde e análise espaçada ===== */

/* Cada fase usa uma única coluna vertical. As linhas mostram como os vencedores avançam. */
.knockout-path-track{
  align-items: flex-start !important;
  gap: 0 !important;
  padding-bottom: 4px;
}
.knockout-path-stage, .knockout-path-stage.is-medium, .knockout-path-stage.is-dense, .knockout-path.is-compact .knockout-path-stage, .knockout-path.is-compact .knockout-path-stage.is-medium, .knockout-path.is-compact .knockout-path-stage.is-dense{
  flex: 0 0 148px !important;
  width: 148px !important;
  min-width: 148px !important;
  display: grid !important;
  grid-template-rows: 31px var(--bracket-height) !important;
  gap: 0 !important;
}
.knockout-path-stage > header{
  align-content: center;
  min-height: 31px;
  padding: 0 4px 4px !important;
}
.knockout-path-stage-matches, .knockout-path-stage.is-medium .knockout-path-stage-matches, .knockout-path-stage.is-dense .knockout-path-stage-matches{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: var(--bracket-height) !important;
}
.knockout-path-match{
  position: absolute !important;
  inset: var(--match-top) 0 auto 0 !important;
  width: 100% !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 2px !important;
  gap: 1px !important;
  overflow: hidden;
  border-radius: 9px !important;
}
.knockout-path-team{
  min-height: 22px !important;
  height: 22px !important;
  padding: 2px 4px !important;
  grid-template-columns: 18px minmax(0,1fr) auto !important;
  gap: 4px !important;
  border-radius: 6px !important;
}
.knockout-path-team .team-own-mark{
  width: 17px !important;
  height: 18px !important;
  min-width: 17px !important;
}
.knockout-path-team strong{ font-size: .5rem !important; }
.knockout-path-team > b{ font-size: .58rem !important; }
.knockout-path-match > em{
  min-height: 8px !important;
  padding: 0 2px !important;
  font-size: .36rem !important;
  line-height: 1 !important;
}
.knockout-path-team.is-placeholder{
  color: var(--muted) !important;
  background: color-mix(in srgb,var(--panel) 84%,var(--line)) !important;
  border: 1px dashed color-mix(in srgb,var(--muted) 42%,transparent) !important;
  text-shadow: none !important;
  opacity: .82;
}
.knockout-placeholder-mark{
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: var(--muted);
  background: color-mix(in srgb,var(--line) 72%,transparent);
  font-size: .48rem;
  font-weight: 600;
}

/* Ponte visual entre cada dupla de confrontos e a vaga correspondente. */
.knockout-path-bridge{
  position: relative;
  flex: 0 0 27px;
  width: 27px;
  height: calc(var(--bracket-height) + 31px);
  color: color-mix(in srgb,var(--primary) 78%,var(--muted));
}
.knockout-path-bridge-pair{
  position: absolute;
  inset: 31px 0 auto 0;
  height: var(--bracket-height);
  pointer-events: none;
}
.knockout-path-bridge-pair > i{
  position: absolute;
  display: block;
  background: currentColor;
  opacity: .78;
}
.knockout-path-bridge-pair .bridge-from{
  left: 0;
  width: 12px;
  height: 1px;
}
.knockout-path-bridge-pair .bridge-from-a{ top: var(--y1); }
.knockout-path-bridge-pair .bridge-from-b{ top: var(--y2); }
.knockout-path-bridge-pair .bridge-vertical{
  left: 11px;
  top: var(--y1);
  width: 1px;
  height: max(1px,calc(var(--y2) - var(--y1)));
}
.knockout-path-bridge-pair .bridge-next{
  left: 11px;
  top: var(--yn);
  width: 16px;
  height: 1px;
}
.knockout-path-bridge-pair .bridge-next::after{
  content: "";
  position: absolute;
  right: -1px;
  top: -2px;
  width: 0;
  height: 0;
  border-top: 2.5px solid transparent;
  border-bottom: 2.5px solid transparent;
  border-left: 4px solid currentColor;
}
.knockout-path-third-separator{
  flex: 0 0 14px;
  width: 14px;
  min-height: calc(var(--bracket-height) + 31px);
  border-left: 1px dashed color-mix(in srgb,var(--muted) 38%,transparent);
}
.knockout-path-stage.is-third-place > header span{ color: var(--muted); }
.knockout-path-stage.is-third-place .knockout-path-match{ opacity: .94; }

/* A bola da prévia usa exatamente o verde e o acabamento da barra inferior real. */
.nav-preview-navbar .nav-play.is-preview{
  color: var(--play-cta-text,#fff) !important;
  background: radial-gradient(circle at 34% 24%,#48dc7d 0 8%,var(--play-cta-start,#22c55e) 34%,var(--play-cta-end,#15803d) 100%) !important;
  border: 3px solid var(--panel) !important;
  box-shadow: 0 12px 28px var(--play-cta-shadow,rgba(21,128,61,.34)),inset 0 1px 0 rgba(255,255,255,.32) !important;
}
.nav-preview-navbar .nav-play.is-preview .icon{
  color: #fff !important;
  background: rgba(255,255,255,.15) !important;
}
html[data-theme="light"] .nav-preview-navbar .nav-play.is-preview{
  border-color: #fff !important;
  box-shadow: 0 12px 28px var(--play-cta-shadow,rgba(4,120,87,.28)),inset 0 1px 0 rgba(255,255,255,.32) !important;
}

/* O texto introdutório da análise não encosta mais no primeiro bloco. */
.assistant-review-modal > header{
  display: grid;
  gap: 4px;
  margin-bottom: 12px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.assistant-review-modal > header > :last-child{ margin-bottom: 0; }


  .knockout-path-stage, .knockout-path-stage.is-medium, .knockout-path-stage.is-dense, .knockout-path.is-compact .knockout-path-stage, .knockout-path.is-compact .knockout-path-stage.is-medium, .knockout-path.is-compact .knockout-path-stage.is-dense{
    flex-basis: 140px !important;
    width: 140px !important;
    min-width: 140px !important;
  }



/* ===== V257 — refinamentos da chave e campos visuais unificados ===== */

/* Pequena separação entre os dois times sem aumentar demais o card. */
.knockout-path-match{
  height: 62px !important;
  min-height: 62px !important;
}
.knockout-path-team + .knockout-path-team{
  margin-top: 2px;
}
.knockout-path-team-copy{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 3px;
  overflow: hidden;
}
.knockout-path-team-copy > strong{
  flex: 1 1 auto;
  min-width: 0;
}
.knockout-champion-tag{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 47px;
  padding: 1px 3px;
  border: 1px solid color-mix(in srgb,#fff 42%,transparent);
  border-radius: 999px;
  color: inherit;
  background: color-mix(in srgb,#000 18%,transparent);
  font-size: .31rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: none;
}
.knockout-champion-tag .icon{
  font-size: .29rem;
}
.knockout-path-team.is-champion{
  outline-width: 2px;
  box-shadow: inset 3px 0 0 color-mix(in srgb,#f6d65f 84%,#fff),0 0 0 1px color-mix(in srgb,#f6d65f 34%,transparent);
}

/* A linha do 3º lugar fica exatamente no centro do espaço reservado. */
.knockout-path-third-separator{
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  min-width: 28px;
  border-left: 0 !important;
}
.knockout-path-third-separator::before{
  content: "";
  position: absolute;
  top: 31px;
  bottom: 0;
  left: 50%;
  border-left: 1px dashed color-mix(in srgb,var(--muted) 38%,transparent);
  transform: translateX(-.5px);
}

/* Todos os campos estáticos usam a mesma proporção e acabamento do campo ao vivo. */
.tactical-canvas, .strategy-canvas, .lineup-canvas, .lineup-modern-pitch .lineup-canvas{
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 960 / 470 !important;
  object-fit: contain;
  border-radius: 12px !important;
  background: #075b34;
  image-rendering: auto;
}
.lineup-modern-pitch{
  overflow: hidden;
}

/* ===== V258 — competições reativas, prêmios visíveis e mapa tático sem sobra ===== */

/* O campo horizontal usa a mesma proporção da imagem; a moldura não reserva altura 4:3. */
.strategy-canvas-shell{
  min-height: 0 !important;
  aspect-ratio: 960 / 470 !important;
  line-height: 0;
  background: transparent !important;
}
.strategy-canvas-shell > .strategy-canvas{
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 960 / 470 !important;
}

/* Semifinalistas compartilhando a terceira colocação ficam dentro de uma única linha legível. */
.cup-podium-third-row{ align-items: start !important; }
.cup-podium-third-row > b{ width: 34px !important; }
.cup-podium-team-list{
  min-width: 0;
  display: grid;
  gap: 4px;
}
.cup-podium-team-entry{
  min-width: 0;
  display: block;
}
.cup-podium-team-entry .team-label{
  width: 100%;
  min-width: 0;
}

/* Nome e premiação permanecem próximos, sem duas linhas vazias aparentes. */
.competition-podium-history-row{
  column-gap: 8px !important;
  row-gap: 2px !important;
  padding-block: 6px !important;
}
.competition-podium-history-row > small{
  margin: 0 !important;
  line-height: 1.25;
}

  .competition-podium-history-row > small{ margin-top: -1px !important; }


/* Atualização dos prêmios usa uma camada compacta e sempre visível, como o salvamento ao vivo. */
.statistics-awards-loading{
  position: fixed;
  z-index: calc(var(--z-modal, 900) - 10);
  inset: 0;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(3,16,11,.48);
  backdrop-filter: blur(4px);
}
.statistics-awards-loading-card{
  width: min(100%, 360px);
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(116,205,154,.42);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(180deg,rgba(20,75,48,.985),rgba(8,40,27,.985));
  box-shadow: 0 18px 42px rgba(0,0,0,.34);
}
.statistics-awards-loading-card > header{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
}
.statistics-awards-loading-card .post-match-save-spinner{
  width: 26px;
  height: 26px;
}
.statistics-awards-loading-card > header > div{ min-width: 0; display: grid; gap: 2px; }
.statistics-awards-loading-card :is(strong,small,b){ color: #fff !important; }
.statistics-awards-loading-card strong{ font-size: .76rem; }
.statistics-awards-loading-card small{ font-size: .61rem; line-height: 1.35; opacity: .84; }
.statistics-awards-loading-card > header > b{ font-size: .55rem; white-space: nowrap; }
.statistics-awards-loading-card > i{
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}
.statistics-awards-loading-card > i > span{
  display: block;
  width: 42%;
  height: 100%;
  border-radius: inherit;
  background: #8be0ad;
  animation: awards-loading-slide 1.35s ease-in-out infinite;
}
.statistics-awards-loading-tip{
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  border-radius: 11px;
  background: rgba(255,214,107,.1);
  border: 1px solid rgba(255,214,107,.18);
}
.statistics-awards-loading-tip > span{
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #ffd66b;
  background: rgba(255,214,107,.12);
}
.statistics-awards-loading-tip > div{ min-width: 0; display: grid; gap: 1px; }
.statistics-awards-loading-tip strong{ font-size: .64rem; }
.statistics-awards-loading-tip small{ font-size: .57rem; }
.statistics-awards-loading.is-error .statistics-awards-loading-card{
  border-color: rgba(255,150,150,.5);
  background: linear-gradient(180deg,rgba(117,34,45,.985),rgba(65,18,27,.985));
}
.statistics-awards-loading.is-error .post-match-save-spinner{ animation: none; border-color: rgba(255,255,255,.35); }
.statistics-awards-loading.is-error .statistics-awards-loading-card > i > span{ width: 100%; animation: none; background: #ff9aa8; }
@keyframes awards-loading-slide {
  0% { transform: translateX(-120%); }
  55% { transform: translateX(105%); }
  100% { transform: translateX(250%); }
}
.reduced-motion .statistics-awards-loading-card > i > span, html[data-reduced-motion="true"] .statistics-awards-loading-card > i > span{ animation: none; width: 100%; }



/* Pódios compactos, mas com separação suficiente entre clube e premiação. */
.competition-podium-history-card{ gap: 6px !important; }
.competition-podium-history-row{ row-gap: 3px !important; }

  .competition-podium-history-row > small{
    margin-top: 0 !important;
    line-height: 1.28;
  }

.cup-podium-mini > span{ min-height: 28px; }
.cup-podium-mini > span .team-label{ width: 100%; }

/* ===== V259 — auditoria geral de contraste e sombras ===== */
:root{
  --surface-text-shadow: none;
  --decorated-shadow-light-text: 0 1px 2px rgba(0,0,0,.72);
  --decorated-shadow-dark-text: 0 1px 1px rgba(255,255,255,.42);
  --neutral-on-dark: #ffffff;
  --neutral-on-dark-muted: #d7dfeb;
  --neutral-on-light: #172033;
  --neutral-on-light-muted: #5f6c80;
}
html[data-theme="light"]{
  --surface-text-shadow: none;
  --neutral-on-light: #172033;
  --neutral-on-light-muted: #5f6c80;
}
html:not([data-theme="light"]){
  --neutral-on-dark: #f6f7fb;
  --neutral-on-dark-muted: #aeb8c7;
}

/* Superfícies neutras nunca herdam branco nem sombra de heróis ou identidades. */
:is(
  .panel,.app-modal,.app-modal-body,.settings-group,.table-wrap,
  .match-detail-card,.post-match-collapsible-card,.post-round-result,
  .post-table-row,.notification-center-item,.offer-card,.career-offer-row,
  .market-player-card,.player-card,.news-card,.history-card,.scout-card,
  .medical-player-card,.ranking-row,.calendar-match,.cup-card
){
  color: var(--text);
}
:is(
  .panel,.app-modal,.app-modal-body,.settings-group,.table-wrap,
  .match-detail-card,.post-match-collapsible-card,.post-round-result,
  .post-table-row,.notification-center-item,.offer-card,.career-offer-row,
  .market-player-card,.player-card,.news-card,.history-card,.scout-card,
  .medical-player-card,.ranking-row,.calendar-match,.cup-card
) :is(h1,h2,h3,h4,strong,b,label,summary,button,p,span,small,em,i){
  text-shadow: none;
}
:is(
  .panel,.app-modal,.app-modal-body,.settings-group,.match-detail-card,
  .post-match-collapsible-card,.post-round-result,.post-table-row
) :is(h1,h2,h3,h4,strong,b,label,summary){
  color: var(--text);
}
:is(
  .panel,.app-modal,.app-modal-body,.settings-group,.match-detail-card,
  .post-match-collapsible-card,.post-round-result,.post-table-row
) :is(p,small,em){
  color: var(--muted);
}

/* Pós-jogo: texto neutro explícito nos dois temas, sem herança branca. */
.match-screen .live-finish-pane, .match-screen .live-finish-pane .post-match-scroll-body, .match-screen .live-finish-pane .post-match-summary{
  color: var(--text) !important;
  background-color: var(--panel) !important;
}
.match-screen .live-finish-pane :is(
  .post-match-head,.post-match-collapsible-card,.post-match-card-header,
  .post-match-card-content,.post-round-result,.post-table-row,
  .post-match-aggregate,.post-match-leg-results > span
){
  color: var(--text) !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane :is(
  .post-match-result-copy,.post-match-card-header,.post-match-card-content,
  .post-round-result,.post-table-row,.post-match-aggregate,.post-match-leg-results > span
) :is(h2,h3,h4,strong,b,label,summary,button){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane :is(
  .post-match-result-copy,.post-match-card-header,.post-match-card-content,
  .post-round-result,.post-table-row,.post-match-aggregate,.post-match-leg-results > span
) :is(p,small,em){
  color: var(--muted) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-result-copy h2{
  color: color-mix(in srgb,var(--post-outcome-accent) 72%,var(--text)) !important;
}
.match-screen .live-finish-pane .post-match-head > p, .match-screen .live-finish-pane .post-match-result-copy > p{
  color: var(--muted) !important;
}
.match-screen .live-finish-pane .post-match-scoreline{
  color: var(--text) !important;
  background: color-mix(in srgb,var(--panel-2) 94%,var(--post-outcome-accent) 6%) !important;
}
.match-screen .live-finish-pane .post-match-scoreline > strong{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-scoreline > strong small{
  color: var(--muted) !important;
  -webkit-text-fill-color: currentColor !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone{
  color: var(--text) !important;
  background: color-mix(in srgb,var(--team-primary) 8%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--team-primary) 34%,var(--line)) !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone :is(strong,b,span,small,button){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone small{
  color: var(--muted) !important;
}
html[data-theme="light"] .match-screen .live-finish-pane .finish-action-row{
  color: var(--text) !important;
  background: #ffffff !important;
  border-top-color: rgba(28,39,57,.15) !important;
}
html:not([data-theme="light"]) .match-screen .live-finish-pane .finish-action-row{
  color: var(--text) !important;
  background: var(--panel-2) !important;
}

/* Selo semântico: fundo sólido escuro, texto branco e nenhuma sombra desnecessária. */
.post-match-outcome-label, .post-match-outcome-label :is(svg,.fa-solid,.fa-regular,span,strong,b,small), .live-score-auto-badge, .live-score-auto-badge :is(svg,.fa-solid,.fa-regular,span,strong,b,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
.post-match-dual-status > span, .post-match-dual-status > span :is(svg,.fa-solid,.fa-regular,span,strong,b,small){
  text-shadow: none !important;
}

/* Modais: cabeçalho e corpo seguem a superfície do tema; heróis internos continuam independentes. */
.app-modal > header, .app-modal .app-modal-body{
  color: var(--text);
}
.app-modal > header :is(h1,h2,h3,h4,strong,b,button,.kicker), .app-modal .app-modal-body :is(h1,h2,h3,h4,strong,b,label,summary){
  color: var(--text);
  text-shadow: none;
}
.app-modal > header :is(p,small,em), .app-modal .app-modal-body :is(p,small,em){
  color: var(--muted);
  text-shadow: none;
}
.app-modal :is(.modal-close,.modal-back,.icon-button){
  color: var(--text);
  background: var(--panel-2);
  border-color: var(--line);
  text-shadow: none;
}

/* Campos, tabelas e controles mantêm leitura previsível em claro e escuro. */
:is(input,select,textarea,.code-area){
  color: var(--text);
  background-color: var(--panel-2);
  border-color: var(--line);
  text-shadow: none;
}
:is(input,textarea)::placeholder{ color: var(--muted); opacity: .9; }
:is(table,.league-standings-table){ color: var(--text); background: var(--panel); }
:is(table,.league-standings-table) :is(th,td){ text-shadow: none; }
:is(table,.league-standings-table) th{ color: var(--muted); background: var(--panel-2); }
:is(table,.league-standings-table) td{ color: var(--text); }

/* Botões: a cor do texto acompanha o fundo e não depende da herança do card. */
.btn:not(.secondary):not(.ghost):not(.danger):not(.tertiary){
  color: var(--primary-contrast,var(--on-primary,#07110c));
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.btn:not(.secondary):not(.ghost):not(.danger):not(.tertiary) :is(svg,.fa-solid,.fa-regular,span,strong,small){
  color: inherit;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.btn.secondary, .btn.ghost, .btn.tertiary{
  color: var(--text);
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.btn.secondary :is(svg,.fa-solid,.fa-regular,span,strong,small), .btn.ghost :is(svg,.fa-solid,.fa-regular,span,strong,small), .btn.tertiary :is(svg,.fa-solid,.fa-regular,span,strong,small){
  color: inherit;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.btn.danger, .btn.danger :is(svg,.fa-solid,.fa-regular,span,strong,small){
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  text-shadow: none;
}

/* Sombras tipográficas só existem em fundos visuais complexos e seguem a cor calculada. */
:is(
  .pitch-score,.live-pitch-caption,.live-event-overlay,.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,.club-identity-card
) :is(h1,h2,h3,h4,p,span,strong,b,small,em,.score,.vs){
  text-shadow: var(--club-hero-text-shadow,var(--decorated-shadow-light-text)) !important;
}
:is(
  .pitch-score,.live-pitch-caption,.live-event-overlay,.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,.club-identity-card
).team-tone :is(h1,h2,h3,h4,p,span,strong,b,small,em,.score,.vs), .team-tone :is(.team-gradient-surface,.team-dual-tone) :is(h1,h2,h3,h4,p,span,strong,b,small,em,.score,.vs){
  text-shadow: var(--team-hero-text-shadow,var(--club-hero-text-shadow,var(--decorated-shadow-light-text))) !important;
}
:is(
  .topbar,.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,
  .fixture-team.team-tone:not(.pitch-score .fixture-team)
) :is(h1,h2,h3,h4,p,span,strong,b,small,em,button){
  text-shadow: none !important;
}

/* Estados de foco e desabilitado continuam perceptíveis sem reduzir o contraste do texto. */
:is(button,.btn,input,select,textarea,summary,[tabindex]):focus-visible{
  outline-color: color-mix(in srgb,var(--primary) 72%,#ffffff 18%);
}
:is(button,.btn):is(:disabled,[aria-disabled="true"],.is-disabled){
  opacity: .56;
}
html[data-theme="light"] :is(button,.btn):is(:disabled,[aria-disabled="true"],.is-disabled){
  opacity: .62;
}

/* Estados semânticos preservam sua função mesmo dentro de modais e superfícies neutras. */
:is(.positive,.success-text,.text-success,.status-success,.is-success){
  color: var(--success) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
:is(.negative,.danger-text,.text-danger,.status-danger,.is-danger){
  color: var(--danger) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
:is(.warning-text,.text-warning,.status-warning,.is-warning){
  color: var(--warning) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* =========================================================
   V260 — pós-jogo neutro sem herança cromática de heróis
   ========================================================= */
/* O cabeçalho do pós-jogo usa uma superfície neutra com acento semântico.
   Ele não é um herói de identidade de clube e, portanto, nunca deve receber
   as regras globais de texto branco de .team-dual-tone. */
.match-screen .live-finish-pane .post-match-head.post-match-surface, .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-aggregate{
  color: var(--text) !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface :is(
  .kicker,
  .post-match-result-copy > p,
  .post-match-aggregate-main > span,
  .post-match-aggregate-main > small,
  .post-match-leg-results > span > small
){
  color: var(--muted) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface :is(
  .post-match-result-copy > h2,
  .post-match-aggregate-main > strong,
  .post-match-leg-results > span,
  .post-match-leg-results > span > b,
  .post-match-scoreline > strong
){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-aggregate-main > span{
  color: color-mix(in srgb,var(--aggregate-accent) 74%,var(--text)) !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-neutral{
  color: var(--muted) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--panel) !important;
  border-color: var(--line) !important;
  text-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-victory{
  color: color-mix(in srgb,#168555 82%,var(--text)) !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-draw{
  color: color-mix(in srgb,#a96b08 82%,var(--text)) !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-defeat{
  color: color-mix(in srgb,#b72c42 84%,var(--text)) !important;
}
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-penalties{
  color: color-mix(in srgb,#6b50c7 84%,var(--text)) !important;
}
/* Somente o selo sólido do resultado mantém texto claro. */
.match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-outcome-label, .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-outcome-label :is(svg,.fa-solid,.fa-regular,span,strong,b,small){
  color: var(--post-outcome-on,#ffffff) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
/* Chips semânticos do pós-jogo usam tons próprios por tema, com contraste AA. */
html:not([data-theme="light"]) .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-victory{ color:#73d9a8 !important; }
html:not([data-theme="light"]) .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-draw{ color:#ffd06a !important; }
html:not([data-theme="light"]) .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-defeat{ color:#ff8fa0 !important; }
html:not([data-theme="light"]) .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-penalties{ color:#c2afff !important; }
html[data-theme="light"] .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-victory{ color:#126b46 !important; }
html[data-theme="light"] .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-draw{ color:#805004 !important; }
html[data-theme="light"] .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-defeat{ color:#9f2538 !important; }
html[data-theme="light"] .match-screen .live-finish-pane .post-match-head.post-match-surface .post-match-dual-status > span.is-penalties{ color:#5842a6 !important; }

/* =========================================================
   V261 — auditoria integral de contraste e troca segura de tema
   ========================================================= */
/* A identidade do clube mantém a cor original em fundos decorativos, mas
   textos sobre superfícies do aplicativo usam a variante calculada para cada
   tema. As duas variantes existem ao mesmo tempo, evitando cor antiga quando
   o tema é trocado sem redesenhar o componente. */
:root{
  --muted-strong: #b9c3d2;
  --club-accent-text: var(--club-surface-accent, var(--club-accent-text-dark, var(--primary)));
  --team-accent-text: var(--team-accent-text-dark, var(--club-accent-text));
  --team-accent-contrast: var(--team-accent-contrast-dark, var(--on-primary));
}
html[data-theme="light"]{
  --muted-strong: #4e5c70;
  --club-accent-text: var(--club-surface-accent, var(--club-accent-text-light, var(--primary)));
  --team-accent-text: var(--team-accent-text-light, var(--club-accent-text));
  --team-accent-contrast: var(--team-accent-contrast-light, var(--on-primary));
}
html:not([data-theme="light"]){
  --muted-strong: #b9c3d2;
  --club-accent-text: var(--club-surface-accent, var(--club-accent-text-dark, var(--primary)));
  --team-accent-text: var(--team-accent-text-dark, var(--club-accent-text));
  --team-accent-contrast: var(--team-accent-contrast-dark, var(--on-primary));
}

/* Marcadores vazios e textos auxiliares precisam passar AA também sobre os
   fundos levemente tonalizados de tabelas, tática, amistosos e configurações. */
html[data-theme="light"] i.is-empty, html[data-theme="light"] .is-empty:not(.empty):not(.empty-state-card){
  color: #4f5d71 !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
:is(
  .tactic-metric-row,.tactic-modern-group,.tactic-preset-grid,
  .tactic-editor-section,.tactic-summary-grid,.tactic-quick-metrics,
  .coach-priority,.quick-action-grid,.friendly-builder-note,
  .settings-feature-card,.settings-option-card,.settings-experience-card
) :is(p,small,em,span.help-text,.description,.muted){
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* Números do wiki usam texto neutro forte. A identidade permanece no fundo e
   na borda, sem sacrificar leitura em vermelho, amarelo ou tons muito claros. */
.wiki-book-section-number{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  border: 1px solid color-mix(in srgb,var(--club-accent-text) 28%,var(--line));
  text-shadow: none !important;
}

/* Chips, kickers, valores financeiros e navegação ativa não podem usar a cor
   bruta do clube sobre painéis neutros. */
.app-screen > .content :is(.kicker,.competition-chip,.national-player-copy small), .club-finance-card :is(.currency-prefix,.money-prefix,[data-currency-prefix]), .finance-overview :is(.currency-prefix,.money-prefix,[data-currency-prefix]){
  color: var(--club-accent-text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.navbar-mobile .nav-btn:not(.nav-play).is-active, .navbar-mobile .nav-btn:not(.nav-play)[aria-current="page"]{
  color: var(--club-accent-text) !important;
  box-shadow: inset 0 3px 0 var(--club-accent-text) !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(--club-accent-text) 12%,var(--panel)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--club-accent-text) 22%,transparent) !important;
}

/* Evita sombra herdada em qualquer texto neutro. Somente heróis e superfícies
   explicitamente decorativas continuam usando sombra tipográfica. */
:is(
  .panel,.card,.compact-panel,.settings-group,.table-wrap,.app-modal,
  .post-match-surface,.ranking-row,.notification-center-item,
  .quick-action-grid,.coach-priority,.wiki-book-topic,.friendly-builder-note
) :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,b,em,i,label,button,summary){
  text-shadow: none !important;
}

/* V261 · ajustes encontrados na navegação manual em páginas e modais reais. */
.detail-wide, .friendly-builder-note :is(span,small,p), .gameplay-mode-card.active small, .all-areas-grid button.is-current small, .share-studio-scope button.is-current small, .quick-menu-section button.is-current small{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.tactic-metric-row > article > span, .tactic-metric-row > article > small, .tactic-metric-row > span, .tactic-quick-metrics :is(span,small), .tactic-overview-panel article > span{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.app-modal.has-team-context .position-abbr{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  border-color: color-mix(in srgb,var(--team-accent-text) 34%,var(--line));
  background: color-mix(in srgb,var(--team-accent-text) 8%,var(--panel-2));
  text-shadow: none !important;
}
.app-modal.has-team-context .position-abbr:is(:hover,:focus-visible){
  color: var(--team-accent-contrast,#fff) !important;
  -webkit-text-fill-color: currentColor !important;
}
.tactic-preview-caption > span{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* V261 · modais e personalização auditados nos dois temas. */
.developer-feedback-privacy-note small, .developer-feedback-context-note small, .nav-custom-row small, .nav-custom-preview small, .nav-customization-card small, .nav-slot-card small{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.manager-avatar, .manager-profile-photo:not(img), .manager-profile-photo-modern:not(img){
  color: var(--club-marker-text) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--club-marker-bg) !important;
  text-shadow: none !important;
}
.btn.destructive, .btn.destructive :is(svg,.fa-solid,.fa-regular,span,strong,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* V261 · correções finais encontradas na varredura de todas as abas. */
.lineup-modern-slot small, .lineup-slot-copy small, .role-player-choice small, .visual-player-choice small, .role-modern-card small, .lineup-modern-slot .muted, .role-player-choice .muted{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.knockout-placeholder-mark{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.market-overall small, .identity-score span, .identity-priority-cards :is(p,small,.muted), .identity-current-plan :is(p,small,.muted), .session-guard-summary small, .career-record-scope, .career-record-scope :is(span,small){
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html[data-theme="light"] .career-challenge-card, html[data-theme="light"] .career-seal-card{
  color: var(--text) !important;
  background: var(--panel-2) !important;
  border-color: var(--line) !important;
}
html[data-theme="light"] .career-challenge-card.is-active, html[data-theme="light"] .career-seal-card.is-active{
  background: color-mix(in srgb,var(--club-accent-text) 7%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--club-accent-text) 28%,var(--line)) !important;
}
.career-challenge-card :is(strong,b,h3,h4), .career-seal-card :is(strong,b,h3,h4){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.career-challenge-card :is(p,small,.muted), .career-seal-card :is(p,small,.muted){
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.community-editor-flow b{
  color: var(--club-marker-text) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--club-marker-bg) !important;
  text-shadow: none !important;
}
html[data-theme="light"] .accessibility-preview .is-success{ color:#126b46 !important; }
html[data-theme="light"] .accessibility-preview .is-warning{ color:#805004 !important; }
html[data-theme="light"] .accessibility-preview .is-danger{ color:#9f2538 !important; }
html[data-theme="light"] .accessibility-preview .is-info{ color:#315b9f !important; }
html:not([data-theme="light"]) .accessibility-preview .is-success{ color:#73d9a8 !important; }
html:not([data-theme="light"]) .accessibility-preview .is-warning{ color:#ffd06a !important; }
html:not([data-theme="light"]) .accessibility-preview .is-danger{ color:#ff8fa0 !important; }
html:not([data-theme="light"]) .accessibility-preview .is-info{ color:#9fc3ff !important; }

/* V261 · refinamentos finais após a segunda passagem manual. */
.identity-option small, .season-current-card small, .season-current-card .kicker{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html body button.btn.destructive, html body button.btn.danger, html body button[data-delete-save-slot], html body button[data-remove-sound]{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
.app-screen > .content .season-current-card .kicker{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.app-screen .lineup-modern-slot :is(small,em), .app-screen .lineup-slot-copy :is(small,em){
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  transition: none !important;
}
.app-screen .bench-player-card :is(small,em){
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  transition: none !important;
}
.quick-menu-grid button.is-current-section small, .quick-menu-grid button.is-current small{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* V261 · loading e salvamento acompanham o tema atual. */
html[data-theme="light"] .live-finalization-overlay{
  background: color-mix(in srgb,#dfe8e4 66%,transparent) !important;
  backdrop-filter: blur(5px) saturate(.92);
}
html[data-theme="light"] .live-finalization-card{
  color: var(--text) !important;
  border-color: color-mix(in srgb,var(--club-accent-text) 24%,var(--line)) !important;
  background: linear-gradient(145deg,rgba(255,255,255,.985),rgba(244,248,246,.985)) !important;
  box-shadow: 0 18px 44px rgba(25,42,34,.18) !important;
}
html[data-theme="light"] .live-finalization-copy strong, html[data-theme="light"] .live-finalization-tip strong{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html[data-theme="light"] .live-finalization-copy small, html[data-theme="light"] .live-finalization-tip small{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html[data-theme="light"] .live-finalization-value{
  color: var(--club-accent-text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
html[data-theme="light"] .live-finalization-spinner{
  border-color: color-mix(in srgb,var(--club-accent-text) 19%,var(--line)) !important;
  border-top-color: var(--club-accent-text) !important;
}
html[data-theme="light"] .live-finalization-progress{
  background: color-mix(in srgb,var(--text) 12%,var(--panel-2)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent);
}
html[data-theme="light"] .live-finalization-progress > span{
  background: linear-gradient(90deg,var(--club-accent-text),color-mix(in srgb,var(--club-accent-text) 64%,#4a7f67)) !important;
}
html[data-theme="light"] .live-finalization-tip{
  color: var(--text) !important;
  border-color: color-mix(in srgb,var(--text) 10%,var(--line)) !important;
  background: rgba(255,255,255,.72) !important;
}
html[data-theme="light"] .live-finalization-tip > span{
  background: var(--panel-2) !important;
  box-shadow: inset 0 0 0 1px var(--line);
}
html[data-theme="light"] .live-finalization-tip.is-tip > span{ color:#805004 !important; background:#fff4d5 !important; }
html[data-theme="light"] .live-finalization-tip.is-strategy > span{ color:#315b9f !important; background:#edf4ff !important; }
html[data-theme="light"] .live-finalization-tip.is-warning > span{ color:#8b4b0d !important; background:#fff0df !important; }
html[data-theme="light"] .live-finalization-tip.is-wiki > span{ color:#5842a6 !important; background:#f2efff !important; }
html[data-theme="light"] .live-finalization-tip.is-success > span{ color:#126b46 !important; background:#e6f7ef !important; }
html[data-theme="light"] .live-finalization-overlay.is-complete .live-finalization-spinner{
  border: 0 !important;
  background: var(--club-accent-text) !important;
}
html[data-theme="light"] .live-finalization-overlay.is-complete .live-finalization-spinner::after{
  color: var(--team-accent-contrast,var(--on-primary)) !important;
}
html[data-theme="light"] .live-finalization-overlay.is-error .live-finalization-card{
  border-color: color-mix(in srgb,#9f2538 42%,var(--line)) !important;
  background: linear-gradient(145deg,#fffafa,#fff1f3) !important;
}
html[data-theme="light"] .live-finalization-overlay.is-error .live-finalization-progress > span{ background:#9f2538 !important; }

/* O carregamento de Prêmios reutiliza a mesma linguagem visual em claro e
   escuro, sem forçar uma tela verde-escura quando o aplicativo está claro. */
html[data-theme="light"] .statistics-awards-loading{
  background: color-mix(in srgb,#dfe8e4 66%,transparent) !important;
  backdrop-filter: blur(5px) saturate(.92);
}
html[data-theme="light"] .statistics-awards-loading-card{
  color: var(--text) !important;
  border-color: color-mix(in srgb,var(--club-accent-text) 24%,var(--line)) !important;
  background: linear-gradient(145deg,rgba(255,255,255,.985),rgba(244,248,246,.985)) !important;
  box-shadow: 0 18px 44px rgba(25,42,34,.18) !important;
}
html[data-theme="light"] .statistics-awards-loading-card :is(strong,small,b){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  opacity: 1;
}
html[data-theme="light"] .statistics-awards-loading-card small{ color: var(--muted-strong) !important; }
html[data-theme="light"] .statistics-awards-loading-card .post-match-save-spinner{
  border-color: color-mix(in srgb,var(--club-accent-text) 19%,var(--line)) !important;
  border-top-color: var(--club-accent-text) !important;
}
html[data-theme="light"] .statistics-awards-loading-card > i{
  background: color-mix(in srgb,var(--text) 12%,var(--panel-2)) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent);
}
html[data-theme="light"] .statistics-awards-loading-card > i > span{ background: var(--club-accent-text) !important; }
html[data-theme="light"] .statistics-awards-loading-tip{
  border-color: color-mix(in srgb,#805004 20%,var(--line)) !important;
  background:#fff8e8 !important;
}
html[data-theme="light"] .statistics-awards-loading-tip > span{ color:#805004 !important; background:#fff0c7 !important; }
html[data-theme="light"] .statistics-awards-loading.is-error .statistics-awards-loading-card{
  border-color: color-mix(in srgb,#9f2538 42%,var(--line)) !important;
  background: linear-gradient(145deg,#fffafa,#fff1f3) !important;
}
html[data-theme="light"] .statistics-awards-loading.is-error .statistics-awards-loading-card > i > span{ background:#9f2538 !important; }
.live-finalization-card{ background-color:#0d1513 !important; }
.statistics-awards-loading-card{ background-color:#0f3b28 !important; }
html[data-theme="light"] .live-finalization-card, html[data-theme="light"] .statistics-awards-loading-card{ background-color:#f8fbfa !important; }
html[data-theme="light"] .live-finalization-overlay.is-error .live-finalization-card, html[data-theme="light"] .statistics-awards-loading.is-error .statistics-awards-loading-card{ background-color:#fff5f6 !important; }

/* V263 · status inteligente restrito à aba Jogos da página ao vivo.
   O campo principal e o placar em destaque permanecem com o layout anterior.
   As linhas abaixo atuam somente nos cartões da Central de jogos. */
.live-score-outcome{
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--muted-strong);
  font-size: .47rem;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-style: normal;
  text-shadow: none !important;
}
.live-score-outcome b, .live-score-outcome span{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-score-outcome b{
  color: var(--text);
  font-size: .5rem;
  font-weight: 600;
}
.live-score-outcome span{ color: var(--muted-strong); }
.live-score-tile{
  grid-template-rows: minmax(18px,auto) auto !important;
  min-height: 48px !important;
}
.live-score-tile > .live-club, .live-score-tile > strong, .live-score-tile > em{ grid-row: 1 !important; }
.live-score-tile > .live-score-outcome{
  grid-column: 1 / -1;
  grid-row: 2 !important;
  min-height: 13px;
  margin-top: 2px;
  padding: 1px 3px 0;
  border: 0 !important;
  box-shadow: none !important;
}
.live-score-tile:has(.live-crowd){
  grid-template-rows: minmax(18px,auto) auto auto !important;
}
.live-score-tile:has(.live-crowd) .live-club{ grid-row: 1 !important; }
.live-score-tile:has(.live-crowd) > .live-score-outcome{ grid-row: 2 !important; }
.live-score-tile:has(.live-crowd) > .live-crowd{
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  justify-self: center;
}
.match-screen .live-score-tile:has(.live-crowd){ min-height: 62px !important; }
.live-score-tile .live-club.is-match-leading.home{
  color: var(--text) !important;
  background: color-mix(in srgb,var(--home-primary) 18%,var(--panel)) !important;
}
.live-score-tile .live-club.is-match-leading.away{
  color: var(--text) !important;
  background: color-mix(in srgb,var(--away-primary) 18%,var(--panel)) !important;
}
.live-score-tile .live-club.is-advancing.home{ box-shadow: inset 0 -2px 0 var(--home-primary); }
.live-score-tile .live-club.is-advancing.away{ box-shadow: inset 0 -2px 0 var(--away-primary); }
.live-score-tile .live-club.is-eliminating{ opacity: .7; }
.live-score-tile .live-club.is-match-leading.is-eliminating{ opacity: .9; }
.live-score-tile[data-live-decision="aggregate"] > .live-score-outcome b, .live-score-tile[data-live-decision="shootout"] > .live-score-outcome b{
  color: var(--success-strong,var(--text));
}
html[data-live-density="micro"] .live-score-tile{ min-height: 43px !important; }
html[data-live-density="micro"] .live-score-tile > .live-score-outcome{
  min-height: 11px;
  font-size: .41rem;
}
html[data-live-density="micro"] .live-score-tile > .live-score-outcome b{ font-size: .43rem; }
html[data-theme="light"] .live-score-outcome{
  color: var(--muted-strong) !important;
  -webkit-text-fill-color: currentColor;
}
html[data-theme="light"] .live-score-outcome b{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor;
}

/* =========================================================
   V264 — heróis de identidade com contraste previsível
   ========================================================= */
/* Perfis de técnico e clube usam a paleta da própria equipe escurecida pelo
   JavaScript. Todo texto fica branco e cada informação secundária recebe uma
   superfície local, evitando texto da mesma luminosidade do fundo. */
.manager-profile-hero-modern, .team-profile-hero-modern, .app-modal.has-team-context > header{
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.09), transparent 34%),
    linear-gradient(135deg,
      var(--team-gradient-primary, #26384a),
      var(--team-gradient-secondary, #101923)) !important;
  border-color: rgba(255,255,255,.22) !important;
  text-shadow: none !important;
}
.manager-profile-hero-modern :is(h1,h2,h3,h4,strong,b,span,small,p,.kicker,.fa-solid,.fa-regular), .team-profile-hero-modern :is(h1,h2,h3,h4,strong,b,span,small,p,.kicker,.fa-solid,.fa-regular), .app-modal.has-team-context > header :is(h1,h2,h3,h4,strong,b,span,small,p,.kicker,.fa-solid,.fa-regular,button){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.manager-profile-hero-modern .manager-profile-identity > div, .team-profile-hero-modern .team-profile-title{
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(7,17,31,.34);
}
.manager-profile-hero-modern .kicker, .team-profile-hero-modern .kicker{
  display: inline-flex;
  width: fit-content;
  padding: 3px 6px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(7,17,31,.42);
  color: rgba(255,255,255,.94) !important;
}
.manager-profile-hero-modern .manager-profile-identity p, .team-profile-hero-modern .team-profile-title p, .manager-profile-hero-modern .manager-profile-score :is(small,span), .team-profile-hero-modern .team-profile-rating :is(small,span), .team-profile-hero-modern .team-profile-crest-stage > span{
  color: rgba(255,255,255,.84) !important;
  -webkit-text-fill-color: currentColor !important;
}
.manager-profile-hero-modern .manager-profile-badges > span, .manager-profile-hero-modern .manager-profile-score, .team-profile-hero-modern .team-profile-tags > span, .team-profile-hero-modern .team-profile-rating{
  color: #ffffff !important;
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(7,17,31,.45) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.manager-profile-hero-modern .manager-profile-photo-modern, .team-profile-hero-modern .team-profile-crest-stage{
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.28));
}

/* Outros heróis locais que recebem teamStyle compartilham a mesma garantia de
   leitura, sem alterar cards neutros nem a barra superior já aprovada. */
:is(.career-summary-hero,.legacy-museum-hero,.header-detail-hero,.market-command-hero,.national-duty-entry-identity)[style*="--team-gradient-primary"]{
  color: #ffffff !important;
  -webkit-text-fill-color: currentColor !important;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.08), transparent 35%),
    linear-gradient(135deg,var(--team-gradient-primary,#26384a),var(--team-gradient-secondary,#101923)) !important;
}
:is(.career-summary-hero,.legacy-museum-hero,.header-detail-hero,.market-command-hero,.national-duty-entry-identity)[style*="--team-gradient-primary"]
:is(h1,h2,h3,h4,p,span,strong,b,small,em,.kicker,.fa-solid,.fa-regular){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* =========================================================
   V265 — leitura final garantida e vencedor visível
   ========================================================= */
/* A marca V pertence somente aos cartões de jogos ao vivo. Ela aparece ao
   lado do nome depois do encerramento e usa verde com contraste próprio nos
   dois temas, sem alterar o placar principal sobre o campo. */
.match-screen .live-score-tile .live-club.is-result-winner, .observer-screen .live-score-tile .live-club.is-result-winner{
  color: #78e3ad !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
.match-screen .live-score-tile .live-club.is-result-winner > b, .observer-screen .live-score-tile .live-club.is-result-winner > b{
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
.live-winner-mark{
  display: inline;
  flex: 0 0 auto;
  min-width: 0;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: .54rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .02em;
  text-shadow: none !important;
  box-shadow: none;
}
html[data-theme="light"] .match-screen .live-score-tile .live-club.is-result-winner, html[data-theme="light"] .observer-screen .live-score-tile .live-club.is-result-winner{
  color: #0d633b !important;
}
html[data-theme="light"] .live-winner-mark{
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-live-density="micro"] .live-winner-mark{
  min-width: 0;
  height: auto;
  padding-inline: 0;
  font-size: .44rem;
}
/* Durante a retenção final, a Central de jogos continua sendo a superfície
   ativa. O aviso é compacto e não cobre o último placar acompanhado. */
.match-screen.is-final-score-hold .live-round-wait{
  border-color: color-mix(in srgb,#16834c 44%,var(--line));
  background: color-mix(in srgb,#16834c 10%,var(--panel));
}
.match-screen.is-final-score-hold .live-round-wait > span, .match-screen.is-final-score-hold .live-round-wait > b{
  background: #126b46;
  color: #ffffff;
}

/* ===== V268 — finalização internacional estável e comandos iguais ===== */
.match-screen .live-management-actions :is(#liveRolesBtn,#skipMatchBtn){
  box-sizing: border-box !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  block-size: 38px !important;
  min-block-size: 38px !important;
  max-block-size: 38px !important;
  margin: 0 !important;
  padding: 3px 1px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 7px !important;
  align-self: stretch !important;
}
.match-screen .live-management-actions :is(#liveRolesBtn,#skipMatchBtn) > :is(.fa-solid,.fa-regular){
  inline-size: 100% !important;
  block-size: 15px !important;
  min-block-size: 15px !important;
  line-height: 15px !important;
}
.match-screen .live-management-actions :is(#liveRolesBtn,#skipMatchBtn) > .live-action-label{
  inline-size: 100% !important;
  min-block-size: 10px !important;
  line-height: 10px !important;
}
.live-knockout-row.is-unavailable{
  opacity: .78;
}
.live-knockout-row.is-unavailable .live-knockout-team{
  color: var(--muted) !important;
}

/* ===== V269 — pós-jogo internacional fluido e barra ao vivo uniforme ===== */
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn){
  box-sizing: border-box !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  block-size: 38px !important;
  min-block-size: 38px !important;
  max-block-size: 38px !important;
  margin: 0 !important;
  padding: 3px 1px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 7px !important;
  align-self: stretch !important;
  transform: none !important;
}
html[data-theme] .match-screen .live-management-actions > :is(#liveRolesBtn,#skipMatchBtn){
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  block-size: 38px !important;
  min-block-size: 38px !important;
  max-block-size: 38px !important;
  padding: 3px 1px !important;
  border-width: 1px !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
html[data-theme] .match-screen .live-management-actions > :is(#liveRolesBtn,#skipMatchBtn) > :is(.fa-solid,.fa-regular){
  inline-size: 100% !important;
  block-size: 15px !important;
  min-block-size: 15px !important;
  margin: 0 !important;
  font-size: .78rem !important;
  line-height: 15px !important;
}
html[data-theme] .match-screen .live-management-actions > :is(#liveRolesBtn,#skipMatchBtn) > .live-action-label{
  inline-size: 100% !important;
  min-block-size: 10px !important;
  margin: 0 !important;
  font-size: .44rem !important;
  line-height: 10px !important;
  text-align: center !important;
}

/* ===== V271 · experiência clássica, mercado vivo e memória entre técnicos ===== */
.gameplay-mode-card.is-classic{
  border-color: color-mix(in srgb, var(--primary) 42%, var(--border));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--primary) 10%, transparent), transparent 68%),
    var(--surface-2);
}
.gameplay-mode-card.is-classic > span{
  background: color-mix(in srgb, var(--primary) 18%, var(--panel));
  color: var(--primary);
}

.career-difficulty-panel{ overflow: hidden; }
.career-difficulty-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin: 14px 0;
}
.career-difficulty-card{
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 70px;
  padding: 11px 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.career-difficulty-card > span{
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 13%, var(--panel));
  color: var(--accent);
}
.career-difficulty-card > div{ min-width: 0; }
.career-difficulty-card strong, .career-difficulty-card small{ display: block; }
.career-difficulty-card small{ margin-top: 3px; color: var(--muted); line-height: 1.35; }
.career-difficulty-card:is(:hover,:focus-visible){ border-color: var(--accent); transform: translateY(-1px); }
.career-difficulty-card.active{
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 11%, var(--surface-2));
  box-shadow: inset 3px 0 0 var(--accent);
}

.market-planning-panel{
  display: grid;
  gap: 12px;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--primary) 7%, transparent), transparent 70%),
    var(--panel);
  color: var(--text);
}
.market-planning-panel > header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.market-planning-panel > header > div{ min-width: 0; }
.market-planning-panel h3{ margin: 2px 0 3px; }
.market-planning-panel p{ margin: 0; color: var(--muted); line-height: 1.42; }
.market-needs-grid{ display: grid; gap: 8px; }
.market-need-card{
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-2) 93%, transparent);
}
.market-need-card > span{
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--info) 13%, var(--panel));
  color: var(--info);
}
.market-need-card > div{ min-width: 0; }
.market-need-card small, .market-need-card strong, .market-need-card em{ display: block; }
.market-need-card small{ color: var(--muted); font-size: .66rem; }
.market-need-card strong{ margin-top: 1px; text-transform: capitalize; }
.market-need-card em{ margin-top: 3px; overflow: hidden; color: var(--muted); font-size: .72rem; font-style: normal; line-height: 1.35; }
.market-need-card > b{
  min-width: 45px;
  padding: 5px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--info) 11%, var(--panel));
  color: color-mix(in srgb, var(--info) 76%, var(--text));
  font-size: .72rem;
  text-align: center;
}
.market-need-card.is-priority{
  border-color: color-mix(in srgb, var(--warning) 48%, var(--border));
  background: color-mix(in srgb, var(--warning) 8%, var(--surface-2));
}
.market-need-card.is-priority > span{ background: color-mix(in srgb, var(--warning) 16%, var(--panel)); color: var(--warning); }
.market-need-card.is-priority > b{ background: color-mix(in srgb, var(--warning) 14%, var(--panel)); color: color-mix(in srgb, var(--warning) 78%, var(--text)); }
.market-planning-note{
  padding-top: 10px;
  border-top: 1px dashed var(--border);
  font-size: .72rem;
}

.tactical-impact-section{
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.tactical-impact-section > header{ display: grid; gap: 3px; }
.tactical-impact-section > header > span{ color: var(--text); font-weight: 600; }
.tactical-impact-section > header > small{ color: var(--muted); line-height: 1.35; }
.tactical-impact-grid{ display: grid; gap: 8px; }
.tactical-impact-card{
  --impact-tone: var(--info);
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--impact-tone) 34%, var(--border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--impact-tone) 7%, var(--surface-2));
}
.tactical-impact-card.is-positive{ --impact-tone: var(--success); }
.tactical-impact-card.is-warning{ --impact-tone: var(--warning); }
.tactical-impact-card.is-neutral{ --impact-tone: var(--info); }
.tactical-impact-card > span{
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--impact-tone) 16%, var(--panel));
  color: color-mix(in srgb, var(--impact-tone) 82%, var(--text));
}
.tactical-impact-card strong{ display: block; color: var(--text); }
.tactical-impact-card p{ margin: 3px 0 0; color: var(--muted); line-height: 1.4; }

.manager-rivalry-list{ display: grid; gap: 9px; }
.manager-rivalry-card{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface-2);
}
.manager-rivalry-icon{
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: color-mix(in srgb, var(--danger) 11%, var(--panel));
  color: color-mix(in srgb, var(--danger) 82%, var(--text));
}
.manager-rivalry-card > div{ min-width: 0; }
.manager-rivalry-card strong, .manager-rivalry-card small{ display: block; }
.manager-rivalry-card small{ margin-top: 2px; color: var(--muted); }
.manager-rivalry-card p{ margin: 7px 0; color: var(--muted); line-height: 1.42; }
.manager-rivalry-score{ display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.manager-rivalry-score span, .manager-rivalry-score b{
  padding: 4px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--text) 6%, var(--panel));
  color: var(--text);
  font-size: .66rem;
}
.manager-rivalry-score b{
  margin-left: auto;
  background: color-mix(in srgb, var(--danger) 11%, var(--panel));
  color: color-mix(in srgb, var(--danger) 78%, var(--text));
}

html[data-theme="light"] .market-need-card > b, html[data-theme="light"] .tactical-impact-card > span, html[data-theme="light"] .manager-rivalry-icon, html[data-theme="light"] .manager-rivalry-score b{ font-weight: 600; }


  .market-planning-panel > header{ display: grid; }
  .market-planning-panel > header .badge{ justify-self: start; }
  .market-need-card{ grid-template-columns: 34px minmax(0, 1fr); }
  .market-need-card > span{ width: 34px; height: 34px; }
  .market-need-card > b{ grid-column: 2; justify-self: start; }
  .manager-rivalry-score b{ margin-left: 0; }


/* V273 · negociações legíveis, obras paralelas e respostas detalhadas */
.transfer-deal-hero{
  grid-template-columns: auto minmax(0,1fr);
}
.transfer-deal-hero > strong{
  grid-column: 1 / -1;
  justify-self: stretch;
  padding: 7px 9px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel) 76%,transparent);
}
.transfer-deal-hero > div, .quick-scout-card > header > div, .transfer-response-identity > div, .transfer-response-card header > div, .transfer-response-card footer > span{ min-width: 0; }
.transfer-deal-hero h3, .transfer-deal-hero p, .quick-scout-card strong, .quick-scout-card span, .deal-status-note span, .transfer-response-card, .transfer-response-card *{ overflow-wrap: anywhere; }
.direct-offer-field-stack, .direct-offer-terms-grid{
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 9px;
}
.direct-offer-field-stack > label, .direct-offer-terms-grid > label{
  min-width: 0;
  margin: 0;
}
.direct-offer-field-stack :is(input,select), .direct-offer-terms-grid :is(input,select){ width: 100%; min-width: 0; }
.deal-budget-strip{
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: start;
}
.deal-budget-strip strong{ overflow-wrap: anywhere; }
.transfer-response-identity{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb,var(--team-primary) 42%,var(--line));
  border-radius: 14px;
  background: linear-gradient(120deg,color-mix(in srgb,var(--team-primary) 18%,var(--panel)),var(--panel-2));
}
.transfer-response-identity h3, .transfer-response-identity p{ margin: 0; }
.transfer-response-identity p{ margin-top: 4px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.transfer-response-card{
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 11px;
  border: 1px solid color-mix(in srgb,var(--danger) 42%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--danger) 7%,var(--panel-2));
}
.transfer-response-card > header, .transfer-response-card > footer{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 9px;
}
.transfer-response-card > header > span, .transfer-response-card > footer > .fa-solid{
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: color-mix(in srgb,var(--danger) 13%,var(--panel));
  color: var(--danger);
}
.transfer-response-card header small, .transfer-response-card header strong, .transfer-response-card footer strong, .transfer-response-card footer small{ display: block; }
.transfer-response-card header small, .transfer-response-card footer small{ color: var(--muted); font-size: .65rem; line-height: 1.45; }
.transfer-response-card > p{ margin: 0; font-size: .76rem; line-height: 1.5; }
.transfer-response-reasons{
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
}
.transfer-response-reasons > strong{ font-size: .72rem; }
.transfer-response-reasons > span{
  display: grid;
  grid-template-columns: 16px minmax(0,1fr);
  gap: 6px;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.45;
}
.market-negotiation-card .transfer-response-card{ margin: 0 10px 10px; }

.quick-scout-grid > div{
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 8px;
  text-align: left;
}
.quick-scout-grid > div > :is(strong,small){ text-align: right; }
.stadium-projects-active{ display: grid; gap: 9px; margin-bottom: 12px; }
.stadium-projects-heading{
  display: grid;
  gap: 3px;
  margin: 12px 2px 8px;
}
.stadium-projects-heading .section-title{ margin: 0; }
.stadium-projects-heading > small{ color: var(--muted); font-size: .68rem; line-height: 1.45; }
.upgrade-card > div > small{
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.35;
}
.upgrade-card.is-unavailable{ opacity: .76; }
.stadium-construction-card{ margin: 0; }


  .quick-scout-grid{ grid-template-columns: minmax(0,1fr); }
  .transfer-response-identity{ grid-template-columns: minmax(0,1fr); }
  .transfer-response-identity .crest{ justify-self: start; }



/* ===== V274 — contraste, escudos livres, tabelas históricas e símbolos legíveis ===== */
.career-summary-season small{
  color: inherit !important;
  opacity: .96;
  font-size: .68rem !important;
  font-weight: 600;
  letter-spacing: .015em;
  line-height: 1.15;
}
.career-summary-season strong{ color: inherit !important; }

/* O escudo do clube fica livre no topo; a bandeira da seleção mantém seu tratamento próprio. */
.club-team-shell .topbar-club-visual{ width: 34px !important; height: 37px !important; }
.club-team-shell .topbar-club-visual > .team-own-mark, .club-team-shell .topbar-club-visual .crest.small.team-own-mark{
  width: 31px !important;
  height: 36px !important;
  min-width: 31px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* No tema claro a cor do clube identifica a linha, mas nunca serve de fundo para o nome. */
html[data-theme="light"] .knockout-path-team:not(.is-placeholder){
  color: #172033 !important;
  background: color-mix(in srgb,var(--team-primary,#667085) 8%,#fff) !important;
  border: 1px solid color-mix(in srgb,var(--team-primary,#667085) 34%,#c7d0dc) !important;
  box-shadow: inset 3px 0 0 var(--team-primary,#667085) !important;
  text-shadow: none !important;
  opacity: 1;
}
html[data-theme="light"] .knockout-path-team:not(.is-placeholder) :is(strong,b,small,.fa-solid){
  color: inherit !important;
  text-shadow: none !important;
}
html[data-theme="light"] .knockout-path-team:not(.is-winner){ opacity: .88; }
html[data-theme="light"] .knockout-champion-tag{
  color: #553b00 !important;
  border-color: #c99818 !important;
  background: #fff4c5 !important;
}

/* Tabela final compacta, guardada dentro de cada retrospectiva. */
.season-table-details{ border: 1px solid var(--border,var(--line)); border-radius: 12px; background: var(--surface,var(--panel)); overflow: hidden; }
.season-table-details > summary{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px 11px; cursor: pointer; list-style: none; color: var(--text); }
.season-table-details > summary::-webkit-details-marker{ display: none; }
.season-table-details > summary > .fa-table-list{ color: var(--accent,var(--primary)); }
.season-table-details > summary > span{ min-width: 0; display: grid; gap: 2px; }
.season-table-details > summary :is(strong,small){ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.season-table-details > summary small{ color: var(--muted); }
.season-table-details > summary > .fa-chevron-down{ color: var(--muted); transition: transform .18s ease; }
.season-table-details[open] > summary > .fa-chevron-down{ transform: rotate(180deg); }
.season-history-table{ border-top: 1px solid var(--border,var(--line)); }
.season-history-table-head, .season-history-table-row{ display: grid; grid-template-columns: 30px minmax(100px,1fr) repeat(4,24px) 30px 34px; align-items: center; gap: 3px; min-height: 34px; padding: 4px 7px; text-align: center; }
.season-history-table-head{ position: sticky; top: 0; z-index: 1; color: var(--muted); background: var(--surface-2,var(--panel-2)); font-size: .54rem; }
.season-history-table-row{ border-top: 1px solid color-mix(in srgb,var(--border,var(--line)) 72%,transparent); color: var(--text); font-size: .57rem; }
.season-history-table-row.is-managed{ background: color-mix(in srgb,var(--accent,var(--primary)) 11%,var(--surface,var(--panel))); box-shadow: inset 3px 0 0 var(--accent,var(--primary)); }
.season-history-club{ min-width: 0; display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 5px; text-align: left; }
.season-history-club .crest.nano{ width: 17px !important; height: 20px !important; }
.season-history-club strong{ min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .57rem; }
.season-table-unavailable{ display: flex; align-items: center; gap: 7px; padding: 9px 10px; border: 1px dashed var(--border,var(--line)); border-radius: 11px; color: var(--muted); font-size: .6rem; }

/* Eventos do elenco usam paletas semânticas independentes das cores do clube. */
.live-player-match-data{ max-width: 100%; }
.live-player-event{ min-width: 0; min-height: 24px; padding: 2px 7px 2px 5px; gap: 5px; border-width: 1px; font-weight: 600; text-shadow: none !important; box-shadow: none !important; align-items: center; }
.live-player-event > span{ font-size: .48rem; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.live-player-event b{ font-size: .48rem; line-height: 1; }
.live-player-event-icon{ width: 14px; height: 16px; flex: 0 0 14px; display: inline-grid; place-items: center; border: 0; border-radius: 0; background: transparent !important; color: currentColor; box-shadow: none !important; }
.live-player-event-icon > .fa-solid{ font-size: .62rem; }
.live-player-event.is-goal{ color: #075f3b !important; background: #dff7ea !important; border-color: #74c99b !important; }
.live-player-event.is-assist{ color: #174f95 !important; background: #e5efff !important; border-color: #8bb4e9 !important; }
.live-player-event.is-yellow{ color: #5b4100 !important; background: #fff0a8 !important; border-color: #d3a900 !important; }
.live-player-event.is-red{ color: #83152c !important; background: #ffe2e7 !important; border-color: #df7186 !important; }
.live-player-event.is-injury{ color: #81350d !important; background: #ffeadc !important; border-color: #e99b6c !important; }
.live-player-event.is-sub{ color: #075f3b !important; background: #def6e9 !important; border-color: #78c89c !important; }
.live-lineup-event-legend{ display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.live-lineup-event-legend .live-player-event{ min-height: 26px; }
.live-lineup-event-legend .live-player-event b{ font-size: .5rem; }
.football-player-chip .live-player-match-data{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.football-player-chip .live-player-match-data > em{ align-self: center; }

/* Ajuda no próprio campo: símbolos vetoriais e nomes por extenso, sem emojis. */
.live-pitch-symbol-help{ position: absolute; right: 7px; bottom: 28px; z-index: 22; }
.live-pitch-symbol-help > summary{ width: 29px; min-height: 27px; display: grid; grid-template-columns: auto; place-items: center; list-style: none; border: 1px solid rgba(255,255,255,.34); border-radius: 9px; background: rgba(3,12,8,.9); color: #fff; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.32); }
.live-pitch-symbol-help > summary::-webkit-details-marker{ display: none; }
.live-pitch-symbol-help > summary span{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.live-pitch-symbol-popover{ position: absolute; right: 0; bottom: 34px; width: min(236px,calc(100vw - 34px)); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 6px; padding: 9px; border: 1px solid rgba(255,255,255,.23); border-radius: 12px; background: rgba(4,12,10,.97); color: #fff; box-shadow: 0 10px 26px rgba(0,0,0,.45); }
.live-pitch-symbol-popover > span{ min-width: 0; display: grid; grid-template-columns: 23px minmax(0,1fr); align-items: center; gap: 6px; font-size: .51rem; }
.live-pitch-symbol-popover b{ color: #fff !important; font-size: .51rem; font-weight: 600; }
.pitch-symbol{ width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 6px; color: #10151d; background: #fff; font-size: .48rem; font-style: normal; font-weight: 600; line-height: 1; }
.pitch-symbol.is-assist{ background: #52b8ff; }
.pitch-symbol.is-yellow, .pitch-symbol.is-red{ width: 13px; height: 18px; justify-self: center; border-radius: 3px; }
.pitch-symbol.is-yellow{ background: #ffd83d; }
.pitch-symbol.is-red{ background: #ff334e; }
.pitch-symbol.is-injury{ background: #ff8a4c; font-size: .82rem; }
.pitch-symbol.is-sub{ background: #54d98c; }

  .live-player-match-data{ max-width: 118px; }
  .season-history-table-head, .season-history-table-row{ grid-template-columns: 27px minmax(82px,1fr) repeat(4,22px) 28px 31px; padding-inline: 5px; }



/* ===== V275 — rótulos de identidade e premiações relevantes ===== */
/* Rótulos curtos sobre gradientes recebem uma superfície própria. Assim, texto
   e ícone não dependem da cor principal do clube nem do tema ativo.
   V382: a proteção continua local, mas acompanha o contraste adaptativo do
   herói. O antigo fundo escuro fixo criava texto escuro sobre fundo escuro em
   clubes claros/preto-e-branco (caso real: Santos) quando o tema era escuro. */
.legacy-museum-copy > .kicker, .manager-profile-identity > div > .kicker, .team-profile-title > .kicker{
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  gap: 6px;
  padding: 4px 7px;
  border: 1px solid var(--team-hero-border,rgba(255,255,255,.28)) !important;
  border-radius: 999px;
  color: var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--team-hero-panel-strong,rgba(6,15,28,.66)) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.16);
  opacity: 1 !important;
  text-shadow: none !important;
}
.legacy-museum-copy > .kicker :is(.fa-solid,.fa-regular), .manager-profile-identity > div > .kicker :is(.fa-solid,.fa-regular), .team-profile-title > .kicker :is(.fa-solid,.fa-regular){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] :is(
  .legacy-museum-copy > .kicker,
  .manager-profile-identity > div > .kicker,
  .team-profile-title > .kicker
), html[data-theme="dark"] :is(
  .legacy-museum-copy > .kicker,
  .manager-profile-identity > div > .kicker,
  .team-profile-title > .kicker
){
  color: var(--team-gradient-text,#fff) !important;
  background: var(--team-hero-panel-strong,rgba(6,15,28,.72)) !important;
  border-color: var(--team-hero-border,rgba(255,255,255,.28)) !important;
}

/* O modal de encerramento só aparece para uma colocação com recompensa real.
   Quando há dinheiro, o valor é destacado sem depender da identidade do clube. */
.competition-end-prize{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb,var(--success) 42%,var(--line));
  border-radius: 13px;
  color: var(--text);
  background: color-mix(in srgb,var(--success) 10%,var(--panel));
}
.competition-end-prize > span{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: var(--success-strong,var(--success));
  background: color-mix(in srgb,var(--success) 17%,var(--panel-2));
}
.competition-end-prize > div{ min-width: 0; display: grid; gap: 2px; }
.competition-end-prize small{ color: var(--muted); font-size: .55rem; text-transform: uppercase; letter-spacing: .055em; }
.competition-end-prize strong{ color: var(--success-strong,var(--text)); font-size: .92rem; overflow-wrap: anywhere; }
.competition-end-prize.is-medal{
  border-color: color-mix(in srgb,#c89417 50%,var(--line));
  background: color-mix(in srgb,#f6c94f 12%,var(--panel));
}
.competition-end-prize.is-medal > span{
  color: #6a4b00;
  background: #fff0b3;
}
.competition-end-prize.is-medal strong{ color: var(--text); }

/* ===== V277 — comandos do ao vivo com geometria única ===== */
.match-screen .live-management-actions, html[data-theme] .match-screen .live-management-actions{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 38px !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn), .match-screen .live-management-actions > :is(#liveRolesBtn,#skipMatchBtn), html[data-theme] .match-screen .live-management-actions > :is(#liveRolesBtn,#skipMatchBtn){
  box-sizing: border-box !important;
  position: relative !important;
  grid-column: auto !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  block-size: 38px !important;
  min-block-size: 38px !important;
  max-block-size: 38px !important;
  margin: 0 !important;
  padding: 3px 2px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: 15px 10px !important;
  place-items: center !important;
  align-content: center !important;
  gap: 1px !important;
  border-width: 1px !important;
  border-radius: 7px !important;
  line-height: 1 !important;
  transform: none !important;
}
.match-screen .live-management-actions > :is(button,.btn) > :is(.fa-solid,.fa-regular), html[data-theme] .match-screen .live-management-actions > :is(button,.btn) > :is(.fa-solid,.fa-regular){
  grid-row: 1 !important;
  inline-size: 100% !important;
  block-size: 15px !important;
  min-block-size: 15px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  font-size: .76rem !important;
  line-height: 15px !important;
}
.match-screen .live-management-actions > :is(button,.btn) > .live-action-label, html[data-theme] .match-screen .live-management-actions > :is(button,.btn) > .live-action-label{
  grid-row: 2 !important;
  inline-size: 100% !important;
  min-block-size: 10px !important;
  margin: 0 !important;
  overflow: hidden !important;
  font-size: .44rem !important;
  line-height: 10px !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.match-screen .live-management-actions > :is(button,.btn) > small{
  position: absolute !important;
  top: 2px !important;
  right: 3px !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: .38rem !important;
  line-height: 1 !important;
}

/* ===== V278 — comandos completos, marcas compactas e leitura sem ruído ===== */
/* Todos os comandos permanecem na mesma fileira. A quantidade variável de
   botões divide o espaço disponível sem criar linhas ocultas pelo card. */
.match-screen .live-management-bar, html[data-theme] .match-screen .live-management-bar{
  overflow: visible !important;
}
.match-screen .live-management-actions, html[data-theme] .match-screen .live-management-actions{
  box-sizing: border-box !important;
  width: 100% !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  gap: 4px !important;
  overflow: visible !important;
}
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn){
  flex: 1 1 0 !important;
  inline-size: auto !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  grid-column: auto !important;
}

/* O escudo minúsculo do próximo compromisso usa o desenho puro. O chip já
   possui sua própria superfície e não precisa de uma segunda moldura. */
.topbar-next-crest{
  overflow: visible !important;
}
.topbar-next-crest > .team-own-mark, html[data-theme] .topbar-next-crest > .team-own-mark{
  box-sizing: border-box !important;
  width: 15px !important;
  height: 18px !important;
  max-width: 15px !important;
  max-height: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* A variação da posição usa as mesmas cores semânticas das tabelas, inclusive
   dentro do herói colorido do clube. */
.dashboard-position-value .rank-move.up{
  color: #33c878 !important;
  -webkit-text-fill-color: #33c878 !important;
}
.dashboard-position-value .rank-move.down{
  color: #f06474 !important;
  -webkit-text-fill-color: #f06474 !important;
}
.dashboard-position-value .rank-move.stable{
  color: rgba(255,255,255,.72) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] .dashboard-position-value .rank-move.up{
  color: #087d45 !important;
  -webkit-text-fill-color: #087d45 !important;
}
html[data-theme="light"] .dashboard-position-value .rank-move.down{
  color: #b72c42 !important;
  -webkit-text-fill-color: #b72c42 !important;
}

/* A bola da legenda acompanha o marcador branco desenhado sobre o gramado. */
.live-pitch-symbol-popover .pitch-symbol.is-goal{
  color: #fff !important;
  background: #075f3b !important;
  border-color: rgba(255,255,255,.72) !important;
}


/* Escudos nano e micro usam o desenho puro em qualquer superfície compacta. */
.team-own-mark.crest.nano, .team-own-mark.crest.micro, svg.team-own-mark.crest.nano, svg.team-own-mark.crest.micro, html[data-theme] .team-own-mark.crest.nano, html[data-theme] .team-own-mark.crest.micro{
  box-sizing: border-box !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* V280 · páginas públicas integradas ao mesmo aplicativo e roteador da Wiki. */
.standalone-public-screen{ min-height: 100dvh; background: var(--bg); }
.internal-public-page{ min-width: 0; display: grid; gap: 12px; padding-bottom: max(18px,env(safe-area-inset-bottom)); color: var(--text); }
.internal-page-toolbar{ min-width: 0; display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,color-mix(in srgb,var(--primary) 13%,var(--panel)),var(--panel)); box-shadow: var(--shadow-sm); }
.internal-page-toolbar > div{ min-width: 0; }
.internal-page-toolbar h1{ margin: 3px 0 5px; color: var(--text); font-size: clamp(1.35rem,7vw,2rem); line-height: 1.08; overflow-wrap: anywhere; }
.internal-page-toolbar p{ margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.internal-page-route-nav{ display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: none; scroll-padding-inline: 8px; }

.internal-page-route-nav button{ flex: 0 0 auto; min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); color: var(--muted); font: inherit; font-size: .62rem; font-weight: 600; }
.internal-page-route-nav button.is-active{ border-color: color-mix(in srgb,var(--primary) 55%,var(--line)); background: color-mix(in srgb,var(--primary) 16%,var(--panel)); color: var(--text); }
.internal-page-route-nav button .fa-solid{ color: var(--primary); }
.internal-page-body{ min-width: 0; display: grid; gap: 0; }
.internal-page-body .site-hero{ min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; padding: 18px 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }

.internal-page-body .site-hero-copy > span, .internal-page-body .eyebrow{ display: inline-flex; align-items: center; color: var(--primary); font-size: .58rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.internal-page-body :is(h1,h2,h3,p,li,strong,small,span){ overflow-wrap: anywhere; }
.internal-page-body h1{ margin: 6px 0 10px; color: var(--text); font-size: clamp(1.5rem,9vw,2.45rem); line-height: 1.06; }
.internal-page-body h2{ margin: 0 0 9px; color: var(--text); font-size: 1.08rem; line-height: 1.2; }
.internal-page-body h3{ margin: 0 0 6px; color: var(--text); font-size: .78rem; }
.internal-page-body p{ margin: 0 0 12px; color: var(--muted); font-size: .68rem; line-height: 1.62; }
.internal-page-body a{ color: var(--primary); text-underline-offset: 2px; }
.internal-page-body .site-hero-logo{ width: 82px; max-height: 82px; object-fit: contain; order: -1; }
.internal-page-body .site-actions{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.internal-page-body .button{ flex: 1 1 145px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); color: var(--text); font-size: .62rem; font-weight: 600; text-decoration: none; }
.internal-page-body .button.primary{ border-color: transparent; background: var(--primary); color: var(--primary-contrast,#07140d); }
.internal-page-body .site-section{ min-width: 0; margin-top: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); scroll-margin-top: 100px; }
.internal-page-body .site-grid{ min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; margin-top: 12px; }
.internal-page-body .site-card{ min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-2); }
.internal-page-body .site-card p{ margin: 0; }
.internal-page-body .site-list{ display: grid; gap: 7px; padding-left: 1.1rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.internal-page-body .notice{ margin: 12px 0 0; padding: 12px; border-left: 3px solid var(--primary); border-radius: 0 11px 11px 0; background: var(--panel-2); color: var(--muted); font-size: .66rem; line-height: 1.55; }
.internal-page-body .legal-meta{ display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--muted); font-size: .61rem; }
.internal-page-body .release-current-badge{ min-width: 0; display: grid; place-items: center; gap: 3px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-2); text-align: center; }
.internal-page-body .release-current-badge strong{ color: var(--primary); font-size: 2.25rem; line-height: 1; }
.internal-page-body .release-highlights{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.internal-page-body .release-highlights span{ display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); color: var(--text); font-size: .58rem; font-weight: 600; }
.internal-page-body .release-timeline{ display: grid; gap: 8px; margin-top: 12px; }
.internal-page-body .release-entry{ overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--panel-2); }
.internal-page-body .release-entry > summary{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 11px; cursor: pointer; list-style: none; }

.internal-page-body .release-entry > summary > span{ min-width: 42px; padding: 6px; border-radius: 8px; background: color-mix(in srgb,var(--primary) 14%,var(--panel)); color: var(--primary); font-size: .62rem; font-weight: 600; text-align: center; }
.internal-page-body .release-entry > summary strong{ color: var(--text); font-size: .66rem; }
.internal-page-body .release-entry > summary small{ color: var(--muted); font-size: .56rem; }
.internal-page-body .release-entry > div{ padding: 0 12px 12px; }
.internal-page-footer{ min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--muted); font-size: .58rem; }
.internal-page-footer > span{ min-width: 0; }
.internal-page-footer a{ color: var(--text); }

  .internal-page-toolbar, .internal-page-body .site-hero, .internal-page-body .site-section{ padding: 13px; }
  .internal-page-footer{ align-items: stretch; flex-direction: column; }
  

/* Os quatro atalhos públicos dividem a largura igualmente no layout mobile base. */
.landing-public-pages{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
  padding: 2px 0 5px;
}
.landing-public-pages button{
  min-width: 0;
  width: 100%;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  padding: 7px 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel);
  color: var(--muted);
  font: inherit;
  font-size: .52rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
}
.landing-public-pages button > span{ min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.landing-public-pages button .fa-solid{ color: var(--primary); }

/* V280 — vencedor semântico nas abas Tabela e Jogos do ao vivo. */
.live-knockout-team.is-winner, .match-screen .live-score-tile .live-club.is-result-winner, .observer-screen .live-score-tile .live-club.is-result-winner{
  --live-winner-color: #78e3ad;
  color: var(--live-winner-color) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
.live-knockout-team.is-winner strong, .match-screen .live-score-tile .live-club.is-result-winner > :is(b,strong), .observer-screen .live-score-tile .live-club.is-result-winner > :is(b,strong){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
.live-knockout-team.is-winner::after{ content: none !important; }
.live-knockout-team.is-home .live-winner-mark{ order: -1; }
.live-winner-mark{
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb,var(--live-winner-color,#78e3ad) 80%,#07110c);
  border-radius: 999px;
  background: var(--live-winner-color,#78e3ad);
  color: #07110c !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: .46rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0,0,0,.24);
}
html[data-theme="light"] .live-knockout-team.is-winner, html[data-theme="light"] .match-screen .live-score-tile .live-club.is-result-winner, html[data-theme="light"] .observer-screen .live-score-tile .live-club.is-result-winner{
  --live-winner-color: #168555;
}
html[data-theme="light"] .live-winner-mark{
  color: #fff !important;
  border-color: #0f6d45;
}

/* V281 · aba Times detalhada: acontecimentos e substituições com minuto. */
.live-player-event.is-left{
  color: #73451a !important;
  background: #fff0df !important;
  border-color: #dda467 !important;
}
.live-team-substitutions{
  margin: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.live-team-substitutions > header{
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  border-bottom: 1px solid var(--line);
}
.live-team-substitutions > header > div{
  min-width: 0;
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 7px;
}
.live-team-substitutions > header > div > .fa-solid{
  color: var(--text);
  font-size: .75rem;
}
.live-team-substitutions > header span{
  min-width: 0;
  display: grid;
  gap: 1px;
}
.live-team-substitutions > header strong{
  color: var(--text);
  font-size: .62rem;
}
.live-team-substitutions > header small{
  color: var(--muted);
  font-size: .49rem;
}
.live-team-substitutions > header > b{
  min-width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--text);
  font-size: .56rem;
}
.live-substitution-list{ display: grid; }
.live-substitution-row{
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) 18px minmax(0,1fr);
  align-items: center;
  gap: 5px;
  min-height: 48px;
  padding: 6px 8px;
  border-top: 1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.live-substitution-row:first-child{ border-top: 0; }
.live-substitution-row > time{
  min-width: 30px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--panel);
  color: var(--text);
  font-size: .56rem;
  font-weight: 600;
}
.live-substitution-player{
  min-width: 0;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  align-items: center;
  gap: 5px;
}
.live-substitution-player > .fa-solid{ font-size: .62rem; }
.live-substitution-player.is-out > .fa-solid{ color: #c54b57; }
.live-substitution-player.is-in > .fa-solid{ color: #168a54; }
.live-substitution-player > span{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  column-gap: 4px;
  align-items: center;
}
.live-substitution-player small{
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: .42rem;
}
.live-substitution-player strong{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-size: .53rem;
}
.live-substitution-player em{
  color: var(--muted);
  font-size: .43rem;
  font-style: normal;
}
.live-substitution-arrow{
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: .5rem;
}
.live-no-substitutions{
  margin: 0;
  padding: 10px;
  color: var(--muted);
  font-size: .53rem;
  text-align: center;
}
html[data-theme="light"] .live-player-event.is-left{
  color: #6b3b10 !important;
  background: #fff4e6 !important;
  border-color: #ca8f4e !important;
}

  .live-substitution-row{ grid-template-columns: 31px minmax(0,1fr) 14px minmax(0,1fr); gap: 3px; padding-inline: 6px; }
  .live-substitution-player{ grid-template-columns: 15px minmax(0,1fr); gap: 3px; }
  .live-substitution-player strong{ font-size: .49rem; }


/* V282 — recuperação visível quando o IndexedDB demora na abertura. */
.boot-wait-actions{ width: min(100%, 320px); display: grid; justify-items: stretch; gap: 7px; margin-top: 5px; }
.boot-wait-actions[hidden]{ display: none !important; }
.boot-wait-actions .btn{ width: 100%; min-height: 42px; }
.boot-wait-actions small{ color: var(--muted); font-size: .58rem; line-height: 1.4; }

/* V284 — sistema visual unificado das páginas internas públicas. */
.internal-public-page{
  --page-accent: var(--primary);
  --page-accent-soft: color-mix(in srgb,var(--page-accent) 12%,var(--panel));
  --page-accent-line: color-mix(in srgb,var(--page-accent) 46%,var(--line));
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 0 0 max(20px,env(safe-area-inset-bottom));
  color: var(--text);
}
.internal-public-page.public-page-updates{ --page-accent: var(--info); }
.internal-public-page.public-page-privacy{ --page-accent: var(--success); }
.internal-public-page.public-page-terms{ --page-accent: var(--warning); }
.internal-public-page.public-page-error{ --page-accent: var(--danger); }

.internal-page-toolbar{
  position: relative;
  overflow: hidden;
  min-width: 0;
  display: grid;
  gap: 13px;
  padding: 14px;
  border: 1px solid var(--page-accent-line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--page-accent) 17%,transparent),transparent 40%),
    linear-gradient(145deg,var(--page-accent-soft),var(--panel) 68%);
  box-shadow: var(--shadow-sm);
}
.internal-page-toolbar::after{
  content: "";
  position: absolute;
  inset: auto 14px 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--page-accent);
  opacity: .72;
}
.internal-page-toolbar-head{
  min-width: 0;
  display: grid;
  grid-template-columns: 43px minmax(0,1fr);
  align-items: center;
  gap: 11px;
}
.internal-page-toolbar-head > div{ min-width: 0; }
.internal-page-toolbar-icon{
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border: 1px solid var(--page-accent-line);
  border-radius: 13px;
  background: color-mix(in srgb,var(--page-accent) 15%,var(--panel-2));
  color: var(--page-accent);
  font-size: 1.05rem;
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.internal-page-toolbar .kicker{
  color: var(--page-accent);
  font-size: .53rem;
  letter-spacing: .08em;
}
.internal-page-toolbar h1{
  margin: 3px 0 4px;
  color: var(--text);
  font-size: clamp(1.2rem,6.6vw,1.72rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.internal-page-toolbar p{
  margin: 0;
  color: var(--muted);
  font-size: .65rem;
  line-height: 1.42;
}

.internal-page-route-nav{
  min-width: 0;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 1px 0 5px;
  scroll-padding-inline: 4px;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.internal-page-route-nav::-webkit-scrollbar{ display: none; }
.internal-page-route-nav button{
  flex: 0 0 auto;
  min-width: 84px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: color-mix(in srgb,var(--panel-2) 94%,transparent);
  color: var(--muted);
  font: inherit;
  font-size: .58rem;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: none;
}
.internal-page-route-nav button .fa-solid{ color: var(--muted); font-size: .7rem; }
.internal-page-route-nav button.is-active{
  border-color: var(--page-accent-line);
  background: color-mix(in srgb,var(--page-accent) 14%,var(--panel-2));
  color: var(--text);
  box-shadow: inset 0 -2px var(--page-accent);
}
.internal-page-route-nav button.is-active .fa-solid{ color: var(--page-accent); }
.internal-page-route-nav button:focus-visible, .internal-page-body :is(a,summary):focus-visible{
  outline: 3px solid color-mix(in srgb,var(--page-accent) 45%,transparent);
  outline-offset: 2px;
}

.internal-page-body{
  min-width: 0;
  display: grid;
  gap: 10px;
  color: var(--text);
}
.internal-page-body > *{ min-width: 0; }
.internal-page-body .site-hero, .internal-page-body .site-section{
  position: relative;
  overflow: hidden;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow-sm);
}
.internal-page-body .site-hero{
  display: grid;
  grid-template-columns: minmax(0,1fr) 72px;
  align-items: start;
  gap: 12px;
  padding: 17px;
  border-color: var(--page-accent-line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--page-accent) 16%,transparent),transparent 43%),
    linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--page-accent) 7%,var(--panel)));
}
.internal-page-body .site-hero::before{
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: var(--page-accent);
}
.internal-page-body .site-hero-copy{ min-width: 0; }
.internal-page-body .site-hero-copy > span, .internal-page-body .eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--page-accent);
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
.internal-page-body .eyebrow::before{
  content: "";
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}
.internal-page-body :is(h1,h2,h3,p,li,strong,small,span,a){ overflow-wrap: anywhere; }
.internal-page-body h1{
  margin: 6px 0 10px;
  color: var(--text);
  font-size: clamp(1.42rem,8vw,2.18rem);
  line-height: 1.06;
  letter-spacing: -.025em;
}
.internal-page-body h2{
  position: relative;
  margin: 4px 0 9px;
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.22;
  letter-spacing: -.012em;
}
.internal-page-body .site-section:not(.site-guide-nav) > h2:first-child{
  padding-left: 11px;
}
.internal-page-body .site-section:not(.site-guide-nav) > h2:first-child::before{
  content: "";
  position: absolute;
  left: 0;
  top: .13em;
  bottom: .13em;
  width: 3px;
  border-radius: 999px;
  background: var(--page-accent);
}
.internal-page-body h3{
  margin: 0 0 6px;
  color: var(--text);
  font-size: .76rem;
  line-height: 1.28;
}
.internal-page-body p{
  margin: 0 0 11px;
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.62;
}
.internal-page-body p:last-child{ margin-bottom: 0; }
.internal-page-body strong{ color: var(--text); }
.internal-page-body a{
  color: color-mix(in srgb,var(--page-accent) 82%,var(--text));
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.internal-page-body .site-hero-logo{
  width: 72px;
  height: 72px;
  max-width: 100%;
  object-fit: contain;
  align-self: start;
  filter: drop-shadow(0 7px 12px rgba(0,0,0,.2));
}
.internal-page-body .site-section{
  padding: 15px;
  border-radius: 16px;
  scroll-margin-top: 96px;
}
.internal-page-body .site-section::after{
  content: "";
  position: absolute;
  left: 15px;
  right: 15px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--page-accent-line),transparent);
  opacity: .45;
}

.internal-page-body .site-actions{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 7px;
  margin-top: 13px;
}
.internal-page-body .button{
  min-width: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .61rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
.internal-page-body .button .fa-solid{ color: var(--page-accent); }
.internal-page-body .button.primary{
  border-color: transparent;
  background: var(--page-accent);
  color: #08130d;
}
.internal-page-body .button.primary .fa-solid{ color: currentColor; }
.internal-public-page.public-page-updates .button.primary, .internal-public-page.public-page-error .button.primary{ color: #fff; }

.internal-page-body .site-grid{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 8px;
  margin-top: 11px;
}
.internal-page-body .site-card{
  position: relative;
  min-width: 0;
  padding: 12px 12px 12px 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: linear-gradient(145deg,var(--panel-2),color-mix(in srgb,var(--page-accent) 5%,var(--panel-2)));
}
.internal-page-body .site-card::before{
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: var(--page-accent);
  opacity: .72;
}
.internal-page-body .site-card p{ margin: 0; font-size: .63rem; }

.internal-page-body :is(.site-list,ul,ol){
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
  list-style: none;
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.52;
}
.internal-page-body :is(.site-list,ul,ol) > li{
  position: relative;
  min-width: 0;
  padding: 8px 9px 8px 31px;
  border: 1px solid color-mix(in srgb,var(--line) 76%,transparent);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 84%,transparent);
}
.internal-page-body :is(.site-list,ul) > li::before{
  content: "✓";
  position: absolute;
  left: 9px;
  top: 8px;
  width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb,var(--page-accent) 16%,var(--panel));
  color: var(--page-accent);
  font-size: .48rem;
  font-weight: 600;
}
.internal-page-body ol{ counter-reset: public-page-list; }
.internal-page-body ol > li{ counter-increment: public-page-list; }
.internal-page-body ol > li::before{
  content: counter(public-page-list);
  position: absolute;
  left: 8px;
  top: 7px;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: color-mix(in srgb,var(--page-accent) 16%,var(--panel));
  color: var(--page-accent);
  font-size: .5rem;
  font-weight: 600;
}

.internal-page-body .notice, .internal-page-body blockquote{
  position: relative;
  margin: 11px 0 0;
  padding: 11px 11px 11px 36px;
  border: 1px solid var(--page-accent-line);
  border-radius: 12px;
  background: color-mix(in srgb,var(--page-accent) 9%,var(--panel-2));
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.55;
}
.internal-page-body .notice::before, .internal-page-body blockquote::before{
  content: "i";
  position: absolute;
  left: 10px;
  top: 10px;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--page-accent);
  color: #08130d;
  font-size: .54rem;
  font-weight: 600;
  font-style: normal;
}
.internal-public-page.public-page-updates .notice::before, .internal-public-page.public-page-error .notice::before{ color: #fff; }

.internal-page-body .site-guide-nav{
  border-color: var(--page-accent-line);
  background: linear-gradient(145deg,var(--page-accent-soft),var(--panel));
}
.internal-page-body .site-guide-links{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 6px;
  margin-top: 11px;
}
.internal-page-body .site-guide-links a{
  min-width: 0;
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .57rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.internal-page-body .site-guide-links a::before{
  content: "#";
  margin-right: 5px;
  color: var(--page-accent);
}

.internal-page-body .legal-meta{
  display: grid;
  gap: 6px;
  margin-top: 12px;
}
.internal-page-body .legal-meta > span{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel-2);
  color: var(--muted);
  font-size: .58rem;
  line-height: 1.35;
}
.internal-page-body .legal-meta > span::before{
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  background: var(--page-accent);
}
.internal-page-body .developer-link{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border: 1px solid var(--page-accent-line);
  border-radius: 999px;
  background: var(--page-accent-soft);
  text-decoration: none;
}
.internal-page-body .developer-link::after{ content: "↗"; font-size: .52rem; }

.internal-page-body .release-hero{
  grid-template-columns: minmax(0,1fr) 92px;
  align-items: stretch;
}
.internal-page-body .release-current-badge{
  min-width: 0;
  min-height: 100%;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  padding: 12px 8px;
  border: 1px solid var(--page-accent-line);
  border-radius: 14px;
  background: color-mix(in srgb,var(--page-accent) 12%,var(--panel-2));
  text-align: center;
}
.internal-page-body .release-current-badge small{
  color: var(--muted);
  font-size: .48rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.internal-page-body .release-current-badge strong{
  color: var(--page-accent);
  font-size: 1.7rem;
  line-height: 1;
}
.internal-page-body .release-current-badge span{ color: var(--muted); font-size: .48rem; line-height: 1.3; }
.internal-page-body .release-current{
  border-color: var(--page-accent-line);
  background: linear-gradient(145deg,var(--page-accent-soft),var(--panel));
}
.internal-page-body .release-highlights{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 6px;
  margin-top: 11px;
}
.internal-page-body .release-highlights span{
  min-width: 0;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
  color: var(--text);
  font-size: .55rem;
  font-weight: 600;
  line-height: 1.25;
}
.internal-page-body .release-highlights .fa-solid{ color: var(--page-accent); }
.internal-page-body .release-facts .site-card{ min-height: 100%; }
.internal-page-body .release-timeline{ display: grid; gap: 7px; margin-top: 11px; }
.internal-page-body .release-entry{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.internal-page-body .release-entry[open]{ border-color: var(--page-accent-line); }
.internal-page-body .release-entry > summary{
  min-width: 0;
  display: grid;
  grid-template-columns: 45px minmax(0,1fr) 14px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  cursor: pointer;
  list-style: none;
}
.internal-page-body .release-entry > summary::-webkit-details-marker{ display: none; }
.internal-page-body .release-entry > summary > span{
  min-width: 42px;
  padding: 6px 4px;
  border-radius: 8px;
  background: var(--page-accent-soft);
  color: var(--page-accent);
  font-size: .58rem;
  font-weight: 600;
  text-align: center;
}
.internal-page-body .release-entry > summary > div{ min-width: 0; display: grid; gap: 2px; }
.internal-page-body .release-entry > summary strong{ color: var(--text); font-size: .62rem; line-height: 1.3; }
.internal-page-body .release-entry > summary small{ color: var(--muted); font-size: .52rem; line-height: 1.3; }
.internal-page-body .release-entry > summary > .fa-chevron-down{ color: var(--muted); transition: transform .18s ease; }
.internal-page-body .release-entry[open] > summary > .fa-chevron-down{ transform: rotate(180deg); color: var(--page-accent); }
.internal-page-body .release-entry > div{ padding: 0 11px 11px; }
.internal-page-body .release-entry > div :is(ul,ol){ margin-top: 0; }

.internal-page-body :is(details:not(.release-entry),table,pre,code,address,hr){ max-width: 100%; }
.internal-page-body details:not(.release-entry){
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.internal-page-body details:not(.release-entry) > summary{ padding: 10px; color: var(--text); font-size: .64rem; font-weight: 600; }
.internal-page-body details:not(.release-entry) > :not(summary){ margin: 0 10px 10px; }
.internal-page-body code, .internal-page-body pre{
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb,var(--panel-2) 86%,#000);
  color: var(--text);
  font-size: .6rem;
}
.internal-page-body code{ padding: 2px 5px; }
.internal-page-body pre{ overflow-x: auto; padding: 10px; }
.internal-page-body table{ min-width: 0; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); font-size: .58rem; }
.internal-page-body :is(th,td){ padding: 8px; border-bottom: 1px solid var(--line); text-align: left; }
.internal-page-body th{ color: var(--text); background: var(--page-accent-soft); }
.internal-page-body tr:last-child td{ border-bottom: 0; }
.internal-page-body hr{ height: 1px; border: 0; background: var(--line); }

.internal-page-footer{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
  color: var(--muted);
  box-shadow: var(--shadow-sm);
}
.internal-page-footer > span{ min-width: 0; display: grid; gap: 2px; }
.internal-page-footer b{ color: var(--text); font-size: .62rem; }
.internal-page-footer small{ color: var(--muted); font-size: .54rem; }
.internal-page-footer a{ color: var(--page-accent); }
.internal-page-footer .btn{ min-height: 36px; white-space: nowrap; }

.internal-public-page.public-page-error .internal-page-body{ min-height: 48vh; align-content: center; }
.internal-public-page.public-page-error .site-hero{ grid-template-columns: minmax(0,1fr) 74px; }

html[data-theme="light"] .internal-page-body .button.primary, html[data-theme="light"] .internal-page-body .notice::before{ color: #07140d; }
html[data-theme="light"] .internal-public-page.public-page-updates .button.primary, html[data-theme="light"] .internal-public-page.public-page-error .button.primary{ color: #fff; }


  .internal-page-toolbar{ padding: 12px; border-radius: 15px; }
  .internal-page-toolbar-head{ grid-template-columns: 38px minmax(0,1fr); gap: 9px; }
  .internal-page-toolbar-icon{ width: 38px; height: 38px; border-radius: 11px; }
  .internal-page-route-nav button{ min-width: 76px; padding-inline: 8px; font-size: .54rem; }
  .internal-page-body .site-hero{ grid-template-columns: minmax(0,1fr) 60px; padding: 14px; border-radius: 15px; }
  .internal-page-body .site-hero-logo{ width: 60px; height: 60px; }
  .internal-page-body .site-section{ padding: 13px; border-radius: 14px; }
  .internal-page-body .site-actions{ grid-template-columns: minmax(0,1fr); }
  .internal-page-body .site-guide-links{ grid-template-columns: minmax(0,1fr); }
  .internal-page-body .release-hero{ grid-template-columns: minmax(0,1fr); }
  .internal-page-body .release-current-badge{ min-height: 88px; }
  .internal-page-body .release-highlights{ grid-template-columns: minmax(0,1fr); }
  .internal-page-footer{ grid-template-columns: minmax(0,1fr); align-items: stretch; }
  .internal-page-footer .btn{ width: 100%; }


/* V285 — heróis das páginas internas ocupam toda a largura útil. */
.internal-page-body .site-hero, .internal-public-page.public-page-error .internal-page-body .site-hero, .internal-page-body .release-hero{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding: 16px;
}
.internal-page-body .site-hero-copy{
  width: 100%;
  min-width: 0;
}
.internal-page-body .site-hero-logo{
  order: -1;
  width: 52px;
  height: 52px;
  max-width: 52px;
  align-self: flex-start;
  margin: 0;
  object-fit: contain;
  filter: drop-shadow(0 5px 9px rgba(0,0,0,.2));
}
.internal-page-body .site-hero h1{
  max-width: none;
  margin-right: 0;
}
.internal-page-body .site-hero p{
  max-width: none;
}
.internal-page-body .release-current-badge{
  width: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr);
  align-items: center;
  justify-items: start;
  gap: 8px;
  padding: 10px 12px;
  text-align: left;
}

.internal-page-body .release-current-badge strong{
  font-size: 1.35rem;
}
.internal-page-body .release-current-badge span{
  min-width: 0;
  font-size: .53rem;
}

  .internal-page-body .site-hero, .internal-public-page.public-page-error .internal-page-body .site-hero, .internal-page-body .release-hero{
    display: flex;
    padding: 14px;
  }
  .internal-page-body .site-hero-logo{
    width: 46px;
    height: 46px;
    max-width: 46px;
  }
  .internal-page-body .release-current-badge{
    min-height: 0;
    grid-template-columns: auto minmax(0,1fr);
  }
  .internal-page-body .release-current-badge small{ grid-column: 1 / -1; }


/* =========================================================
   V286 — gol rápido, vencedor discreto e estatísticas coerentes
   ========================================================= */
/* O gol do clube controlado informa somente o acontecimento, o clube e o
   placar atual. A entrada e a saída são curtas para não esconder o campo. */
.live-pitch-shell .live-user-goal-overlay, .live-pitch-shell .live-event-overlay.is-user-goal{
  width: min(360px,calc(100% - 18px)) !important;
  max-width: calc(100% - 18px) !important;
  min-height: 62px !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  gap: 9px !important;
  padding: 8px 11px !important;
  border-width: 1px !important;
  border-radius: 14px !important;
  background: color-mix(in srgb,#07120d 92%,#168555 8%) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.34),inset 0 -2px 0 #2dbf73 !important;
  opacity: 0;
  transform: translate(-50%,-6px) scale(.98) !important;
  transition: opacity .22s ease,transform .22s ease !important;
  animation: none !important;
}
.live-pitch-shell .live-user-goal-overlay.is-visible, .live-pitch-shell .live-event-overlay.is-user-goal.is-visible{
  opacity: 1;
  transform: translate(-50%,0) scale(1) !important;
  animation: live-user-goal-fade-in .18s ease-out both !important;
}
.live-pitch-shell .live-user-goal-overlay::before, .live-pitch-shell .live-user-goal-overlay::after{ display: none !important; }
.live-pitch-shell .live-user-goal-overlay .live-event-team-crest{
  width: 42px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.live-pitch-shell .live-user-goal-overlay .live-event-team-crest .crest{
  width: 38px !important;
  height: 42px !important;
}
.live-pitch-shell .live-user-goal-overlay > div{ min-width: 0; display: grid; align-content: center; gap: 3px; }
.live-pitch-shell .live-user-goal-overlay strong, .live-pitch-shell .live-user-goal-overlay.is-goal strong{
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  letter-spacing: .07em !important;
  white-space: nowrap !important;
}
.live-pitch-shell .live-user-goal-overlay small{
  color: rgba(255,255,255,.9) !important;
  font-size: .64rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}
@keyframes live-user-goal-fade-in {
  from { opacity: 0; transform: translate(-50%,-6px) scale(.98); }
  to { opacity: 1; transform: translate(-50%,0) scale(1); }
}

/* O vencedor mantém texto normal. A indicação vem da superfície semântica e
   de um pequeno check, sem pintar o nome de verde e sem usar a letra V. */
.live-knockout-team.is-winner, .match-screen .live-score-tile .live-club.is-result-winner, .observer-screen .live-score-tile .live-club.is-result-winner{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
  border-radius: 8px !important;
  background: color-mix(in srgb,#168555 11%,var(--panel)) !important;
  box-shadow: inset 0 -2px 0 #168555 !important;
}
.live-knockout-team.is-winner{ padding: 3px 5px !important; }
.live-knockout-team.is-winner strong, .match-screen .live-score-tile .live-club.is-result-winner > :is(b,strong), .observer-screen .live-score-tile .live-club.is-result-winner > :is(b,strong){
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 600 !important;
}
.live-winner-mark{
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #168555 !important;
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
  box-shadow: none !important;
}
.live-winner-mark .fa-solid{ color: inherit !important; font-size: .5rem !important; }
html[data-theme="light"] .live-knockout-team.is-winner, html[data-theme="light"] .match-screen .live-score-tile .live-club.is-result-winner, html[data-theme="light"] .observer-screen .live-score-tile .live-club.is-result-winner{
  color: #172033 !important;
  background: #e7f5ed !important;
  box-shadow: inset 0 -2px 0 #168555 !important;
}
html[data-theme="light"] .live-knockout-team.is-winner strong, html[data-theme="light"] .match-screen .live-score-tile .live-club.is-result-winner > :is(b,strong), html[data-theme="light"] .observer-screen .live-score-tile .live-club.is-result-winner > :is(b,strong){ color: #172033 !important; }


/* V287 — ícones da aba Times sem cápsula circular ou fundo do clube. */
.live-lineups-pane .live-player-event-icon{ border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }

/* =========================================================
   V288 — ajuda do campo e status compacto da partida
   ========================================================= */
/* A legenda sobe o suficiente para não cobrir a marca d'água desenhada no
   canto inferior direito do canvas. */
.live-pitch-symbol-help{
  bottom: 56px !important;
}

/* O status sob o placar mantém sempre a mesma área visual. Textos de fases
   longas, como prorrogação, não aumentam a coluna central nem a altura do topo. */
.pitch-score .score-center{
  width: 90px;
  min-width: 90px;
  max-width: 90px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1px;
  overflow: hidden;
}
.pitch-score .score-center .score{
  width: 100%;
  min-width: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}
.pitch-score .live-score-phase{
  width: 100%;
  max-width: 90px;
  min-height: .52rem;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: .39rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pitch-score .live-score-phase[data-phase^="p-n-"]{ font-size: .37rem !important; }


  .pitch-score .live-score-phase{
    font-size: .36rem !important;
    letter-spacing: .02em !important;
  }


/* =========================================================
   V289 — auditoria integral do tema escuro
   ========================================================= */
/* A interface já nasce escura, mas estas variáveis e regras finais impedem
   que componentes adicionados em versões antigas mantenham superfícies claras,
   textos escuros ou cores brutas do clube quando o tema dark está ativo. */
html[data-theme="dark"]{
  color-scheme: dark;
  --dark-surface-raised: #1a202c;
  --dark-surface-soft: #202837;
  --dark-surface-hover: #273143;
  --dark-border-strong: rgba(255,255,255,.18);
  --dark-text-soft: #c4ccda;
  --dark-shadow: 0 12px 30px rgba(0,0,0,.34);
  scrollbar-color: #566174 #151a24;
}
html[data-theme="dark"] body, html[data-theme="dark"] .game-shell, html[data-theme="dark"] .app-screen, html[data-theme="dark"] .content{
  color: var(--text);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content){
  scrollbar-color: #566174 #151a24;
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content)::-webkit-scrollbar, html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) *::-webkit-scrollbar{
  width: 8px;
  height: 8px;
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content)::-webkit-scrollbar-thumb, html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) *::-webkit-scrollbar-thumb{
  border: 2px solid #151a24;
  border-radius: 999px;
  background: #566174;
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content)::-webkit-scrollbar-track, html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) *::-webkit-scrollbar-track{
  background: #151a24;
}

/* Campos, listas nativas e uploads sempre recebem superfície escura explícita. */
html[data-theme="dark"] :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea
){
  color: var(--text) !important;
  caret-color: var(--primary);
  background-color: var(--field-bg,#111722) !important;
  border-color: var(--field-border,rgba(255,255,255,.16)) !important;
}
html[data-theme="dark"] :is(input,textarea)::placeholder{
  color: #8d98aa !important;
  opacity: 1;
}
html[data-theme="dark"] select option{
  color: var(--text);
  background: #151b26;
}
html[data-theme="dark"] input[type="file"]{ color: var(--dark-text-soft); }
html[data-theme="dark"] input[type="file"]::file-selector-button{
  color: var(--text);
  background: var(--dark-surface-soft);
  border-color: var(--dark-border-strong);
}
html[data-theme="dark"] :is(input,select,textarea):disabled{
  color: #8f99a8 !important;
  background: #151a23 !important;
  border-color: rgba(255,255,255,.09) !important;
  opacity: .82;
}

/* Superfícies de leitura e contêineres reutilizáveis. */
html[data-theme="dark"] :is(
  .panel,
  .settings-group,
  .app-modal,
  .app-modal-body,
  .table-wrap,
  .bounded-scroll,
  .compact-scroll,
  .help-details,
  .season-table-details,
  .internal-page-toolbar,
  .internal-page-body .site-section,
  .internal-page-footer,
  .wiki-book-end,
  .notification-center-item,
  .market-player-card,
  .offer-card,
  .football-team-sheet,
  .calendar-match,
  .news-card,
  .history-card,
  .scout-card,
  .medical-player-card,
  .career-summary-panel,
  .live-team-substitutions
){
  color: var(--text);
  border-color: color-mix(in srgb,var(--line) 92%,transparent);
}
html[data-theme="dark"] :is(
  .internal-page-route-nav,
  .settings-tabs,
  .subtabs,
  .quick-control-strip,
  .live-lineup-event-legend,
  .season-history-table-head,
  .notification-center-toolbar
){
  color: var(--text);
  background: color-mix(in srgb,var(--panel-2) 95%,#000 5%);
  border-color: var(--line);
}
html[data-theme="dark"] :is(
  .subtab.is-active,
  .settings-tabs button.is-active,
  .internal-page-route-nav button.is-active,
  .quick-control-strip button.is-active
){
  color: var(--text) !important;
  background: color-mix(in srgb,var(--primary) 13%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--primary) 56%,var(--line)) !important;
  box-shadow: inset 0 -2px 0 var(--primary) !important;
}
html[data-theme="dark"] :is(.subtab,.settings-tabs button,.internal-page-route-nav button,.quick-control-strip button):not(.is-active){
  color: var(--dark-text-soft);
}

/* Tabelas, códigos e blocos expansíveis não herdam branco de documentos antigos. */
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) table{
  color: var(--text);
  background: var(--panel);
  border-color: var(--line);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) th{
  color: #d6dce7;
  background: #202735;
  border-color: var(--line);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) td{
  color: var(--text);
  border-color: var(--line);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) tr:nth-child(even) td{
  background: rgba(255,255,255,.018);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) :is(pre,code,kbd,samp){
  color: #dbe8ff;
  background: #101722;
  border-color: rgba(255,255,255,.13);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) details{
  color: var(--text);
  border-color: var(--line);
}
html[data-theme="dark"] :is(.content,.app-modal-body,.internal-page-body,.wiki-book-content) summary{
  color: var(--text);
}

/* Estados semânticos usam versões próprias para o fundo escuro. */
html[data-theme="dark"] :is(.badge.success,.is-success-soft,.national-duty-ready.is-ready){
  color: #9af0bf !important;
  background: rgba(49,209,124,.14) !important;
  border-color: rgba(92,221,148,.42) !important;
}
html[data-theme="dark"] :is(.badge.warning,.is-warning-soft,.warning-box,.national-duty-ready.is-warning){
  color: #ffe09b !important;
  background: rgba(255,191,71,.14) !important;
  border-color: rgba(255,205,103,.42) !important;
}
html[data-theme="dark"] :is(.badge.danger,.is-danger-soft){
  color: #ffb1bd !important;
  background: rgba(255,92,112,.14) !important;
  border-color: rgba(255,126,143,.43) !important;
}
html[data-theme="dark"] :is(.badge.info,.info-box){
  color: #b8d7ff !important;
  background: rgba(101,166,255,.14) !important;
  border-color: rgba(126,183,255,.4) !important;
}

/* Acontecimentos dos jogadores: a versão clara continua suave; no dark os
   chips deixam de parecer etiquetas brancas coladas sobre o painel. */
html[data-theme="dark"] .live-player-event.is-goal{
  color: #9af0bf !important;
  background: rgba(49,209,124,.14) !important;
  border-color: rgba(92,221,148,.43) !important;
}
html[data-theme="dark"] .live-player-event.is-assist{
  color: #b8d7ff !important;
  background: rgba(101,166,255,.14) !important;
  border-color: rgba(126,183,255,.42) !important;
}
html[data-theme="dark"] .live-player-event.is-yellow{
  color: #ffe09b !important;
  background: rgba(255,191,71,.14) !important;
  border-color: rgba(255,205,103,.46) !important;
}
html[data-theme="dark"] .live-player-event.is-red{
  color: #ffb1bd !important;
  background: rgba(255,92,112,.14) !important;
  border-color: rgba(255,126,143,.46) !important;
}
html[data-theme="dark"] .live-player-event.is-injury{
  color: #ffc19a !important;
  background: rgba(255,138,76,.14) !important;
  border-color: rgba(255,165,112,.44) !important;
}
html[data-theme="dark"] .live-player-event.is-sub{
  color: #a6f1c7 !important;
  background: rgba(71,201,132,.14) !important;
  border-color: rgba(106,221,160,.4) !important;
}
html[data-theme="dark"] .live-player-event.is-left{
  color: #f3c99d !important;
  background: rgba(218,150,79,.14) !important;
  border-color: rgba(230,174,112,.42) !important;
}
html[data-theme="dark"] .live-lineups-pane .live-player-event-icon{
  color: currentColor !important;
  background: transparent !important;
}

/* Pódios, troféus e recompensas antes usavam círculos claros fixos. */
html[data-theme="dark"] .competition-podium-history-row.is-first > span{
  color: #ffe596;
  background: rgba(224,176,49,.2);
  border: 1px solid rgba(238,198,87,.34);
}
html[data-theme="dark"] .competition-podium-history-row.is-second > span{
  color: #d7dfeb;
  background: rgba(169,181,199,.16);
  border: 1px solid rgba(190,201,216,.28);
}
html[data-theme="dark"] .competition-podium-history-row.is-third > span{
  color: #e8bd91;
  background: rgba(190,117,55,.18);
  border: 1px solid rgba(211,145,87,.31);
}
html[data-theme="dark"] .competition-end-prize.is-medal > span{
  color: #ffe596;
  background: rgba(224,176,49,.18);
  border: 1px solid rgba(238,198,87,.32);
}
html[data-theme="dark"] .competition-end-summary.is-champion .competition-end-emblem{
  background: radial-gradient(circle at 50% 28%,rgba(255,226,122,.18),var(--panel-2) 68%);
  border-color: rgba(234,179,32,.46);
}
html[data-theme="dark"] .career-summary-highlight > span, html[data-theme="dark"] :is(.trophy-cabinet article > span,.hall-of-fame-grid article > span,.legacy-badge){
  color: #ffe087;
  background: rgba(224,176,49,.15);
  border-color: rgba(238,198,87,.3);
}
html[data-theme="dark"] .hall-of-fame-grid b{ color: #ffe087; }

/* Home e seletores de modo: ativo escuro sem um retângulo branco agressivo. */
html[data-theme="dark"] .landing-start-options.setup-mode-switch > button.is-active{
  color: #f7fff9 !important;
  background: color-mix(in srgb,var(--primary) 24%,#17231d) !important;
  border-color: color-mix(in srgb,var(--primary) 72%,#fff 12%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
html[data-theme="dark"] .landing-start-options.setup-mode-switch > button:not(.is-active){
  color: #c6cfda !important;
  background: rgba(255,255,255,.045) !important;
}

/* Notificações, modais e estados vazios recebem leitura previsível. */
html[data-theme="dark"] :is(.notification-center-item,.notification-center-modern,.notification-detail,.app-modal,.app-modal-body){
  color: var(--text);
}
html[data-theme="dark"] :is(.notification-center-item p,.notification-center-item small,.notification-center-item time,.empty,.muted,.site-meta,.internal-page-footer small){
  color: var(--muted) !important;
}
html[data-theme="dark"] .app-modal-overlay{ background: rgba(1,4,8,.78) !important; }
html[data-theme="dark"] :is(.app-modal,.app-modal-body){
  background-color: var(--panel) !important;
  border-color: var(--dark-border-strong) !important;
}
html[data-theme="dark"] :is(.modal-close,.modal-back,.icon-button,.icon-btn):not(.is-primary){
  color: var(--text);
}
html[data-theme="dark"] :is(.toast,.global-toast,.boot-wait-actions,.live-finalization-tip,.statistics-awards-loading-tip){
  color: var(--text);
  border-color: var(--line);
}

/* Componentes com identidade do clube usam o acento calculado para o tema,
   nunca a cor bruta que pode ser preta, azul-marinho ou vinho sobre o painel. */
html[data-theme="dark"] .team-tone :is(.team-accent-text,.kicker,.competition-chip){
  color: var(--team-accent-text-dark,var(--club-accent-text-dark,var(--primary))) !important;
}
html[data-theme="dark"] .team-tone :is(.team-accent-surface,.team-context-icon){
  color: var(--team-accent-text-dark,var(--club-accent-text-dark,var(--primary))) !important;
  background: color-mix(in srgb,var(--team-accent-text-dark,var(--primary)) 12%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--team-accent-text-dark,var(--primary)) 30%,var(--line)) !important;
}

/* Páginas internas e Wiki mantêm a mesma hierarquia no dark. */
html[data-theme="dark"] .internal-public-page{
  color: var(--text);
}
html[data-theme="dark"] :is(.internal-page-toolbar,.internal-page-body .site-hero,.internal-page-body .site-section,.internal-page-footer){
  background-color: color-mix(in srgb,var(--panel) 96%,#000 4%);
  border-color: var(--line);
  box-shadow: var(--dark-shadow);
}
html[data-theme="dark"] .internal-page-body :is(p,li,small,.site-meta){ color: var(--dark-text-soft); }
html[data-theme="dark"] .internal-page-body :is(h1,h2,h3,strong,b,summary){ color: var(--text); }
html[data-theme="dark"] .internal-page-body a:not(.btn):not(.button){
  color: color-mix(in srgb,var(--page-accent,var(--primary)) 66%,#fff 34%);
}
html[data-theme="dark"] .internal-page-body .notice{
  color: var(--text);
  background: color-mix(in srgb,var(--page-accent,var(--primary)) 8%,var(--panel-2));
  border-color: color-mix(in srgb,var(--page-accent,var(--primary)) 36%,var(--line));
}

/* Estados de foco e seleção continuam visíveis sem clarões. */
html[data-theme="dark"] :is(button,a,input,select,textarea,summary):focus-visible{
  outline-color: color-mix(in srgb,var(--primary) 76%,#fff 24%);
}
html[data-theme="dark"] ::selection{
  color: #f7fff9;
  background: rgba(49,209,124,.36);
}


/* =========================================================
   V292 — gol do clube realmente compacto na base do campo
   ========================================================= */
/* Largura intrínseca real: a caixa é inline-flex e usa somente o espaço
   necessário para bola, clube e placar. Nenhuma regra mobile pode esticá-la. */
.live-pitch-shell .live-user-goal-overlay, .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{
  --live-event-color: #2dbf73 !important;
  top: auto !important;
  right: auto !important;
  bottom: 31px !important;
  left: 50% !important;
  display: inline-flex !important;
  width: auto !important;
  inline-size: fit-content !important;
  min-width: 0 !important;
  max-width: min(300px,calc(100% - 24px)) !important;
  min-height: 0 !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 7px 11px 7px 9px !important;
  border: 1px solid color-mix(in srgb,#2dbf73 58%,rgba(255,255,255,.2)) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb,rgba(7,18,13,.97) 84%,#2dbf73 16%) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.3),inset 0 -2px 0 #2dbf73 !important;
  opacity: 0 !important;
  transform: translate(-50%,8px) scale(.98) !important;
  transform-origin: 50% 100% !important;
  transition: opacity .18s ease,transform .18s ease !important;
  animation: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
.live-pitch-shell .live-user-goal-overlay.is-visible, .live-pitch-shell .live-event-overlay.is-user-goal.is-visible{
  opacity: 1 !important;
  transform: translate(-50%,0) scale(1) !important;
  animation: live-user-goal-bottom-in .18s ease-out both !important;
}
.live-pitch-shell .live-user-goal-overlay::before, .live-pitch-shell .live-user-goal-overlay::after, .live-pitch-shell .live-event-overlay.is-user-goal::before, .live-pitch-shell .live-event-overlay.is-user-goal::after{ display: none !important; }
.live-pitch-shell .live-user-goal-ball{
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.48));
}
.live-pitch-shell .live-user-goal-ball .fa-solid{ font-size: inherit; }
.live-pitch-shell .live-user-goal-overlay > div, .live-pitch-shell .live-event-overlay.is-user-goal > div{
  width: auto !important;
  min-width: 0 !important;
  max-width: 230px !important;
  flex: 0 1 auto !important;
  display: grid !important;
  gap: 2px !important;
  line-height: 1.08 !important;
}
.live-pitch-shell .live-user-goal-overlay strong, .live-pitch-shell .live-user-goal-overlay.is-goal strong, .live-pitch-shell .live-event-overlay.is-user-goal strong{
  overflow: hidden !important;
  color: #fff !important;
  font-size: .69rem !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.live-pitch-shell .live-user-goal-overlay small, .live-pitch-shell .live-event-overlay.is-user-goal small{
  display: block !important;
  overflow: hidden !important;
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@keyframes live-user-goal-bottom-in {
  from { opacity: 0; transform: translate(-50%,8px) scale(.98); }
  to { opacity: 1; transform: translate(-50%,0) scale(1); }
}

/* A explicação expansível dos símbolos foi removida do campo. */
.live-pitch-symbol-help, .live-pitch-symbol-popover{ display: none !important; }

/* V293 — escudos finais em WebP, sem moldura ou deformação. */
img[data-crest-webp="true"], .crest-webp-preview img, .crest-webp-editor-preview img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  aspect-ratio: auto;
}
.crest-webp-preview{
  width: min(132px, 42vw);
  min-height: 118px;
  display: grid;
  place-items: center;
  margin: 8px auto 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.crest-webp-preview img{ width: auto; height: auto; max-width: 112px; max-height: 112px; }
.crest-webp-editor-preview{ overflow: hidden; }


/* ===== V298 · ícone e rótulo compartilham a cor real do controle ===== */
:is(.subtabs,.settings-tabs,.live-info-tabs,.observer-live-tabs,.editor-side-menu,.fc-tabs,.wiki-category-strip,.wiki-progress-filters,.internal-page-route-nav,.landing-public-pages,.wiki-book-chapter-nav) > :is(button,a) :is(.fa-solid,.fa-regular,svg), .wiki-quick-grid > button :is(.fa-solid,.fa-regular,svg), .landing-secondary-actions > :is(button,a,label,span) :is(.fa-solid,.fa-regular,svg), .internal-page-body .button :is(.fa-solid,.fa-regular,svg){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* V298 · falha explícita da Wiki e herança de cor em indicadores compactos. */
.landing-choice-status > span :is(.fa-solid,.fa-regular,svg){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
.wiki-load-error{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb,var(--danger) 58%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--danger) 12%,var(--panel));
  color: var(--text);
}
.wiki-load-error > :is(.fa-solid,.fa-regular){
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--danger);
}
.wiki-load-error div{ min-width: 0; }
.wiki-load-error strong, .wiki-load-error p{ color: inherit; }
.wiki-load-error p{ margin: 3px 0 0; font-size: .68rem; line-height: 1.45; }


/* V302 — “Rodada completa” usa a mesma superfície inequívoca de vencedor das
   outras abas. A especificidade inclui o painel do pós-jogo para não ser
   anulada pelas regras neutras de contraste aplicadas aos cards internos. */
.match-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner, .observer-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner, .post-round-result .post-round-team.is-result-winner{
  box-sizing: border-box !important;
  padding: 4px 5px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: color-mix(in srgb,#168555 11%,var(--panel)) !important;
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  box-shadow: inset 0 -2px 0 #168555 !important;
  opacity: 1 !important;
}
.match-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner :is(b,strong,.post-round-entity-link), .observer-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner :is(b,strong,.post-round-entity-link), .post-round-result .post-round-team.is-result-winner :is(b,strong,.post-round-entity-link){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner, html[data-theme="light"] .observer-screen .live-finish-pane .post-round-result .post-round-team.is-result-winner, html[data-theme="light"] .post-round-result .post-round-team.is-result-winner{
  background: #e7f5ed !important;
  color: #172033 !important;
  box-shadow: inset 0 -2px 0 #168555 !important;
}

/* =========================================================
   V303 — mesma marca de vencedor em todas as listas
   ========================================================= */
/* O check circular usado na aba Tabela também aparece em Rodada completa.
   As três colunas mantêm nome, marca e escudo na mesma linha sem empurrar o
   ícone para outra área do card. */
.post-round-team.is-home{
  grid-template-columns: minmax(0,1fr) auto auto !important;
}
.post-round-team.is-away{
  grid-template-columns: auto minmax(0,1fr) auto !important;
}
.post-round-team .post-round-winner-mark{
  align-self: center;
  justify-self: center;
}

/* No chaveamento, nome e check formam um único grupo. Assim a marca fica
   imediatamente ao lado do clube, e não encostada no placar ou na borda. */
.knockout-path-team-name{
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  overflow: hidden;
}
.knockout-path-team-name > strong{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.knockout-path-team-name .knockout-path-winner-mark{
  flex: 0 0 16px;
}

/* =========================================================
   V304 — ordem espelhada do vencedor nas partidas ao vivo
   ========================================================= */
/* Jogos: o mandante ocupa o lado esquerdo na ordem
   check · nome · escudo. O visitante espelha o conteúdo como
   escudo · nome · check. Os grupos ficam junto ao placar e o espaço livre
   permanece nas extremidades externas do cartão. */
.match-screen .live-score-tile .live-club.home, .observer-screen .live-score-tile .live-club.home{
  flex-direction: row !important;
  justify-content: flex-end !important;
  text-align: right !important;
}
.match-screen .live-score-tile .live-club.away, .observer-screen .live-score-tile .live-club.away{
  flex-direction: row !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.match-screen .live-score-tile .live-club > b, .observer-screen .live-score-tile .live-club > b{
  flex: 0 1 auto !important;
  width: auto !important;
}
.match-screen .live-score-tile .live-club.home .live-winner-mark, .observer-screen .live-score-tile .live-club.home .live-winner-mark, .match-screen .live-score-tile .live-club.away .live-winner-mark, .observer-screen .live-score-tile .live-club.away .live-winner-mark{
  order: 0 !important;
}

/* Tabela de mata-mata: o HTML já nasce na ordem visual correta. Nenhum order
   artificial pode deslocar o check para entre o nome e o escudo. */
.live-knockout-team.is-home .live-winner-mark, .live-knockout-team.is-away .live-winner-mark{
  order: 0 !important;
}

/* Pós-jogo: flex mantém cada trio unido junto ao placar, sem abrir um espaço
   indevido entre o check e o nome em clubes curtos ou longos. */
.post-round-team{
  display: flex !important;
  align-items: center !important;
}
.post-round-team.is-home{
  flex-direction: row !important;
  justify-content: flex-end !important;
  text-align: right !important;
}
.post-round-team.is-away{
  flex-direction: row !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.post-round-team > :is(b,.post-round-entity-link){
  flex: 0 1 auto !important;
  width: auto !important;
}
.post-round-team .post-round-winner-mark{
  order: 0 !important;
}


/* V307 — respiro entre o escudo e o nome no topo e link SEO da apresentação. */
.club-team-shell .topbar-club-summary{
  grid-template-columns: 34px minmax(0,1fr) !important;
  column-gap: 12px !important;
}
.landing-seo-footer{
  margin-top: 4px;
  padding: 12px 10px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  color: var(--muted);
  text-align: center;
  font-size: .64rem;
  line-height: 1.45;
}
.landing-seo-footer a{
  color: var(--text);
  font-weight: 600;
  text-underline-offset: 3px;
}

/* ===== V311 · Home orientada à identidade + validação estável =====
   A página inicial continua mobile-first. Técnico e clube são as decisões
   principais; filtros, moeda e personalização avançada recebem peso visual
   menor sem esconder recursos. */
.landing-v99 .setup-priority-block, .landing-v99 .custom-priority-block, .landing-v99 .custom-core-block, .landing-v99 .custom-essential-block{
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: color-mix(in srgb, var(--panel-2) 72%, var(--panel));
}
.landing-v99 .setup-priority-block, .landing-v99 .custom-priority-block{
  border-color: color-mix(in srgb, var(--primary) 42%, var(--line));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--primary) 8%, var(--panel-2)), var(--panel) 78%);
}
.landing-v99 .setup-manager-priority, .landing-v99 .custom-priority-block{ margin-top: 12px; }
.landing-v99 .setup-team-priority, .landing-v99 .custom-core-block, .landing-v99 .custom-essential-block{ margin-top: 10px; }

.landing-v99 .setup-priority-heading{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
}
.landing-v99 .setup-priority-heading.is-secondary{ margin-bottom: 9px; }
.landing-v99 .setup-priority-heading > div{ min-width: 0; display: grid; gap: 2px; }
.landing-v99 .setup-priority-heading small{
  color: var(--primary);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.landing-v99 .setup-priority-heading strong{
  color: var(--text);
  font-size: .85rem;
  line-height: 1.2;
}
.landing-v99 .setup-step-number{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--primary) 54%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary) 12%, var(--panel));
  color: var(--primary);
  font-size: .72rem;
  font-weight: 800;
}

/* Nome do técnico e nome do clube têm mais presença que os demais campos. */
.landing-v99 .setup-hero-field, .landing-v99 .custom-priority-field{
  color: var(--text);
  font-size: .72rem;
  font-weight: 700;
}
.landing-v99 .setup-hero-field input, .landing-v99 .custom-priority-field input{
  min-height: 54px;
  padding-inline: 13px;
  border-width: 2px;
  border-color: color-mix(in srgb, var(--primary) 48%, var(--field-border,var(--line)));
  border-radius: 14px;
  background: color-mix(in srgb, var(--field-bg,var(--panel-2)) 90%, var(--primary) 4%);
  color: var(--text);
  font-size: .94rem;
  font-weight: 650;
}
.landing-v99 .setup-hero-field input::placeholder, .landing-v99 .custom-priority-field input::placeholder{ color: color-mix(in srgb, var(--muted) 78%, transparent); }
.landing-v99 .setup-hero-field small, .landing-v99 .custom-priority-field small{
  color: var(--muted);
  font-size: .59rem;
  font-weight: 450;
  line-height: 1.4;
}
.landing-v99 .custom-priority-grid{ display: grid; gap: 10px; }

/* O time escolhido fica antes das ferramentas de procura para reforçar a decisão. */
.landing-v99 .setup-team-priority .setup-selected-team{
  margin: 0 !important;
  border-width: 2px;
  box-shadow: none;
}
.landing-v99 .setup-team-finder{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.landing-v99 .setup-secondary-heading{
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.landing-v99 .setup-secondary-heading > div{ min-width: 0; display: grid; gap: 2px; }
.landing-v99 .setup-secondary-heading strong{ color: var(--text); font-size: .7rem; }
.landing-v99 .setup-secondary-heading small{ color: var(--muted); font-size: .55rem; line-height: 1.35; }
.landing-v99 .setup-secondary-heading > span{ color: var(--muted); font-size: .78rem; }
.landing-v99 .setup-team-finder .team-picker-tools{ margin: 0 0 8px !important; }
.landing-v99 .setup-team-finder .team-grid{ margin-top: 20px !important; margin-bottom: 20px !important; }

/* Opções que não definem a identidade ficam recolhidas e discretas. */
.landing-v99 .setup-secondary-options, .landing-v99 .custom-secondary-settings{
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel-2) 62%, transparent);
}
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary{
  min-height: 46px;
  padding: 9px 11px;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) 16px;
  align-items: center;
  gap: 8px;
  list-style: none;
  color: var(--muted);
  cursor: pointer;
}
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary::-webkit-details-marker{ display: none; }
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary::after{
  content: "+";
  color: var(--primary);
  font-size: 1rem;
  text-align: center;
}
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings)[open] > summary::after{ content: "−"; }
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary > :first-child{ color: var(--muted); }
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary > span{ min-width: 0; display: grid; gap: 2px; }
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary strong{ color: var(--text); font-size: .68rem; }
.landing-v99 :is(.setup-secondary-options,.custom-secondary-settings) > summary small{ color: var(--muted); font-size: .53rem; font-weight: 450; line-height: 1.3; }
.landing-v99 .setup-compact-option{ margin: 0 11px 11px; }
.landing-v99 .custom-secondary-grid{ margin: 0 !important; padding: 0 11px 11px; }

/* Criar sua equipe: origem é uma configuração pequena; identidade vem primeiro. */
.landing-v99 .custom-start-source{
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel-2) 56%, transparent);
}
.landing-v99 .custom-start-source label{ font-size: .65rem; }
.landing-v99 .custom-start-source :is(input,select){ min-height: 40px; }
.landing-v99 .custom-core-grid, .landing-v99 .custom-essential-grid{ display: grid; gap: 9px; }
.landing-v99 .custom-core-block, .landing-v99 .custom-essential-block{
  background: color-mix(in srgb, var(--panel-2) 60%, transparent);
}
.landing-v99 .custom-core-block label, .landing-v99 .custom-essential-block label, .landing-v99 .custom-secondary-settings label{ font-size: .66rem; }

/* Um campo inválido recebe um único destaque; não há animação/scroll concorrente. */
.landing-v99 .setup-invalid-target{
  border-radius: 12px;
  outline: 2px solid color-mix(in srgb, var(--danger) 76%, #fff 10%);
  outline-offset: 4px;
  background: color-mix(in srgb, var(--danger) 6%, transparent);
}
.landing-v99 .setup-invalid-target :is(input,select,textarea){
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 14%, transparent) !important;
}

/* A antiga margem de 42vh competia com o cálculo real da navbar. */
.landing-v99 .manager-name-field, .landing-v99 .custom-club-builder label:has(input[name="managerName"]), .landing-v99 .setup-invalid-target{
  /* Fallback nativo: mesmo se o navegador tentar rolar o foco por conta
     própria, reserve a altura aproximada da barra sticky da Home. */
  scroll-margin-top: calc(82px + var(--safe-top));
  scroll-margin-bottom: 24px;
}


/* ===== V312 · validação da Home compatível com navbar sticky =====
   O scroll-margin é apenas fallback; o JS mantém um único foco e corrige a
   posição uma vez após o teclado virtual mudar o visualViewport. ===== */


/* V316 · biblioteca no menu e links públicos da Home. */
.landing-seo-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}.landing-community-callout-final{margin-top:18px}

/* V319 · a etapa de criação permanece imediatamente após o seletor de modo. */
.landing-v99 .setup-mode-switch + .landing-setup-stage{ margin-top: 18px; }


/* ===== V321 · ícones dinâmicos e identidade visual após demissão ===== */
/* O botão Final vira "Voltar às competições" em tempo real; o ícone continua
   ocupando uma célula própria e nunca pode colapsar durante a troca dinâmica. */
.observer-screen #observerSkipBtn.observer-exit-button > :is(.fa-solid,.fa-regular){
  display: grid !important;
  place-items: center !important;
  inline-size: 100% !important;
  block-size: 15px !important;
  min-block-size: 15px !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.observer-screen #observerSkipBtn.observer-exit-button > :is(.fa-solid,.fa-regular)::before{
  display: block !important;
  inline-size: 1em !important;
  block-size: 1em !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* V323 · carreira sem clube: a barra superior sempre mostra a identidade do técnico.
   O avatar recebe uma classe exclusiva para não herdar proporções históricas de
   escudos/perfis e possui folga própria para nunca ser recortado pelo botão. */
.career-unemployed-shell .topbar-club-summary{
  grid-template-columns: 38px minmax(0,1fr) !important;
  column-gap: 10px !important;
  overflow: visible !important;
}
.career-unemployed-shell .topbar-club-visual{
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}
.career-unemployed-shell .topbar-club-visual > .topbar-manager-avatar{
  box-sizing: border-box !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  justify-self: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  flex: 0 0 30px !important;
  line-height: 1 !important;
  font-size: .72rem !important;
  text-align: center !important;
}
.career-unemployed-shell .topbar-club-visual > img.topbar-manager-avatar{
  object-fit: cover !important;
  object-position: center !important;
}

/* ===== V324 · ícone Final do modo espectador =====
   O mesmo botão existe em três estados (Final, processando e Voltar às competições).
   A geometria e a máscara do Font Awesome precisam ser válidas desde o primeiro
   render, sem depender da classe .observer-exit-button adicionada após o apito. */
.observer-screen #observerSkipBtn > :is(.fa-solid,.fa-regular){
  display: inline-grid !important;
  place-items: center !important;
  inline-size: 1em !important;
  min-inline-size: 1em !important;
  block-size: 1em !important;
  min-block-size: 1em !important;
  margin: 0 !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}
.observer-screen #observerSkipBtn > :is(.fa-solid,.fa-regular)::before{
  content: "" !important;
  display: block !important;
  inline-size: 1em !important;
  min-inline-size: 1em !important;
  block-size: 1em !important;
  min-block-size: 1em !important;
  margin: 0 !important;
  background-color: currentColor !important;
  -webkit-mask-image: var(--fa-static-icon) !important;
  mask-image: var(--fa-static-icon) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ===== V326 · Mundo da carreira =====
   O bloco permanece mobile-first e não altera a geometria geral da Home. Os
   países adicionais ficam em uma lista recolhível para não competir com a
   escolha principal de técnico e clube. */
.landing-v99 .setup-world-priority{
  margin-top: 10px;
  border-color: color-mix(in srgb, var(--primary) 30%, var(--line));
  background: color-mix(in srgb, var(--panel-2) 70%, var(--panel));
}
.landing-v99 .setup-world-help{
  margin: -2px 0 10px;
  color: var(--muted);
  font-size: .59rem;
  line-height: 1.45;
}
.landing-v99 .setup-world-presets{
  display: grid;
  gap: 7px;
}
.landing-v99 .setup-world-preset{
  min-width: 0;
  min-height: 48px;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel) 82%, transparent);
  color: var(--text);
  text-align: left;
}
.landing-v99 .setup-world-preset > i{
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: var(--muted);
}
.landing-v99 .setup-world-preset > span{
  min-width: 0;
  display: grid;
  gap: 2px;
}
.landing-v99 .setup-world-preset strong{ font-size: .67rem; }
.landing-v99 .setup-world-preset small{ color: var(--muted); font-size: .52rem; line-height: 1.3; }
.landing-v99 .setup-world-preset.is-active{
  border-color: color-mix(in srgb, var(--primary) 58%, var(--line));
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
}
.landing-v99 .setup-world-preset.is-active > i{ color: var(--primary); }
.landing-v99 .setup-world-summary{
  margin-top: 9px;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel-2) 64%, transparent);
}
.landing-v99 .setup-world-summary > div{ min-width: 0; display: grid; gap: 2px; }
.landing-v99 .setup-world-summary strong{ color: var(--text); font-size: .66rem; }
.landing-v99 .setup-world-summary span:not(.badge){ color: var(--muted); font-size: .53rem; line-height: 1.3; }
/* V326: indicador informativo de custo. Nunca bloqueia o usuário; apenas deixa
   claro que mundos muito grandes exigem mais processamento e armazenamento. */
.landing-v99 .setup-world-load{
  margin-top: 7px;
  padding: 7px 9px;
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel-2) 62%, transparent);
  color: var(--muted);
}
.landing-v99 .setup-world-load > i{ color: var(--primary); text-align: center; }
.landing-v99 .setup-world-load > span{ min-width: 0; display: grid; gap: 1px; }
.landing-v99 .setup-world-load strong{ color: var(--text); font-size: .56rem; }
.landing-v99 .setup-world-load small{ color: var(--muted); font-size: .48rem; line-height: 1.3; }
.landing-v99 .setup-world-load.is-heavy, .landing-v99 .setup-world-load.is-very-heavy{ border-color: color-mix(in srgb, #d99226 45%, var(--line)); }
.landing-v99 .setup-world-chips{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.landing-v99 .setup-world-chip{
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--panel) 84%, transparent);
  color: var(--muted);
  font-size: .52rem;
  font-weight: 650;
}
.landing-v99 .setup-world-chip.is-full{
  border-color: color-mix(in srgb, var(--primary) 45%, var(--line));
  color: var(--text);
  background: color-mix(in srgb, var(--primary) 9%, var(--panel));
}
.landing-v99 .setup-world-chip.is-more{
  border-style: dashed;
  color: var(--text);
}
.landing-v99 .setup-world-country-picker{
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel) 65%, transparent);
}
.landing-v99 .setup-world-country-picker > summary{
  min-height: 44px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  list-style: none;
  cursor: pointer;
}
.landing-v99 .setup-world-country-picker > summary::-webkit-details-marker{ display: none; }
.landing-v99 .setup-world-country-picker > summary > i{ color: var(--primary); }
.landing-v99 .setup-world-country-picker > summary > span{ min-width: 0; display: grid; gap: 2px; }
.landing-v99 .setup-world-country-picker > summary strong{ font-size: .63rem; color: var(--text); }
.landing-v99 .setup-world-country-picker > summary small{ font-size: .5rem; color: var(--muted); line-height: 1.3; }
.landing-v99 .setup-world-country-tools{
  padding: 0 8px 7px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.landing-v99 .setup-world-country-tools .btn{
  min-width: 0;
  min-height: 34px;
  padding-inline: 7px;
  font-size: .5rem;
}
.landing-v99 .setup-world-country-list{
  max-height: 300px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 8px 8px;
  display: grid;
  gap: 5px;
}
.landing-v99 .setup-world-country{
  min-width: 0;
  padding: 7px 8px;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  grid-template-areas: "check name" "check meta";
  align-items: center;
  column-gap: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel-2) 68%, transparent);
}
.landing-v99 .setup-world-country input{ grid-area: check; width: 16px; height: 16px; margin: 0; accent-color: var(--primary); }
.landing-v99 .setup-world-country > span{ grid-area: name; min-width: 0; color: var(--text); font-size: .6rem; font-weight: 650; }
.landing-v99 .setup-world-country > small{ grid-area: meta; color: var(--muted); font-size: .49rem; }
.landing-v99 .setup-world-country.is-selected{ border-color: color-mix(in srgb, var(--primary) 38%, var(--line)); }
.landing-v99 .setup-world-country.is-mandatory{ background: color-mix(in srgb, var(--primary) 8%, var(--panel)); }
.landing-v99 .setup-world-tiers{
  margin-top: 8px;
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: .51rem;
  line-height: 1.35;
}
.landing-v99 .setup-world-tiers > span{ display: flex; align-items: center; gap: 5px; }
.landing-v99 .setup-world-tiers i{ width: 15px; color: var(--primary); text-align: center; }
.landing-v99 .setup-world-tiers b{ color: var(--text); }

/* V326 — Mundo da carreira dentro da central de competições. O bloco é somente
   leitura durante a temporada para não criar classificações retroativas ao
   ativar/desativar países no meio do calendário. */
.career-world-strip{
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid var(--line, rgba(127, 127, 127, .22));
  border-radius: 16px;
  background: var(--surface, rgba(255, 255, 255, .04));
}
.career-world-strip-title{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.career-world-strip-title > i{
  width: 30px;
  flex: 0 0 30px;
  text-align: center;
}
.career-world-strip-title span{
  display: grid;
  gap: 1px;
  min-width: 0;
}
.career-world-strip-title small{
  color: var(--muted, #8b929a);
  font-size: .72rem;
}
.career-world-strip-title strong{
  font-size: .92rem;
}
.career-world-strip-countries{
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 1px 1px 4px;
  scrollbar-width: thin;
}
.career-world-country{
  display: grid;
  flex: 0 0 auto;
  gap: 1px;
  min-width: 104px;
  padding: 7px 9px;
  border: 1px solid var(--line, rgba(127, 127, 127, .22));
  border-radius: 12px;
  background: rgba(127, 127, 127, .06);
  white-space: nowrap;
  font-size: .78rem;
}
.career-world-country small{
  color: var(--muted, #8b929a);
  font-size: .66rem;
}
.career-world-country.is-full{
  border-color: color-mix(in srgb, var(--accent, #1f8d55) 62%, transparent);
  background: color-mix(in srgb, var(--accent, #1f8d55) 10%, transparent);
}

/* ===== V328 · planejamento do Mundo da carreira =====
   As mudanças são apenas agendadas durante a temporada. A lista pode conter
   todos os países do catálogo sem alterar o calendário que já está em curso. */
.career-world-plan-status{
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  border: 1px solid var(--line, rgba(127,127,127,.22));
  border-radius: 12px;
  background: rgba(127,127,127,.05);
}
.career-world-plan-status > i{ color: var(--muted); text-align: center; }
.career-world-plan-status > span{ min-width: 0; display: grid; gap: 2px; }
.career-world-plan-status strong{ font-size: .72rem; }
.career-world-plan-status small{ color: var(--muted); font-size: .62rem; line-height: 1.35; }
.career-world-plan-status.is-pending{
  border-color: color-mix(in srgb, var(--accent, #1f8d55) 42%, var(--line));
  background: color-mix(in srgb, var(--accent, #1f8d55) 8%, transparent);
}
.career-world-plan-status.is-pending > i{ color: var(--accent, #1f8d55); }
.career-world-planner{
  overflow: hidden;
  border: 1px solid var(--line, rgba(127,127,127,.22));
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel, #15191f) 86%, transparent);
}
.career-world-planner > summary{
  min-height: 46px;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  list-style: none;
  cursor: pointer;
}
.career-world-planner > summary::-webkit-details-marker{ display: none; }
.career-world-planner > summary > i{ color: var(--accent, #1f8d55); text-align: center; }
.career-world-planner > summary > span{ min-width: 0; display: grid; gap: 2px; }
.career-world-planner > summary strong{ font-size: .7rem; }
.career-world-planner > summary small{ color: var(--muted); font-size: .58rem; line-height: 1.35; }
.career-world-planner-tools, .career-world-planner-actions{
  padding: 0 9px 8px;
  display: grid;
  gap: 6px;
}
.career-world-planner-tools{ grid-template-columns: 1fr 1fr; }
.career-world-planner-actions{ grid-template-columns: 1fr; }
.career-world-planner-tools .btn, .career-world-planner-actions .btn{ min-width: 0; }
.career-world-planner-preview{
  margin: 0 9px 8px;
  padding: 7px 9px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel-2, #20262e) 72%, transparent);
  color: var(--muted);
}
.career-world-planner-preview strong{ color: var(--text); font-size: .64rem; }
.career-world-planner-preview span{ font-size: .56rem; text-align: right; }
.career-world-planner-list{
  max-height: 330px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 9px 9px;
  display: grid;
  gap: 5px;
}
.career-world-planner-country{
  min-width: 0;
  padding: 7px 8px;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  grid-template-areas: "check name" "check meta";
  align-items: center;
  column-gap: 7px;
  border: 1px solid var(--line, rgba(127,127,127,.22));
  border-radius: 10px;
  background: color-mix(in srgb, var(--panel-2, #20262e) 66%, transparent);
}
.career-world-planner-country input{ grid-area: check; width: 16px; height: 16px; margin: 0; accent-color: var(--accent, #1f8d55); }
.career-world-planner-country > span{ grid-area: name; min-width: 0; color: var(--text); font-size: .64rem; font-weight: 650; }
.career-world-planner-country > small{ grid-area: meta; color: var(--muted); font-size: .53rem; }
.career-world-planner-country.is-selected{ border-color: color-mix(in srgb, var(--accent, #1f8d55) 40%, var(--line)); }
.career-world-planner-country.is-mandatory{ background: color-mix(in srgb, var(--accent, #1f8d55) 9%, var(--panel)); }
.career-world-planner-note{
  margin: 0 9px 9px;
  padding: 7px 8px;
  display: flex;
  gap: 6px;
  align-items: flex-start;
  border-radius: 10px;
  background: rgba(127,127,127,.05);
  color: var(--muted);
  font-size: .55rem;
  line-height: 1.4;
}
.career-world-planner-note i{ margin-top: 1px; color: var(--accent, #1f8d55); }


/* =========================================================
   V329 · campo ao vivo opcional de verdade
   ========================================================= */
/* Campo desligado mantém a mesma arquitetura atual do Ao Vivo: cabeçalho,
   placar/comandos e painel de informações. A regra antiga ainda reservava
   cinco linhas de versões anteriores e comprimía o workspace das abas a
   poucos pixels (40px eram consumidos só pela barra de abas). */
.match-screen.is-live-pitch-disabled{
  grid-template-rows: 38px auto minmax(0,1fr) !important;
}
.match-screen.is-live-pitch-disabled > .pitch-score{
  height: auto !important;
  min-height: 86px !important;
  grid-template-rows: 54px 28px 46px !important;
  padding: 5px !important;
}
.match-screen.is-live-pitch-disabled .pitch-score > .fixture-card{
  height: 54px !important;
  min-height: 54px !important;
  padding-inline: 4px !important;
}
.match-screen.is-live-pitch-disabled .pitch-score .vs{ font-size: .56rem !important; }
.match-screen.is-live-pitch-disabled .pitch-score .fixture-team .crest{ width: 27px !important; height: 33px !important; }
.match-screen.is-live-pitch-disabled .pitch-score .fixture-team strong{ max-width: 100px !important; font-size: .68rem !important; }
.live-pitch-shell.is-pitch-disabled{
  height: 28px !important;
  min-height: 28px !important;
  grid-template-rows: 28px !important;
  background: #090d12 !important;
  border: 1px solid rgba(255,255,255,.08);
}
.live-pitch-shell.is-pitch-disabled .live-pitch-caption{
  height: 28px !important;
  min-height: 28px !important;
  background: #050709 !important;
}
.live-pitch-shell.is-pitch-disabled :is(.live-pitch-canvas,.live-event-overlay){ display: none !important; }
.observer-screen.observer-live-mode.is-live-pitch-disabled, .observer-screen.observer-live-mode.is-observer-finished.is-live-pitch-disabled{
  grid-template-rows: 38px auto minmax(0,1fr) !important;
}
.observer-screen.observer-live-mode.is-live-pitch-disabled > .observer-pitch-score, .observer-screen.observer-live-mode.is-observer-finished.is-live-pitch-disabled > .observer-pitch-score{
  height: auto !important;
  min-height: 126px !important;
  grid-template-rows: 54px 28px 44px !important;
}
.observer-screen.is-live-pitch-disabled .observer-pitch-panel{ height: 28px !important; min-height: 28px !important; }

/* =========================================================
   V329 · mercado mundial de técnicos
   ========================================================= */
.manager-market-layout{ display: grid; gap: 10px; padding-bottom: 14px; }
.manager-market-hero{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.manager-market-hero h3{ margin: 2px 0 5px; }
.manager-market-hero p{ margin: 0; color: var(--muted); line-height: 1.45; }
.manager-market-hero-icon{ display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; background: color-mix(in srgb,var(--primary) 16%,var(--panel)); color: var(--primary); font-size: 1.2rem; }
.manager-market-scorecards{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.manager-market-scorecards article{ min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.manager-market-scorecards small, .manager-market-scorecards span{ display: block; color: var(--muted); font-size: .67rem; }
.manager-market-scorecards strong{ display: block; margin: 2px 0; font-size: 1.32rem; color: var(--text); }
.manager-market-vacancies, .manager-market-feed, .manager-market-ranking{ display: grid; gap: 6px; }
.manager-market-vacancy{ width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px; text-align: left; border: 1px solid var(--line); border-radius: 9px; background: color-mix(in srgb,var(--panel) 94%,var(--primary) 6%); color: var(--text); }
.manager-market-vacancy .crest{ width: 28px; height: 32px; }
.manager-market-vacancy strong, .manager-market-vacancy small{ display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manager-market-vacancy small{ color: var(--muted); font-size: .66rem; }
.manager-market-event{ display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 9px; }
.manager-market-event > span{ display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: color-mix(in srgb,var(--primary) 12%,var(--panel)); color: var(--primary); }
.manager-market-event.is-international > span{ background: color-mix(in srgb,#4f87ff 16%,var(--panel)); color: #6aa0ff; }
.manager-market-event strong, .manager-market-event small{ display: block; }
.manager-market-event small{ color: var(--muted); font-size: .66rem; line-height: 1.35; }
.manager-market-event em{ color: var(--muted); font-size: .6rem; font-style: normal; white-space: nowrap; }
.manager-market-ranking article{ display: grid; grid-template-columns: 26px minmax(0,1fr) 34px; gap: 8px; align-items: center; padding: 7px 8px; border-bottom: 1px solid var(--line); }
.manager-market-ranking article > b{ color: var(--muted); }
.manager-market-ranking article > span{ text-align: right; font-weight: 800; color: var(--primary); }
.manager-market-ranking strong, .manager-market-ranking small{ display:block; }
.manager-market-ranking small{ color: var(--muted); font-size: .65rem; }


/* V330 — reputação doméstica, continental e mundial do técnico. */
.manager-reputation-reach{ overflow: hidden; }
.manager-reputation-scope-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.manager-reputation-scope-grid article{ display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 9px; min-width: 0; padding: 11px 9px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); }
.manager-reputation-scope-grid article > span{ display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.manager-reputation-scope-grid small, .manager-reputation-scope-grid strong, .manager-reputation-scope-grid em{ display: block; min-width: 0; }
.manager-reputation-scope-grid small{ color: var(--muted); font-size: .55rem; }
.manager-reputation-scope-grid strong{ margin-top: 1px; font-size: 1.08rem; line-height: 1; }
.manager-reputation-scope-grid em{ margin-top: 3px; overflow: hidden; color: var(--muted); font-size: .53rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.manager-reputation-markets{ display: grid; gap: 7px; margin-top: 10px; }
.manager-reputation-markets > small{ color: var(--muted); font-size: .61rem; }
.manager-reputation-markets > div{ display: flex; flex-wrap: wrap; gap: 6px; }
.manager-reputation-markets span{ display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); font-size: .59rem; }
.manager-reputation-markets span b{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manager-reputation-markets span em{ color: var(--primary); font-style: normal; font-weight: 700; }
.manager-reputation-history{ margin-top: 10px; border-top: 1px solid var(--line); padding-top: 9px; }
.manager-reputation-history summary{ cursor: pointer; color: var(--muted); font-size: .62rem; }
.manager-reputation-history > div{ display: grid; gap: 6px; margin-top: 8px; }
.manager-reputation-history > div > span{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 7px 8px; border-radius: 9px; background: var(--panel-2); font-size: .58rem; }
.manager-reputation-history b{ min-width: 28px; }
.manager-reputation-history em{ overflow: hidden; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.manager-reputation-history small{ color: var(--muted); font-size: .52rem; white-space: nowrap; }
.manager-reputation-history .is-positive{ color: var(--success,#32a866); }
.manager-reputation-history .is-negative{ color: var(--danger,#d9534f); }

/* V332 — Giro pelo Mundo: feed compacto, legível e coerente com a UI mobile. */
.world-digest-layout{ display:grid; gap:10px; padding-bottom:14px; }
.world-digest-hero{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.world-digest-hero h3{ margin:2px 0 5px; }
.world-digest-hero p{ margin:0; color:var(--muted); line-height:1.45; }
.world-digest-hero-icon{ display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:color-mix(in srgb,var(--primary) 16%,var(--panel)); color:var(--primary); font-size:1.2rem; }
.world-digest-scorecards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.world-digest-scorecards article:last-child{ grid-column:1 / -1; }
.world-digest-scorecards article{ min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.world-digest-scorecards small, .world-digest-scorecards span{ display:block; color:var(--muted); font-size:.64rem; line-height:1.25; }
.world-digest-scorecards strong{ display:block; margin:2px 0; font-size:1.25rem; color:var(--text); }
.world-digest-editions{ display:grid; gap:9px; }
.world-digest-issue{ padding:10px; }
.world-digest-issue.is-latest{ border-color:color-mix(in srgb,var(--primary) 42%,var(--line)); }
.world-digest-issue > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:8px; }
.world-digest-issue h3{ margin:2px 0 0; font-size:.94rem; }
.world-digest-country-strip{ flex:0 0 auto; white-space:nowrap; letter-spacing:1px; font-size:.9rem; }
.world-digest-feed{ display:grid; gap:6px; }
.world-digest-item{ width:100%; min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; text-align:left; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 95%,var(--primary) 5%); color:var(--text); }
button.world-digest-item{ cursor:pointer; }
.world-digest-kind{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:color-mix(in srgb,var(--primary) 12%,var(--panel)); color:var(--primary); }
.world-digest-item small, .world-digest-item strong, .world-digest-item p{ display:block; min-width:0; }
.world-digest-item small{ color:var(--muted); font-size:.62rem; }
.world-digest-item strong{ margin-top:1px; font-size:.78rem; }
.world-digest-item p{ margin:2px 0 0; color:var(--muted); font-size:.67rem; line-height:1.3; }
.world-digest-empty{ padding:22px 14px; text-align:center; }
.world-digest-empty > span{ display:grid; place-items:center; width:44px; height:44px; margin:0 auto 8px; border-radius:50%; background:color-mix(in srgb,var(--primary) 12%,var(--panel)); color:var(--primary); }
.world-digest-empty h3{ margin:0 0 5px; }
.world-digest-empty p{ margin:0 auto; max-width:44rem; color:var(--muted); line-height:1.45; }


/* ===== V333 · Passaporte do técnico ===== */
.manager-passport-panel{ overflow: hidden; }
.manager-passport-route{
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding: 4px 1px 12px;
  scrollbar-width: thin;
}
.manager-passport-route > span{
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  gap: 3px;
  min-width: 54px;
  padding: 8px 7px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel-2);
  font-size: 1.25rem;
}
.manager-passport-route > span small{
  max-width: 74px;
  overflow: hidden;
  color: var(--muted);
  font-size: .52rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.manager-passport-route > i{ flex: 0 0 auto; color: var(--muted); font-size: .62rem; }
.manager-passport-summary{
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 6px;
  margin: 2px 0 12px;
}
.manager-passport-summary article{
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 5px;
  text-align: center;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--panel-2);
}
.manager-passport-summary small{ color: var(--muted); font-size: .5rem; overflow: hidden; text-overflow: ellipsis; }
.manager-passport-summary strong{ font-size: .92rem; }
.manager-passport-stints{ display: grid; gap: 9px; }
.manager-passport-stint{
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--panel-2);
}
.manager-passport-stint.is-active{ border-color: color-mix(in srgb,var(--accent) 48%,var(--border)); }
.manager-passport-stint-head{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 9px; align-items: center; }
.manager-passport-stint-head > div{ display: grid; min-width: 0; gap: 2px; }
.manager-passport-stint-head small, .manager-passport-stint-head em{ color: var(--muted); font-size: .56rem; font-style: normal; }
.manager-passport-stint-head strong{ overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.manager-passport-country-mark{ display: grid; place-items: center; width: 35px; height: 35px; border-radius: 0; background: transparent; font-size: 1.25rem; }
.manager-passport-active{ align-self: start; padding: 4px 6px; border-radius: 999px; color: var(--accent); background: color-mix(in srgb,var(--accent) 12%,transparent); font-size: .52rem; font-weight: 800; }
.manager-passport-stats{ display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; }
.manager-passport-stats span{ display: grid; gap: 2px; padding: 6px 2px; text-align: center; border-radius: 9px; background: var(--panel); }
.manager-passport-stats small{ color: var(--muted); font-size: .48rem; }
.manager-passport-stats b{ font-size: .72rem; }
.manager-passport-goals{ display: flex; flex-wrap: wrap; gap: 5px 10px; color: var(--muted); font-size: .58rem; }
.manager-passport-titles{ display: flex; flex-wrap: wrap; gap: 6px; }
.manager-passport-titles > span{ display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border-radius: 9px; background: color-mix(in srgb,#d6a32b 12%,var(--panel)); font-size: .56rem; }
.manager-passport-titles > span small{ color: var(--muted); }
.manager-passport-no-title{ color: var(--muted); font-size: .56rem; }

/* V334 — Coeficientes continentais e força dinâmica entre países. A composição
   nasce para telas pequenas: ranking compacto, sem tabela horizontal obrigatória. */
.country-coefficient-layout{ display:grid; gap:10px; padding-bottom:14px; }
.country-coefficient-hero{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.country-coefficient-hero h3{ margin:2px 0 5px; }
.country-coefficient-hero p{ margin:0; color:var(--muted); line-height:1.45; }
.country-coefficient-hero-icon{ display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:color-mix(in srgb,var(--primary) 16%,var(--panel)); color:var(--primary); font-size:1.15rem; }
.country-coefficient-scorecards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.country-coefficient-scorecards article:last-child{ grid-column:1 / -1; }
.country-coefficient-scorecards article{ min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.country-coefficient-scorecards small, .country-coefficient-scorecards span{ display:block; color:var(--muted); font-size:.64rem; line-height:1.25; }
.country-coefficient-scorecards strong{ display:block; margin:2px 0; color:var(--text); font-size:1.12rem; }
.country-coefficient-explain{ display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; align-items:start; padding:10px; }
.country-coefficient-explain > span{ display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:color-mix(in srgb,var(--primary) 12%,var(--panel)); color:var(--primary); }
.country-coefficient-explain p{ margin:0; color:var(--muted); font-size:.69rem; line-height:1.42; }
.country-coefficient-group{ padding:10px; }
.country-coefficient-group > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:7px; }
.country-coefficient-group h3{ margin:2px 0 0; font-size:.94rem; }
.country-coefficient-list{ display:grid; gap:6px; }
.country-coefficient-row{ min-width:0; display:grid; grid-template-columns:28px minmax(0,1fr) 50px 43px; grid-template-rows:auto auto auto; align-items:center; column-gap:7px; row-gap:5px; padding:8px; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 96%,var(--primary) 4%); }
.country-coefficient-rank{ grid-row:1 / 4; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; border-right:1px solid var(--line); padding-right:6px; }
.country-coefficient-rank > strong{ font-size:.92rem; }
.country-coefficient-rank-move{ font-size:.53rem; line-height:1; }
.country-coefficient-rank-move.is-up, .country-coefficient-slot.is-up strong{ color:var(--success,#238a57); }
.country-coefficient-rank-move.is-down, .country-coefficient-slot.is-down strong{ color:var(--danger,#c43c45); }
.country-coefficient-country{ min-width:0; }
.country-coefficient-country strong, .country-coefficient-country small{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.country-coefficient-country strong{ font-size:.76rem; }
.country-coefficient-country small{ margin-top:1px; color:var(--muted); font-size:.57rem; }
.country-coefficient-number, .country-coefficient-trend{ text-align:right; }
.country-coefficient-number small, .country-coefficient-slot small, .country-coefficient-form small{ display:block; color:var(--muted); font-size:.55rem; }
.country-coefficient-number strong{ display:block; font-size:.8rem; }
.country-coefficient-trend{ display:flex; align-items:center; justify-content:flex-end; gap:3px; font-size:.61rem; }
.country-coefficient-trend > span{ color:var(--muted); }
.country-coefficient-slot{ grid-column:2 / 5; min-width:0; }
.country-coefficient-slot strong{ display:block; font-size:.62rem; white-space:nowrap; }
.country-coefficient-form{ grid-column:2 / 5; grid-row:3; min-width:0; text-align:left; }
.country-coefficient-form strong{ display:block; font-size:.61rem; white-space:nowrap; }

/* ===== V335 · processamento cooperativo global =====
   O overlay aparece somente durante tarefas reais. Ele bloqueia novos comandos
   enquanto o estado está sendo alterado, mas não muda o fluxo/scroll da página,
   evitando saltos quando termina. Não depende de media query: já nasce para a
   menor largura suportada pelo jogo. */
.app-task-overlay{
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background: color-mix(in srgb,#06100b 64%,transparent);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  overscroll-behavior: contain;
  transition: opacity .16s ease;
}
.app-task-overlay[hidden]{ display: none !important; }
.app-task-overlay.is-visible{ opacity: 1; pointer-events: auto; }
.app-task-card{
  width: min(100%,360px);
  display: grid;
  gap: 11px;
  padding: 15px;
  border: 1px solid color-mix(in srgb,var(--primary) 36%,rgba(255,255,255,.16));
  border-radius: 18px;
  color: #f8fbf9;
  background: linear-gradient(145deg,rgba(15,25,21,.985),rgba(9,16,19,.985));
  box-shadow: 0 20px 54px rgba(0,0,0,.38);
}
.app-task-card > header{
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}
.app-task-card > header > div{ min-width: 0; display: grid; gap: 2px; }
.app-task-card > header strong{ color: #fff; font-size: .8rem; line-height: 1.2; overflow-wrap: anywhere; }
.app-task-card > header small{ color: rgba(255,255,255,.72); font-size: .62rem; line-height: 1.35; overflow-wrap: anywhere; }
.app-task-card > header b{ color: var(--primary); font-size: .65rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.app-task-spinner{
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255,255,255,.14);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: app-task-spin .78s linear infinite;
}
@keyframes app-task-spin { to { transform: rotate(360deg); } }
.app-task-progress{
  position: relative;
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
}
.app-task-progress > span{
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 58%,#fff));
  transition: width .2s ease,transform .2s ease;
}
.app-task-overlay.is-indeterminate .app-task-progress > span{
  width: 34% !important;
  animation: app-task-progress 1.15s ease-in-out infinite alternate;
}
@keyframes app-task-progress { from { transform: translateX(-18%); } to { transform: translateX(210%); } }

/* V353 · movimento útil em dados que mudam sem recarregar a tela. */
.live-table-row.is-dynamic-updated, .live-knockout-row.is-dynamic-updated, .presence-team.is-dynamic-updated{
  animation: dynamic-row-update .72s ease-out;
}
.live-table-row.is-dynamic-enter, .live-knockout-row.is-dynamic-enter, .presence-team.is-dynamic-enter{
  animation: dynamic-row-enter .38s cubic-bezier(.2,.82,.22,1);
}
.dynamic-surface-item.is-dynamic-updated{
  animation: dynamic-surface-update .68s ease-out;
}
.dynamic-surface-item.is-dynamic-enter{
  animation: dynamic-row-enter .34s cubic-bezier(.2,.82,.22,1);
}
.is-dynamic-value-up, .is-dynamic-value-down, .is-dynamic-value-neutral{
  transform-origin: center;
  animation: dynamic-value-change .42s cubic-bezier(.2,.82,.22,1);
}
.is-dynamic-value-up{ color: var(--success) !important; }
.is-dynamic-value-down{ color: var(--danger) !important; }
.football-stat-row i b{ transition: width .38s cubic-bezier(.2,.82,.22,1); }

@keyframes dynamic-row-update {
  0% { box-shadow: inset 0 0 0 999px color-mix(in srgb,var(--primary) 16%,transparent), 0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent); }
  100% { box-shadow: inset 0 0 0 999px transparent, 0 0 0 1px transparent; }
}
@keyframes dynamic-row-enter {
  from { opacity: .25; transform: scale(.985); }
  to { opacity: 1; transform: none; }
}
@keyframes dynamic-surface-update {
  0% { box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 34%,transparent), inset 0 0 0 999px color-mix(in srgb,var(--primary) 8%,transparent); }
  100% { box-shadow: 0 0 0 0 transparent, inset 0 0 0 999px transparent; }
}
@keyframes dynamic-value-change {
  0% { transform: scale(.88); opacity: .52; }
  58% { transform: scale(1.12); opacity: 1; }
  100% { transform: none; opacity: 1; }
}

.reduced-motion :is(.is-dynamic-updated,.is-dynamic-enter,.is-dynamic-value-up,.is-dynamic-value-down,.is-dynamic-value-neutral){
  animation: none !important;
  transition: none !important;
}
.reduced-motion .football-stat-row i b{ transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  :is(.is-dynamic-updated,.is-dynamic-enter,.is-dynamic-value-up,.is-dynamic-value-down,.is-dynamic-value-neutral){
    animation: none !important;
    transition: none !important;
  }
  .football-stat-row i b{ transition: none !important; }
}
.app-task-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);
}
.app-task-tip > span{
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #ffd66b;
  background: rgba(255,214,107,.12);
}
.app-task-tip > div{ min-width: 0; display: grid; gap: 2px; }
.app-task-tip strong{ color: #fff; font-size: .66rem; }
.app-task-tip small{ color: rgba(255,255,255,.68); font-size: .58rem; line-height: 1.35; overflow-wrap: anywhere; }
.reduced-motion .app-task-spinner, .reduced-motion .app-task-overlay.is-indeterminate .app-task-progress > span{ animation: none !important; }
html[data-theme="light"] .app-task-overlay{ background: color-mix(in srgb,#eaf2ed 70%,transparent); }
html[data-theme="light"] .app-task-card{
  color: #17221c;
  border-color: color-mix(in srgb,var(--primary) 40%,#9aa9a0);
  background: linear-gradient(145deg,rgba(252,255,253,.99),rgba(238,245,241,.99));
  box-shadow: 0 20px 54px rgba(17,31,23,.2);
}
html[data-theme="light"] .app-task-card > header strong, html[data-theme="light"] .app-task-tip strong{ color: #17221c; }
html[data-theme="light"] .app-task-card > header small, html[data-theme="light"] .app-task-tip small{ color: #506159; }
html[data-theme="light"] .app-task-progress{ background: rgba(23,34,28,.12); }
html[data-theme="light"] .app-task-tip{ border-color: rgba(23,34,28,.1); background: rgba(23,34,28,.035); }

/* V335 · histórico do técnico continua acessível sem depender do ex-clube. */
.manager-history-hero{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.manager-history-hero>span{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--soft-surface,rgba(255,255,255,.06));
  font-size:1.1rem;
}
.manager-history-hero h2{margin:.18rem 0 .35rem}
.manager-history-hero p{margin:0;color:var(--muted)}

/* =========================================================
   V336 · placar interativo, busca visual e loader inteligente
   ========================================================= */
.pitch-score .live-score-menu-trigger{
  appearance: none;
  padding: 2px 0;
  border: 0;
  border-radius: 10px;
  color: inherit;
  background: transparent;
  cursor: pointer;
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
.pitch-score .live-score-menu-trigger > small{
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: rgba(255,255,255,.62);
  font-size: .34rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
  display: none;
}
.pitch-score .live-score-menu-trigger:focus-visible{
  outline: 2px solid rgba(255,255,255,.9);
  outline-offset: 2px;
}
.pitch-score .live-score-menu-trigger:active{ transform: scale(.97); }
.live-score-quick-menu{ display: grid; gap: 12px; }
.live-score-quick-status{
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 15px;
  background: color-mix(in srgb,var(--primary) 9%,var(--panel-2));
}
.live-score-quick-status > span{
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 14%,var(--panel));
}
.live-score-quick-status > div{ min-width: 0; display: grid; gap: 2px; }
.live-score-quick-status small{ color: var(--primary); font-size: .52rem; font-weight: 600; letter-spacing: .08em; }
.live-score-quick-status strong{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; }
.live-score-quick-status em{ color: var(--muted); font-size: .59rem; font-style: normal; line-height: 1.3; }
.live-score-menu-section{ display: grid; gap: 8px; }
.live-score-menu-title{ display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 8px; }
.live-score-menu-title > span{ width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: var(--primary); background: var(--panel-2); }
.live-score-menu-title > div{ min-width: 0; display: grid; gap: 1px; }
.live-score-menu-title strong{ font-size: .72rem; }
.live-score-menu-title small{ color: var(--muted); font-size: .57rem; }
.live-score-speed-grid{ display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; }
.live-score-speed{
  min-width: 0;
  min-height: 48px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 2px;
  padding: 6px 3px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: inherit;
  background: var(--panel-2);
}
.live-score-speed span{ max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .51rem; }
.live-score-speed b{ color: var(--muted); font-size: .57rem; }
.live-score-speed.is-active{ border-color: var(--primary); color: var(--primary); background: color-mix(in srgb,var(--primary) 12%,var(--panel-2)); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent); }
.live-score-speed.is-active b{ color: var(--primary); }
.live-score-toggle-grid{ display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 7px; }
.live-score-toggle-grid > button{
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: inherit;
  background: var(--panel-2);
  text-align: left;
}
.live-score-toggle-grid > button > svg, .live-score-toggle-grid > button > i{ color: var(--primary); }
.live-score-toggle-grid > button > span{ min-width: 0; display: grid; gap: 1px; }
.live-score-toggle-grid strong{ font-size: .63rem; }
.live-score-toggle-grid small{ color: var(--muted); font-size: .52rem; line-height: 1.25; }
.live-score-toggle-grid > button.is-active{ border-color: color-mix(in srgb,var(--primary) 70%,var(--line)); background: color-mix(in srgb,var(--primary) 10%,var(--panel-2)); }
.live-score-tab-grid{ display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.live-score-tab-grid > button{ min-width: 0; display: grid; place-items: center; gap: 4px; min-height: 48px; padding: 6px 3px; border: 1px solid var(--line); border-radius: 11px; color: inherit; background: var(--panel-2); }
.live-score-tab-grid > button > svg, .live-score-tab-grid > button > i{ color: var(--primary); }
.live-score-tab-grid > button span{ max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .54rem; }
.universal-result-icon.has-crest{ overflow: hidden; contain:paint; min-width:0; min-height:0; padding: 2px; background: color-mix(in srgb,var(--panel-2) 82%,transparent); }
.universal-result-crest{ width: 100%; height: 100%; display: block; object-fit: contain; border-radius: 9px; }
/* V337 · identidade viva do jogador. O painel nasce para a menor tela e não
   depende de breakpoint por largura. */
.player-identity-status{ gap:5px; }
.player-identity-status.is-danger{ border-color:color-mix(in srgb,var(--danger) 42%,var(--line)); color:var(--danger); }
.player-identity-status.is-warning{ border-color:color-mix(in srgb,var(--warning) 42%,var(--line)); }
.player-identity-status.is-success{ border-color:color-mix(in srgb,var(--success) 42%,var(--line)); color:var(--success); }
.player-identity-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:12px 0 14px; }
.player-identity-grid article{ min-width:0; padding:11px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.player-identity-grid span, .player-identity-grid small{ display:block; color:var(--muted); font-size:.76rem; line-height:1.35; }
.player-identity-grid strong{ display:block; margin:4px 0 3px; font-size:1.08rem; }
.player-memory-log{ margin-top:14px; border-top:1px solid var(--line); padding-top:12px; }
.player-memory-log > summary{ cursor:pointer; font-weight:600; }
.player-memory-log > div{ display:grid; gap:8px; margin-top:10px; }
.player-memory-log article{ padding:10px 11px; border-radius:13px; background:var(--chip); }
.player-memory-log article span{ display:block; color:var(--muted); font-size:.72rem; }
.player-memory-log article strong{ display:block; margin:2px 0; font-size:.9rem; }
.player-memory-log article p{ margin:0; color:var(--muted); font-size:.8rem; line-height:1.4; }
.renewal-human-context{ display:grid; gap:6px; margin:-2px 0 2px; }
.renewal-human-context span{ display:flex; align-items:flex-start; gap:7px; padding:8px 9px; border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line)); border-radius:10px; background:color-mix(in srgb,var(--primary) 6%,var(--panel)); color:var(--muted); font-size:.66rem; line-height:1.4; }
.renewal-human-context .fa-solid{ flex:0 0 auto; margin-top:2px; color:var(--primary); }

/* V338 · conversas rápidas iniciadas pelos jogadores. O componente nasce em uma
   coluna para o layout mobile; não depende de breakpoint por largura. */
.locker-player-requests{ border-color:color-mix(in srgb,#f3ad3d 34%,var(--line)); }
.player-request-list{ display:grid; gap:8px; }
.player-request-row{ width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); color:var(--text); text-align:left; }
.player-request-row > span:first-child{ width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:color-mix(in srgb,#f3ad3d 14%,var(--panel)); color:#c77a00; }
.player-request-row small, .player-request-row strong, .player-request-row em{ display:block; min-width:0; }
.player-request-row small{ color:var(--muted); font-size:.74rem; }
.player-request-row strong{ margin:2px 0; }
.player-request-row em{ color:var(--muted); font-size:.8rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.player-request-row > b{ font-size:.72rem; color:var(--muted); white-space:nowrap; }
.player-request-profile-card{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:11px; align-items:start; padding:14px; border:1px solid color-mix(in srgb,#f3ad3d 34%,var(--line)); border-radius:16px; background:color-mix(in srgb,#f3ad3d 7%,var(--panel-2)); }
.player-request-profile-card > span{ width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:color-mix(in srgb,#f3ad3d 16%,var(--panel)); color:#c77a00; }
.player-request-profile-card small, .player-request-profile-card strong{ display:block; }
.player-request-profile-card small{ color:var(--muted); }
.player-request-profile-card p{ margin:5px 0 0; color:var(--muted); line-height:1.42; }
.player-request-profile-card .btn{ grid-column:1 / -1; justify-content:center; }
.quick-player-conversation{ display:grid; gap:14px; }
.quick-player-conversation > header{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; }
.quick-player-conversation-icon{ width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:color-mix(in srgb,var(--primary) 14%,var(--panel)); color:var(--primary); }
.quick-player-conversation header small{ display:block; color:var(--muted); }
.quick-player-conversation header h3{ margin:3px 0 5px; font-size:1.08rem; }
.quick-player-conversation header p{ margin:0; color:var(--muted); line-height:1.45; }
.quick-player-conversation-state{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.quick-player-conversation-state span{ display:grid; gap:2px; min-width:0; padding:9px; border-radius:12px; background:var(--chip); color:var(--muted); font-size:.72rem; text-align:center; }
.quick-player-conversation-state strong{ color:var(--text); font-size:.94rem; }
.quick-player-conversation-choices{ display:grid; gap:8px; }
.player-conversation-choice{ width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); color:var(--text); text-align:left; }
.player-conversation-choice > span{ width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:var(--chip); color:var(--primary); }
.player-conversation-choice strong, .player-conversation-choice small{ display:block; }
.player-conversation-choice small{ margin-top:3px; color:var(--muted); line-height:1.34; }
.player-conversation-choice.is-primary{ border-color:color-mix(in srgb,var(--primary) 45%,var(--line)); background:color-mix(in srgb,var(--primary) 8%,var(--panel)); }
.player-conversation-choice:disabled{ opacity:.58; }
.quick-player-conversation footer{ display:flex; gap:8px; align-items:flex-start; padding-top:2px; color:var(--muted); font-size:.78rem; line-height:1.4; }

/* V338 · o menu do placar espelha Configurações → Partidas sem criar uma
   segunda fonte de preferências. A seção completa fica recolhida por padrão
   para manter velocidade/som/atalhos acessíveis em um toque. */
.live-score-settings-details{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}
.live-score-settings-details > summary{
  min-height: 52px;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 18px;
  align-items: center;
  gap: 8px;
  padding: 10px;
  cursor: pointer;
  list-style: none;
  -webkit-tap-highlight-color: transparent;
}
.live-score-settings-details > summary::-webkit-details-marker{ display: none; }
.live-score-settings-details > summary > span{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--primary);
  background: var(--panel-2);
}
.live-score-settings-details > summary > div{ min-width: 0; display: grid; gap: 1px; }
.live-score-settings-details > summary strong{ font-size: .7rem; }
.live-score-settings-details > summary small{ color: var(--muted); font-size: .55rem; line-height: 1.25; }
.live-score-settings-details > summary > svg:last-child, .live-score-settings-details > summary > i:last-child{ color: var(--muted); transition: transform .18s ease; }
.live-score-settings-details[open] > summary > svg:last-child, .live-score-settings-details[open] > summary > i:last-child{ transform: rotate(180deg); }
.live-score-settings-body{ display: grid; gap: 14px; padding: 0 10px 11px; border-top: 1px solid var(--line); }
.live-score-settings-body > .live-score-menu-section{ padding-top: 11px; }
.live-score-settings-grid{ display: grid; gap: 8px; }
.live-score-setting-field{ display: grid; gap: 5px; padding: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.live-score-setting-field > span{ font-size: .62rem; font-weight: 600; }
.live-score-setting-field select{ width: 100%; min-width: 0; }
.live-score-setting-field > small{ color: var(--muted); font-size: .52rem; line-height: 1.3; }
.live-score-settings-toggle-list{ display: grid; gap: 6px; }
.live-score-setting-toggle{
  min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.live-score-setting-toggle > span{ min-width: 0; display: grid; gap: 2px; }
.live-score-setting-toggle strong{ font-size: .62rem; }
.live-score-setting-toggle small{ color: var(--muted); font-size: .52rem; line-height: 1.28; }
.live-score-setting-toggle em{ width: max-content; padding: 2px 6px; border-radius: 999px; color: var(--primary); background: color-mix(in srgb,var(--primary) 11%,var(--panel)); font-size: .46rem; font-style: normal; font-weight: 600; }
.live-score-setting-toggle input{ margin: 0; }
.live-score-settings-note{ margin: 0; display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 6px; align-items: start; color: var(--muted); font-size: .53rem; line-height: 1.35; }
.live-score-settings-note b{ color: var(--text); font-weight: 600; }

/* V339 · Diretoria, Torcida e Elenco reagem separadamente à carreira. */
.stakeholder-hub{ display:grid; gap:12px; margin-bottom:12px; }
.stakeholder-hub.is-danger{ border-color:color-mix(in srgb,var(--danger) 52%,var(--line)); }
.stakeholder-hub-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.stakeholder-hub-head h3{ margin-top:3px; }
.stakeholder-hub-head p{ margin-top:4px; color:var(--muted); font-size:.7rem; line-height:1.45; }
.stakeholder-hub-head > strong{ flex:0 0 auto; display:grid; place-items:center; min-width:50px; min-height:44px; padding:7px; border-radius:13px; border:1px solid var(--line); background:var(--panel-2); font-size:1rem; }
.stakeholder-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.stakeholder-grid article{ min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; padding:10px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.stakeholder-icon{ display:grid; place-items:center; width:30px; height:30px; border-radius:9px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.stakeholder-grid small, .stakeholder-grid strong, .stakeholder-grid b{ display:block; min-width:0; }
.stakeholder-grid small{ color:var(--muted); font-size:.54rem; text-transform:uppercase; letter-spacing:.04em; }
.stakeholder-grid strong{ margin-top:2px; font-size:.67rem; line-height:1.25; }
.stakeholder-grid b{ margin:4px 0 5px; font-size:.86rem; }
.stakeholder-grid .progress-track{ height:5px; }
.stakeholder-context{ display:grid; gap:6px; }
.stakeholder-context span{ display:flex; align-items:flex-start; gap:7px; color:var(--muted); font-size:.63rem; line-height:1.4; }
.stakeholder-context i{ color:var(--primary); margin-top:2px; }
.stakeholder-reaction-history{ border-top:1px solid var(--line); padding-top:9px; }
.stakeholder-reaction-history summary{ display:flex; align-items:center; gap:7px; color:var(--text); font-size:.68rem; cursor:pointer; }
.stakeholder-reaction-history > div{ display:grid; gap:7px; margin-top:9px; }
.stakeholder-reaction-history article{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; padding:9px; border-radius:12px; background:var(--panel-2); border:1px solid var(--line); }
.stakeholder-reaction-icon{ display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--panel); color:var(--primary); }
.stakeholder-reaction-history strong{ display:block; font-size:.68rem; }
.stakeholder-reaction-history small{ display:block; margin-top:2px; color:var(--muted); font-size:.58rem; line-height:1.4; }
.stakeholder-reaction-history p{ display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.stakeholder-reaction-history p b{ padding:4px 6px; border-radius:7px; font-size:.54rem; font-weight:600; background:var(--panel); }
.stakeholder-reaction-history .is-positive{ color:var(--success); }
.stakeholder-reaction-history .is-negative{ color:var(--danger); }
.stakeholder-reaction-history .is-neutral{ color:var(--muted); }
.supporter-base-card > .panel-heading-row > strong{ font-size:.78rem; }
.progress-track.squad span, .progress-track.squad i{ background:color-mix(in srgb,var(--success) 74%,var(--primary)); }

/* V340 · metas personalizadas da temporada e objetivos pessoais do técnico. */
.season-objective-list{ display:grid; gap:9px; }
.season-objective-row{ min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:start; padding:11px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.season-objective-row.is-complete{ border-color:color-mix(in srgb,var(--success) 45%,var(--line)); background:color-mix(in srgb,var(--success) 7%,var(--panel-2)); }
.season-objective-row.is-risk{ border-color:color-mix(in srgb,var(--danger) 45%,var(--line)); background:color-mix(in srgb,var(--danger) 6%,var(--panel-2)); }
.season-objective-icon{ width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.season-objective-row.is-complete .season-objective-icon{ color:var(--success); background:color-mix(in srgb,var(--success) 13%,var(--panel)); }
.season-objective-row.is-risk .season-objective-icon{ color:var(--danger); background:color-mix(in srgb,var(--danger) 12%,var(--panel)); }
.season-objective-row > div{ min-width:0; display:grid; gap:7px; }
.season-objective-row header{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.season-objective-row header strong{ min-width:0; font-size:.72rem; line-height:1.3; }
.season-objective-row header em{ flex:0 0 auto; padding:3px 6px; border-radius:999px; color:var(--muted); background:var(--panel); font-size:.49rem; font-style:normal; font-weight:600; text-transform:uppercase; letter-spacing:.03em; }
.season-objective-row > div > small{ color:var(--muted); font-size:.59rem; line-height:1.4; }
.season-objective-row > b{ align-self:center; color:var(--muted); font-size:.57rem; white-space:nowrap; }
.season-objective-row.is-complete > b{ color:var(--success); }
.season-objective-row.is-risk > b{ color:var(--danger); }
.season-objective-row .progress-track{ height:6px; }
.season-objective-summary{ margin:10px 0 0; padding:8px 9px; border-radius:11px; background:var(--chip); color:var(--muted); font-size:.57rem; line-height:1.4; }
.season-objective-history{ margin-top:10px; border-top:1px solid var(--line); padding-top:9px; }
.season-objective-history > summary{ cursor:pointer; color:var(--text); font-size:.64rem; font-weight:600; }
.season-objective-history > div{ display:grid; gap:6px; margin-top:8px; }
.season-objective-history article{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 8px; padding:8px 9px; border-radius:10px; background:var(--panel-2); }
.season-objective-history article span{ min-width:0; color:var(--muted); font-size:.56rem; }
.season-objective-history article strong{ font-size:.63rem; }
.season-objective-history article small{ grid-column:1 / -1; color:var(--muted); font-size:.51rem; line-height:1.35; }
.manager-passport-goal-stamps{ display:grid; gap:8px; margin-top:12px; padding-top:11px; border-top:1px solid var(--line); }
.manager-passport-goal-stamps > div{ display:grid; gap:7px; }
.manager-passport-goal-stamps article{ min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr); gap:9px; align-items:center; padding:9px; border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--primary) 6%,var(--panel-2)); }
.manager-passport-goal-stamps article > span{ width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.manager-passport-goal-stamps article strong{ display:block; font-size:.66rem; }
.manager-passport-goal-stamps article small{ display:block; margin-top:2px; color:var(--muted); font-size:.55rem; line-height:1.3; }

/* V341 · Dia da Base, gerações e revelações preservadas na carreira. */
.academy-generation-spotlight{ display:grid; gap:12px; overflow:hidden; position:relative; border-color:color-mix(in srgb,var(--primary) 35%,var(--line)); background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--panel)),var(--panel)); }
.academy-generation-spotlight.is-new::after{ content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 25%,transparent)); }
.academy-generation-head{ min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:start; }
.academy-generation-head > .badge{ grid-column:1 / -1; justify-self:start; }
.academy-generation-head h3{ margin:2px 0 4px; font-size:.86rem; }
.academy-generation-head p{ margin:0; color:var(--muted); font-size:.62rem; line-height:1.45; }
.academy-generation-icon{ width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--primary); background:color-mix(in srgb,var(--primary) 14%,var(--panel)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 18%,var(--line)); }
.academy-generation-featured{ display:grid; gap:8px; }
.academy-generation-featured article{ min-width:0; display:grid; grid-template-columns:36px minmax(0,1fr); gap:9px; align-items:center; padding:10px; border:1px solid color-mix(in srgb,var(--primary) 21%,var(--line)); border-radius:13px; background:var(--panel-2); }
.academy-generation-featured article > span{ width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.academy-generation-featured small, .academy-generation-featured strong, .academy-generation-featured em{ display:block; min-width:0; }
.academy-generation-featured small{ color:var(--primary); font-size:.51rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.academy-generation-featured strong{ margin-top:2px; font-size:.7rem; }
.academy-generation-featured em{ margin-top:2px; color:var(--muted); font-size:.54rem; font-style:normal; }
.academy-generation-badge{ color:var(--primary); border-color:color-mix(in srgb,var(--primary) 28%,var(--line)); background:color-mix(in srgb,var(--primary) 10%,var(--panel)); }
.manager-passport-revelations{ display:grid; gap:8px; margin-top:12px; padding-top:11px; border-top:1px solid var(--line); }
.manager-passport-revelations > div, .academy-graduates-list{ display:grid; gap:7px; }
.manager-passport-revelations article, .academy-graduates-list article{ min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr); gap:9px; align-items:center; padding:9px; border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--primary) 5%,var(--panel-2)); }
.manager-passport-revelations article > span, .academy-graduates-list article > span{ width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.manager-passport-revelations strong, .academy-graduates-list strong{ display:block; font-size:.66rem; }
.manager-passport-revelations small, .manager-passport-revelations em, .academy-graduates-list small, .academy-graduates-list p{ display:block; margin-top:2px; color:var(--muted); font-size:.54rem; line-height:1.35; font-style:normal; }
.academy-graduates-museum{ display:grid; gap:12px; }

/* V342 · Momentos decisivos com consequência real durante partidas importantes. */
.live-decision-callout{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:8px 10px 10px;
  padding:10px;
  border:1px solid color-mix(in srgb,#f2b84b 52%,var(--line));
  border-radius:14px;
  background:linear-gradient(110deg,color-mix(in srgb,#f2b84b 14%,var(--panel)),color-mix(in srgb,var(--primary) 6%,var(--panel)));
  box-shadow:0 10px 24px color-mix(in srgb,#000 15%,transparent);
}
.live-decision-callout[hidden]{ display:none !important; }
.live-decision-callout-icon{ width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#201604; background:#f2b84b; }
.live-decision-callout > div{ min-width:0; }
.live-decision-callout small, .live-decision-callout strong, .live-decision-callout span{ display:block; }
.live-decision-callout small{ color:#f2b84b; font-size:.5rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.live-decision-callout strong{ margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.69rem; }
.live-decision-callout > div > span{ margin-top:2px; color:var(--muted); font-size:.54rem; }
.live-decision-callout .btn{ min-height:36px; white-space:nowrap; }

.manager-decision-panel{ display:grid; gap:13px; }
.manager-decision-panel > header{ padding:2px 2px 10px; border-bottom:1px solid var(--line); }
.manager-decision-panel > header h3{ margin:5px 0 4px; font-size:1rem; line-height:1.2; }
.manager-decision-panel > header p{ margin:0; color:var(--text); font-size:.66rem; }
.manager-decision-panel > header p strong{ color:#f2b84b; }
.manager-decision-panel > header > small{ display:block; margin-top:5px; color:var(--muted); font-size:.53rem; text-transform:capitalize; }
.manager-decision-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:8px; }
.manager-decision-choice{ min-width:0; min-height:112px; display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:start; gap:9px; padding:11px; border:1px solid var(--line); border-radius:14px; color:var(--text); background:var(--panel-2); text-align:left; cursor:pointer; }
.manager-decision-choice > span{ width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--primary); background:color-mix(in srgb,var(--primary) 12%,var(--panel)); }
.manager-decision-choice > div{ min-width:0; }
.manager-decision-choice strong{ display:block; font-size:.69rem; }
.manager-decision-choice p{ margin:4px 0 0; color:var(--text); font-size:.58rem; line-height:1.35; }
.manager-decision-choice small{ display:block; margin-top:6px; color:var(--muted); font-size:.52rem; line-height:1.35; }
.manager-decision-choice > :last-child{ align-self:center; color:var(--muted); }
.manager-decision-choice.is-attack{ border-color:color-mix(in srgb,#e75c55 34%,var(--line)); }
.manager-decision-choice.is-defend{ border-color:color-mix(in srgb,#4c91dd 38%,var(--line)); }
.manager-decision-choice:is(:hover,:focus-visible){ border-color:color-mix(in srgb,var(--primary) 62%,var(--line)); background:color-mix(in srgb,var(--primary) 8%,var(--panel-2)); outline:none; transform:translateY(-1px); }
.manager-decision-panel > footer{ display:flex; align-items:flex-start; gap:7px; color:var(--muted); font-size:.54rem; line-height:1.4; }
.manager-decision-panel > footer > :first-child{ flex:0 0 auto; margin-top:1px; color:var(--primary); }

.post-manager-decision{ display:grid; gap:9px; }
.post-manager-decision > header{ display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:9px; }
.post-manager-decision > header > span{ width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--primary); background:color-mix(in srgb,var(--primary) 11%,var(--panel-2)); }
.post-manager-decision > header > div{ min-width:0; }
.post-manager-decision > header small{ display:block; color:var(--muted); font-size:.51rem; }
.post-manager-decision > header strong{ display:block; margin-top:2px; font-size:.63rem; line-height:1.35; }
.post-manager-decision > header > b{ font-size:.75rem; white-space:nowrap; }
.post-manager-decision > p{ margin:0; padding:9px; border-left:3px solid var(--primary); border-radius:0 9px 9px 0; background:var(--panel-2); font-size:.58rem; line-height:1.45; }
.post-manager-decision > footer{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; color:var(--muted); font-size:.51rem; }
.post-manager-decision > footer span{ display:inline-flex; align-items:center; gap:5px; }
.manager-decision-post-card .badge.is-worked{ color:#54d58a; }
.manager-decision-post-card .badge.is-backfired{ color:#ff7a7a; }
.manager-decision-post-card .badge.is-neutral{ color:var(--muted); }

html[data-theme="light"] .live-decision-callout{ background:linear-gradient(110deg,#fff7e5,#f5fbf8); }
html[data-theme="light"] .manager-decision-choice{ background:#f7f9fb; }

/* V345–V347 · Central de Retorno e notificações locais narrativas. */
.return-center-home-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:12px;
  border-color:color-mix(in srgb,#d6ad55 38%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#d6ad55 9%,var(--panel)),var(--panel));
}
.return-center-home-card.is-read{ opacity:.88; }
.return-center-home-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:13px;
  color:#e1ba61;background:color-mix(in srgb,#d6ad55 14%,var(--panel-2));
}
.return-center-home-card h3, .return-center-home-card p{ margin:0; }
.return-center-home-card h3{ margin-top:2px;font-size:.82rem; }
.return-center-home-card p{ margin-top:3px;color:var(--muted);font-size:.6rem;line-height:1.4; }
.return-center-home-card>.btn{ grid-column:2;justify-self:start; }
.return-center-modal{ display:grid;gap:14px;min-width:0; }
.return-center-hero{
  display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px;align-items:center;
  padding:15px;border:1px solid color-mix(in srgb,#d6ad55 35%,var(--line));border-radius:18px;
  background:radial-gradient(circle at 8% 15%,color-mix(in srgb,#d6ad55 16%,transparent),transparent 48%),var(--panel-2);
}
.return-center-hero>span{ width:50px;height:50px;display:grid;place-items:center;border-radius:16px;color:#e1ba61;background:color-mix(in srgb,#d6ad55 14%,var(--panel));font-size:1.15rem; }
.return-center-hero small, .return-center-hero h3, .return-center-hero p{ display:block;margin:0; }
.return-center-hero small{ color:#d6ad55;font-size:.55rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em; }
.return-center-hero h3{ margin-top:3px;font-size:1rem;line-height:1.2; }
.return-center-hero p{ margin-top:4px;color:var(--muted);font-size:.62rem;line-height:1.45; }
.return-center-stop{ display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;padding:12px;border:1px solid color-mix(in srgb,var(--warning) 44%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--warning) 8%,var(--panel)); }
.return-center-stop>span{ width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--warning);background:color-mix(in srgb,var(--warning) 13%,var(--panel-2)); }
.return-center-stop small, .return-center-stop strong{ display:block; }
.return-center-stop small{ color:var(--warning);font-size:.52rem;text-transform:uppercase;letter-spacing:.06em; }
.return-center-stop strong{ margin-top:2px;font-size:.7rem; }
.return-center-stop p{ margin:3px 0 0;color:var(--muted);font-size:.58rem;line-height:1.4; }
.return-center-filters{ display:flex;gap:7px;overflow:auto;padding:2px 1px 5px;scrollbar-width:thin; }
.return-center-filters button{ flex:0 0 auto;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--panel-2);font-size:.57rem;font-weight:750; }
.return-center-filters button.is-active{ color:var(--text);border-color:color-mix(in srgb,var(--primary) 58%,var(--line));background:color-mix(in srgb,var(--primary) 13%,var(--panel-2)); }
.return-timeline{ display:grid;gap:9px; }
.return-timeline-event{
  --return-priority:var(--line);display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;
  padding:11px;border:1px solid color-mix(in srgb,var(--return-priority) 45%,var(--line));border-left:3px solid var(--return-priority);border-radius:14px;background:var(--panel-2);
}
.return-timeline-event.is-high{ --return-priority:#d6ad55; }
.return-timeline-event.is-critical{ --return-priority:var(--danger); }
.return-timeline-event.is-read{ opacity:.72; }
.return-timeline-event[hidden]{ display:none; }
.return-timeline-icon{ width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--return-priority);background:color-mix(in srgb,var(--return-priority) 12%,var(--panel)); }
.return-timeline-event>div{ min-width:0; }
.return-timeline-meta{ display:flex;align-items:center;gap:6px;min-width:0; }
.return-timeline-meta small{ min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.49rem;text-transform:uppercase;letter-spacing:.05em; }
.return-timeline-meta time{ margin-left:auto;color:var(--muted);font-size:.49rem;white-space:nowrap; }
.return-timeline-event strong{ display:block;margin-top:3px;font-size:.67rem;line-height:1.3; }
.return-timeline-event p{ margin:3px 0 0;color:var(--muted);font-size:.56rem;line-height:1.45; }
.return-timeline-event>.btn{ grid-column:2;justify-self:start; }
.return-timeline-event em, .notification-scene-evidence{ display:flex;align-items:flex-start;gap:5px;margin-top:6px;color:var(--muted);font-size:.5rem;line-height:1.35;font-style:normal; }
.return-event-scene, .notification-scene-label{ display:inline-flex;align-items:center;padding:3px 6px;border:1px solid color-mix(in srgb,var(--return-scene-accent,var(--notification-scene,#d6ad55)) 45%,var(--line));border-radius:999px;color:var(--return-scene-accent,var(--notification-scene,#d6ad55));background:color-mix(in srgb,var(--return-scene-accent,var(--notification-scene,#d6ad55)) 9%,var(--panel));font-size:.47rem;font-weight:750;white-space:nowrap; }
.notification-local-policy{ display:grid;gap:11px;margin-top:12px;padding:14px;border:1px solid color-mix(in srgb,#8f74d8 30%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,#8f74d8 7%,var(--panel)),var(--panel)); }
.notification-local-policy .local-reminder-heading{ grid-template-columns:auto minmax(0,1fr) auto; }
.notification-local-policy .local-reminder-heading>span:first-child{ color:#af98ef;background:color-mix(in srgb,#8f74d8 14%,var(--panel-2)); }
.notification-local-policy .badge{ width:auto;height:auto;padding:5px 8px;border-radius:999px;font-size:.52rem; }
.notification-policy-note{ margin:0;color:var(--muted);font-size:.57rem;line-height:1.45; }
.notification-local-policy.is-quiet-disabled [data-notification-quiet-controls]{ opacity:.58; }
.notification-scene-evidence{ color:color-mix(in srgb,var(--text) 68%,var(--muted)); }
.notification-center-item.notification-kind-return-center{ --notification-accent:#d6ad55; }
.notification-center-item.notification-kind-stories .notification-scene-label{ margin-left:4px; }

/* V343 — Legado do técnico: composição fluida e mobile-first, sem breakpoints. */
.manager-legacy-card{overflow:hidden;padding:0;border-color:color-mix(in srgb,var(--accent,#2fbf79) 26%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,var(--accent,#238a57) 6%),var(--panel))}
.manager-legacy-card.is-final{border-color:color-mix(in srgb,#f2c85b 42%,var(--line));box-shadow:0 24px 62px rgba(5,12,20,.18)}
.manager-legacy-hero{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(14px,3vw,28px);padding:clamp(18px,4vw,32px);background:radial-gradient(circle at 9% 8%,color-mix(in srgb,var(--accent,#2fbf79) 20%,transparent),transparent 40%),linear-gradient(135deg,color-mix(in srgb,var(--panel-strong,var(--panel)) 92%,#07131f 8%),var(--panel));border-bottom:1px solid var(--line)}
.manager-legacy-score{--legacy-score:0%;width:clamp(106px,18vw,152px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#f2c85b var(--legacy-score),color-mix(in srgb,var(--line) 80%,transparent) 0);box-shadow:0 14px 34px rgba(0,0,0,.16);position:relative}
.manager-legacy-score:before{content:"";position:absolute;inset:10px;border-radius:inherit;background:var(--panel)}
.manager-legacy-score>span{position:relative;display:grid;text-align:center;line-height:1}.manager-legacy-score strong{font-size:clamp(28px,6vw,44px);letter-spacing:-.05em}.manager-legacy-score small{margin-top:7px;color:var(--muted);font-weight:750}
.manager-legacy-headline{flex:1 1 min(100%,320px);min-width:0}.manager-legacy-headline h2{margin:5px 0 8px;font-size:clamp(25px,5vw,42px);line-height:1.05}.manager-legacy-headline p{max-width:72ch;margin:0;color:var(--muted);line-height:1.55}.manager-legacy-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.manager-legacy-badges span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 86%,transparent);font-size:12px;font-weight:750}.manager-legacy-share{flex:0 1 auto;align-self:flex-start;white-space:nowrap}
.manager-legacy-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.manager-legacy-totals article{display:grid;gap:3px;min-width:0;padding:16px;background:var(--panel)}.manager-legacy-totals small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.manager-legacy-totals strong{font-size:clamp(22px,4vw,31px)}
.manager-legacy-dimensions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px;padding:clamp(16px,3vw,26px)}.manager-legacy-dimensions article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,var(--surface) 6%)}.manager-legacy-dimensions article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--accent,#2fbf79) 14%,var(--panel));color:var(--accent,#2fbf79)}.manager-legacy-dimensions small{display:block;color:var(--muted);font-weight:750}.manager-legacy-dimensions strong{display:block;margin-top:2px;font-size:21px}.manager-legacy-dimensions strong em{font-size:12px;color:var(--muted);font-style:normal}.manager-legacy-dimensions p{min-height:2.6em;margin:6px 0 10px;color:var(--muted);font-size:12px;line-height:1.35}.manager-legacy-dimensions i{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--line)}.manager-legacy-dimensions i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent,#2fbf79),#f2c85b)}
.manager-legacy-explanation{margin:0 clamp(16px,3vw,26px) 20px;padding:12px 14px;border:1px dashed var(--line);border-radius:14px}.manager-legacy-explanation summary{cursor:pointer;font-weight:750}.manager-legacy-explanation p{margin:10px 0 0;color:var(--muted)}
.manager-legacy-profiles, .manager-legacy-route, .manager-legacy-records, .manager-legacy-revelations{padding:clamp(18px,3.5vw,28px);border-top:1px solid var(--line)}.manager-legacy-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}.manager-legacy-profiles>.panel-heading-row{grid-column:1/-1}.manager-legacy-profiles article{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.manager-legacy-profiles article.is-primary{border-color:color-mix(in srgb,#f2c85b 48%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,#f2c85b 9%,var(--panel)),var(--panel))}.manager-legacy-profiles article>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--surface);color:#d3a72f}.manager-legacy-profiles small, .manager-legacy-profiles p{color:var(--muted)}.manager-legacy-profiles strong{display:block;margin:3px 0 5px}.manager-legacy-profiles p{margin:0;font-size:12px;line-height:1.45}
.manager-legacy-route>div:last-child{display:flex;align-items:stretch;gap:10px;overflow:auto;padding:3px 1px 8px;scroll-snap-type:x proximity}.manager-legacy-route>div:last-child>i{display:grid;place-items:center;color:var(--muted)}.manager-legacy-route article{display:grid;grid-template-columns:42px minmax(145px,1fr);gap:10px;min-width:min(270px,78vw);padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);scroll-snap-align:start}.manager-legacy-route article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--surface);font-size:22px}.manager-legacy-route small, .manager-legacy-route em{display:block;color:var(--muted);font-size:11px;font-style:normal}.manager-legacy-route strong{display:block;margin:3px 0}
.manager-legacy-records>div:last-child, .manager-legacy-revelations>div:last-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:11px}.manager-legacy-records article, .manager-legacy-revelations article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.manager-legacy-records article>span, .manager-legacy-revelations article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface);color:var(--accent,#2fbf79)}.manager-legacy-records small, .manager-legacy-records em, .manager-legacy-revelations small, .manager-legacy-revelations em{display:block;color:var(--muted);font-size:11px;font-style:normal}.manager-legacy-records strong, .manager-legacy-revelations strong{display:block;margin:3px 0;overflow-wrap:anywhere}
.manager-legacy-share-studio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;align-items:start}.manager-legacy-share-studio>div{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#07111f}.manager-legacy-share-studio img{display:block;width:100%;height:auto}.manager-legacy-share-studio label{display:grid;gap:8px;font-weight:750}.manager-legacy-share-studio textarea{min-height:132px;resize:vertical}.manager-legacy-share-studio p{margin:0;color:var(--muted);font-size:13px}

/* ==========================================================
   V357 · perfil Turbo da velocidade Muito rápida
   ----------------------------------------------------------
   O motor esportivo continua no tick de 55 ms. Aqui reduzimos
   somente pintura/animação: o campo vira um aviso compacto e
   transições cosméticas deixam de disputar frames com o jogo.
   ========================================================== */
.live-turbo-pitch-note{
  display: none;
  min-height: 56px;
  padding: 9px 10px;
  align-items: center;
  justify-content: center;
  grid-template-columns: 26px minmax(0,auto);
  gap: 8px;
  text-align: left;
  background: color-mix(in srgb,var(--panel) 92%,var(--primary) 8%);
  border-block: 1px solid color-mix(in srgb,var(--primary) 20%,var(--line));
}
.live-turbo-pitch-note > .fa-solid{ color: var(--primary); font-size: 1rem; }
.live-turbo-pitch-note > span{ display: grid; gap: 1px; min-width: 0; }
.live-turbo-pitch-note strong{ font-size: .68rem; line-height: 1.15; }
.live-turbo-pitch-note small{ color: var(--muted); font-size: .56rem; line-height: 1.2; }
.match-screen.is-turbo-live{
  grid-template-rows: 38px auto minmax(0,1fr) !important;
}
.match-screen.is-turbo-live .pitch-score{
  grid-template-rows: 31px auto 46px !important;
}
.match-screen.is-turbo-live .live-pitch-shell{
  grid-template-rows: auto 21px !important;
  min-height: 0 !important;
}
.match-screen.is-turbo-live .live-pitch-canvas, .match-screen.is-turbo-live .live-event-overlay{
  display: none !important;
}
.match-screen.is-turbo-live .live-turbo-pitch-note{ display: grid; }
.match-screen.is-turbo-live :is(.is-dynamic-updated,.is-dynamic-enter,.is-dynamic-value-up,.is-dynamic-value-down,.is-dynamic-value-neutral){
  animation: none !important;
  transition: none !important;
}
.match-screen.is-turbo-live .football-stat-row i b{ transition: none !important; }


/* ==========================================================
   V359 · Turbo + campo animado desligado
   ----------------------------------------------------------
   O modo sem campo já comprime o pitch-shell para uma única
   faixa. O Turbo, por sua vez, usa uma faixa própria de aviso.
   Quando os dois estados coincidiam, as alturas concorrentes
   podiam fazer o aviso avançar sobre o placar. Nesta combinação
   reservamos uma única faixa compacta para o Turbo e escondemos
   a legenda redundante do campo desligado.
   ========================================================== */
.match-screen.is-turbo-live.is-live-pitch-disabled > .pitch-score{
  min-height: 136px !important;
  grid-template-rows: 54px 36px 46px !important;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-pitch-shell.is-pitch-disabled{
  height: 36px !important;
  min-height: 36px !important;
  grid-template-rows: 36px !important;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-pitch-shell.is-pitch-disabled .live-pitch-caption{
  display: none !important;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-turbo-pitch-note{
  min-height: 36px;
  height: 36px;
  padding: 4px 8px;
  grid-template-columns: 20px minmax(0,auto);
  gap: 6px;
  border-block: 0;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-turbo-pitch-note > .fa-solid{
  font-size: .82rem;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-turbo-pitch-note strong{
  font-size: .62rem;
}
.match-screen.is-turbo-live.is-live-pitch-disabled .live-turbo-pitch-note small{
  display: none;
}

/* ========================================================================== */
/* V360 · Cenários de carreira                                                */
/* ========================================================================== */
/* O terceiro modo reutiliza a criação de carreira normal. Mantemos o card em
   uma faixa inteira para não comprimir três escolhas no layout mobile. */
.landing-mode-card[data-setup-mode="scenario"]{
  grid-column: 1 / -1;
}
.landing-mode-card[data-setup-mode="scenario"] .landing-mode-icon{
  background: color-mix(in srgb, var(--accent, #238a57) 14%, transparent);
}
.setup-scenario-selector{
  --scenario-accent: #238a57;
  border-color: color-mix(in srgb, var(--scenario-accent) 32%, var(--line));
}
.setup-scenario-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
  gap: 10px;
  margin-top: 12px;
}
.setup-scenario-card{
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-align: left;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-strong, var(--card));
  color: inherit;
  touch-action: manipulation;
}
.setup-scenario-card.is-active{
  border-color: var(--scenario-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--scenario-accent) 60%, transparent);
  background: color-mix(in srgb, var(--scenario-accent) 8%, var(--surface-strong, var(--card)));
}
.setup-scenario-card-icon, .setup-scenario-detail-icon, .career-scenario-mark{
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: var(--scenario-accent);
  background: color-mix(in srgb, var(--scenario-accent) 13%, transparent);
  flex: 0 0 auto;
}
.setup-scenario-card > span:last-child{
  min-width: 0;
  display: grid;
  gap: 2px;
}
.setup-scenario-card small, .setup-scenario-card em, .setup-scenario-detail small, .career-scenario-heading small, .career-scenario-heading em{
  color: var(--muted);
  font-style: normal;
}
.setup-scenario-card strong, .setup-scenario-card em{
  overflow: hidden;
  text-overflow: ellipsis;
}
.setup-scenario-card em{
  font-size: .78rem;
  white-space: nowrap;
}
.setup-scenario-detail{
  margin-top: 12px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--scenario-accent) 28%, var(--line));
  border-radius: 16px;
  background: color-mix(in srgb, var(--scenario-accent) 5%, var(--card));
}
.setup-scenario-detail > header{
  display: flex;
  gap: 11px;
  align-items: flex-start;
}
.setup-scenario-detail > header > div{
  min-width: 0;
}
.setup-scenario-detail > header strong{
  display: block;
  font-size: 1rem;
}
.setup-scenario-detail > header p{
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.45;
}
.setup-scenario-objective{
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  margin-top: 12px;
  padding: 10px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--scenario-accent) 9%, transparent);
}
.setup-scenario-objective > span{
  color: var(--scenario-accent);
  text-align: center;
}
.setup-scenario-objective small, .setup-scenario-objective strong{
  display: block;
}
.setup-scenario-detail ul, .career-scenario-rules{
  list-style: none;
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
}
.setup-scenario-detail li, .career-scenario-rules li{
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: var(--muted);
  font-size: .84rem;
}
.setup-scenario-detail li i, .career-scenario-rules li i{
  margin-top: 2px;
  color: var(--scenario-accent);
}
.setup-scenario-note{
  display: block;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  line-height: 1.4;
}
.career-scenario-panel{
  --scenario-accent: #238a57;
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--scenario-accent) 36%, var(--line));
}
.career-scenario-panel::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--scenario-accent);
}
.career-scenario-panel.is-completed::before{ background: #c9931d; }
.career-scenario-panel.is-failed::before{ background: #a64a4a; }
.career-scenario-heading{
  display: flex;
  align-items: center;
  gap: 10px;
}
.career-scenario-heading > div{
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 1px;
}
.career-scenario-heading > div strong{
  font-size: 1rem;
}
.career-scenario-status{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  padding: 6px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--scenario-accent) 10%, transparent);
  color: var(--text);
  font-size: .72rem;
  font-weight: 600;
}
.career-scenario-objective-copy{
  margin: 11px 0 0;
  line-height: 1.45;
}
.career-scenario-progress{
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.career-scenario-progress > div:first-child{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.career-scenario-progress small{
  min-width: 0;
  color: var(--muted);
  text-align: right;
}
.career-scenario-panel .progress-track span{
  background: var(--scenario-accent);
}
.career-scenario-open{
  width: 100%;
  margin-top: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  border: 1px solid color-mix(in srgb, var(--scenario-accent) 28%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, var(--scenario-accent) 7%, transparent);
  color: inherit;
  font-weight: 600;
  touch-action: manipulation;
}
.career-scenario-detail-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.career-scenario-detail-grid article{
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft, color-mix(in srgb, var(--card) 92%, var(--text) 8%));
}
.career-scenario-detail-grid small{ color: var(--muted); }
.career-scenario-detail-grid strong{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.career-scenario-result{
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin: 12px 0 0;
  padding: 10px;
  border-radius: 11px;
  font-weight: 600;
}
.career-scenario-result.is-complete{ background: color-mix(in srgb, #c9931d 12%, transparent); }
.career-scenario-result.is-failed{ background: color-mix(in srgb, #a64a4a 12%, transparent); }
.career-scenario-panel.is-compact{
  padding-block: 13px;
}
.career-scenario-panel.is-compact .career-scenario-objective-copy{
  font-size: .86rem;
  color: var(--muted);
}

/* ==========================================================
   V361 · Ritmo visual e conteúdo crítico em telas estreitas
   ==========================================================
   Mantém os cabeçalhos de seção com a mesma lógica responsiva dos painéis
   principais. A intenção é padronizar alinhamento/fluxo, não apagar a
   identidade visual específica de Mercado, Médico ou Configurações. */
:is(.settings-section-heading,.medical-section-heading,.market-section-heading){
  min-width: 0;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 12px;
  row-gap: 7px;
}
:is(.settings-section-heading,.medical-section-heading,.market-section-heading) > :first-child{
  flex: 1 1 180px;
  min-width: 0;
}
:is(.settings-section-heading,.medical-section-heading,.market-section-heading) > :last-child:not(:first-child){
  flex: 0 1 auto;
  max-width: 100%;
  margin-inline-start: auto;
}
:is(.settings-section-heading,.medical-section-heading,.market-section-heading) :is(h2,h3,strong,p,span){
  overflow-wrap: anywhere;
}

/* Cenários carregam prazo/progresso importantes. Reticências escondiam parte
   desses valores em 320–390 px; aqui o texto passa a crescer verticalmente. */
.career-scenario-detail-grid strong{
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.28;
}

/* ===== V364 · pré-jogo progressivo e pós-jogo não bloqueante ===== */
.live-preparation-screen{
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 100%;
  padding: 16px 12px max(18px,env(safe-area-inset-bottom));
  background: var(--panel);
}
.live-preparation-head{
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.live-preparation-head strong{ font-size: 1.05rem; }
.live-preparation-head small{ color: var(--muted); line-height: 1.35; }
.live-preparation-score{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 16px 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb,var(--panel-2) 86%,var(--panel));
}
.live-preparation-score article{
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
}
.live-preparation-score article strong{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
}
.live-preparation-score article small{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: .64rem;
}
.live-preparation-score > div{ display: grid; justify-items: center; gap: 3px; }
.live-preparation-score > div b{ font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.live-preparation-score > div span{ color: var(--muted); font-size: .74rem; }
.live-preparation-progress{
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-2);
}
.live-preparation-progress header{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
}
.live-preparation-progress header > div{ min-width: 0; display: grid; gap: 2px; }
.live-preparation-progress header small{ color: var(--muted); font-size: .7rem; }
.live-preparation-progress header b{ font-size: .72rem; font-variant-numeric: tabular-nums; }
.live-preparation-spinner{
  width: 26px;
  height: 26px;
  border: 3px solid color-mix(in srgb,var(--accent) 24%,transparent);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: post-match-save-spin .75s linear infinite;
}
.live-preparation-progress > i{
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb,var(--line) 70%,transparent);
}
.live-preparation-progress > i span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
  transition: width .16s ease;
}
.live-preparation-progress p{ margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.42; }
.reduced-motion .live-preparation-spinner{ animation: none !important; }

/* V365 · loading flutuante do pós-jogo ocupa o viewport sem dividir a tela. */
html.live-finalization-active, html.live-finalization-active body{ overflow: hidden !important; overscroll-behavior: none !important; }

/* =========================================================
   V366 · placares visíveis durante a finalização do pós-jogo
   ========================================================= */
.match-screen #liveFinishTab.is-finalizing{
  position: relative;
  color: color-mix(in srgb,var(--primary) 82%,var(--text)) !important;
  background: color-mix(in srgb,var(--primary) 10%,var(--panel-2)) !important;
  border-color: color-mix(in srgb,var(--primary) 32%,var(--line)) !important;
  opacity: 1 !important;
  filter: none !important;
}
.match-screen #liveFinishTab.is-finalizing > .fa-spinner{
  animation: live-finalization-spin .82s linear infinite !important;
}
.match-screen #liveFinishTab.is-finalizing::after{
  content: attr(data-finalizing-progress) !important;
  display: block !important;
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 20px;
  padding: 1px 3px;
  border-radius: 999px;
  background: color-mix(in srgb,var(--primary) 84%,#07110c) !important;
  color: #fff !important;
  font-size: .42rem;
  font-weight: 600;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
html[data-reduced-motion="true"] .match-screen #liveFinishTab.is-finalizing > .fa-spinner{
  animation: none !important;
}

/* O loader de finalização é um cartão flutuante auxiliar, não uma cortina.
   A rodada permanece visível e rolável enquanto o motor cede o thread. */
.live-finalization-overlay.is-docked{
  inset: auto 0 max(10px,env(safe-area-inset-bottom)) 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  place-items: initial !important;
  padding: 10px max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left)) !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overscroll-behavior: auto !important;
  pointer-events: none !important;
}
.live-finalization-overlay.is-docked .live-finalization-card{
  width: min(calc(100vw - 20px),360px) !important;
  gap: 7px !important;
  padding: 10px 11px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.3) !important;
  pointer-events: none !important;
}
.live-finalization-overlay.is-docked .live-finalization-main{
  grid-template-columns: 24px minmax(0,1fr) auto !important;
  gap: 8px !important;
}
.live-finalization-overlay.is-docked .live-finalization-spinner{
  width: 22px !important;
  height: 22px !important;
  border-width: 2px !important;
}
.live-finalization-overlay.is-docked .live-finalization-tip{
  display: none !important;
}
.live-finalization-overlay.is-docked .live-finalization-progress{
  height: 4px !important;
}

/* ========================================================================== */
/* V367 · Cenários ampliados e auditoria de leitura mobile                   */
/* ========================================================================== */
/* Textos de cenário são conteúdo, não rótulos descartáveis: em telas estreitas
   devem quebrar linha em vez de esconder regras ou objetivos com reticências. */
.setup-scenario-card em{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
.setup-scenario-card-meta{
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 7px;
}
.setup-scenario-card-meta > small:first-child{ flex: 1 1 auto; }
.setup-scenario-earned{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  padding: 2px 6px;
  border-radius: 999px;
  background: color-mix(in srgb,#2f9a5d 13%,transparent);
  color: color-mix(in srgb,#2f9a5d 76%,var(--text)) !important;
  font-size: .63rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: normal;
}
.setup-scenario-card.is-achieved{
  border-color: color-mix(in srgb,#2f9a5d 28%,var(--line));
}
.setup-scenario-achievement-summary{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 9px;
  align-items: center;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid color-mix(in srgb,#2f9a5d 28%,var(--line));
  border-radius: 12px;
  background: color-mix(in srgb,#2f9a5d 8%,var(--card));
}
.setup-scenario-achievement-summary > i{ color: #2f9a5d; justify-self: center; }
.setup-scenario-achievement-summary > span{ min-width: 0; display: grid; gap: 2px; }
.setup-scenario-achievement-summary small{ color: var(--muted); }
.setup-scenario-achievement-summary strong{ overflow-wrap: anywhere; }

/* O selo de progresso não deve espremer o nome ou sair do card. */
.career-scenario-heading{
  align-items: flex-start;
  flex-wrap: wrap;
}
.career-scenario-heading > div{ flex: 1 1 170px; }
.career-scenario-heading > div :is(strong,em){ overflow-wrap: anywhere; }
.career-scenario-status{
  flex: 0 1 auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.career-scenario-progress > div:first-child{
  align-items: flex-start;
  flex-wrap: wrap;
}
.career-scenario-progress > div:first-child > strong{ flex: 0 0 auto; }
.career-scenario-progress small{
  flex: 1 1 170px;
  text-align: left;
  overflow-wrap: anywhere;
}

/* Placares compactos: o número precisa continuar visualmente separado do nome
   mesmo quando um clube longo ocupa toda a largura disponível. */
.record-match-row > div > strong, .post-round-result > strong, .international-fixture-row > strong, .live-knockout-score > strong{
  flex: 0 0 auto;
  min-width: 46px;
  padding-inline: 5px;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.record-match-row > div, .post-round-result, .international-fixture-row, .live-knockout-row{
  column-gap: max(7px, 1.8vw);
}
.record-match-row .score-team, .post-round-team, .international-fixture-row > .team-label, .live-knockout-team{
  min-width: 0;
}
.record-match-row .score-team b, .post-round-team b, .international-fixture-row > .team-label strong, .live-knockout-team :is(b,strong){
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Logs, históricos e linhas de status devem crescer verticalmente em vez de
   juntar trechos ou estourar o card quando recebem nomes maiores. */
:is(.mode-log-list,.observer-event-log,.career-story-grid,.career-opponent-list) article > :is(div,p,strong,small,span){
  min-width: 0;
}
:is(.mode-log-list,.observer-event-log,.career-story-grid,.career-opponent-list) :is(p,strong,small){
  overflow-wrap: anywhere;
}
.mode-log-list article strong, .observer-event-log article p{
  white-space: normal;
  line-height: 1.35;
}

.setup-scenario-heading{
  grid-template-columns: auto minmax(0,1fr);
}
.setup-scenario-achievement-count{
  grid-column: 2;
  width: fit-content;
  max-width: 100%;
  padding: 4px 7px;
  border-radius: 999px;
  background: color-mix(in srgb,#2f9a5d 10%,transparent);
  color: color-mix(in srgb,#2f9a5d 76%,var(--text));
  font-size: .66rem;
  font-weight: 600;
  white-space: normal;
}
.career-scenario-panel.has-target::before{ background: #2f9a5d; }
.career-scenario-panel.has-target .career-scenario-status{
  background: color-mix(in srgb,#2f9a5d 12%,transparent);
  color: color-mix(in srgb,#2f9a5d 78%,var(--text));
}


/* ==========================================================
   V368 · criação sem whitespace invisível e leitura do Ao Vivo
   ========================================================== */
/* Título e explicação são duas linhas semânticas. O flex antigo deixava
   "Times em campo" e o subtítulo aparentando ser uma única frase. */
.live-lineups-intro > div{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  justify-content: initial !important;
  align-items: start !important;
  gap: 2px !important;
  min-width: 0;
}
.live-lineups-intro > div > :is(strong,span), .live-lineups-intro > small{
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.live-lineups-intro > div > strong{ line-height: 1.25; }
.live-lineups-intro > div > span, .live-lineups-intro > small{ line-height: 1.35; }

/* A célula central reserva o placar regulamentar e a decisão por pênaltis
   em linhas próprias. Assim o texto de pênaltis nunca disputa largura com
   os nomes dos clubes. */
.match-screen .live-score-tile > strong, .observer-screen .live-score-tile > strong{
  display: grid !important;
  place-items: center;
  align-content: center;
  gap: 2px;
  overflow: visible !important;
  line-height: 1.05 !important;
}
.live-score-tile .live-regulation-score{ display: block; white-space: nowrap; font-variant-numeric: tabular-nums; }
.live-score-tile .live-penalty-score, .observer-tile [data-observer-score] > small, .international-fixture-row > strong > small, .fixture-card.modern-scoreline > .score > small, .post-match-scoreline.modern-scoreline > strong > small{
  display: block;
  max-width: 100%;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-variant-numeric: tabular-nums;
}
.live-score-tile .live-penalty-score{
  color: var(--muted);
  font-size: .51rem;
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
}

/* Os ícones de eventos têm significado próprio (gol, amarelo, vermelho,
   lesão e troca). Eles nunca herdam o fundo/contraste do número da camisa. */
.live-lineups-pane .live-player-event-icon, .live-lineups-pane .live-player-event-icon > :is(.fa-solid,.fa-regular,svg){
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.live-lineups-pane .live-player-event-icon{
  width: 14px !important;
  min-width: 14px !important;
  height: 16px !important;
  display: inline-grid !important;
  place-items: center;
}
.live-lineups-pane .live-player-event-icon > :is(.fa-solid,.fa-regular){ font-size: .62rem !important; }

/* Cabeçalhos equivalentes podem quebrar quando a tradução ou o conteúdo é
   maior, em vez de concatenar título e explicação visualmente. */
:is(.other-live-heading,.live-standings-head,.setup-secondary-heading,.live-score-menu-title) > div{
  min-width: 0;
}
:is(.other-live-heading,.live-standings-head,.setup-secondary-heading,.live-score-menu-title) > div > :is(strong,span,small){
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Status da fase pode ocupar duas linhas sem invadir nomes/placar. */
.match-screen .live-score-tile > em, .observer-screen .live-score-tile > em{
  max-width: 64px;
  white-space: normal !important;
  overflow-wrap: anywhere;
  line-height: 1.1;
}

/* O cabeçalho das colunas de substituição também usa relação título +
   explicação; em telas estreitas eles ficam empilhados em vez de formar
   uma frase corrida ou competir por largura. */
.substitution-column-head{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  justify-content: initial !important;
  align-items: start !important;
  gap: 2px !important;
  min-width: 0;
}
.substitution-column-head > :is(strong,span){
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* ==========================================================
   V369 · auditoria de hierarquia, conteúdo longo e formulários
   ========================================================== */
/* Cabeçalhos com ação/badge à direita podem cair para a linha seguinte quando
   o título cresce. O conteúdo textual nunca deve ser espremido para preservar
   uma geometria horizontal que só funciona com rótulos curtos. */
.settings-section-heading, .section-heading-row, .market-filter-heading, .market-section-heading, .share-type-heading{
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 12px;
  row-gap: 6px;
}
.settings-section-heading > :first-child, .market-filter-heading > :first-child, .market-section-heading > :first-child{
  flex: 1 1 190px;
  min-width: 0;
}
.settings-section-heading > :last-child:not(:first-child), .market-filter-heading > :last-child:not(:first-child), .market-section-heading > :last-child:not(:first-child){
  flex: 0 1 auto;
  max-width: 100%;
}
.settings-section-heading :is(h2,h3,p,.badge), .section-heading-row :is(h2,h3,strong,span), .market-filter-heading :is(h2,h3,strong,span), .market-section-heading :is(h2,h3,strong,span), .share-type-heading :is(strong,small){
  min-width: 0;
  overflow-wrap: anywhere;
}
.settings-section-heading .badge, .section-heading-row > span, .share-type-heading small{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.section-heading-row .section-title{ flex: 1 1 180px; min-width: 0; }
.section-heading-row > span{ flex: 0 1 auto; max-width: 100%; text-align: right; }
.share-type-heading strong{ flex: 1 1 120px; }
.share-type-heading small{ flex: 0 1 auto; max-width: 100% !important; }

/* No Ao Vivo, nomes de competição e subtítulos são conteúdo útil, não apenas
   decoração. Permitir duas/mais linhas evita que traduções e competições longas
   pareçam texto quebrado ou desapareçam por reticências. */
.live-competition-group > header{ align-items: flex-start; }
.live-competition-group > header > strong{
  min-width: 0;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.live-competition-group > header > span{ flex: 0 0 auto; }
.live-standings-head div > span{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

/* Status e leituras dinâmicas crescem verticalmente quando necessário. Isso
   elimina micro-overflow de palavras como "Prorrogação" em células estreitas. */
.live-score-row > div{ min-width: 0; }
.live-score-row > div em{
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.15;
}
.live-score-outcome{
  flex-wrap: wrap;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.live-score-outcome b, .live-score-outcome span{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

/* ===== V370 · auditoria de interação mobile =====
   Modais usam grid real no cabeçalho para preservar os dois controles de 38px
   mesmo com títulos dinâmicos longos. A lista moderna de elenco reduz para as
   três colunas realmente visíveis no mobile (camisa, jogador e estado), pois
   função e chevron ficam ocultos nesse contexto. */
.app-modal > header{
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px;
  align-items: center;
}
.app-modal > header > :is(div,h1,h2,h3){ min-width: 0; }
.app-modal > header :is(.modal-back,.modal-close){
  width: 38px;
  min-width: 38px;
  max-width: 38px;
  height: 38px;
  flex: none;
}
.app-modal > header h2{
  max-width: 100%;
  overflow-wrap: anywhere;
}
.team-squad-modal-row.modern{
  min-width: 0;
}
.team-squad-modal-row.modern .team-player-copy, .team-squad-modal-row.modern .team-player-meta{ min-width: 0; }

/* No layout mobile a função e o chevron já são ocultados; a grade acompanha
   exatamente os três itens restantes para não entregar toda a largura ao nome. */
.team-squad-modal-row.modern{
  grid-template-columns: auto minmax(0,1fr) auto;
}
.app-modal.is-locked > header{
  grid-template-columns: minmax(0,1fr) auto;
}
.app-modal.is-locked > header .modal-required-badge{
  min-width: 0;
  max-width: min(42vw, 180px);
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: right;
}

/* Toast continua compacto, mas o alvo de fechar não pode cair abaixo de uma
   área de toque razoável no mobile. O ganho é só de interação; texto e posição
   do aviso permanecem os mesmos. */
.toast{
  grid-template-columns: 24px minmax(0,1fr) auto 32px !important;
}
.toast-close, .toast-stack.is-live-context .toast-close{
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-radius: 9px !important;
}
/* ==========================================================
   V370 · interação mobile e colunas somente quando há largura útil
   ========================================================== */
/* Papéis durante o jogo carregam nome + atributo + seleção. Em duas colunas
   o conteúdo dependia de reticências até em nomes normais; no mobile cada
   jogador recebe a largura inteira. */
.role-player-grid{
  grid-template-columns: minmax(0,1fr) !important;
}

/* Os comandos do Ao Vivo não podem virar seis botões estreitos em uma única
   fileira. Três por linha preservam leitura e alvo de toque sem transformar
   o painel em uma lista longa. */
.match-screen .live-management-actions, html[data-theme] .match-screen .live-management-actions{
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 44px !important;
  gap: 6px !important;
  overflow: visible !important;
}
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn){
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: 44px !important;
  max-height: 44px !important;
  flex: none !important;
}

/* Filtros com valores reais (temporada/liga) ganham uma linha por campo.
   Abreviação por falta de coluna não é necessária em um jogo mobile. */
.statistics-filter-group{
  grid-template-columns: minmax(0,1fr) !important;
  width: 100% !important;
}

/* Garantias finais para componentes ricos já auditados: se o item contém
   texto variável + metadados/ações, o menor layout não força duas colunas. */
.substitution-choice-columns, .quick-menu-cluster-grid, .football-team-sheets, .football-xi-grid, .clone-search-results, .assistant-review-grid, .opponent-findings, .career-summary-columns, .heatmap-grid{
  grid-template-columns: minmax(0,1fr) !important;
}

/* ==========================================================
   V371 · auditoria de densidade e colunas mobile
   ==========================================================
   Regra de interface: coluna só permanece quando o conteúdo real continua
   confortável. Se a divisão exigir fonte minúscula, reticências ou esmagar
   nome/badge/valor/ação, o componente empilha ou reduz a quantidade de colunas.
*/

/* Blocos ricos: cada cartão precisa de largura integral para manter texto,
   contexto e valor legíveis. */
.manager-reputation-scope-grid, .stakeholder-grid, .player-identity-grid, .career-scenario-detail-grid{
  grid-template-columns: minmax(0,1fr) !important;
}
.player-identity-grid article, .career-scenario-detail-grid article{ min-width: 0; }
.career-scenario-detail-grid strong{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.manager-reputation-scope-grid em{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Navegação curta pode continuar em grade, mas duas colunas dão largura real
   para “Estatísticas”, “Outros jogos”, “Atualizações” e “Privacidade”. */
.live-score-tab-grid, .landing-public-pages{
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
.live-score-tab-grid > button span, .landing-public-pages button > span{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.15;
}

/* O resumo do topo não pode depender de rótulos de 0,4rem para caber em quatro
   colunas. Em 2x2 o contexto e os números permanecem legíveis sem esconder texto. */
.topbar-glance, .topbar-glance:has(.topbar-fans-chip){
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5px !important;
}
.topbar-page-context{
  justify-content: flex-start !important;
  padding-inline: 7px !important;
}
.topbar-page-context span{ display: block !important; }
.topbar-glance-chip, .topbar-page-context{ min-height: 34px !important; }
.topbar-glance-chip small{ font-size: .5rem !important; }
.topbar-glance-chip strong{ font-size: .64rem !important; }

/* Formulários têm rótulos, opções e valores variáveis. No layout mobile eles
   usam a largura completa em vez de dividir selects/inputs em duas colunas. */
: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){
  grid-template-columns: minmax(0,1fr) !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) > *{
  grid-column: 1 !important;
  min-width: 0;
}

/* Pedido de conversa: o prazo não disputa a linha principal com nome + assunto.
   Ícone e chevron ficam nas bordas; o prazo usa uma linha própria dentro da
   coluna textual. */
.player-request-row{
  grid-template-columns: 40px minmax(0,1fr) 24px !important;
  grid-template-rows: auto auto;
  align-items: start !important;
}
.player-request-row > span:first-child{
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.player-request-row > div{
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.player-request-row > b{
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  white-space: normal !important;
}
.player-request-row > :is(.fa-solid,.fa-regular):last-child{
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: center;
}

/* Metas da temporada têm título, badge obrigatório/complementar e estado final.
   O estado não fica em uma terceira coluna roubando largura da descrição. */
.season-objective-row{
  grid-template-columns: 38px minmax(0,1fr) !important;
  grid-template-rows: auto auto;
}
.season-objective-row > .season-objective-icon{
  grid-column: 1;
  grid-row: 1 / 3;
}
.season-objective-row > div{
  grid-column: 2;
  grid-row: 1;
}
.season-objective-row > b{
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  white-space: normal !important;
}
.season-objective-row header{
  flex-wrap: wrap;
}
.season-objective-row header strong{ flex: 1 1 170px; }
.season-objective-row header em{ flex: 0 1 auto; }

/* V371 · continuação da auditoria de densidade
   Scorecards com rótulo + valor + explicação são conteúdo rico: no mobile usam
   a largura inteira. Métricas realmente curtas podem continuar em grade. */
.manager-market-scorecards, .world-digest-scorecards, .country-coefficient-scorecards, .finance-model-grid, .cash-flow{
  grid-template-columns: minmax(0,1fr) !important;
}
.manager-market-scorecards > *, .world-digest-scorecards > *, .country-coefficient-scorecards > *{
  grid-column: 1 !important;
  min-width: 0;
}

/* Mercado de técnicos: a data não rouba largura da descrição. */
.manager-market-event{
  grid-template-columns: 30px minmax(0,1fr) !important;
  grid-template-rows: auto auto;
  align-items: start !important;
}
.manager-market-event > span{
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.manager-market-event > div{
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.manager-market-event > em{
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  white-space: normal !important;
}

/* Ranking continental: nome do país ganha a largura textual inteira. Coeficiente
   e tendência, que são curtos, dividem apenas a linha de métricas; contexto e
   campanha ficam abaixo. */
.country-coefficient-row{
  grid-template-columns: 28px minmax(0,1fr) auto !important;
  grid-template-rows: auto auto auto auto !important;
}
.country-coefficient-rank{
  grid-column: 1;
  grid-row: 1 / 5 !important;
}
.country-coefficient-country{
  grid-column: 2 / 4;
  grid-row: 1;
}
.country-coefficient-country strong, .country-coefficient-country small{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.country-coefficient-number{
  grid-column: 2;
  grid-row: 2;
  text-align: left !important;
}
.country-coefficient-trend{
  grid-column: 3;
  grid-row: 2;
}
.country-coefficient-slot{
  grid-column: 2 / 4 !important;
  grid-row: 3;
}
.country-coefficient-form{
  grid-column: 2 / 4 !important;
  grid-row: 4 !important;
}
.country-coefficient-slot strong, .country-coefficient-form strong{
  white-space: normal !important;
  overflow-wrap: anywhere;
}

/* Passaporte: cinco colunas exigiam fonte minúscula/reticências. Duas colunas
   são o limite para essas métricas; a quinta ocupa a largura completa. */
.manager-passport-summary, .manager-passport-stats{
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
.manager-passport-summary > :last-child, .manager-passport-stats > :last-child{
  grid-column: 1 / -1;
}
.manager-passport-summary small{
  font-size: .6rem !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.manager-passport-stats small{ font-size: .58rem !important; }
.manager-passport-stats b{ font-size: .78rem !important; }

/* KPIs com ícone + rótulo + valor usam no máximo duas colunas. */
.manager-profile-kpis, .team-profile-kpis{
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}

/* Resumo de estilo tem rótulos variáveis e barra de progresso; empilhar evita
   que “Negociação”, “Pragmatismo” etc. dependam de reticências. */
.manager-style-grid{
  grid-template-columns: minmax(0,1fr) !important;
}
.manager-style-grid article > span{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Histórico de reputação: escopo/temporada vira metadado abaixo do motivo em
   vez de uma terceira coluna que comprime a descrição. */
.manager-reputation-history > div > span{
  grid-template-columns: auto minmax(0,1fr) !important;
  grid-template-rows: auto auto;
  align-items: start !important;
}
.manager-reputation-history b{
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.manager-reputation-history em{
  grid-column: 2;
  grid-row: 1;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.manager-reputation-history small{
  grid-column: 2;
  grid-row: 2;
  white-space: normal !important;
}

/* Nome do clube/seleção no passaporte é informação principal e não deve ser
   sacrificado para manter o cabeçalho em uma única linha. */
.manager-passport-stint-head strong{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* ==========================================================
   V372 · auditoria dirigida: Médico, Estádio, História e finais
   ==========================================================
   Regra permanente: em um jogo mobile, uma grade só permanece quando o
   conteúdo real continua confortável. Se a coluna depender de fonte minúscula,
   rótulo oculto, elipse obrigatória ou disputa entre texto e valor, empilhar.
*/

/* Centro médico: os resumos carregam explicação, não são KPIs secos. Uma coluna
   preserva título, número e orientação sem reduzir a leitura para ~0,5rem. */
.medical-overview-grid, .medical-legend{
  grid-template-columns: minmax(0,1fr) !important;
}
.medical-overview-grid article{
  min-width: 0;
  align-items: flex-start;
}
.medical-overview-grid small{ font-size: .58rem !important; }
.medical-overview-grid strong{ font-size: .92rem !important; }
.medical-overview-grid p{ font-size: .58rem !important; line-height: 1.4 !important; }
.medical-legend strong{ font-size: .64rem !important; }
.medical-legend span{ font-size: .57rem !important; line-height: 1.4 !important; }

/* Nome do atleta e risco não disputam a mesma linha. O risco é metadado e fica
   abaixo da identificação, preservando inclusive nomes compostos. */
.medical-care-card header{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  align-items: start !important;
}
.medical-care-card header > button{
  width: 100%;
  min-width: 0;
}
.medical-care-card header > .risk-badge{
  justify-self: start;
  max-width: 100%;
  margin-left: 47px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.medical-care-card header strong{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Três números curtos e previsíveis podem continuar lado a lado. O antigo 2+1
   deixava a carga sozinha na segunda linha sem ganhar legibilidade. */
.medical-metric-row{
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
.medical-metric-row small{ font-size: .54rem !important; }
.medical-metric-row strong{ font-size: .66rem !important; }

/* Estádio: preço sugerido/público, custo de obra e detalhes do projeto são
   valores variáveis. Não disputam meia linha com texto explicativo. */
.ticket-hint{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  justify-content: stretch !important;
  gap: 4px !important;
}
.ticket-hint > span{
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.upgrade-card{
  grid-template-columns: minmax(0,1fr) !important;
  align-items: start !important;
}
.upgrade-card > strong{
  justify-self: start;
  white-space: normal;
  overflow-wrap: anywhere;
}
.stadium-construction-investment{
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  justify-items: start !important;
  gap: 4px !important;
}
.stadium-construction-investment strong{
  text-align: left !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* As quatro faixas são rótulos curtos e previsíveis, portanto podem continuar
   alinhadas ao medidor; não precisam, porém, de tipografia microscópica. */
.stadium-health-scale span{
  font-size: .54rem !important;
  line-height: 1.2;
}
.stadium-visual-specs > span{
  min-width: 0;
  flex-wrap: wrap;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

/* História: um troféu contém nome variável de competição + temporada. Em 430px
   o auto-fit antigo podia criar duas colunas de ~190px e forçar leitura ruim. */
.trophy-cabinet{
  grid-template-columns: minmax(0,1fr) !important;
}
.trophy-cabinet article, .trophy-cabinet article div{ min-width: 0; }
.trophy-cabinet :is(strong,small){
  white-space: normal;
  overflow-wrap: anywhere;
}

/* Fim de competição é registro histórico: nomes de premiados não são conteúdo
   descartável e não devem terminar em reticências apenas para manter uma linha. */
.competition-end-awards article strong{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Modo espectador: a lista de jogos permanece em uma coluna no menor layout.
   Isso evita que duas partidas com clubes de nomes longos voltem a competir por
   meia tela por causa de regras antigas mais específicas. */
.observer-live-mode .observer-grid{
  grid-template-columns: minmax(0,1fr) !important;
}

/* Histórico de temporada: a tabela antiga espremia oito colunas dentro de
   320px. Mantemos todos os dados, mas em duas faixas por linha: contexto
   (posição + clube + pontos) em cima e J/V/E/D/SG embaixo. */
.season-history-table-head, .season-history-table-row{
  grid-template-columns: 30px repeat(5,minmax(0,1fr)) 38px !important;
  grid-template-rows: auto auto;
  column-gap: 4px !important;
  row-gap: 2px !important;
  min-height: 46px !important;
  padding: 5px 7px !important;
  font-size: .62rem !important;
}
.season-history-table-head > :nth-child(1), .season-history-table-row > :nth-child(1){
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.season-history-table-head > :nth-child(2), .season-history-table-row > :nth-child(2){
  grid-column: 2 / 7;
  grid-row: 1;
  min-width: 0;
  text-align: left;
}
.season-history-table-head > :nth-child(3), .season-history-table-row > :nth-child(3){ grid-column: 2; grid-row: 2; }
.season-history-table-head > :nth-child(4), .season-history-table-row > :nth-child(4){ grid-column: 3; grid-row: 2; }
.season-history-table-head > :nth-child(5), .season-history-table-row > :nth-child(5){ grid-column: 4; grid-row: 2; }
.season-history-table-head > :nth-child(6), .season-history-table-row > :nth-child(6){ grid-column: 5; grid-row: 2; }
.season-history-table-head > :nth-child(7), .season-history-table-row > :nth-child(7){ grid-column: 6; grid-row: 2; }
.season-history-table-head > :nth-child(8), .season-history-table-row > :nth-child(8){
  grid-column: 7;
  grid-row: 1 / 3;
  align-self: center;
}
.season-history-table-head > :nth-child(n/**/+3):nth-child(-n/**/+7){
  color: var(--muted);
  font-size: .56rem;
}
.season-history-club strong{
  font-size: .64rem !important;
}

/* Base: investimento é monetário e pode crescer; prazo é curto. Eles não
   precisam disputar meia largura apenas para conservar duas colunas. */
.academy-upgrade-details{
  grid-template-columns: minmax(0,1fr) !important;
}
.academy-upgrade-details strong{
  white-space: normal;
  overflow-wrap: anywhere;
}

/* ==========================================================
   V373 · identidade profissional e contraste adaptativo real
   ==========================================================
   A cor do clube é imprevisível. Estes banners nunca presumem branco: usam
   --team-gradient-text calculado pelo JavaScript e superfícies locais que
   reforçam a leitura sem descaracterizar a paleta oficial.
*/

/* Base visual compartilhada para perfis e heróis que recebem teamStyle. */
.manager-profile-hero-modern, .team-profile-hero-modern, .app-modal.has-team-context > header, .app-modal.has-team-context .player-profile-head.modern-player-hero, .legacy-museum-hero, .celebration-card, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero{
  position: relative;
  isolation: isolate;
  color: var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color: currentColor !important;
  border-color: var(--team-hero-border,color-mix(in srgb,currentColor 22%,transparent)) !important;
  background:
    radial-gradient(circle at 88% 12%,var(--team-hero-decor,rgba(255,255,255,.10)),transparent 34%),
    linear-gradient(135deg,var(--team-gradient-primary,#27364f),var(--team-gradient-secondary,#101827)) !important;
  text-shadow: none !important;
}
.manager-profile-hero-modern::before, .team-profile-hero-modern::before, .app-modal.has-team-context .player-profile-head.modern-player-hero::before, .legacy-museum-hero::before, .celebration-card::before, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:150px;
  height:150px;
  right:-58px;
  bottom:-88px;
  border:22px solid var(--team-hero-decor,rgba(255,255,255,.10));
  border-radius:50%;
  pointer-events:none;
}
:is(.manager-profile-hero-modern,.team-profile-hero-modern,.app-modal.has-team-context > header,.app-modal.has-team-context .player-profile-head.modern-player-hero,.legacy-museum-hero,.celebration-card,.competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero)
:is(h1,h2,h3,h4,p,strong,b,span,small,em,.kicker,.fa-solid,.fa-regular,button){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* O conteúdo secundário usa hierarquia por peso/espaço, não por opacidade que
   poderia derrubar contraste abaixo do mínimo em cores limítrofes. */
.manager-profile-hero-modern .manager-profile-identity p, .team-profile-hero-modern .team-profile-title p, .manager-profile-hero-modern .manager-profile-score :is(small,span), .team-profile-hero-modern .team-profile-rating :is(small,span), .team-profile-hero-modern .team-profile-crest-stage > span, .app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-summary, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero p{
  color: inherit !important;
  opacity: 1 !important;
}

/* Superfícies internas adaptam-se à cor de texto calculada: fundo escuro para
   texto claro e fundo claro para texto escuro. */
.manager-profile-hero-modern .manager-profile-identity > div, .team-profile-hero-modern .team-profile-title, .manager-profile-hero-modern .manager-profile-badges > span, .manager-profile-hero-modern .manager-profile-score, .team-profile-hero-modern .team-profile-tags > span, .team-profile-hero-modern .team-profile-rating, .app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-overall, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-position, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-placement-callout{
  color: inherit !important;
  background: var(--team-hero-panel,rgba(7,17,31,.38)) !important;
  border-color: var(--team-hero-border,rgba(255,255,255,.24)) !important;
  box-shadow: inset 0 1px 0 var(--team-hero-decor,rgba(255,255,255,.10)) !important;
}
.manager-profile-hero-modern .kicker, .team-profile-hero-modern .kicker, .app-modal.has-team-context .player-profile-head.modern-player-hero .badge, .competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero .kicker{
  color: inherit !important;
  background: var(--team-hero-panel-strong,rgba(7,17,31,.50)) !important;
  border-color: var(--team-hero-border,rgba(255,255,255,.24)) !important;
}

/* Perfil do técnico: foto + identidade têm largura útil real; a nota não fica
   absoluta roubando espaço do nome. A faixa inferior funciona como assinatura
   profissional do banner. */
.manager-profile-hero-modern{
  grid-template-columns: minmax(0,1fr) !important;
  gap: 12px !important;
  padding: 17px !important;
  border-radius: 22px !important;
  overflow: hidden;
  box-shadow: 0 12px 28px color-mix(in srgb,var(--team-gradient-secondary,#101827) 20%,transparent);
}
.manager-profile-identity{
  grid-template-columns: 64px minmax(0,1fr) !important;
  gap: 11px !important;
  padding-right: 0 !important;
}
.manager-profile-photo-modern{
  width:64px !important;
  height:64px !important;
  border:2px solid var(--team-hero-border,rgba(255,255,255,.24)) !important;
  border-radius:18px !important;
  box-shadow:none !important;
  filter:none !important;
}
.manager-profile-identity > div{
  min-width:0;
  padding:10px 11px !important;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.24));
  border-radius:15px;
}
.manager-profile-identity h2{
  margin:4px 0 !important;
  font-size:clamp(1.08rem,5vw,1.4rem) !important;
  line-height:1.08;
  overflow-wrap:anywhere;
}
.manager-profile-badges{ margin-top:8px !important; gap:5px !important; }
.manager-profile-badges > span{ padding:5px 7px !important; font-size:.58rem !important; }
.manager-profile-score{
  position:static !important;
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto !important;
  align-items:center !important;
  justify-items:start !important;
  gap:8px !important;
  padding:9px 11px !important;
  border-radius:14px !important;
}
.manager-profile-score strong{ font-size:1.35rem !important; line-height:1 !important; }
.manager-profile-score span{ justify-self:end; font-size:.58rem !important; }

/* Perfil de clube/seleção: brasão em moldura discreta, nome com quebra natural,
   todos os chips disponíveis e nota em faixa própria em vez de terceira coluna. */
.team-profile-hero-modern{
  grid-template-columns:68px minmax(0,1fr) !important;
  gap:11px !important;
  padding:15px !important;
  border-radius:22px !important;
  overflow:hidden;
  box-shadow:0 12px 28px color-mix(in srgb,var(--team-gradient-secondary,#101827) 20%,transparent);
}
.team-profile-crest-stage{
  width:68px;
  min-width:68px !important;
  padding:7px 5px;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.24));
  border-radius:17px;
  background:var(--team-hero-panel,rgba(7,17,31,.38));
  filter:none !important;
}
.team-profile-crest-stage .crest{ width:52px !important; height:58px !important; }
.team-profile-title{
  min-width:0;
  padding:10px 11px !important;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.24));
  border-radius:15px;
}
.team-profile-title h3{
  margin:4px 0 !important;
  font-size:clamp(1.02rem,5vw,1.32rem) !important;
  line-height:1.08;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
}
.team-profile-title p{ font-size:.64rem !important; line-height:1.4 !important; overflow-wrap:anywhere; }
.team-profile-tags{ margin-top:8px !important; gap:5px !important; }
.team-profile-tags > span{
  display:inline-flex !important;
  max-width:100%;
  white-space:normal !important;
  overflow-wrap:anywhere;
  padding:5px 7px !important;
  font-size:.56rem !important;
}
.team-profile-rating{
  grid-column:1 / -1 !important;
  width:100% !important;
  min-width:0 !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-rows:auto auto;
  align-items:center !important;
  justify-items:start !important;
  gap:2px 8px !important;
  padding:9px 11px !important;
  border-radius:14px !important;
}
.team-profile-rating small{ grid-column:1; grid-row:1; }
.team-profile-rating strong{ grid-column:2; grid-row:1 / 3; align-self:center; font-size:1.45rem !important; }
.team-profile-rating span{ grid-column:1; grid-row:2; font-size:.57rem !important; }

/* Perfil do jogador dentro de contexto de clube também vira um banner de
   identidade coerente. Overall desce para faixa inteira e não aperta o resumo. */
.app-modal.has-team-context .player-profile-head.modern-player-hero{
  grid-template-columns:40px minmax(0,1fr) !important;
  gap:10px !important;
  padding:13px !important;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.24)) !important;
  border-radius:18px !important;
  overflow:hidden;
}
.app-modal.has-team-context .player-profile-head.modern-player-hero > .crest{
  grid-column:1;
  grid-row:1;
  align-self:start;
  width:36px !important;
  height:42px !important;
}
.app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-identity{
  grid-column:2;
  grid-row:1;
  min-width:0;
}
.app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-summary{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
}
.app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-overall{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100%;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.24));
  border-radius:12px;
  font-size:1.15rem !important;
}
.app-modal.has-team-context .player-profile-head.modern-player-hero .player-profile-overall small{
  margin:0 !important;
  text-align:right;
}

/* Museu e celebrações seguem o mesmo contraste adaptativo, sem texto branco
   herdado quando a paleta calculada pede texto escuro. */
.legacy-museum-hero, .celebration-card{
  color:var(--team-gradient-text,#fff) !important;
}
.legacy-museum-hero :is(.legacy-museum-tags > span,.legacy-hero-stats > span,.legacy-museum-callout), .celebration-card :is(.placement-rank,.celebration-prize){
  color:inherit !important;
  background:var(--team-hero-panel,rgba(7,17,31,.38)) !important;
  border-color:var(--team-hero-border,rgba(255,255,255,.24)) !important;
}
.celebration-card > .kicker, .celebration-card .celebration-prize small, .celebration-card .celebration-manager-name, .celebration-card > small{
  color:inherit !important;
  opacity:1 !important;
}
.celebration-card .placement-rank.is-title, .celebration-card .celebration-prize strong{
  color:inherit !important;
}
.celebration-trophy{
  color:inherit !important;
  background:var(--team-hero-panel-strong,rgba(7,17,31,.50)) !important;
  border-color:var(--team-hero-border,rgba(255,255,255,.24)) !important;
}

/* Encerramento de competição: a campanha usa no máximo duas colunas no mobile;
   seis métricas em 3/4/6 colunas não trazem ganho de leitura em 320px. */
.competition-end-campaign{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.competition-end-campaign > div{ min-width:0; padding:10px 8px !important; }

/* Ações de fim de competição continuam empilhadas quando o texto real puder
   crescer; não criar meia tela para pódio/prêmios com nomes variáveis. */
.competition-end-columns{ grid-template-columns:minmax(0,1fr) !important; }

/* Heróis com teamStyle fora dos perfis também respeitam a cor calculada. */
:is(.career-summary-hero,.header-detail-hero,.market-command-hero,.national-duty-entry-identity,.opponent-hero)[style*="--team-gradient-primary"]{
  color:var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  background:
    radial-gradient(circle at 86% 12%,var(--team-hero-decor,rgba(255,255,255,.10)),transparent 35%),
    linear-gradient(135deg,var(--team-gradient-primary,#27364f),var(--team-gradient-secondary,#101827)) !important;
  border-color:var(--team-hero-border,rgba(255,255,255,.24)) !important;
}
:is(.career-summary-hero,.header-detail-hero,.market-command-hero,.national-duty-entry-identity,.opponent-hero)[style*="--team-gradient-primary"]
:is(h1,h2,h3,h4,p,strong,b,span,small,em,.kicker,.fa-solid,.fa-regular){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
}

/* Cards de carreira também recebem teamStyle. Não reaplicar uma camada escura
   fixa depois que a paleta já foi corrigida para texto claro OU escuro. */
.landing-continue-career.team-tone, .landing-save-card .save-slot-team-card.team-tone, html[data-theme="light"] .landing-continue-career.team-tone, html[data-theme="light"] .landing-save-card .save-slot-team-card.team-tone, html[data-theme="dark"] .landing-continue-career.team-tone, html[data-theme="dark"] .landing-save-card .save-slot-team-card.team-tone{
  color:var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  background:
    radial-gradient(circle at 88% 12%,var(--team-hero-decor,rgba(255,255,255,.10)),transparent 36%),
    var(--team-palette-gradient,linear-gradient(135deg,var(--team-gradient-primary),var(--team-gradient-secondary))) !important;
  border-color:var(--team-hero-border,rgba(255,255,255,.24)) !important;
}
:is(.landing-continue-career.team-tone,.landing-save-card .save-slot-team-card.team-tone)
:is(strong,span,small,em,.fa-solid,.fa-regular,.btn){
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
}
.landing-continue-career.team-tone :is(.landing-continue-icon,.landing-continue-action), .landing-save-card .save-slot-team-card.team-tone > .btn{
  color:inherit !important;
  background:var(--team-hero-panel,rgba(7,17,31,.38)) !important;
  border-color:var(--team-hero-border,rgba(255,255,255,.24)) !important;
}

/* =========================================================
   V373 · retrospectivas sem informação escondida no mobile
   Se o conteúdo só cabe escondendo badges ou cortando nomes,
   ele deixa de disputar a mesma linha.
   ========================================================= */
.season-retrospective-card > summary{
  grid-template-columns: 42px minmax(0,1fr) auto !important;
  align-items: start;
}

.season-retro-summary-copy strong, .season-retro-summary-copy small, .season-current-card strong, .season-retro-leader small, .season-retro-leader strong, .season-retro-leader em, .season-retro-awards b, .season-retro-awards small{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

.season-retro-summary-badges{
  display: flex !important;
  grid-column: 2 / -1;
  grid-row: 2;
  justify-self: stretch;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 10px;
  flex-wrap: wrap;
  text-align: left;
  min-width: 0;
}

.season-retro-summary-badges b, .season-retro-summary-badges small{
  display: inline-flex;
  min-width: 0;
}

.season-retro-awards{
  grid-template-columns: 1fr !important;
}

/* ==========================================================
   V373 · auditoria de densidade complementar
   ==========================================================
   “Caber” não é suficiente: controles e descrições não devem depender de
   células estreitas, reticências ou tipografia microscópica para funcionar.
*/

/* Menu do Ao Vivo: cinco velocidades em cinco colunas deixavam “Muito rápida”
   com ~56px em 320px. Duas colunas preservam o rótulo; a quinta usa a largura
   total e funciona como opção de destaque sem virar botão minúsculo. */
.live-score-speed-grid{
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 7px !important;
}
.live-score-speed-grid > .live-score-speed:last-child:nth-child(odd){
  grid-column: 1 / -1;
}
.live-score-speed{
  min-height: 46px !important;
  padding: 7px 8px !important;
}
.live-score-speed span{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  font-size: .6rem !important;
  line-height: 1.15;
}
.live-score-speed b{ font-size: .62rem !important; }

/* Os atalhos carregam título + explicação + ícone. Em duas colunas o texto
   descritivo virava 3–4 linhas desiguais; uma coluna mantém leitura e toque. */
.live-score-toggle-grid{
  grid-template-columns: minmax(0,1fr) !important;
}
.live-score-toggle-grid > button{ min-height: 48px; }
.live-score-toggle-grid strong{ font-size: .67rem !important; }
.live-score-toggle-grid small{ font-size: .56rem !important; }

/* O placar exibido dentro do menu é contexto importante. Nomes longos podem
   quebrar linha; nunca esconder um dos clubes com reticências. */
.live-score-quick-status strong{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

/* Retrospectiva: duas métricas são texto narrativo (“Formação mais usada” e
   “Identidade”). Elas deixavam uma linha duas vezes mais alta que a vizinha.
   Uma coluna torna o arquivo histórico previsível e preserva a informação. */
.season-retro-metrics{
  grid-template-columns: minmax(0,1fr) !important;
}
.season-retro-metrics > span{ min-width: 0; }
.season-retro-metrics :is(small,strong){
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* Estádio: quatro descrições de estrutura não são KPIs de duas letras. A lista
   usa largura integral e tipografia confortável em vez de 2 colunas a ~9px. */
.stadium-visual-specs{
  grid-template-columns: minmax(0,1fr) !important;
}
.stadium-visual-specs span{
  justify-content: flex-start !important;
  padding: 8px 10px !important;
  font-size: .63rem !important;
  line-height: 1.3;
  text-align: left !important;
}

/* As três métricas médicas são curtas e previsíveis, portanto podem continuar
   lado a lado; aumentamos a tipografia para não pagar a compactação com leitura. */
.medical-metric-row small{ font-size: .59rem !important; }
.medical-metric-row strong{ font-size: .72rem !important; }

/* Cards de jogador favorito já usam uma única coluna no mobile. O nome não
   precisa ser cortado só para conservar uma linha ao lado do overall. */
.favorite-player-name, .favorite-player-team{
  width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

/* Refinamento dos banners: chips continuam compactos, mas não microscópicos. */
.manager-profile-badges > span{ font-size: .62rem !important; line-height: 1.25; }
.team-profile-tags > span{ font-size: .6rem !important; line-height: 1.25; }
.manager-profile-score :is(small,span), .team-profile-rating :is(small,span){ font-size: .61rem !important; }
.manager-profile-score strong, .team-profile-rating strong, .player-profile-overall{ font-variant-numeric: tabular-nums; }

/* ==========================================================
   V374 · círculos percentuais e polimento de interação
   ==========================================================
   Somente indicadores que já eram circulares/percentuais entram neste sistema.
   Barras e métricas comuns permanecem no formato que melhor comunica o dado.
*/
.percentage-ring{
  --percentage-ring-track: color-mix(in srgb,var(--line) 72%,transparent);
  font-variant-numeric: tabular-nums;
  isolation:isolate;
}
.percentage-ring::before, .percentage-ring::after{ pointer-events:none; }
.percentage-ring strong{
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  line-height:.88;
  letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;
}
.percentage-ring strong > b{
  font:inherit;
  font-weight:800;
}
.percentage-ring strong > small{
  margin-top:.08em;
  font-size:.47em;
  line-height:1;
  letter-spacing:0;
  font-weight:800;
  color:inherit;
  opacity:.86;
}
.percentage-ring > span, .percentage-ring > span > small{
  letter-spacing:.055em;
}

/* Tática: o card recebe teamStyle, portanto anel, miolo e texto usam a mesma
   paleta acessível em vez de voltar a presumir branco. */
.tactic-identity-card{
  color:var(--team-gradient-text,#fff) !important;
  text-shadow:none !important;
  background:
    radial-gradient(circle at 90% 14%,var(--team-hero-decor,rgba(255,255,255,.10)),transparent 35%),
    linear-gradient(135deg,var(--team-gradient-primary,var(--club-primary)),var(--team-gradient-secondary,var(--club-secondary))) !important;
  border-color:var(--team-hero-border,color-mix(in srgb,currentColor 22%,transparent)) !important;
}
.tactic-identity-card :is(h3,p,span,strong,small,.kicker,.fa-solid,.fa-regular){
  color:inherit !important;
  text-shadow:none !important;
}
.tactic-score-ring{
  width:74px !important;
  height:74px !important;
  background:conic-gradient(
    var(--team-gradient-text,#fff) var(--score),
    color-mix(in srgb,var(--team-gradient-text,#fff) 20%,transparent) 0
  ) !important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--team-gradient-secondary,#101827) 26%,transparent);
}
.tactic-score-ring::after{
  inset:6px !important;
  background:var(--team-hero-panel-strong,rgba(7,17,31,.56)) !important;
  border:1px solid var(--team-hero-border,rgba(255,255,255,.22));
}
.tactic-score-ring strong{
  font-size:1.22rem !important;
  transform:translateY(-5px) !important;
}
.tactic-score-ring > span{
  font-size:.55rem !important;
  transform:translateY(13px) !important;
  opacity:1 !important;
  text-transform:uppercase;
  font-weight:700;
}

/* Vestiário: o anel continua neutro, mas o progresso ganha contraste suficiente
   contra o painel mesmo quando a cor principal do clube é muito escura. */
.locker-score{
  width:96px !important;
  height:96px !important;
  flex-basis:96px !important;
  background:conic-gradient(
    color-mix(in srgb,var(--club-primary) 66%,var(--text) 34%) calc(var(--locker-score,68)*1%),
    var(--percentage-ring-track) 0
  ) !important;
  box-shadow:0 10px 25px color-mix(in srgb,var(--club-primary) 14%,transparent);
}
.locker-score::before{
  inset:7px !important;
  border:1px solid color-mix(in srgb,var(--line) 84%,transparent);
}
.locker-score strong{
  font-size:1.48rem !important;
  transform:translateY(-7px);
}
.locker-score > span{
  margin-top:0 !important;
  transform:translateY(17px);
  font-size:.58rem !important;
  text-transform:uppercase;
  font-weight:700;
}

/* Legado: o anel sempre representou percentual. Agora o centro mostra o mesmo
   conceito visual; os pontos continuam disponíveis como informação secundária. */
.manager-legacy-score{
  width:clamp(118px,30vw,148px) !important;
  background:conic-gradient(
    #f2c85b var(--legacy-score),
    color-mix(in srgb,var(--line) 78%,transparent) 0
  ) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.18), inset 0 0 0 1px color-mix(in srgb,#f2c85b 24%,transparent);
}
.manager-legacy-score:before{
  inset:9px !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,#f2c85b 15%,var(--line));
}
.manager-legacy-score > span{ gap:7px; }
.manager-legacy-score strong{ font-size:clamp(30px,8vw,42px) !important; }
.manager-legacy-score > span > small{
  margin-top:0 !important;
  font-size:.59rem !important;
  line-height:1.2;
  color:var(--muted);
  font-weight:700;
  text-transform:uppercase;
}

/* O X de uma substituição em lote era 28×28px: visualmente pequeno e ruim para
   toque. A área cresce sem aumentar o desenho do ícone. */
.batch-substitution-list > article button{
  width:36px !important;
  height:36px !important;
  min-width:36px;
  min-height:36px;
  touch-action:manipulation;
}
.batch-substitution-list > article button :is(svg,.fa-solid,.fa-regular){
  font-size:.78rem;
}

/* Substituição em lote: nomes são conteúdo variável e não devem disputar duas
   meias colunas. Cada troca usa duas linhas legíveis dentro de um único bloco. */
.batch-substitution-list > article{
  grid-template-columns:30px minmax(0,1fr) 36px !important;
  gap:9px !important;
  align-items:center;
}
.batch-substitution-list > article > span{
  width:28px !important;
  height:28px !important;
}
.batch-substitution-pair{
  display:grid !important;
  gap:5px;
  min-width:0;
}
.batch-substitution-pair > div{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:7px;
  align-items:baseline;
  min-width:0;
}
.batch-substitution-pair small{
  color:var(--muted);
  font-size:.57rem !important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.batch-substitution-pair strong{
  min-width:0;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  font-size:.72rem;
}

/* Os dois heróis circulares têm texto explicativo variável. No menor layout o
   anel não disputa largura com título/descrição: ganha uma linha própria. */
.tactic-identity-card, .locker-hero{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:start !important;
  justify-items:stretch;
}
.tactic-score-ring, .locker-score{
  justify-self:center;
}
.tactic-identity-main{ width:100%; }
.locker-hero > div:first-child{ min-width:0; }
.locker-hero > div:first-child :is(h3,p){
  white-space:normal;
  overflow-wrap:anywhere;
}

/* ==========================================================
   V375 · leitura imediata de estados percentuais
   ==========================================================
   Não cria novos donuts. Percentuais que já representam um estado decisório
   ganham uma barra fina e uma cor semântica consistente. Valores financeiros,
   estatísticas e métricas descritivas continuam sendo números simples.
*/
.state-percent-meter{
  --state-meter-color: var(--primary);
  display: block;
  width: 100%;
  height: 5px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--progress-track-bg);
  box-shadow: inset 0 0 0 1px var(--progress-track-border);
  font-style: normal;
}
.state-percent-meter > b{
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: var(--state-meter-color);
}
.state-percent-meter.is-success, :is(.confidence-pill,.stakeholder-grid article,.player-state-metric,.player-identity-grid article,.favorite-state-metric,.season-objective-score).is-success{
  --state-meter-color: var(--success);
  --state-text-color: var(--success);
}
.state-percent-meter.is-good, :is(.confidence-pill,.stakeholder-grid article,.player-state-metric,.player-identity-grid article,.favorite-state-metric,.season-objective-score).is-good{
  --state-meter-color: var(--primary);
  --state-text-color: var(--primary);
}
.state-percent-meter.is-warning, :is(.confidence-pill,.stakeholder-grid article,.player-state-metric,.player-identity-grid article,.favorite-state-metric,.season-objective-score).is-warning{
  --state-meter-color: var(--warning);
  --state-text-color: var(--warning);
}
.state-percent-meter.is-danger, :is(.confidence-pill,.stakeholder-grid article,.player-state-metric,.player-identity-grid article,.favorite-state-metric,.season-objective-score).is-danger{
  --state-meter-color: var(--danger);
  --state-text-color: var(--danger);
}
.state-percent-value, .season-objective-score, .confidence-pill > strong, .player-state-metric > strong, .player-identity-grid article > strong, .favorite-state-metric > strong{
  color: var(--state-text-color, var(--text));
  font-variant-numeric: tabular-nums;
}

/* A confiança no cabeçalho continua compacta, mas deixa de ser um número sem
   contexto visual. O medidor fica abaixo sem aumentar artificialmente o card. */
.confidence-pill{ min-width: 78px; padding-inline: 9px; }
.confidence-pill .state-percent-meter{ width: 100%; margin-top: 5px; }

/* Diretoria, torcida e elenco já possuíam barras; agora cada barra comunica o
   estado real em vez de herdar a mesma aparência independentemente do valor. */
.stakeholder-grid article{ --state-meter-color: var(--primary); }
.stakeholder-grid article > div > b{ color: var(--state-text-color, var(--text)); font-variant-numeric: tabular-nums; }
.stakeholder-grid article.is-success{ border-color: color-mix(in srgb,var(--success) 28%,var(--line)); }
.stakeholder-grid article.is-warning{ border-color: color-mix(in srgb,var(--warning) 34%,var(--line)); }
.stakeholder-grid article.is-danger{ border-color: color-mix(in srgb,var(--danger) 38%,var(--line)); }
.stakeholder-grid article:is(.is-success,.is-good,.is-warning,.is-danger) .stakeholder-icon{
  color: var(--state-text-color, var(--primary));
  background: color-mix(in srgb,var(--state-meter-color) 11%,var(--panel));
}
.stakeholder-grid .state-percent-meter{ margin-top: 5px; }

/* Objetivos continuam usando barras horizontais — o componente apropriado para
   progresso de meta. Apenas a cor final passa a refletir o estado da própria meta. */
.season-objective-row.is-complete .progress-track > span{ background: var(--success) !important; }
.season-objective-row.is-risk .progress-track > span{ background: var(--danger) !important; }
.season-objective-row.is-progress .progress-track > span{ background: var(--primary) !important; }
.season-objective-score{ font-variant-numeric: tabular-nums; }

/* Energia e moral são estados, não estatísticas históricas. Mantêm o mesmo card
   do perfil, mas com medidor fino; salário, valor, jogos e contrato não recebem gráfico. */
.player-state-metric{ --state-meter-color: var(--primary); }
.player-state-metric > .state-percent-meter{ grid-column: 1 / -1; }
.player-state-metric.is-warning{ border-color: color-mix(in srgb,var(--warning) 32%,var(--line)); }
.player-state-metric.is-danger{ border-color: color-mix(in srgb,var(--danger) 38%,var(--line)); }

/* Vínculo, confiança, satisfação e pressão por saída são percentuais cujo valor
   é o próprio conteúdo principal. A barra melhora leitura sem criar novo círculo. */
.player-identity-grid article{ --state-meter-color: var(--primary); }
.player-identity-grid article .state-percent-meter{ margin: 5px 0 7px; }
.player-identity-grid article.is-warning{ border-color: color-mix(in srgb,var(--warning) 32%,var(--line)); }
.player-identity-grid article.is-danger{ border-color: color-mix(in srgb,var(--danger) 38%,var(--line)); }

/* Favoritos é uma visão compacta: apenas o valor recebe tom semântico. Não há
   barra adicional para evitar poluir o card. */
.favorite-state-metric{ --state-text-color: var(--text); }
.favorite-state-metric.is-warning{ background: color-mix(in srgb,var(--warning) 7%,var(--panel-2)); }
.favorite-state-metric.is-danger{ background: color-mix(in srgb,var(--danger) 7%,var(--panel-2)); }

/* V375 · o risco médio já era um círculo percentual ativo. Ele recebe o mesmo
   acabamento dos outros anéis existentes, sem criar um novo tipo de gráfico. */
.medical-command-score.percentage-ring{
  --medical-risk-color: var(--success);
  position: relative;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr !important;
  place-items: center !important;
  width: 78px;
  height: 78px;
  min-width: 78px;
  min-height: 78px;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(var(--medical-risk-color) var(--medical-risk), var(--percentage-ring-track) 0) !important;
  box-shadow: 0 10px 24px color-mix(in srgb,var(--medical-risk-color) 16%,transparent);
}
.medical-command-score.percentage-ring::before{
  content: "";
  position: absolute;
  inset: 7px;
  z-index: -1;
  border: 1px solid color-mix(in srgb,var(--medical-risk-color) 16%,var(--line));
  border-radius: 50%;
  background: var(--panel-2);
}
.medical-command-score.percentage-ring.success{ --medical-risk-color: var(--success); }
.medical-command-score.percentage-ring.warning{ --medical-risk-color: var(--warning); }
.medical-command-score.percentage-ring.danger{ --medical-risk-color: var(--danger); }
.medical-command-score.percentage-ring strong, .medical-command-score.percentage-ring > span{
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
}
.medical-command-score.percentage-ring strong{
  color: var(--medical-risk-color);
  font-size: 1.3rem;
  transform: translateY(-6px);
}
.medical-command-score.percentage-ring > span{
  align-self: center;
  margin-top: 25px;
  color: var(--muted);
  font-size: .52rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .055em;
  font-weight: 700;
}

/* O seletor legado não é mais usado pelo Centro médico atual, mas deixa de
   esconder rótulos caso esse componente seja reutilizado no futuro. */
.medical-plan-row{ grid-template-columns: 1fr !important; }
.medical-plan-row button span{
  display: inline !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}

/* V375 · alvos de toque antigos abaixo do conforto mobile. O ícone continua
   visualmente compacto; cresce apenas a caixa interativa quando há espaço. */
.history-controls button, .favorite-event-list article > button, .friendly-selected > button{
  min-width: 36px !important;
  width: 36px !important;
  min-height: 36px !important;
  height: 36px !important;
  touch-action: manipulation;
}
.topbar-menu-button{
  position: relative;
  overflow: visible !important;
  touch-action: manipulation;
}
.topbar-menu-button::after{
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 12px;
}



/* =========================================================
   V376 · transições estáveis e mídia resiliente
   ========================================================= */
/* Botões que viram spinner preservam a largura que já ocupavam. Isso evita
   que grupos de ações "respirem" ou troquem de coluna durante tarefas reais. */
.btn.is-busy-stable{
  min-inline-size: var(--busy-button-width, auto) !important;
}
.btn.is-busy-stable > .fa-spinner, button[aria-busy="true"] > .fa-spinner{
  flex: 0 0 auto;
}

/* Busca: vazio, loading e erro compartilham a mesma área mínima. A lista pode
   crescer normalmente quando existem resultados; apenas a transição deixa de
   provocar um salto brusco no modal. */
.universal-search-empty{
  min-height: 154px;
  align-content: center;
}
.universal-search-empty.is-loading > .fa-spinner{
  animation: share-spin .85s linear infinite;
}

/* Prévia de premiação: loading, erro e imagem pronta usam o mesmo slot 4:5.
   O card de compartilhamento já usa essa proporção; unificamos a celebração. */
.celebration-share-preview .share-preview-canvas{
  aspect-ratio: 4 / 5;
  display: grid;
  place-items: center;
}
.celebration-share-preview .share-preview-loading{
  min-height: 0 !important;
  width: 100%;
  height: 100%;
  align-content: center;
  text-align: center;
  padding: 16px;
}
.celebration-share-preview .share-preview-canvas img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Foto do técnico e fallback usam a mesma caixa, evitando deslocamento caso
   a imagem do save esteja ausente ou corrompida. */
.manager-avatar, .manager-profile-photo, .manager-profile-photo-modern{
  overflow: hidden;
}
img[data-manager-photo]{
  object-fit: cover;
  object-position: center;
}


/* ==========================================================
   V378 · consistência final de ritmo visual e tipografia
   ==========================================================
   Microtexto não é uma solução de layout. Se um componente só continua
   compacto reduzindo informação útil a 5–8 px, a geometria deve ceder espaço
   antes da legibilidade. Esta seção corrige apenas componentes ativos medidos
   na auditoria, sem criar uma escala global que poderia inflar áreas densas. */

/* Ao Vivo: a V370 já eliminou seis comandos na mesma fileira; a tipografia
   antiga continuava presa à geometria anterior. Três por linha comportam
   rótulos reais, portanto não há motivo para mantê-los em ~7 px. */
.match-screen .live-management-actions, html[data-theme] .match-screen .live-management-actions{
  grid-auto-rows: 48px !important;
}
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn){
  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
}
.match-screen .live-management-actions > :is(button,.btn) > .live-action-label, html[data-theme] .match-screen .live-management-actions > :is(button,.btn) > .live-action-label{
  min-height: 0 !important;
  font-size: .56rem !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.match-screen .live-management-actions > :is(button,.btn) > small{
  font-size: .52rem !important;
  line-height: 1.05 !important;
}

/* As abas já usam overflow horizontal. Em vez de comprimir seis rótulos a
   ~6 px, cada opção ganha largura mínima confortável e o usuário pode rolar. */
.match-screen .live-information-panel > .live-info-tabs > button{
  flex-basis: 68px !important;
  min-width: 68px !important;
}
.match-screen .live-information-panel > .live-info-tabs > button .live-tab-label{
  font-size: .56rem !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* O gatilho do placar tinha o rótulo "opções" em ~5,4 px. É ação interativa,
   não decoração; a hierarquia continua pequena, mas legível. */
.pitch-score .live-score-menu-trigger > small{
  margin-top: 2px;
  gap: 3px;
  font-size: .56rem !important;
  line-height: 1.1 !important;
  letter-spacing: .02em;
}

/* Configurações rápidas do Ao Vivo: badges auxiliares podem ser compactos,
   mas não microscópicos. */
.live-score-setting-toggle em{
  font-size: .56rem !important;
  line-height: 1.15;
}
.live-score-settings-note, .live-score-setting-field > small, .live-score-setting-toggle small{
  font-size: .59rem !important;
  line-height: 1.35;
}

/* Metas: badge e estado pertencem à leitura da cobrança da diretoria. Como o
   layout já empilha o status, não há justificativa para tipografia sub-8 px. */
.season-objective-row header{ row-gap: 5px; }
.season-objective-row header em{
  padding: 4px 7px;
  font-size: .56rem !important;
  line-height: 1.15;
}
.season-objective-row > b, .season-objective-summary{ font-size: .61rem !important; line-height: 1.4; }
.season-objective-history article span{ font-size: .59rem !important; line-height: 1.35; }
.season-objective-history article small{ font-size: .57rem !important; line-height: 1.4; }

/* Histórico de retorno: categoria, cena e tempo não disputam mais uma única
   linha. A categoria ocupa a primeira faixa; cena e tempo formam a segunda. */
.return-timeline-meta{
  flex-wrap: wrap;
  column-gap: 7px;
  row-gap: 4px;
}
.return-timeline-meta > small{
  flex: 1 1 100%;
  width: 100%;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  font-size: .57rem !important;
  line-height: 1.25;
}
.return-timeline-meta time{
  margin-left: auto;
  font-size: .57rem !important;
  line-height: 1.25;
}
.return-event-scene, .notification-scene-label{
  font-size: .56rem !important;
  line-height: 1.15;
}
.return-timeline-event strong{ font-size: .72rem; line-height: 1.35; }
.return-timeline-event p{ font-size: .61rem; line-height: 1.45; }
.return-timeline-event em, .notification-scene-evidence{ font-size: .58rem; line-height: 1.4; }

/* Estádio: o status do desenho usava descrição de ~6,9 px. O card ganha alguns
   pixels de altura para preservar a hierarquia sem sacrificar informação. */
.stadium-canvas-status{
  grid-template-columns: 28px minmax(0,1fr) auto !important;
  min-height: 38px !important;
  padding: 5px 8px !important;
  gap: 7px !important;
}
.stadium-canvas-status > span{
  width: 28px !important;
  height: 28px !important;
  font-size: .72rem !important;
}
.stadium-canvas-status strong{
  font-size: .69rem !important;
  line-height: 1.15 !important;
}
.stadium-canvas-status small{
  font-size: .56rem !important;
  line-height: 1.2 !important;
}
.stadium-canvas-status > b{ font-size: .7rem !important; }

/* Feedback médico e busca universal usam a mesma escala curta do restante dos
   cards compactos; o conteúdo principal não muda de geometria. */
.medical-plan-feedback span{ gap: 3px; }
.medical-plan-feedback strong{ font-size: .65rem; line-height: 1.25; }
.medical-plan-feedback small{ font-size: .59rem; line-height: 1.4; }
.universal-search-result small{ font-size: .58rem; line-height: 1.2; }
.universal-search-result strong{ font-size: .8rem; line-height: 1.25; }
.universal-search-result em{ font-size: .65rem; line-height: 1.3; }

/* ===== V380 · cabeçalho de modal sem coluna fantasma =====
   `.is-hidden` é uma regra global com `display:none !important`. Quando o modal
   não possui Voltar, portanto, o primeiro item realmente sai da grade. O header
   declara agora o estado estrutural e usa duas colunas nesse caso; com modal
   empilhado mantém três colunas. Isso preserva o X em 38px e entrega todo o
   espaço restante ao título, sem margens artificiais ou larguras fixas. */
.app-modal > header.has-no-modal-back{
  grid-template-columns: minmax(0,1fr) 38px;
}
.app-modal > header.has-modal-back{
  grid-template-columns: 38px minmax(0,1fr) 38px;
}
.app-modal.is-locked > header.has-no-modal-back{
  grid-template-columns: minmax(0,1fr) auto;
}
.app-modal > header.has-no-modal-back > :is(div,h1,h2,h3), .app-modal > header.has-modal-back > :is(div,h1,h2,h3){
  min-width: 0;
}

/* ===== V381 · modais encadeados, medidores e topo compacto =====
   Correções pontuais baseadas em bugs observados em uso real. Não altera motor,
   RNG, calendário, finanças, mercado, save ou qualquer valor esportivo. */

/* O percentual textual dos stakeholders usava um seletor amplo para <b>, que
   também atingia o <b> interno do medidor. A margem vertical era recortada pela
   barra de 5px e deixava visível apenas uma linha. O preenchimento do medidor
   nunca herda margem ou tipografia de texto. */
.state-percent-meter > b{
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
.stakeholder-grid article > div > b{
  margin: 4px 0 5px;
  font-size: .86rem;
}

/* O resumo inferior do topo mantém os quatro elementos visíveis na mesma
   fileira. A célula de contexto continua compacta (somente ícone) e os três
   indicadores restantes dividem o espaço útil sem criar uma segunda linha. */
.topbar-glance, .topbar-glance:has(.topbar-fans-chip){
  grid-template-columns: 31px repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 4px !important;
}
.topbar-page-context{
  display: flex !important;
  justify-content: center !important;
  padding: 0 !important;
}

.topbar-glance-chip{
  min-height: 27px !important;
  padding: 3px 4px !important;
}
.topbar{
  gap: 5px 8px !important;
  padding-bottom: 7px !important;
}

/* Sem partida definida não existe identidade de adversário para calcular
   contraste. O estado neutro usa superfície clara própria e texto/ícone preto,
   portanto permanece legível independentemente da cor do clube no topo. */
.topbar-glance-chip.is-rival.is-no-next-match{
  color: #050505 !important;
  background: #f4f6f8 !important;
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.topbar-glance-chip.is-rival.is-no-next-match :is(
  .topbar-next-copy,
  .topbar-next-copy small,
  .topbar-next-copy strong,
  .topbar-next-crest,
  .fa-solid,
  .fa-regular,
  span
){
  color: #050505 !important;
  text-shadow: none !important;
}



/* ===== V382 · auditoria de contraste em superfícies de identidade =====
   A regra final é deliberadamente estreita: só protege conteúdo que vive sobre
   um herói com --team-gradient-text calculado. Cards neutros continuam usando
   --text/--muted e acentos de tema normalmente. */
html[data-theme="light"] :is(.manager-profile-hero-modern,.team-profile-hero-modern,.app-modal.has-team-context .player-profile-head.modern-player-hero,.legacy-museum-hero,.celebration-card,.competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero), html[data-theme="dark"] :is(.manager-profile-hero-modern,.team-profile-hero-modern,.app-modal.has-team-context .player-profile-head.modern-player-hero,.legacy-museum-hero,.celebration-card,.competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero){
  color: var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] :is(.manager-profile-hero-modern,.team-profile-hero-modern,.app-modal.has-team-context .player-profile-head.modern-player-hero,.legacy-museum-hero,.celebration-card,.competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero)
:is(h1,h2,h3,h4,p,strong,b,span,small,em,.kicker,.fa-solid,.fa-regular), html[data-theme="dark"] :is(.manager-profile-hero-modern,.team-profile-hero-modern,.app-modal.has-team-context .player-profile-head.modern-player-hero,.legacy-museum-hero,.celebration-card,.competition-end-summary[style*="--team-gradient-primary"] .competition-end-hero)
:is(h1,h2,h3,h4,p,strong,b,span,small,em,.kicker,.fa-solid,.fa-regular){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme="light"] :is(.legacy-museum-copy > .kicker,.manager-profile-identity > div > .kicker,.team-profile-title > .kicker), html[data-theme="dark"] :is(.legacy-museum-copy > .kicker,.manager-profile-identity > div > .kicker,.team-profile-title > .kicker){
  color: var(--team-gradient-text,#fff) !important;
  background: var(--team-hero-panel-strong,rgba(7,17,31,.50)) !important;
  border-color: var(--team-hero-border,rgba(255,255,255,.24)) !important;
}

/* ==========================================================
   V384 · contraste definitivo do Ao Vivo no tema claro
   ----------------------------------------------------------
   O Ao Vivo acumulou regras históricas para botões neutros,
   estados de pausa e identidade do clube. No tema claro isso
   podia combinar preenchimento branco herdado com superfície
   clara. Esta guarda final é deliberadamente local à partida:
   comandos disponíveis usam o verde do campo com texto branco;
   o aviso do Modo Turbo usa superfície verde clara com texto
   verde escuro, sem herdar a cor branca da identidade do time.
   ========================================================== */
html[data-theme="light"] .match-screen .live-management-bar .live-management-actions > :is(button,.btn):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended){
  color: #ffffff !important;
  -webkit-text-fill-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),0 2px 5px rgba(5,36,23,.18) !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-management-bar .live-management-actions > :is(button,.btn):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended) :is(
  svg,
  .fa-solid,
  .fa-regular,
  .live-action-label,
  span,
  strong,
  small
){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-management-bar .live-management-actions > :is(button,.btn):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended):is(:hover,:focus-visible,:active){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#2d8d5b,#196a42) !important;
  border-color: #72bb92 !important;
}

html[data-theme="light"] .match-screen .live-turbo-pitch-note{
  color: #153b2b !important;
  -webkit-text-fill-color: #153b2b !important;
  background: #e8f3ed !important;
  border-color: #b8d7c7 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-turbo-pitch-note > .fa-solid{
  color: #176f49 !important;
  -webkit-text-fill-color: #176f49 !important;
}
html[data-theme="light"] .match-screen .live-turbo-pitch-note strong{
  color: #153b2b !important;
  -webkit-text-fill-color: #153b2b !important;
  text-shadow: none !important;
}
html[data-theme="light"] .match-screen .live-turbo-pitch-note small{
  color: #49695a !important;
  -webkit-text-fill-color: #49695a !important;
  text-shadow: none !important;
}
/* Os IDs entram de propósito nesta proteção: regras antigas usam :is() com
   seletores por ID, elevando a especificidade mesmo quando o botão Pausar /
   Continuar casa pela classe. Sem esta guarda o navegador podia manter a
   superfície clara antiga enquanto -webkit-text-fill-color já era branco. */
html[data-theme="light"] .match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,
  #liveStrategyBtn,
  #liveSubstitutionBtn,
  #liveRolesBtn,
  #liveIntegrityBtn,
  #skipMatchBtn
):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#247a4c,#155f3b) !important;
  border-color: #4a9f73 !important;
}
html[data-theme="light"] .match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,
  #liveStrategyBtn,
  #liveSubstitutionBtn,
  #liveRolesBtn,
  #liveIntegrityBtn,
  #skipMatchBtn
):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended) :is(
  svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small
){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html[data-theme="light"] .match-screen .live-decision-callout > div > small{
  color: #8a5a00 !important;
  -webkit-text-fill-color: #8a5a00 !important;
  text-shadow: none !important;
}

/* ==========================================================
   V385 · decisões importantes, topo sem jogo e comandos Ao Vivo
   ----------------------------------------------------------
   Ações de alto impacto deixam de depender de prompts nativos curtos.
   O estado sem próximo jogo recebe par fundo/texto inseparável nos dois
   temas. Comandos do Ao Vivo jamais mudam para cinza: quando indisponíveis,
   preservam a mesma paleta verde e usam somente opacidade para comunicar o
   estado desabilitado.
   ========================================================== */

/* Modal explicativo compartilhado por decisões importantes. */
.important-decision-modal{
  display: grid;
  gap: 12px;
}
.important-decision-hero{
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--text) !important;
  background: var(--panel-2) !important;
}
.important-decision-hero > :first-child:not(div){
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #ffffff !important;
  background: #176f49 !important;
}
.important-decision-hero .crest{
  width: 50px !important;
  height: 50px !important;
  max-width: 50px !important;
  max-height: 50px !important;
}
.important-decision-hero > div{
  min-width: 0;
  display: grid;
  gap: 3px;
}
.important-decision-hero :is(.kicker,h3,p){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
.important-decision-hero h3{ margin: 0; font-size: 1rem; line-height: 1.2; }
.important-decision-hero p{ margin: 0; color: var(--muted) !important; line-height: 1.42; }

.important-decision-facts{
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
}
.important-decision-facts article{
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--text);
  background: var(--panel);
}
.important-decision-facts article > span{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #176f49 !important;
  background: color-mix(in srgb,#176f49 11%,var(--panel-2));
}
.important-decision-facts article > div{ min-width: 0; display: grid; gap: 1px; }
.important-decision-facts small{ color: var(--muted) !important; }
.important-decision-facts strong{
  min-width: 0;
  color: var(--text) !important;
  overflow-wrap: anywhere;
}
.important-decision-facts em{ color: var(--muted) !important; font-style: normal; }

.important-decision-columns{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.important-decision-columns > section{
  display: grid;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.important-decision-columns > section > header{
  display: flex;
  align-items: center;
  gap: 7px;
}
.important-decision-columns > section > header .fa-solid{ width: 18px; text-align: center; }
.important-decision-columns > section.is-positive{ border-color: color-mix(in srgb,#176f49 35%,var(--line)); }
.important-decision-columns > section.is-positive > header{ color: #177448; }
html[data-theme="dark"] .important-decision-columns > section.is-positive > header{ color: #6ed6a1; }
.important-decision-columns > section.is-caution{ border-color: color-mix(in srgb,#b46c00 38%,var(--line)); }
.important-decision-columns > section.is-caution > header{ color: #8a5700; }
html[data-theme="dark"] .important-decision-columns > section.is-caution > header{ color: #efbd64; }
.important-decision-columns ul{ margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.important-decision-columns li{ color: var(--text); line-height: 1.4; }
.important-decision-note{
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 7px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb,#2d75c8 28%,var(--line));
  border-radius: 11px;
  color: var(--text);
  background: color-mix(in srgb,#2d75c8 7%,var(--panel));
  line-height: 1.4;
}
.important-decision-note .fa-solid{ color: #2d75c8 !important; margin-top: 2px; }
html[data-theme="dark"] .important-decision-note .fa-solid{ color: #80b8f2 !important; }
.important-decision-actions{
  grid-template-columns: 1fr !important;
}

/* Sem adversário, não existem variáveis de identidade do rival confiáveis.
   O par é explícito e protegido inclusive contra seletores antigos do topo. */
html[data-theme="light"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match, html[data-theme="light"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match:is(:hover,:focus-visible,:active){
  color: #111820 !important;
  -webkit-text-fill-color: #111820 !important;
  background: #f4f6f8 !important;
  border-color: #aeb8c4 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}
html[data-theme="light"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match :is(
  .topbar-next-copy,.topbar-next-copy small,.topbar-next-copy strong,.topbar-next-crest,
  .fa-solid,.fa-regular,span,small,strong
){
  color: #111820 !important;
  -webkit-text-fill-color: #111820 !important;
  text-shadow: none !important;
}
html[data-theme="dark"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match, html[data-theme="dark"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match:is(:hover,:focus-visible,:active){
  color: #f7fafc !important;
  -webkit-text-fill-color: #f7fafc !important;
  background: #182330 !important;
  border-color: #536273 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html[data-theme="dark"] .topbar .topbar-glance > .topbar-glance-chip.is-rival.is-no-next-match :is(
  .topbar-next-copy,.topbar-next-copy small,.topbar-next-copy strong,.topbar-next-crest,
  .fa-solid,.fa-regular,span,small,strong
){
  color: #f7fafc !important;
  -webkit-text-fill-color: #f7fafc !important;
  text-shadow: none !important;
}

/* Os seis comandos preservam a paleta do gramado em qualquer estado. O único
   sinal visual de indisponibilidade é a opacidade do próprio botão. IDs entram
   aqui de propósito para vencer regras históricas que também usam :is() com ID. */
.match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn
){
  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;
  filter: none !important;
}
.match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn
) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn
):not(:disabled):not([aria-disabled="true"]):not(.is-disabled):not(.is-ended):is(:hover,:focus-visible,:active){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#2b8055,#176140) !important;
  border-color: #72b58f !important;
  opacity: 1 !important;
  filter: none !important;
}
.match-screen .live-management-bar .live-management-actions > :is(
  #livePauseBtn,#liveStrategyBtn,#liveSubstitutionBtn,#liveRolesBtn,#liveIntegrityBtn,#skipMatchBtn
):is(:disabled,[aria-disabled="true"],.is-disabled,.is-ended){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#216f47,#125437) !important;
  border-color: #4e9a72 !important;
  opacity: .46 !important;
  filter: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(5,36,23,.18) !important;
  pointer-events: none !important;
}

/* ==========================================================
   V385 · escudos sem sombra, anéis centralizados e métricas inteiras
   ----------------------------------------------------------
   Escudos são identidade gráfica e não recebem sombra projetada nem sombra
   de cartão. Os quatro anéis percentuais compartilham uma única pilha central,
   sem translateY específico por componente. Valores de força/reputação e
   percentuais podem manter precisão interna no motor, mas a interface exibe
   a escala inteira normalizada por displayWholeMetric/displayPercentMetric.
   ========================================================== */

/* O desenho do escudo permanece puro em qualquer tamanho/contexto. Seletores
   históricos mais específicos podem definir drop-shadow; esta guarda final os
   neutraliza sem remover sombras de cards, modais ou outros componentes. */
:is(img,svg).crest, .crest, :is(img,svg).crest.team-own-mark, .team-own-mark.crest{
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
/* Estes dois elementos são molduras dedicadas exclusivamente ao escudo. A
   superfície pode continuar existindo, porém sem sombra externa. */
.team-profile-crest-stage, .legacy-museum-crest-frame{
  filter: none !important;
  box-shadow: none !important;
}

/* Um único centro geométrico para todos os indicadores circulares existentes.
   O número e seu rótulo formam um bloco centralizado nos dois eixos; nenhum
   componente precisa compensar fonte/tamanho com deslocamento manual. */
.percentage-ring{
  position: relative;
  display: grid !important;
  place-items: center !important;
}
.percentage-ring > .ring-center{
  position: relative !important;
  z-index: 2 !important;
  grid-area: 1 / 1 !important;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  min-width: 0;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  color: inherit;
  text-align: center;
  line-height: 1 !important;
  transform: none !important;
}
.percentage-ring > .ring-center > strong{
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  line-height: .9 !important;
  transform: none !important;
}
.percentage-ring > .ring-center > small{
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--muted);
  font-size: .55rem !important;
  line-height: 1.05 !important;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  text-align: center;
  transform: none !important;
}
.tactic-score-ring > .ring-center, .locker-score > .ring-center, .medical-command-score.percentage-ring > .ring-center, .manager-legacy-score > .ring-center{
  margin: 0 !important;
  transform: none !important;
}
.tactic-score-ring > .ring-center > strong, .locker-score > .ring-center > strong, .medical-command-score.percentage-ring > .ring-center > strong, .manager-legacy-score > .ring-center > strong{
  transform: none !important;
}
.tactic-score-ring > .ring-center > small, .locker-score > .ring-center > small, .medical-command-score.percentage-ring > .ring-center > small, .manager-legacy-score > .ring-center > small{
  margin: 0 !important;
  transform: none !important;
}
.tactic-score-ring > .ring-center > small{ color: inherit !important; opacity: .9; }
.medical-command-score.percentage-ring > .ring-center > strong{ color: var(--medical-risk-color) !important; }
.manager-legacy-score > .ring-center{ gap: 7px !important; }
.manager-legacy-score > .ring-center > small{
  color: var(--muted) !important;
  font-size: .59rem !important;
  line-height: 1.2 !important;
}

/* ==========================================================
   V386 · loaders funcionais, espectador compacto e escudos puros
   ----------------------------------------------------------
   Animações cosméticas podem ser desligadas sem congelar indicadores de
   carregamento. O modo espectador nunca reserva colunas fantasma, o cabeçalho
   não cresce nem vaza para a direita e seus comandos preservam o verde.
   Escudos emitidos pelo serviço central ficam sem sombra em qualquer tamanho.
   ========================================================== */

/* Quando somente "Animações da interface" está desligado, spinners e barras
   indeterminadas continuam se movendo porque comunicam progresso real. Se a
   preferência de acessibilidade "Reduzir movimento" estiver ativa, a regra
   anterior continua valendo e estes efeitos permanecem estáticos. */
html[data-interface-animations="false"][data-reduced-motion="false"] :is(
  .app-task-spinner,
  .post-match-save-spinner,
  .live-finalization-spinner,
  .live-preparation-spinner,
  .share-preview-loading .fa-spinner,
  #observerSkipBtn.observer-processing-button .fa-spinner,
  #liveFinishTab.is-finalizing > .fa-spinner,
  button[aria-busy="true"] > .fa-spinner,
  .btn.is-busy-stable > .fa-spinner,
  .universal-search-empty.is-loading > .fa-spinner
){
  animation-name: post-match-save-spin !important;
  animation-duration: .75s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
}
html[data-interface-animations="false"][data-reduced-motion="false"] .app-task-overlay.is-indeterminate .app-task-progress > span{
  width: 34% !important;
  animation: app-task-progress 1.15s ease-in-out infinite alternate !important;
}
html[data-interface-animations="false"][data-reduced-motion="false"] .statistics-awards-loading:not(.is-error) .statistics-awards-loading-card > i > span{
  width: 42% !important;
  animation: awards-loading-slide 1.35s ease-in-out infinite !important;
}



/* V387 · loaders informativos ficam animados em qualquer configuração. */
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) :is(
  .app-task-spinner,
  .post-match-save-spinner,
  .live-finalization-spinner,
  .live-preparation-spinner,
  .share-preview-loading .fa-spinner,
  #observerSkipBtn.observer-processing-button .fa-spinner,
  #liveFinishTab.is-finalizing > .fa-spinner,
  button[aria-busy="true"] > .fa-spinner,
  .btn.is-busy-stable > .fa-spinner,
  .universal-search-empty.is-loading > .fa-spinner,
  .statistics-awards-loading-card .post-match-save-spinner,
  .live-info-tabs > button.is-waiting .fa-solid,
  .observer-screen #observerSkipBtn.observer-processing-button .fa-spinner
){
  animation-duration: .75s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) .app-task-spinner{
  animation-name: app-task-spin !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) :is(
  .post-match-save-spinner,
  .share-preview-loading .fa-spinner,
  #observerSkipBtn.observer-processing-button .fa-spinner,
  button[aria-busy="true"] > .fa-spinner,
  .btn.is-busy-stable > .fa-spinner,
  .universal-search-empty.is-loading > .fa-spinner,
  .statistics-awards-loading-card .post-match-save-spinner,
  .live-preparation-spinner,
  .live-info-tabs > button.is-waiting .fa-solid,
  .observer-screen #observerSkipBtn.observer-processing-button .fa-spinner
){
  animation-name: post-match-save-spin !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) :is(
  .live-finalization-spinner,
  #liveFinishTab.is-finalizing > .fa-spinner
){
  animation-name: live-finalization-spin !important;
  animation-duration: .82s !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) .share-preview-loading .fa-spinner::before{
  animation: fa-static-spin .85s linear infinite !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) .app-task-overlay.is-indeterminate .app-task-progress > span{
  width: 34% !important;
  animation: app-task-progress 1.15s ease-in-out infinite alternate !important;
}
html:is(.reduced-motion,[data-reduced-motion="true"],[data-interface-animations="false"]) .statistics-awards-loading:not(.is-error) .statistics-awards-loading-card > i > span{
  width: 42% !important;
  animation: awards-loading-slide 1.35s ease-in-out infinite !important;
}
/* Cabeçalho do espectador: duas linhas fixas e conteúdo sempre limitado pela
   largura real disponível antes do relógio. Dados secundários usam ellipsis em
   vez de aumentar o header ou escapar horizontalmente. */
.observer-screen > .match-header.observer-header{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  padding-inline: 8px !important;
  overflow: hidden !important;
}
.observer-screen > .match-header.observer-header > .observer-header-copy{
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 34px !important;
  grid-template-rows: 16px 14px !important;
  overflow: hidden !important;
}
.observer-screen .observer-header-copy > strong{
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.observer-screen .observer-header-copy > .match-header-meta{
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1.3fr) minmax(0,.9fr) auto !important;
  align-items: center !important;
  gap: 5px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.observer-screen .observer-header-copy > .match-header-meta > :is(b,small,span){
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.observer-screen .observer-header-copy > .match-header-meta > .match-context-label{ grid-column: 1 !important; }
.observer-screen .observer-header-copy > .match-header-meta > .match-stadium{ grid-column: 2 !important; }
.observer-screen .observer-header-copy > .match-header-meta > .match-attendance{ grid-column: 3 !important; }
/* Árbitro permanece acessível no title/aria da transmissão e não disputa a
   linha crítica do cabeçalho compacto quando essa preferência está habilitada. */
.observer-screen .observer-header-copy > .match-header-meta > .match-official{ display: none !important; }
.observer-screen > .match-header.observer-header > .observer-minute{
  flex: 0 0 auto !important;
  max-width: 56px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.observer-live-mode, .observer-live-mode.is-observer-finished{
  grid-template-rows: 42px minmax(235px,40%) minmax(0,1fr) !important;
}

/* O número real de botões define a largura: 1 ocupa 100%, 2 ocupam metade, 3
   ocupam um terço etc. Não existe terceira coluna reservada quando há só dois. */
.observer-screen .observer-command-actions, html[data-theme] .observer-screen .observer-command-actions{
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 4px !important;
  overflow: hidden !important;
}
.observer-screen .observer-command-actions > :is(button,.btn), html[data-theme] .observer-screen .observer-command-actions > :is(button,.btn){
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
}

/* Pausar/Retomar, Final e Voltar às competições seguem o mesmo contrato dos
   comandos do jogo controlado: verde + branco. Disabled mantém a cor e muda
   somente a opacidade; nenhum grayscale/saturate volta a entrar na cascata. */
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn), html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn){
  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;
  filter: none !important;
}
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small), html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active), html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#2b8055,#176140) !important;
  border-color: #72b58f !important;
  opacity: 1 !important;
  filter: none !important;
}
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn):is(:disabled,[aria-disabled="true"],.is-disabled,.is-ended), html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn):is(:disabled,[aria-disabled="true"],.is-disabled,.is-ended){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#216f47,#125437) !important;
  border-color: #4e9a72 !important;
  opacity: .46 !important;
  filter: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(5,36,23,.18) !important;
}
/* Durante a gravação final o botão continua verde e o spinner continua branco. */
.observer-screen #observerSkipBtn.observer-processing-button, html[data-theme] .observer-screen #observerSkipBtn.observer-processing-button{
  opacity: 1 !important;
  filter: none !important;
}
.observer-screen #observerSkipBtn.observer-exit-button, html[data-theme] .observer-screen #observerSkipBtn.observer-exit-button{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(180deg,#216f47,#125437) !important;
  border-color: #4e9a72 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Todos os WebP de clube emitidos por GooooolCrests recebem data-crest-webp,
   mesmo quando o chamador usa uma classe customizada sem `.crest`. Essa marca
   cobre miniaturas e escudos gigantes sem alterar dimensões ou o banco. */
[data-crest-webp="true"], :is(img,svg).crest, .crest, .team-own-mark.crest{
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
/* Molduras cujo único papel é apresentar um escudo também não projetam sombra. */
:is(
  .team-profile-crest-stage,
  .legacy-museum-crest-frame,
  .competition-end-emblem,
  .favorite-team-mark,
  .team-card-crest,
  .save-slot-team-crest,
  .calendar-showcase-team .calendar-showcase-crest
){
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* =========================================================
   V388 · campos horizontais e loaders sempre ativos
   ========================================================= */
/* Todo desenho de campo usa a mesma proporção horizontal do backing store. As
   regras antigas de 4:3/vertical ou height:100% não podem distorcer o gramado. */
:is(.tactical-canvas,.strategy-canvas,.lineup-canvas,.live-pitch-canvas,.observer-pitch-canvas){
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 960 / 470 !important;
  object-fit: contain !important;
  image-rendering: auto;
}
.live-pitch-shell:not(.is-pitch-disabled){
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

/* Loaders representam trabalho em andamento, não animação cosmética. Por
   decisão do produto, eles giram mesmo com qualquer opção de animação/movimento
   reduzido ativa. Estados concluído/erro continuam estáticos. */
@keyframes goooool-loader-spin { to { transform: rotate(360deg); } }
:is(
  .app-task-spinner,
  .post-match-background-status:not(.is-complete) .post-match-save-spinner,
  .live-finalization-overlay:not(.is-complete):not(.is-error) .live-finalization-spinner,
  .live-preparation-spinner,
  .share-preview-loading:not([hidden]) .fa-spinner,
  #observerSkipBtn.observer-processing-button .fa-spinner,
  #liveFinishTab.is-finalizing > .fa-spinner,
  button[aria-busy="true"] > .fa-spinner,
  .btn.is-busy-stable > .fa-spinner,
  .universal-search-empty.is-loading > .fa-spinner,
  .statistics-awards-loading:not(.is-error) .statistics-awards-loading-card .post-match-save-spinner,
  .live-info-tabs > button.is-waiting .fa-solid
){
  animation: goooool-loader-spin .78s linear infinite !important;
  animation-play-state: running !important;
}
.app-task-overlay.is-indeterminate .app-task-progress > span{
  width: 34% !important;
  animation: app-task-progress 1.15s ease-in-out infinite alternate !important;
  animation-play-state: running !important;
}
.statistics-awards-loading:not(.is-error) .statistics-awards-loading-card > i > span{
  width: 42% !important;
  animation: awards-loading-slide 1.35s ease-in-out infinite !important;
  animation-play-state: running !important;
}


/* =========================================================
   V389 · faixa de narração e comandos sem sobreposição
   =========================================================
   A barra de comandos já pode ocupar uma ou duas linhas (três botões por
   linha), então sua altura não pode continuar presa aos 44/46 px históricos.
   O bloco do jogo cresce pela altura real dos controles; a faixa preta fica
   sempre no fluxo logo abaixo do campo e nunca atrás dos botões. */
.match-screen:not(.is-post-match-view), .match-screen.is-finished:not(.is-post-match-view){
  grid-template-rows: 38px auto minmax(0,1fr) !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score{
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: 32px auto auto !important;
  align-content: start !important;
  overflow: hidden !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score > .live-pitch-shell{
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: relative !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score > .live-pitch-shell > .live-pitch-caption{
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  flex: none !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score > .live-management-bar{
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  align-self: stretch !important;
  overflow: hidden !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score > .live-management-bar > .live-management-actions{
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-content: start !important;
}
/* Campo desligado e Turbo mantêm suas faixas específicas, mas a terceira
   linha (comandos) também é automática. */
.match-screen.is-live-pitch-disabled:not(.is-turbo-live):not(.is-post-match-view) > .pitch-score{
  grid-template-rows: 54px 28px auto !important;
  min-height: 0 !important;
}
.match-screen.is-turbo-live:not(.is-live-pitch-disabled):not(.is-post-match-view) > .pitch-score{
  grid-template-rows: 31px auto auto !important;
  min-height: 0 !important;
}
.match-screen.is-turbo-live.is-live-pitch-disabled:not(.is-post-match-view) > .pitch-score{
  grid-template-rows: 54px 36px auto !important;
  min-height: 0 !important;
}

/* =========================================================
   V390 · comandos do Ao Vivo: uma coluna por botão visível
   =========================================================
   A barra não trabalha mais com "três por linha". Cada botão presente cria
   automaticamente uma coluna de mesma largura. Assim, 5 botões = 5 espaços,
   2 botões = 2 espaços, sem colunas fantasmas e sem quebra de rótulo. */
.match-screen .live-management-actions, html[data-theme] .match-screen .live-management-actions{
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0,1fr) !important;
  grid-auto-rows: 48px !important;
  align-items: stretch !important;
  align-content: start !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.match-screen .live-management-actions > :is(button,.btn), html[data-theme] .match-screen .live-management-actions > :is(button,.btn){
  grid-column: auto !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  max-inline-size: none !important;
  min-height: 48px !important;
  height: 48px !important;
  max-height: 48px !important;
  padding-inline: 2px !important;
  overflow: hidden !important;
}
.match-screen .live-management-actions > :is(button,.btn) > .live-action-label, html[data-theme] .match-screen .live-management-actions > :is(button,.btn) > .live-action-label{
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: .52rem !important;
  line-height: 1 !important;
}
/* O contador de substituições é informação auxiliar e não participa da grade
   interna do botão; por isso nunca força "Trocas" para uma segunda linha. */
.match-screen .live-management-actions #liveSubstitutionBtn > #liveSubCount, html[data-theme] .match-screen .live-management-actions #liveSubstitutionBtn > #liveSubCount{
  position: absolute !important;
  top: 2px !important;
  right: 3px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* ==========================================================
   V393 · Final/Voltar compactos no modo espectador
   ----------------------------------------------------------
   #observerSkipBtn troca de estado entre Final, processamento e Voltar às
   competições. Regras históricas empilhavam ícone/rótulo e faziam esse botão
   parecer mais alto. Ambos os comandos do espectador usam agora a mesma caixa
   compacta e o mesmo alinhamento horizontal em todos os estados.
   ========================================================== */
.observer-screen .observer-command-dock{
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 4px !important;
}
.observer-screen .observer-command-dock .observer-command-actions, html[data-theme] .observer-screen .observer-command-dock .observer-command-actions{
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  align-items: stretch !important;
}
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn), html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn){
  box-sizing: border-box !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 3px 6px !important;
  display: inline-flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  line-height: 1 !important;
  overflow: hidden !important;
}
.observer-screen .observer-command-dock #observerSkipBtn > :is(.fa-solid,.fa-regular), .observer-screen .observer-command-dock #observerSkipBtn.observer-exit-button > :is(.fa-solid,.fa-regular), .observer-screen .observer-command-dock #observerSkipBtn.observer-processing-button > :is(.fa-solid,.fa-regular){
  display: inline-grid !important;
  place-items: center !important;
  inline-size: 1em !important;
  min-inline-size: 1em !important;
  max-inline-size: 1em !important;
  block-size: 1em !important;
  min-block-size: 1em !important;
  max-block-size: 1em !important;
  margin: 0 !important;
  align-self: center !important;
  flex: 0 0 1em !important;
  line-height: 1 !important;
}
.observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn) > .live-action-label, html[data-theme] .observer-screen .observer-command-dock .observer-command-actions > :is(#observerPauseBtn,#observerSkipBtn) > .live-action-label{
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  align-self: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* ==========================================================
   V411 · contrato canônico de escudos sem sombra/moldura
   ----------------------------------------------------------
   Consolida as antigas guardas V391/V392/V394/V395. Mantém o mesmo resultado
   visual com uma única camada defensiva, evitando que correções históricas
   concorram entre si na cascata.
   ========================================================== */
:is(
  [data-crest-webp="true"],
  [data-crest-generated="true"],
  [data-crest-custom="true"],
  :is(img,svg).crest,
  .crest,
  .team-own-mark
){
  filter: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Marcas que historicamente receberam placa/halo diretamente. */
:is(
  .team-own-mark,
  .topbar-club-visual .crest.small,
  .topbar-club-visual > .crest.small,
  .topbar-next-crest .crest,
  .topbar-next-crest svg.crest,
  .landing-save-featured-crest,
  .save-slot-card-crest,
  .calendar-showcase-team .calendar-showcase-crest,
  .legacy-museum-crest-frame .crest,
  .celebration-emblems .crest,
  .team-card-crest .crest,
  .landing-v99 .team-card-crest .crest,
  .landing-v99 .team-card-crest svg,
  .matchday-team .crest,
  .setup-selected-team .crest,
  .selected-team-visual .crest,
  .team-profile-crest-stage .crest,
  .team-profile-crest-stage :is(img,svg),
  .market-route-crest .crest,
  .club-editor-preview-crest .crest,
  .live-event-team-crest .crest,
  .friendly-result-crest .crest,
  .offer-club-mark .crest,
  .market-club-crest .crest,
  .observer-featured .crest,
  .topbar > .crest.small,
  .universal-result-crest
){
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Hosts cujo papel é apenas apresentar a identidade do clube. */
:is(
  .topbar-club-visual,
  .topbar-next-crest,
  .landing-save-featured-crest,
  .save-slot-card-crest,
  .calendar-showcase-team .calendar-showcase-crest,
  .legacy-museum-crest-frame,
  .competition-end-emblem,
  .celebration-emblems,
  .favorite-team-mark,
  .observer-featured,
  .landing-continue-club-crest,
  .save-slot-team-crest,
  .market-route-crest,
  .club-editor-preview-crest,
  .live-event-team-crest,
  .friendly-result-crest,
  .market-club-crest,
  .offer-club-mark,
  .team-card-crest,
  .landing-v99 .team-card-crest,
  .universal-result-icon.has-crest,
  .team-profile-crest-stage,
  .main-view-icon,
  .national-context-banner-mark,
  .matchday-team
){
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Somente wrappers que já eram deliberadamente "escudo puro" perdem borda. */
:is(
  .legacy-museum-crest-frame,
  .competition-end-emblem,
  .market-route-crest,
  .club-editor-preview-crest,
  .live-event-team-crest,
  .universal-result-icon.has-crest,
  .landing-v99 .team-card-crest,
  .team-card-crest,
  .favorite-team-mark,
  .save-slot-team-crest,
  .landing-continue-club-crest,
  .topbar-next-crest,
  .team-profile-crest-stage,
  .calendar-showcase-team .calendar-showcase-crest,
  .friendly-result-crest,
  .market-club-crest,
  .offer-club-mark
){
  border: 0 !important;
  outline: 0 !important;
}
:is(
  .legacy-museum-crest-frame,
  .competition-end-emblem,
  .market-route-crest,
  .club-editor-preview-crest,
  .live-event-team-crest,
  .universal-result-icon.has-crest,
  .landing-v99 .team-card-crest,
  .team-card-crest
){
  padding: 0 !important;
}
:is(
  .legacy-museum-crest-frame,
  .market-route-crest,
  .club-editor-preview-crest,
  .live-event-team-crest,
  .universal-result-icon.has-crest,
  .landing-v99 .team-card-crest,
  .team-card-crest
){
  overflow: visible !important;
}

/* ==========================================================
   V396 · topo e cards compactos com geometria final consistente
   ----------------------------------------------------------
   O topo acumulou dimensões históricas diferentes para resumo, ações e chips.
   Esta guarda final usa uma única altura visual por fileira e deixa a grade
   inferior criar uma coluna por chip realmente presente. Cards compactos que
   ainda dependiam de microtipografia recebem uma escala mínima legível.
   ========================================================== */
.topbar{
  gap: 6px 8px !important;
  padding-bottom: 7px !important;
}
.topbar-club-summary{
  box-sizing: border-box !important;
  min-height: 38px !important;
  height: 38px !important;
  max-height: 38px !important;
  align-items: center !important;
}
.topbar-club-visual{
  width: 31px !important;
  min-width: 31px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  place-items: center !important;
}
.topbar-club-visual > :is(.crest.small,.team-own-mark){
  max-width: 29px !important;
  max-height: 32px !important;
}
.topbar-club-copy{ gap: 2px !important; }
.topbar-club-copy strong{
  font-size: .76rem !important;
  line-height: 1.08 !important;
}
.topbar-club-copy > span{
  font-size: .55rem !important;
  line-height: 1.08 !important;
}
.topbar .topbar-actions{
  gap: 4px !important;
  align-items: center !important;
}
.topbar .topbar-actions > .topbar-menu-button, .topbar :is(.topbar-money,.topbar-status-money){
  box-sizing: border-box !important;
  min-height: 31px !important;
  height: 31px !important;
  max-height: 31px !important;
  border-radius: 9px !important;
  align-items: center !important;
  justify-content: center !important;
}
.topbar .topbar-actions > .topbar-menu-button{
  width: 31px !important;
  min-width: 31px !important;
  max-width: 31px !important;
  padding: 0 !important;
}
.topbar :is(.topbar-money,.topbar-status-money){
  padding: 4px 6px !important;
}
.topbar :is(.topbar-money,.topbar-status-money) small{
  font-size: .48rem !important;
  line-height: 1 !important;
}
.topbar :is(.topbar-money,.topbar-status-money) strong{
  font-size: .62rem !important;
  line-height: 1.02 !important;
}
.topbar-glance, .topbar-glance:has(.topbar-fans-chip){
  grid-template-columns: 31px !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0,1fr) !important;
  gap: 4px !important;
  align-items: stretch !important;
}
.topbar-page-context, .topbar-glance-chip, .topbar-glance-chip.is-action{
  box-sizing: border-box !important;
  min-height: 31px !important;
  height: 31px !important;
  max-height: 31px !important;
}
.topbar-page-context{
  width: 31px !important;
  min-width: 31px !important;
  max-width: 31px !important;
  padding: 0 !important;
  justify-content: center !important;
}
.topbar-page-context span{ display: none !important; }
.topbar-glance-chip{
  padding: 3px 4px !important;
  overflow: hidden !important;
}
.topbar-glance-chip :is(small,strong), .topbar-next-copy :is(small,strong){
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.topbar-glance-chip small, .topbar-next-copy small{
  font-size: .5rem !important;
  line-height: 1 !important;
}
.topbar-glance-chip strong, .topbar-next-copy strong{
  font-size: .62rem !important;
  line-height: 1.05 !important;
}
.topbar-next-crest{
  width: 14px !important;
  min-width: 14px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  place-items: center !important;
}
.topbar-next-crest > :is(.crest,.team-own-mark), .topbar-next-crest > svg.crest{
  width: 13px !important;
  max-width: 13px !important;
  height: 16px !important;
  max-height: 16px !important;
}

/* Ritmo comum de linhas compactas sem impor altura artificial ao conteúdo. */
.content :is(.mini-row,.ledger-row,.save-slot-row,.career-offer-row,.notification-center-list article,.demo-table-row), .universal-search-result, .market-route-team, .market-route-player{
  min-width: 0 !important;
  align-items: center !important;
}
.btn.compact{
  min-height: 36px !important;
  line-height: 1.1 !important;
}
.market-route-copy small, .market-route-player small{
  font-size: .56rem !important;
  line-height: 1.2 !important;
}
.market-route-copy strong, .market-route-player strong{
  font-size: .68rem !important;
  line-height: 1.2 !important;
}
.market-route-copy em{
  font-size: .58rem !important;
  line-height: 1.2 !important;
}
.universal-search-result{
  min-height: 48px !important;
}
.universal-search-result > :is(.universal-result-icon,.universal-result-icon.has-crest){
  align-self: center !important;
}


/* ==========================================================
   V397 · Painel verde no pós-jogo e respiro inferior compacto
   ----------------------------------------------------------
   O botão Final se transforma em Painel após o apito e não pode voltar a
   herdar a paleta do clube. Painel/Voltar ao painel usam o mesmo verde dos
   demais comandos do Ao Vivo. O espaço entre comandos e informações é
   reduzido aproximadamente pela metade sem alterar a altura dos botões.
   ========================================================== */
.match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
), html[data-theme] .match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: transparent !important;
  background-image: linear-gradient(180deg,#216f47,#125437) !important;
  border: 1px solid #4e9a72 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 2px 5px rgba(5,36,23,.18) !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}
.match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small), html[data-theme] .match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
) :is(svg,.fa-solid,.fa-regular,.live-action-label,span,strong,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}
.match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active), html[data-theme] .match-screen :is(
  #skipMatchBtn.post-match-panel-button,
  #finishHomeBtn
):not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible,:active){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-image: linear-gradient(180deg,#2b8055,#176140) !important;
  border-color: #72b58f !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20),0 3px 8px rgba(5,36,23,.24) !important;
}
/* Antes: padding inferior efetivo de ~5 px no campo + 4 px de gap da grade.
   Agora: 2 px + 2 px, reduzindo o respiro abaixo dos comandos pela metade. */

/* ==========================================================
   V398 · Ao Vivo sem vão inferior e classificação sem quique
   ----------------------------------------------------------
   A V397 reduziu o gap externo, mas uma camada histórica ainda mantinha até
   10 px de padding dentro da barra de comandos. Aqui o espaço inferior da
   barra é efetivamente zerado e o painel de informações encosta com apenas
   um respiro estrutural mínimo. A reordenação da tabela é tratada no JS com
   FLIP curto, estável e limitado em frequência.
   ========================================================== */

/* A tabela pode atualizar os números a cada lance, mas o realce visual não
   precisa parecer um salto. A classe de valor continua discreta e sem escala
   nos próprios rows de classificação. */
.match-screen .live-table-row:is(.is-dynamic-updated,.is-dynamic-enter){
  transform-origin: center !important;
}


/* ==========================================================
   V399 · respiro dos comandos do Ao Vivo
   ----------------------------------------------------------
   O grupo Encerrada/Plano/Trocas/Papéis/Ética/Painel ganha 5 px adicionais
   acima. A separação inferior estrutural fica em zero, o mínimo seguro sem
   sobrepor botões e painel de informações. Altura e distribuição horizontal
   dos comandos permanecem inalteradas.
   ========================================================== */
.match-screen:not(.is-post-match-view) > .pitch-score, .match-screen.is-finished:not(.is-post-match-view) > .pitch-score{
  padding-bottom: 0 !important;
  row-gap: 0 !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score > .live-management-bar, .match-screen.is-finished:not(.is-post-match-view) > .pitch-score > .live-management-bar{
  margin: 0 !important;
  padding: 7px 2px 0 !important;
  gap: 0 !important;
  border-bottom: 0 !important;
}

/* ==========================================================
   V400 · narrador de voz experimental
   ========================================================== */
.voice-narration-settings{
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid color-mix(in srgb,var(--primary) 22%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--primary) 6%,var(--panel));
}
.voice-narration-settings .toggle-row, .voice-narration-settings .range-field, .voice-narration-settings .notification-test-row{
  margin: 0 !important;
}
.voice-narration-settings #voiceNarrationTitle{
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.voice-narration-settings #voiceNarrationTitle > .badge{
  font-size: .5rem;
  line-height: 1;
  padding: 3px 6px;
}
.voice-narration-settings :is(input,button):disabled{
  opacity: .5;
  cursor: not-allowed;
}

/* ==========================================================
   V405 · diagnóstico e pronúncia do narrador
   ========================================================== */
.voice-narration-diagnostics{
  display: grid;
  gap: 6px;
  margin: 8px 0 2px;
}
.voice-diagnostic-item{
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb,var(--panel-2) 76%,transparent);
}
.voice-diagnostic-item > i{
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  font-style: normal;
}
.voice-diagnostic-item > span{ min-width: 0; }
.voice-diagnostic-item strong, .voice-diagnostic-item small{ display: block; min-width: 0; }
.voice-diagnostic-item strong{ font-size: .64rem; line-height: 1.1; }
.voice-diagnostic-item small{ margin-top: 2px; color: var(--muted); font-size: .54rem; line-height: 1.25; }
.voice-diagnostic-item.is-ok > i{ color: var(--success); }
.voice-diagnostic-item.is-warning > i{ color: #d39b28; }
.voice-diagnostic-item.is-error > i{ color: var(--danger); }
.voice-pronunciation-rules{ display: grid; gap: 5px; margin-top: 8px; }
.voice-pronunciation-rules textarea{
  width: 100%;
  min-height: 92px;
  resize: vertical;
  white-space: pre-wrap;
  line-height: 1.35;
}

/* ==========================================================
   V408 · respiro do Ao Vivo, avisos seguros e arquivo coerente
   ----------------------------------------------------------
   O bloco da transmissão ganha 8 px acima/abaixo sem alterar a geometria
   interna aprovada dos comandos. Avisos do gramado ficam sempre dentro da
   área útil e usam movimentos curtos, pictogramas semânticos e texto compacto.
   ========================================================== */

/* Área segura dos acontecimentos: nenhum toast ultrapassa o gramado. */
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay){
  box-sizing: border-box !important;
  top: 8px !important;
  width: min(276px, calc(100% - 16px)) !important;
  max-width: calc(100% - 16px) !important;
  min-width: 0 !important;
  min-height: 38px !important;
  max-height: min(92px, calc(100% - 16px)) !important;
  padding: 6px 8px !important;
  gap: 7px !important;
  border-radius: 11px !important;
  overflow: hidden !important;
  contain: paint !important;
  opacity: 0;
  animation: none !important;
  transition: opacity .18s ease, transform .22s cubic-bezier(.2,.78,.24,1) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-home{
  left: 8px !important;
  right: auto !important;
  transform: translate3d(-7px,-3px,0) scale(.985) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-away{
  left: auto !important;
  right: 8px !important;
  transform: translate3d(7px,-3px,0) scale(.985) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):is(.is-neutral,.is-important-event){
  left: 50% !important;
  right: auto !important;
  transform: translate3d(-50%,-6px,0) scale(.985) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-visible{
  opacity: 1 !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-home.is-visible, .live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-away.is-visible{
  transform: translate3d(0,0,0) scale(1) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay):is(.is-neutral,.is-important-event).is-visible{
  transform: translate3d(-50%,0,0) scale(1) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-goal{
  width: min(292px, calc(100% - 16px)) !important;
  min-height: 42px !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay).is-important-event{
  width: min(300px, calc(100% - 16px)) !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) > div:last-child{
  min-width: 0 !important;
  overflow: hidden !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) strong{
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: .64rem !important;
  line-height: 1.08 !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) small{
  display: -webkit-box !important;
  min-width: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-size: .54rem !important;
  line-height: 1.18 !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) :is(.live-event-overlay-icon,.live-event-team-crest){
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
  border-radius: 8px !important;
  align-self: center !important;
}
.live-pitch-shell .live-event-overlay:not(.live-user-goal-overlay) .live-event-overlay-icon{
  position: relative !important;
  overflow: hidden !important;
  color: #fff !important;
  background: color-mix(in srgb,var(--live-event-color) 78%,#111 22%) !important;
  border: 1px solid color-mix(in srgb,var(--live-event-color) 74%,#fff 26%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
  font-size: .74rem !important;
}
/* Cartões parecem cartões de arbitragem, não um ícone genérico de lista. */
.live-pitch-shell .live-event-overlay:is(.is-yellow,.is-red) .live-event-overlay-icon > :is(.fa-solid,.fa-regular){
  display: none !important;
}
.live-pitch-shell .live-event-overlay:is(.is-yellow,.is-red) .live-event-overlay-icon::before{
  content: "";
  display: block;
  width: 11px;
  height: 17px;
  border-radius: 2px;
  background: #f2c94c;
  border: 1px solid rgba(255,255,255,.6);
  transform: rotate(-7deg);
  box-shadow: 0 1px 2px rgba(0,0,0,.28);
}
.live-pitch-shell .live-event-overlay.is-red .live-event-overlay-icon::before{ background: #e5485a; }
/* Movimento sem quique: só o símbolo comunica a natureza do evento. */
.live-pitch-shell .live-event-overlay.is-goal.is-visible .live-event-overlay-icon > i{ animation: v408-live-ball .42s ease-out both; }
.live-pitch-shell .live-event-overlay.is-substitution.is-visible .live-event-overlay-icon > i{ animation: v408-live-swap .46s ease-out both; }
.live-pitch-shell .live-event-overlay:is(.is-var-check,.is-var-decision).is-visible .live-event-overlay-icon > i{ animation: v408-live-var .58s ease-out both; }
.live-pitch-shell .live-event-overlay.is-injury.is-visible .live-event-overlay-icon > i{ animation: v408-live-medical .52s ease-out both; }
@keyframes v408-live-ball {
  0% { transform: translateY(4px) scale(.82); opacity: .3; }
  65% { transform: translateY(-1px) scale(1.08); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
@keyframes v408-live-swap {
  0% { transform: translateX(-4px); opacity: .35; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes v408-live-var {
  0%,100% { opacity: 1; transform: scale(1); }
  45% { opacity: .62; transform: scale(.92); }
}
@keyframes v408-live-medical {
  0% { transform: scale(.88); opacity: .4; }
  100% { transform: scale(1); opacity: 1; }
}
/* O gol do time controlado continua especial, mas também respeita 8 px de área segura. */
.live-pitch-shell .live-user-goal-overlay, .live-pitch-shell .live-event-overlay.is-user-goal{
  max-width: calc(100% - 16px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Conteúdo histórico sai de Saves e dados e passa a viver no Museu/História. */
.career-archive-panel{ display: grid; gap: 10px; }
.career-archive-grid{ display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
.career-archive-grid > section{
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.career-archive-grid :is(.history-scroll,.retired-list){ max-height: 210px; }

html[data-reduced-motion="true"] .live-pitch-shell .live-event-overlay, .reduced-motion .live-pitch-shell .live-event-overlay{
  transition: none !important;
  animation: none !important;
}
html[data-reduced-motion="true"] .live-pitch-shell .live-event-overlay :is(.live-event-overlay-icon > i,.live-event-overlay-icon::before), .reduced-motion .live-pitch-shell .live-event-overlay :is(.live-event-overlay-icon > i,.live-event-overlay-icon::before){
  animation: none !important;
}

/* ==========================================================
   V409 · respiro entre blocos, gutters e submenus sticky
   ----------------------------------------------------------
   O Ao Vivo usa o espaçamento no nível dos três blocos irmãos para que os
   8 px sejam visíveis em qualquer estado. Cards isolados seguem o gutter
   móvel e submenus só perdem cantos/margens quando realmente ficam presos.
   ========================================================== */
.match-screen:not(.is-post-match-view), .match-screen.is-finished:not(.is-post-match-view), .observer-screen:not(.is-post-match-view){
  row-gap: 8px !important;
  gap: 8px !important;
}
.match-screen:not(.is-post-match-view) > .pitch-score, .match-screen.is-finished:not(.is-post-match-view) > .pitch-score, .observer-screen:not(.is-post-match-view) > .pitch-score{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.match-screen:not(.is-post-match-view) > .live-information-panel, .match-screen.is-finished:not(.is-post-match-view) > .live-information-panel, .observer-screen:not(.is-post-match-view) > .live-information-panel{
  margin-top: 0 !important;
}

/* Blocos independentes de página nunca encostam diretamente nas laterais. */
#view > .career-world-strip{
  box-sizing: border-box !important;
  width: calc(100% - (var(--mobile-card-gutter,10px) * 2)) !important;
  margin-inline: var(--mobile-card-gutter,10px) !important;
}

/* Enquanto o submenu está apenas no fluxo, conserva sua geometria original.
   Quando o sticky realmente entra em ação, ele sangra até os limites do
   scrollport, perde os cantos e as bordas laterais; ao voltar, a classe sai. */
html .content .is-sticky-submenu.is-stuck{
  box-sizing: border-box !important;
  inline-size: calc(100% + var(--sticky-bleed-left,0px) + var(--sticky-bleed-right,0px)) !important;
  max-inline-size: none !important;
  margin-inline-start: calc(-1 * var(--sticky-bleed-left,0px)) !important;
  margin-inline-end: calc(-1 * var(--sticky-bleed-right,0px)) !important;
  border-inline-start: 0 !important;
  border-inline-end: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.14) !important;
}
html[data-theme="light"] .content .is-sticky-submenu.is-stuck{
  box-shadow: 0 6px 16px rgba(28,39,57,.10) !important;
}

/* ==========================================================
   V416 · campos, sticky, finanças e opções do Ao Vivo
   ========================================================== */

/* O feedback financeiro replica a densidade do indicador da topbar e nasce
   rigorosamente centralizado nele. O JS limita apenas quando tocaria a borda. */
.finance-flyout-modern{
  box-sizing: border-box !important;
  display: flex !important;
  grid-auto-flow: initial !important;
  justify-items: initial !important;
  align-items: center !important;
  min-width: 0 !important;
  width: max-content !important;
  max-width: min(230px,calc(100vw - 16px)) !important;
  min-height: 31px !important;
  height: 31px !important;
  gap: 5px !important;
  padding: 3px 7px !important;
  border-radius: 9px !important;
  white-space: nowrap;
}
.finance-flyout-modern .finance-flyout-icon{
  width: 21px !important;
  height: 21px !important;
  font-size: .58rem !important;
}
.finance-flyout-modern > strong{
  flex: 0 0 auto;
  font-size: .68rem !important;
  line-height: 1 !important;
}
.finance-flyout-modern > small{
  min-width: 0;
  max-width: 105px !important;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .5rem !important;
  line-height: 1 !important;
  opacity: .82;
}

/* O CTA da notificação usa a superfície acessível calculada pelo teamStyle().
   Sem clube associado, os fallbacks globais continuam válidos. */
.notification-action-btn.is-primary{
  background: var(--team-marker-bg,var(--primary)) !important;
  color: var(--team-marker-text,var(--on-primary)) !important;
  border-color: color-mix(in srgb,var(--team-marker-text,var(--on-primary)) 16%,transparent) !important;
  text-shadow: none !important;
}
.notification-action-btn.is-primary :is(svg,i,span){ color: inherit !important; }

/* Sticky V416: o estado flutuante é uma barra do viewport do app, não um cartão
   arredondado. O bleed é calculado pelo shell no JS para tocar os dois limites. */
html .content .is-sticky-submenu.is-stuck{
  border-radius: 0 !important;
  border-inline: 0 !important;
  border-top-color: transparent !important;
  border-bottom: 1px solid color-mix(in srgb,var(--line) 88%,var(--primary) 12%) !important;
  background: color-mix(in srgb,var(--panel) 96%,var(--primary) 4%) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(16px) saturate(1.08);
}
html[data-theme="light"] .content .is-sticky-submenu.is-stuck{
  background: color-mix(in srgb,#fff 96%,var(--primary) 4%) !important;
  box-shadow: 0 7px 18px rgba(28,39,57,.11) !important;
}

/* Modal do placar: ações de um toque, sem explicações repetidas. */
.live-score-quick-menu.is-compact{ gap: 9px !important; }
.live-score-quick-menu.is-compact .live-score-quick-status{
  min-height: 54px;
  padding: 8px 10px !important;
  gap: 8px !important;
}
.live-score-quick-menu.is-compact .live-score-quick-status > span{
  width: 30px !important;
  height: 30px !important;
  flex-basis: 30px !important;
}
.live-score-quick-menu.is-compact .live-score-quick-status strong{ font-size: .68rem !important; }
.live-score-quick-menu.is-compact .live-score-quick-status em{ font-size: .54rem !important; }
.live-score-quick-menu.is-compact .live-score-menu-section{ gap: 7px !important; padding: 9px !important; }
.live-score-quick-menu.is-compact .live-score-menu-title{ min-height: 30px; gap: 7px !important; }
.live-score-quick-menu.is-compact .live-score-menu-title > span{ width: 28px !important; height: 28px !important; }
.live-score-quick-menu.is-compact .live-score-menu-title strong{ font-size: .66rem !important; }
.live-score-quick-menu.is-compact .live-score-menu-title small{ font-size: .52rem !important; }

/* Cinco velocidades cabem como chips; em telas muito estreitas a faixa rola em
   vez de comprimir os rótulos. */
.live-score-quick-menu.is-compact .live-score-speed-grid{
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(64px,1fr) !important;
  grid-template-columns: none !important;
  gap: 5px !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}
.live-score-quick-menu.is-compact .live-score-speed-grid > .live-score-speed:last-child:nth-child(odd){ grid-column: auto !important; }
.live-score-quick-menu.is-compact .live-score-speed{
  min-height: 38px !important;
  padding: 5px 6px !important;
  display: grid !important;
  place-items: center !important;
  gap: 1px !important;
}
.live-score-quick-menu.is-compact .live-score-speed b{ font-size: .68rem !important; line-height: 1 !important; }
.live-score-quick-menu.is-compact .live-score-speed small{ font-size: .47rem !important; line-height: 1.1 !important; white-space: nowrap !important; }

.live-score-one-tap-grid{
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 6px !important;
}
.live-score-one-tap-grid > button{
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 6px 8px !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  text-align: left !important;
}
.live-score-one-tap-grid > button > :is(svg,i){ justify-self: center; }
.live-score-one-tap-grid > button > span{ min-width: 0; display: grid; gap: 1px; }
.live-score-one-tap-grid strong{ font-size: .62rem !important; line-height: 1.05 !important; }
.live-score-one-tap-grid small{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  font-size: .49rem !important;
  line-height: 1.05 !important;
}
.live-score-settings-details.compact > summary{ min-height: 42px !important; padding: 7px 9px !important; }
.live-score-settings-details.compact .live-score-settings-body{ padding: 7px 9px 9px !important; }
.live-score-settings-toggle-list.compact{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px !important; }
.live-score-setting-toggle.compact{
  min-height: 38px !important;
  padding: 6px 8px !important;
  border-radius: 10px !important;
}
.live-score-setting-toggle.compact > span{ display: flex !important; flex-wrap: wrap; align-items: center; gap: 3px 5px !important; }
.live-score-setting-toggle.compact strong{ font-size: .56rem !important; }
.live-score-setting-toggle.compact em{ font-size: .43rem !important; padding: 1px 4px !important; }
.live-score-setting-toggle.compact input{ transform: scale(.9); transform-origin: right center; }
.live-score-quick-menu.is-compact .live-score-tab-grid{ gap: 5px !important; }
.live-score-quick-menu.is-compact .live-score-tab-grid > button{ min-height: 36px !important; padding: 6px !important; }


/* ==========================================================
   V417 · sticky realmente preso à viewport visual
   ----------------------------------------------------------
   O estado normal continua `position:sticky` e pertence ao fluxo. Somente
   quando `.is-stuck` entra, a barra vira `fixed` e sai do scrollport que a
   recortava lateralmente. O placeholder criado no JS mantém a geometria.
   ========================================================== */
.sticky-submenu-placeholder{
  display: none !important;
  min-width: 0;
  width: 100%;
  pointer-events: none;
  visibility: hidden;
}
.sticky-submenu-placeholder.is-active{
  display: block !important;
}
html .content .is-sticky-submenu.is-stuck{
  position: fixed !important;
  inset-inline: auto !important;
  left: var(--sticky-fixed-left, 0px) !important;
  right: auto !important;
  top: var(--sticky-fixed-top, 0px) !important;
  width: var(--sticky-fixed-width, auto) !important;
  inline-size: var(--sticky-fixed-width, auto) !important;
  max-width: none !important;
  max-inline-size: none !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}
/* ==========================================================
   V418 · feedback financeiro compacto (legado preservado)
   ========================================================== */
.finance-flyout-modern{
  height: auto !important;
  min-height: 31px !important;
  max-height: 48px !important;
  white-space: normal !important;
}
.finance-flyout-modern > strong, .finance-flyout-modern .finance-flyout-icon{ white-space: nowrap !important; }
.finance-flyout-modern > small{
  max-width: 118px !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.12 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* V419 · Modo Desenvolvedor
 * O inspetor é completamente local. O destaque usa outline/overlay visual e não
 * altera a geometria do elemento inspecionado. */
html.developer-mode-enabled{ --dev-inspector-accent: #7bdcff; }
html.developer-mode-enabled body{ cursor: default; }
.dev-inspector-highlight{
  outline: 3px solid var(--dev-inspector-accent, #7bdcff) !important;
  outline-offset: 3px !important;
  animation: dev-inspector-pulse .72s ease-in-out 3;
}
@keyframes dev-inspector-pulse {
  0%,100% { outline-offset: 3px; filter: none; }
  50% { outline-offset: 7px; filter: brightness(1.08); }
}
.dev-inspector-shell{ display:grid; gap:12px; min-width:0; }
.dev-inspector-hero{
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px;
  padding:11px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2);
}
.dev-inspector-hero > span{
  width:38px; height:38px; display:grid; place-items:center; border-radius:11px;
  background:color-mix(in srgb,var(--primary) 16%,var(--panel)); color:var(--primary);
}
.dev-inspector-hero > div{ min-width:0; display:grid; gap:2px; }
.dev-inspector-hero small{ color:var(--muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }
.dev-inspector-hero strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dev-inspector-hero code{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:.62rem; }
.dev-inspector-tabs{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:4px;
  border:1px solid var(--line); border-radius:13px; background:var(--panel-2);
}
.dev-inspector-tabs button{
  min-width:0; padding:8px 5px; border:0; border-radius:9px; background:transparent;
  color:var(--muted); font:inherit; font-size:.67rem; font-weight:800;
}
.dev-inspector-tabs button.is-active{ background:var(--primary); color:var(--on-primary); }
.dev-inspector-pane{ display:grid; gap:6px; min-width:0; }
.dev-inspector-row{
  display:grid; grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr); align-items:start; gap:9px;
  padding:8px 9px; border:1px solid var(--line); border-radius:10px; background:var(--panel-2);
}
.dev-inspector-row > span{ color:var(--muted); font-size:.64rem; }
.dev-inspector-row > strong, .dev-inspector-row > code{ min-width:0; overflow-wrap:anywhere; font-size:.68rem; line-height:1.35; }
.dev-inspector-row > code{ color:var(--text); }
.dev-inspector-link{ display:grid; gap:6px; padding:9px; border:1px dashed var(--line); border-radius:10px; }
.dev-inspector-link > span{ color:var(--muted); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.dev-inspector-link code{ max-height:68px; overflow:auto; overflow-wrap:anywhere; font-size:.61rem; line-height:1.4; }
.dev-inspector-nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.dev-inspector-actions{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.dev-inspector-actions [data-dev-copy-link], .dev-inspector-actions [data-dev-report]{ grid-column:1 / -1; }
.dev-inspector-collector{
  display:grid; gap:9px; padding:10px; border:1px solid var(--line); border-radius:13px; background:var(--panel-2);
}
.dev-inspector-collector > header{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.dev-inspector-collector > header > div{ display:grid; gap:2px; min-width:0; }
.dev-inspector-collector > header small{ color:var(--muted); font-size:.57rem; text-transform:uppercase; letter-spacing:.06em; }
.dev-inspector-collector > header strong{ color:var(--text); font-size:.72rem; }
.dev-inspector-problem-field{ display:grid; gap:6px; min-width:0; color:var(--text); font-size:.66rem; font-weight:750; }
.dev-inspector-problem-field > span{ display:flex; align-items:center; gap:6px; }
.dev-inspector-problem-field > span small{ color:var(--muted); font-size:.57rem; font-weight:600; }
.dev-inspector-problem-field textarea{ width:100%; min-height:72px; resize:vertical; border-radius:10px; }
.dev-inspector-collector-actions{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.dev-inspector-collector-empty{ margin:0; color:var(--muted); font-size:.61rem; line-height:1.45; }
.dev-inspector-saved{ min-width:0; border-top:1px solid var(--line); padding-top:8px; }
.dev-inspector-saved > summary{ cursor:pointer; color:var(--text); font-size:.64rem; font-weight:800; }
.dev-inspector-saved-list{ display:grid; gap:6px; max-height:210px; overflow:auto; margin:8px 0; }
.dev-inspector-saved-issue{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--panel);
}
.dev-inspector-saved-issue > div{ display:grid; gap:2px; min-width:0; }
.dev-inspector-saved-issue strong, .dev-inspector-saved-issue small, .dev-inspector-saved-issue code{ overflow-wrap:anywhere; }
.dev-inspector-saved-issue strong{ color:var(--text); font-size:.63rem; }
.dev-inspector-saved-issue small{ color:var(--muted); font-size:.56rem; }
.dev-inspector-saved-issue code{ color:var(--muted); font-size:.53rem; }
.dev-inspector-saved-issue .icon-button{ width:34px; min-width:34px; height:34px; min-height:34px; padding:0; }
.dev-inspector-privacy{ border-top:1px solid var(--line); padding-top:9px; color:var(--muted); font-size:.64rem; }
.dev-inspector-privacy summary{ cursor:pointer; color:var(--text); font-weight:800; }
.dev-inspector-privacy p{ margin:7px 0 0; line-height:1.5; }

/* V451 · acesso por PIN, fila primeiro e restauração da minimização. */
.dev-inspector-tabs.has-five-tabs{
  display:flex;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.dev-inspector-tabs.has-five-tabs::-webkit-scrollbar{ display:none; }
.dev-inspector-tabs.has-five-tabs button{ flex:1 0 auto; min-width:64px; }
.dev-inspector-tabs.has-five-tabs button > span{ margin-left:4px; }
.dev-inspector-tabs.has-two-tabs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.dev-inspector-actions.is-restricted{ grid-template-columns:minmax(0,1fr); }
.dev-inspector-actions.is-restricted > *{ grid-column:auto !important; }
.dev-inspector-shell.is-queue-pane > :is(.dev-inspector-nav,.dev-inspector-actions,.dev-inspector-privacy){ display:none !important; }

.modal-minimize{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--panel-2);
  color:var(--text);
  cursor:pointer;
}
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized{
  background:transparent !important;
  backdrop-filter:none !important;
  pointer-events:none;
  padding:0 10px max(10px, env(safe-area-inset-bottom)) !important;
  place-items:end center !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized .app-modal{
  pointer-events:auto;
  width:min(430px, calc(100vw - 20px)) !important;
  max-width:min(430px, calc(100vw - 20px)) !important;
  min-height:0 !important;
  max-height:none !important;
  border-radius:16px !important;
  box-shadow:0 12px 36px rgba(0,0,0,.24);
}
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized .app-modal > header{
  border-bottom:0 !important;
  padding:9px 10px !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized .app-modal > header .kicker{ display:none; }
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized .app-modal > header h2{
  font-size:.78rem !important;
  margin:0 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.app-modal-overlay[data-dev-inspector-overlay="true"].is-dev-inspector-minimized .app-modal-body{ display:none !important; }
.dev-inspector-minimized-highlight{
  outline:3px dashed var(--dev-inspector-accent, #7bdcff) !important;
  outline-offset:4px !important;
}

.dev-access-gate{ display:grid; gap:12px; min-width:0; }
.dev-access-gate > header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel-2);
}
.dev-access-gate > header > span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:color-mix(in srgb,var(--primary) 16%,var(--panel));
  color:var(--primary);
}
.dev-access-gate > header > div{ display:grid; gap:2px; min-width:0; }
.dev-access-gate > header small{ color:var(--muted); font-size:.58rem; text-transform:uppercase; letter-spacing:.08em; }
.dev-access-gate > header strong{ color:var(--text); }
.dev-access-gate > p{ margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }
.dev-access-gate form{ display:grid; gap:10px; }
.dev-access-gate label{ display:grid; gap:6px; }
.dev-access-gate label > span{ color:var(--text); font-size:.68rem; font-weight:800; }
.dev-access-gate input{ width:100%; }
.dev-access-hint{ color:var(--muted); font-size:.6rem; line-height:1.45; }
.developer-mode-capabilities{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:10px 0; }
.developer-mode-capabilities span{
  display:flex; align-items:flex-start; gap:7px; min-width:0; padding:9px;
  border:1px solid var(--line); border-radius:11px; background:var(--panel-2); color:var(--muted); font-size:.64rem; line-height:1.35;
}
.developer-mode-capabilities .fa-solid{ flex:0 0 auto; color:var(--primary); margin-top:1px; }
@media (prefers-reduced-motion: reduce) {
  .dev-inspector-highlight{ animation:none !important; }
}


/* ==========================================================
   V420 · sticky sem mudança de skin + flyout absorvido pelo caixa
   ========================================================== */
html .content .is-sticky-submenu.is-stuck{
  position: fixed !important;
  inset-inline: auto !important;
  left: var(--sticky-fixed-left,0px) !important;
  right: auto !important;
  top: var(--sticky-fixed-top,0px) !important;
  width: var(--sticky-fixed-width,100vw) !important;
  inline-size: var(--sticky-fixed-width,100vw) !important;
  max-width: none !important;
  max-inline-size: none !important;
  margin-inline: 0 !important;
  transform: none !important;
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  background: var(--sticky-normal-background) !important;
  box-shadow: var(--sticky-normal-shadow) !important;
  backdrop-filter: var(--sticky-normal-backdrop) !important;
}
.finance-flyout-modern.finance-flyout{
  animation: finance-flyout-absorb 1.55s cubic-bezier(.22,.78,.22,1) forwards !important;
  transform-origin:center center;
  will-change:transform,opacity,filter;
}
@keyframes finance-flyout-absorb {
  0% { opacity:0; transform:translate3d(-50%,7px,0) scale(.92); filter:blur(0); }
  14% { opacity:1; transform:translate3d(-50%,0,0) scale(1); filter:blur(0); }
  66% { opacity:1; transform:translate3d(-50%,0,0) scale(1); filter:blur(0); }
  100% { opacity:0; transform:translate3d(calc(-50% + var(--finance-target-x,0px)),var(--finance-target-y,0px),0) scale(.12); filter:blur(1.5px); }
}
.money-absorb-receive{ animation:money-absorb-receive .42s cubic-bezier(.2,.8,.2,1); }
@keyframes money-absorb-receive { 0%,100%{transform:scale(1)} 45%{transform:scale(1.07)} }
@media (prefers-reduced-motion:reduce) {
  .finance-flyout-modern.finance-flyout{ animation:finance-flyout-reduced .72s ease-out forwards !important; }
  .money-absorb-receive{ animation:none !important; }
  @keyframes finance-flyout-reduced { 0%{opacity:0;transform:translate(-50%,3px)} 20%,75%{opacity:1;transform:translate(-50%,0)} 100%{opacity:0;transform:translate(-50%,0)} }
}


/* ==========================================================
   V421 · sticky preserva a caixa original + perfil do narrador visível
   ========================================================== */
/* A classe de participação no sistema sticky também deve ser visualmente
   neutra. Os valores foram capturados antes da classe ser adicionada. */
html .content .is-sticky-submenu{
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  background: var(--sticky-normal-background) !important;
  box-shadow: var(--sticky-normal-shadow) !important;
  backdrop-filter: var(--sticky-normal-backdrop) !important;
}
/* A variante com atributo de tema iguala/supera a especificidade de regras
   antigas de tema claro que ainda existiam no histórico do stylesheet. */
html[data-theme] .content .is-sticky-submenu{
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  background: var(--sticky-normal-background) !important;
  box-shadow: var(--sticky-normal-shadow) !important;
  backdrop-filter: var(--sticky-normal-backdrop) !important;
}
html .content .is-sticky-submenu.is-stuck{
  position: fixed !important;
  inset-inline: auto !important;
  left: var(--sticky-fixed-left,0px) !important;
  right: auto !important;
  top: var(--sticky-fixed-top,0px) !important;
  width: var(--sticky-fixed-width,auto) !important;
  inline-size: var(--sticky-fixed-width,auto) !important;
  max-width: none !important;
  max-inline-size: none !important;
  margin: 0 !important;
  transform: none !important;
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  background: var(--sticky-normal-background) !important;
  box-shadow: var(--sticky-normal-shadow) !important;
  backdrop-filter: var(--sticky-normal-backdrop) !important;
}
html[data-theme] .content .is-sticky-submenu.is-stuck{
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  background: var(--sticky-normal-background) !important;
  box-shadow: var(--sticky-normal-shadow) !important;
  backdrop-filter: var(--sticky-normal-backdrop) !important;
}
#competitionContent > .statistics-toolbar + .subtabs.is-sticky-submenu, #competitionContent > .statistics-toolbar + .subtabs.is-sticky-submenu.is-stuck{
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
}
/* ==========================================================
   V422 · sticky preserva DOM estrutural e caixa exata
   ========================================================== */
.sticky-submenu-placeholder, .content .is-sticky-submenu{ box-sizing: border-box !important; }
html .content .is-sticky-submenu.is-stuck{
  box-sizing: border-box !important;
  left: var(--sticky-fixed-left, 0px) !important;
  right: auto !important;
  width: var(--sticky-fixed-width, auto) !important;
  inline-size: var(--sticky-fixed-width, auto) !important;
  border-radius: var(--sticky-normal-radius) !important;
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
}
/* Estatísticas usa seletor de irmão adjacente. O placeholder V422 fica depois
   da barra, portanto esta regra continua válida antes, durante e depois do sticky. */
#competitionContent > .statistics-toolbar + .subtabs{
  box-sizing: border-box !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
}
html[data-theme="light"] #competitionContent > .statistics-toolbar + .subtabs{
  border-color: rgba(23,32,51,.13) !important;
}
#competitionContent > .statistics-toolbar + .subtabs.is-stuck{
  border-top: var(--sticky-normal-border-top) !important;
  border-right: var(--sticky-normal-border-right) !important;
  border-bottom: var(--sticky-normal-border-bottom) !important;
  border-left: var(--sticky-normal-border-left) !important;
  border-radius: var(--sticky-normal-radius) !important;
}

.voice-support-profile-card{
  display: grid;
  gap: 9px;
  margin: 10px 0;
  padding: 11px;
  border: 1px solid color-mix(in srgb,var(--primary) 32%,var(--line));
  border-radius: 14px;
  background: color-mix(in srgb,var(--panel-2) 90%,var(--primary) 10%);
}
.voice-support-profile-heading{
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 9px;
  align-items: center;
}
.voice-support-profile-heading > span{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb,var(--primary) 16%,transparent);
  color: var(--primary);
}
.voice-support-profile-heading > div{ min-width: 0; display: grid; gap: 2px; }
.voice-support-profile-heading strong{ font-size: .72rem; }
.voice-support-profile-heading small, .voice-support-profile-card label > small{ color: var(--muted); line-height: 1.35; }
.voice-support-profile-card label{ display: grid; gap: 5px; }


/* V422 · perfil de torcida no menu rápido do placar.
   Usa a mesma preferência global da aba Narração e mantém o modal compacto. */
.live-score-profile-choice{
  display: grid;
  gap: 7px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-2);
}
.live-score-profile-choice-head{
  min-width: 0;
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  gap: 7px;
  align-items: center;
}
.live-score-profile-choice-head > span{
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 11%,var(--panel));
}
.live-score-profile-choice-head > div{ min-width: 0; display: grid; gap: 1px; }
.live-score-profile-choice-head strong{ font-size: .68rem; line-height: 1.18; }
.live-score-profile-choice-head small{ color: var(--muted); font-size: .56rem; line-height: 1.32; }
.live-score-profile-chips{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 5px;
}
.live-score-profile-chips > button{
  min-width: 0;
  min-height: 31px;
  padding: 5px 6px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  color: var(--text);
  font-size: .61rem;
  font-weight: 700;
  white-space: nowrap;
}
.live-score-profile-chips > button.is-active{
  border-color: color-mix(in srgb,var(--primary) 46%,var(--line));
  background: color-mix(in srgb,var(--primary) 13%,var(--panel));
  color: var(--primary);
}

/* V423 · substituição: aviso de função do goleiro sem criar um segundo modal. */
.substitution-role-note{ margin:2px 0 0; padding:7px 9px; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--panel) 86%,var(--primary) 14%); color:var(--muted); font-size:.62rem; line-height:1.35; }
.substitution-role-note.is-warning{ border-color:color-mix(in srgb,#e8a43a 55%,var(--line)); color:var(--text); }
.substitution-player-card.is-role-incompatible{ opacity:.42; }

/* =========================================================
   V433 · auditoria de layout — etapa 1
   Ritmo de ajustes, páginas públicas e Wiki.
   ========================================================= */

/* Ajustes: um único sistema de espaçamento entre superfícies de primeiro nível.
   Os grupos antigos já traziam margin-top, enquanto o fluxo moderno também usa
   gap; somar os dois criava intervalos maiores sem significado. */
.settings-page-content{
  display: grid;
  align-content: start;
  gap: 12px;
}
.settings-page-content > .settings-group, .settings-page-content > .settings-tabs, .settings-page-content > .settings-autosave-banner, .settings-page-content > .main-view-hero{
  margin-block: 0 !important;
}
.settings-page-content > .settings-group.settings-tab-hidden{
  display: none !important;
}

/* Mundo em andamento agora é uma superfície da própria aba Carreira, não um
   cartão aninhado dentro de notificações. Mantém sua identidade visual sem
   duplicar o espaço externo do painel. */
.settings-page-content > .background-world-settings-panel{
  margin-top: 0;
  padding: 14px;
}

/* Frequência e lembrete são subseções das notificações, não novos cartões.
   A linha divisória mantém hierarquia e elimina borda + fundo + raio duplicados. */
.notification-settings-panel > .notification-local-policy, .notification-settings-panel > .local-reminder-settings{
  margin-top: 0;
  padding: 12px 0 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.notification-settings-panel > .notification-local-policy:first-of-type, .notification-settings-panel > .local-reminder-settings:first-of-type{
  margin-top: 0;
}

/* Wiki: o conteúdo já está dentro do padding da área principal. O wrapper do
   livro não acrescenta uma segunda margem horizontal. */
.wiki-page-book{
  padding-inline: 0;
}
.wiki-book-content{
  gap: 14px;
}
.wiki-book-topic{
  padding-block: 15px 16px;
}
/* Opções já são cartões; “Ajuda quando / Cuidado” não precisam virar dois
   cartões adicionais dentro do cartão da opção. */
.wiki-book-choice dl > div{
  padding: 7px 0 0 9px;
  border-radius: 0;
  background: transparent;
}
.wiki-book-choice dl > div:first-child{ box-shadow: inset 2px 0 0 var(--success); }
.wiki-book-choice dl > div:last-child{ box-shadow: inset 2px 0 0 var(--warning); }

/* Páginas públicas: uma seção já é a superfície principal. Grades e listas
   internas continuam agrupando conteúdo, mas deixam de empilhar cartões com
   borda dentro de cartões com borda. Avisos permanecem destacados. */
.internal-page-body .site-section > .site-grid .site-card{
  border: 0;
  box-shadow: none;
  background: color-mix(in srgb,var(--panel-2) 90%,transparent);
}
.internal-page-body .site-section > :is(.site-list,ul,ol) > li{
  padding-block: 5px;
  padding-right: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.internal-page-body .site-section > :is(.site-list,ul) > li::before{ top: 5px; }
.internal-page-body .site-section > ol > li::before{ top: 4px; }

/* =========================================================
   V433 · auditoria de layout — etapa 2
   Dia de jogo e estados especiais.
   ========================================================= */

/* O modal de Dia de jogo deve medir o conteúdo. A altura mínima antiga de
   86dvh/720px criava uma faixa vazia abaixo do último controle em telas altas.
   O max-height global continua protegendo viewports menores e mantém rolagem
   somente quando o conteúdo realmente não cabe. */
.app-modal:has(.matchday-cinematic){
  min-height: 0 !important;
}

/* O técnico automático é uma preferência binária dentro do cartão pré-jogo.
   Usar o mesmo idioma visual de switch das Configurações evita o checkbox
   branco nativo, que parecia um bloco solto e grande demais no fim do modal. */
.matchday-auto-manager input[type="checkbox"]{
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative;
  flex: 0 0 auto;
  width: 38px !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  box-sizing: border-box;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease;
}
.matchday-auto-manager input[type="checkbox"]::after{
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.28);
  transition: transform .16s ease;
}
.matchday-auto-manager input[type="checkbox"]:checked{
  border-color: rgba(72,220,125,.72);
  background: #16a34a;
}
.matchday-auto-manager input[type="checkbox"]:checked::after{
  transform: translateX(16px);
}
.matchday-auto-manager input[type="checkbox"]:focus-visible{
  outline: 2px solid #baf5d0;
  outline-offset: 2px;
}
html[data-theme="light"] .matchday-auto-manager input[type="checkbox"]{
  border-color: color-mix(in srgb,var(--muted) 58%,var(--line));
  background: color-mix(in srgb,var(--muted) 24%,var(--panel));
}
html[data-theme="light"] .matchday-auto-manager input[type="checkbox"]:checked{
  border-color: color-mix(in srgb,#16a34a 72%,var(--line));
  background: #16a34a;
}
.matchday-auto-manager input[type="checkbox"]{
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.18) !important;
}
.matchday-auto-manager input[type="checkbox"]:checked{
  border-color: rgba(72,220,125,.72) !important;
  background: #16a34a !important;
}
html[data-theme="light"] .matchday-auto-manager input[type="checkbox"]{
  border-color: #a9b2bf !important;
  background: #d7dde5 !important;
}
html[data-theme="light"] .matchday-auto-manager input[type="checkbox"]:checked{
  border-color: #15803d !important;
  background: #16a34a !important;
}

/* A Central de avisos também deve medir o conteúdo real. Com poucos avisos,
   a altura mínima de 78dvh/660px criava uma grande área vazia abaixo da lista.
   Quando houver muitos itens, o max-height do modal continua oferecendo
   rolagem normalmente. */
.app-modal:has(.notification-center-modern){
  min-height: 0 !important;
}

/* V433 · auditoria de layout — etapa 3
   Nos heróis de clube e técnico, a própria faixa já é a superfície de identidade.
   O cartão completo em volta do nome repetia borda, fundo, raio e padding dentro
   de outro cartão. O contraste continua vindo de --team-gradient-text e os chips
   preservam superfícies próprias onde isso realmente ajuda a leitura. */
.manager-profile-hero-modern .manager-profile-identity > div, .team-profile-hero-modern .team-profile-title{
  padding: 2px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* V433 · menu da partida: as cinco velocidades são um conjunto fechado.
   Rolagem horizontal escondia a opção 4× na menor largura; cinco colunas
   flexíveis cabem sem cortar nenhuma ação e o rótulo secundário pode quebrar. */
.live-score-quick-menu.is-compact .live-score-speed-grid{
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  overflow-x: visible !important;
  scrollbar-width: none;
}
.live-score-quick-menu.is-compact .live-score-speed{
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 5px 2px !important;
}
.live-score-quick-menu.is-compact .live-score-speed span{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
  font-size: .47rem !important;
  line-height: 1.05 !important;
  text-align: center;
}
.live-score-quick-menu.is-compact .live-score-speed b{
  font-size: .62rem !important;
}

/* V434 · Laboratório de notificações: um bloco funcional, sem card dentro de card. */
.notification-test-lab{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.notification-test-lab .local-reminder-heading{ grid-template-columns:auto minmax(0,1fr) auto; }
.notification-test-lab .badge{ width:auto;height:auto;padding:5px 8px;border-radius:999px;font-size:.52rem; }
.notification-test-preview{
  display:grid;
  gap:3px;
  padding:10px 0;
  border-block:1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.notification-test-preview strong{ font-size:.9rem; }
.notification-test-preview span, .notification-test-preview small{ color:var(--muted); line-height:1.42; }
.notification-option-grid label span small{ display:block;margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.3; }

/* =========================================================
   V435 — hierarquia factual para páginas informativas
   Números e regras decisivas aparecem antes da explicação.
   ========================================================= */
.regulation-body{
  gap: 0 14px;
  padding: 0 12px 12px;
}
.regulation-body .regulation-fact{
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
}
.regulation-body .regulation-fact:nth-last-child(-n/**/+2){ border-bottom-color: transparent; }
.regulation-body .regulation-fact h4{
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--text);
  font-size: .78rem;
  letter-spacing: .01em;
}
.regulation-body .regulation-fact h4 > i{ color: var(--regulation-accent); }
.regulation-metric-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 6px;
  min-width: 0;
}
.regulation-metric{
  display: grid;
  align-content: center;
  gap: 1px;
  min-width: 0;
  min-height: 62px;
  padding: 8px 10px;
  border-inline-start: 3px solid color-mix(in srgb, var(--regulation-accent) 72%, var(--line));
  background: color-mix(in srgb, var(--regulation-accent) 5%, var(--panel-2));
}
.regulation-metric strong{
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1.08;
  overflow-wrap: anywhere;
}
.regulation-metric span{
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.25;
}
.regulation-metric small{
  color: var(--muted);
  font-size: .61rem;
  line-height: 1.2;
}
.regulation-note-list{
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.regulation-note-list li{
  position: relative;
  padding-inline-start: 13px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.42;
}
.regulation-note-list li::before{
  content: "";
  position: absolute;
  inset-inline-start: 1px;
  top: .52em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--regulation-accent) 72%, var(--muted));
}
.regulation-order{
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.regulation-order li{
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--text);
}
.regulation-order li > span{
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: var(--panel-2);
  color: var(--muted);
  font-size: .63rem;
  font-weight: 700;
}
.regulation-order li > strong{
  font-size: .7rem;
  line-height: 1.3;
  font-weight: 580;
}
.regulation-chip-list{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.regulation-chip-list > span{
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--panel-2);
  font-size: .65rem;
  line-height: 1.2;
}
.regulation-chip-list b{ color: var(--text); }
.regulation-copy{
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.48;
}
.regulation-prize-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(108px,1fr));
  gap: 6px;
}
.regulation-prize-grid > div{
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  border-bottom: 2px solid color-mix(in srgb, var(--regulation-accent) 48%, var(--line));
  background: color-mix(in srgb, var(--panel-2) 80%, transparent);
}
.regulation-prize-grid span{
  color: var(--muted);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.regulation-prize-grid strong{
  color: var(--text);
  font-size: .78rem;
  line-height: 1.28;
  overflow-wrap: anywhere;
}
.country-coefficient-explain{
  align-items: flex-start;
}
.country-coefficient-explain > span{
  flex: 0 0 auto;
}
.content-fact-stack{
  display: grid;
  gap: 7px;
  min-width: 0;
  width: 100%;
}
.content-fact-stack > div{
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--line);
}
.content-fact-stack > div:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}
.content-fact-stack strong{
  color: var(--text);
  font-size: .73rem;
  line-height: 1.3;
}
.content-fact-stack span{
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.45;
}


/* =========================================================
   V436 — contraste seguro para cores dinâmicas de clube
   Cor de identidade nunca é usada como foreground bruto em
   superfícies neutras. O JS fornece --club-surface-accent com
   contraste calculado para o tema atual.
   ========================================================= */

.regulations-layout .regulation-icon, .regulations-layout .regulation-body .regulation-fact h4 > i{
  color: var(--regulation-accent) !important;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}


/* ===== V437 — contraste integral em botões e gradientes funcionais =====
   Um botão que mistura duas cores precisa de um foreground válido nas DUAS
   pontas do gradiente. --action-* é calculado pelo JavaScript com contraste
   mínimo nas duas superfícies; não derive texto apenas de --primary. */
:root{
  --action-primary: var(--primary);
  --action-secondary: var(--primary-2);
  --action-text: var(--primary-contrast, var(--on-primary, #07110c));
}

.btn:not(.secondary):not(.ghost):not(.danger):not(.destructive):not(.tertiary){
  color: var(--action-text) !important;
  background-color: transparent;
  background-image: linear-gradient(180deg,var(--action-primary),var(--action-secondary));
}
.btn:not(.secondary):not(.ghost):not(.danger):not(.destructive):not(.tertiary) :is(svg,.fa-solid,.fa-regular,span,strong,small){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

:is(.nav-play,.settings-nav-preview .is-play,.nav-custom-preview-play,.nav-preview-navbar .nav-play.is-preview){
  color: var(--action-text) !important;
  background-color: transparent !important;
  background-image: linear-gradient(180deg,var(--action-primary),var(--action-secondary)) !important;
}
:is(.nav-play,.settings-nav-preview .is-play,.nav-custom-preview-play,.nav-preview-navbar .nav-play.is-preview) :is(svg,.fa-solid,.fa-regular,.icon,span,strong,small){
  color: inherit !important;
}

.notification-action-btn.is-primary, .observer-live-mode .observer-clock .observer-continue-button, .observer-screen #observerSkipBtn.observer-exit-button, .match-screen #skipMatchBtn.post-match-panel-button, .match-screen #finishHomeBtn{
  color: var(--action-text) !important;
  background-color: transparent !important;
  background-image: linear-gradient(180deg,var(--action-primary),var(--action-secondary)) !important;
}
.notification-action-btn.is-primary :is(svg,i,span), .observer-live-mode .observer-clock .observer-continue-button :is(svg,i,span), .observer-screen #observerSkipBtn.observer-exit-button :is(svg,i,span), .match-screen #skipMatchBtn.post-match-panel-button :is(svg,i,span), .match-screen #finishHomeBtn :is(svg,i,span){ color: inherit !important; }

.match-screen #skipMatchBtn.post-match-panel-button:is(:hover,:focus-visible), .match-screen #finishHomeBtn:is(:hover,:focus-visible){
  background-image: linear-gradient(180deg,var(--action-secondary),var(--action-primary)) !important;
}

/* ===== V439 · descoberta incremental de clubes na Home =====
   A lista renderiza somente o lote necessário. Filtros e busca trabalham sobre
   o catálogo inteiro; o DOM cresce apenas conforme a pessoa rola a lista. */
.landing-v99 .setup-team-finder .team-picker-tools{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  align-items: end;
}
.landing-v99 .setup-team-finder .team-picker-tools .setup-team-search-field{
  grid-column: 1 / -1;
}
.landing-v99 .setup-team-context{
  margin: 2px 1px 7px;
  color: var(--muted);
  font-size: .6rem;
  line-height: 1.35;
}
.landing-v99 .setup-recent-teams{
  display: grid;
  gap: 7px;
  margin: 0 0 9px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel-2) 62%, transparent);
}
.landing-v99 .setup-recent-teams > div:first-child{
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.landing-v99 .setup-recent-teams > div:first-child small{
  color: var(--text);
  font-size: .6rem;
  font-weight: 750;
}
.landing-v99 .setup-recent-teams > div:first-child span{
  min-width: 0;
  color: var(--muted);
  font-size: .52rem;
  text-align: right;
}
.landing-v99 .setup-recent-team-list{
  display: flex;
  gap: 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}
.landing-v99 .setup-recent-team-list::-webkit-scrollbar{ display: none; }
.landing-v99 .setup-recent-team{
  flex: 0 0 auto;
  max-width: 168px;
  min-height: 42px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  padding: 6px 9px 6px 6px;
  border: 1px solid color-mix(in srgb, var(--team-surface-accent, var(--line)) 34%, var(--line));
  border-radius: 12px;
  background: var(--panel);
  color: var(--text);
  text-align: left;
}
.landing-v99 .setup-recent-team.is-selected{
  border-color: var(--team-surface-accent, var(--primary));
  background: color-mix(in srgb, var(--team-surface-accent, var(--primary)) 9%, var(--panel));
}
.landing-v99 .setup-recent-team > span{
  width: 28px;
  height: 30px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.landing-v99 .setup-recent-team .crest{ width: 26px; height: 30px; object-fit: contain; }
.landing-v99 .setup-recent-team strong{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .59rem;
}
.landing-v99 .team-card{ content-visibility: auto; contain-intrinsic-size: 78px; }
.landing-v99 .team-card-rating{
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 1px;
}
.landing-v99 .team-card-rating small{
  color: var(--muted);
  font-size: .43rem;
  font-weight: 650;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.landing-v99 .setup-team-load-sentinel, .landing-v99 .setup-team-empty{
  grid-column: 1 / -1;
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border: 1px dashed var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--panel-2) 74%, transparent);
  color: var(--muted);
  text-align: left;
}
.landing-v99 .setup-team-load-sentinel{ cursor: pointer; }
.landing-v99 .setup-team-load-sentinel > span, .landing-v99 .setup-team-empty > span{ color: var(--primary); }
.landing-v99 .setup-team-load-sentinel strong, .landing-v99 .setup-team-empty strong{ color: var(--text); font-size: .62rem; }
.landing-v99 .setup-team-load-sentinel small, .landing-v99 .setup-team-empty small{ color: var(--muted); font-size: .51rem; }
.landing-v99 .setup-team-empty{
  grid-template-columns: auto minmax(0,1fr);
}
.landing-v99 .setup-team-empty small{ grid-column: 2; }

/* V440 — início rápido: decisões secundárias ficam recolhidas sem esconder campos obrigatórios. */
.setup-more-options{ margin-top: 10px; }
.setup-more-options > summary{ min-height: 44px; }
.setup-more-options-body{ display: grid; gap: 10px; padding: 10px 11px 11px; }
.setup-more-options-body > .setup-world-priority{ margin: 0; }
.setup-more-options-body > .setup-compact-option{ margin: 0; }
.custom-quick-more .custom-start-source{ margin: 0; }


/* V441 — auditoria de superfícies aninhadas e controles.
   Elementos com borda própria dentro de um compartimento recolhível recebem
   respiro real do pai; listas deliberadamente edge-to-edge continuam fora
   desta regra. */
.setup-more-options[open] > summary{
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}
.setup-more-options-body > :is(.setup-priority-block,.setup-compact-option){ min-width: 0; }
.setup-more-options-body > .setup-compact-option :is(input,select,textarea){ margin-bottom: 0; }

/* Botões de ação dentro de caixas compactas nunca encostam na borda externa
   por falta de padding; o espaçamento pertence ao contêiner, não a margens
   improvisadas em cada botão. */
.setup-world-country-tools, .career-world-planner-tools, .career-world-planner-actions{ box-sizing: border-box; }

/* Campos nativos especiais seguem explicitamente o tema do documento. */
:where(input,select,textarea,button){ color-scheme: inherit; }

/* V442 — controles binários preservam a geometria que comunica sua função.
   A V441 zerava o raio globalmente e podia deixar switches customizados quadrados.
   Checkboxes comuns mantêm cantos discretos, radios são circulares e as chaves
   liga/desliga continuam em formato de pílula. A área tocável pertence ao label. */
input[type="checkbox"], input[type="radio"]{
  width: auto;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  accent-color: var(--primary);
}
input[type="checkbox"]{ border-radius: 4px; }
input[type="radio"]{ border-radius: 50%; }
.toggle-row input[type="checkbox"]{ border-radius: 999px; }

/* V441 — botões utilitários isolados seguem a geometria dos cards do jogo. */
.icon-button{ border-radius: 10px; }
.dashboard-config-row{ border-radius: 12px; }
.dashboard-config-row button{ border-radius: 9px; }


/* V443 — auditoria visual ampla: respiro, geometria coerente e correções do coletor.
   Não arredondar listas/tabelas edge-to-edge: as regras abaixo miram apenas superfícies
   autônomas com borda/fundo próprios e controles que semanticamente pedem cantos suaves. */
.topbar-glance-chip.is-rival{
  grid-template-columns: 14px minmax(0, 1fr) !important;
  column-gap: 5px !important;
}
.topbar-glance-chip.is-rival .topbar-next-crest{
  margin-inline-end: 1px;
}

.dashboard-performance-context{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.dashboard-country-mark{
  flex: 0 0 auto;
  font-size: .72rem;
  line-height: 1;
}
#customizeDashboardBtn.dashboard-customize-action{
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  min-height: 34px;
  padding: 0 !important;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
}
#customizeDashboardBtn.dashboard-customize-action .fa-solid, #customizeDashboardBtn.dashboard-customize-action .fa-regular{
  display: inline-block !important;
  margin: 0 !important;
  font-size: .75rem;
}

.landing-v99 .landing-recent-careers{
  margin: 0;
  border-radius: 20px !important;
  overflow: hidden;
}
.landing-v99 .landing-recent-careers .save-slot-visual-list{
  display: grid;
  gap: 8px !important;
}
.landing-v99 .landing-recent-careers .save-slot-team-card{
  border: 1px solid var(--team-hero-border, rgba(255, 255, 255, .24)) !important;
  border-radius: 16px !important;
  padding: 9px 10px !important;
}
.landing-v99 .landing-recent-careers .landing-save-open, .landing-v99 .landing-recent-careers .save-slot-team-card.team-tone > .btn.compact.landing-save-open{
  color: var(--team-action-text, var(--action-text)) !important;
  -webkit-text-fill-color: currentColor !important;
  background-color: transparent !important;
  background-image: linear-gradient(180deg, var(--team-action-primary, var(--action-primary)), var(--team-action-secondary, var(--action-secondary))) !important;
  border-color: color-mix(in srgb, var(--team-action-text, var(--action-text)) 32%, transparent) !important;
}
.landing-v99 .landing-recent-careers .landing-save-open :is(i, span, .fa-solid, .fa-regular){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Superfícies independentes encontradas quadradas durante a auditoria V443. */
.award-season-card{ border-radius: 14px; }
.loan-option, .loan-active{ border-radius: 13px; }
.custom-sound-grid > label{ border-radius: 13px; overflow: hidden; }
.clone-candidate{ border-radius: 11px; }
.clone-selected-player{ border-radius: 11px; }
.clone-option-chip span{ border-radius: 999px; }
.confidence-split > div{ border-radius: 12px; }
.mode-log-list article{ border-radius: 11px; }
.post-match-loading, .post-match-summary-fallback{ border-radius: 14px; }
.free-agent-profile-hero{ border-radius: 18px; }
.player-profile-metrics > div{ border-radius: 11px; }
.post-match-background-status{ border-radius: 13px; }

/* ==========================================================
   V444 · correções do coletor de problemas
   ========================================================== */

/* Mercado: o motivo é um cartão interno real e precisa respirar dentro do
   cartão da proposta, sem encostar na borda externa. */
.market-negotiation-card > .market-fit-reason{
  margin: 0 10px 10px !important;
}

/* Papéis: check é semântico (selecionado), não deve herdar uma cor de clube
   que pode ser preta sobre superfície escura. */
.role-selected-player > i.fa-circle-check{
  color: var(--success-text, var(--success)) !important;
  filter: none !important;
}

/* Perfil do técnico sem foto: usa a superfície do próprio herói e seu
   foreground calculado, evitando sigla preta sobre clube preto. */
html[data-theme] .manager-profile-hero-modern .manager-profile-photo-modern:not(img){
  color: var(--team-gradient-text, #fff) !important;
  -webkit-text-fill-color: currentColor !important;
  background: var(--team-gradient-primary, #27364f) !important;
  border-color: var(--team-hero-border, rgba(255,255,255,.24)) !important;
  text-shadow: none !important;
}

/* Museu: o pequeno selo sobre o escudo é propositalmente invertido em relação
   ao herói, e esta regra vem depois das proteções globais de contraste. */
html[data-theme] .legacy-museum-hero .legacy-museum-emblem-mark, html[data-theme] .legacy-museum-hero .legacy-museum-emblem-mark :is(.fa-solid,.fa-regular){
  color: var(--team-gradient-primary, #27364f) !important;
  -webkit-text-fill-color: currentColor !important;
}
html[data-theme] .legacy-museum-hero .legacy-museum-emblem-mark{
  background: var(--team-gradient-text, #fff) !important;
  border-color: color-mix(in srgb, var(--team-gradient-primary, #27364f) 72%, transparent) !important;
}

/* Wiki: cartões com radius não podem tocar o limite físico da viewport. A
   V432 havia zerado este gutter; restaura-se um respiro mobile único. */
.wiki-page-book{
  padding-inline: max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right)) !important;
}

/* Sliders com texto auxiliar usam duas linhas reais; descrição não fica
   colada ao rótulo nem compete com a trilha do range. */
.range-field > span{
  min-width: 0;
  font-weight: 600;
  line-height: 1.25;
}
.range-field:has(> small){
  padding-block: 8px !important;
  row-gap: 6px !important;
}
.range-field > small{
  grid-column: 1 / -1;
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.4;
}

/* Verificação da carreira: o próprio grupo de Ajustes já é a superfície pai;
   o cabeçalho interno deixa de repetir borda/fundo de outro .panel. */
.career-audit-settings-panel .audit-hero{
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Amistoso: botão de limpar é um controle icon-only completo, não o botão
   cinza padrão do navegador. */
.friendly-selected > .friendly-clear-button{
  display: grid;
  place-items: center;
  min-width: 36px !important;
  width: 36px !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--danger) 36%, var(--line)) !important;
  border-radius: 11px !important;
  color: var(--danger) !important;
  background: color-mix(in srgb, var(--danger) 9%, var(--panel-2)) !important;
  box-shadow: none !important;
  cursor: pointer;
}
.friendly-selected > .friendly-clear-button :is(.fa-solid,.fa-regular){ color: inherit !important; }
.friendly-selected > .friendly-clear-button:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--danger) 55%, transparent);
  outline-offset: 2px;
}

/* Encerramento de competição: o resumo inteiro ganha uma superfície discreta
   e padding; os cards internos continuam separados e legíveis. */
.competition-end-summary{
  padding: 12px !important;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel) 94%, var(--primary) 6%);
}

/* ==========================================================
   V478 · atualização única e varredura dos componentes móveis
   ========================================================== */

/* Central de Retorno: título e motivos agora formam uma superfície funcional,
   com os mesmos respiros, hierarquia e acabamento dos demais blocos do modal. */
.return-story-hooks{
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb,#d6ad55 34%,var(--line));
  border-radius: 16px;
  background: linear-gradient(145deg,color-mix(in srgb,#d6ad55 7%,var(--panel-2)),var(--panel-2));
}
.return-story-hooks > header{ display: grid; gap: 4px; min-width: 0; }
.return-story-hooks > header .kicker{
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb,#d6ad55 42%,var(--line));
  border-radius: 999px;
  color: #d6ad55;
  background: color-mix(in srgb,#d6ad55 10%,var(--panel));
}
.return-story-hooks > header > strong{ color: var(--text); font-size: .7rem; line-height: 1.3; }
.return-story-hooks > div{ display: grid; gap: 7px; min-width: 0; }
.return-story-hooks article{
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: start;
  gap: 9px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--panel);
}
.return-story-hooks article > span{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #d6ad55;
  background: color-mix(in srgb,#d6ad55 11%,var(--panel-2));
}
.return-story-hooks article > div{ min-width: 0; }
.return-story-hooks article :is(strong,small){ display: block; overflow-wrap: anywhere; }
.return-story-hooks article strong{ color: var(--text); font-size: .62rem; line-height: 1.35; }
.return-story-hooks article small{ margin-top: 2px; color: var(--muted); font-size: .54rem; line-height: 1.4; }

/* Rótulos sobre heróis temáticos nunca ficam como uma faixa retangular solta.
   A regra abrange o encerramento e os heróis equivalentes que usam teamStyle. */
:is(.competition-end-hero,.manager-profile-hero-modern,.team-profile-hero-modern,.legacy-museum-hero,.celebration-card) .kicker{
  width: max-content;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  padding: 4px 8px !important;
  border: 1px solid var(--team-hero-border,rgba(255,255,255,.24)) !important;
  border-radius: 999px !important;
}

/* O resumo do clube/seleção no topo recebe um par local calculado em conjunto.
   Isso evita texto claro sobre seleção clara ou texto escuro sobre seleção escura. */
.topbar-club-summary[style*="--team-gradient-text"]{
  color: var(--team-gradient-text) !important;
  background: var(--team-hero-panel) !important;
  border: 1px solid var(--team-hero-border) !important;
  box-shadow: inset 0 1px 0 var(--team-hero-decor) !important;
}
.topbar-club-summary[style*="--team-gradient-text"] :is(strong,span,small,.fa-solid,.fa-regular){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Título e explicação do guard ocupam linhas próprias. O ícone abrange as duas
   linhas e nenhum tamanho de fonte pode fazer os textos se encavalarem. */
.session-guard-summary{
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: 11px;
  row-gap: 3px;
}
.session-guard-summary::before{ grid-column: 1; grid-row: 1 / 3; }
.session-guard-summary > strong{ grid-column: 2; grid-row: 1; min-width: 0; line-height: 1.3; overflow-wrap: anywhere; }
.session-guard-summary > small{ grid-column: 2; grid-row: 2; min-width: 0; margin-top: 0; overflow-wrap: anywhere; }

/* A prévia reproduz o botão real: preserva somente o anel da superfície e não
   inventa a sombra verde que não existe na barra inferior em uso. */
.nav-preview-navbar .nav-play.is-preview, html[data-theme="light"] .nav-preview-navbar .nav-play.is-preview{
  box-shadow: 0 0 0 5px var(--panel) !important;
}
html[data-theme="light"] .nav-preview-navbar .nav-play.is-preview{ box-shadow: 0 0 0 5px #fff !important; }

/* Retrospectivas usam a mesma estratégia das classificações atuais: a largura
   das colunas é preservada e o próprio bloco oferece rolagem horizontal. */
.season-history-table{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.season-history-table-head, .season-history-table-row{
  min-width: 500px;
  grid-template-columns: 38px minmax(165px,1fr) repeat(4,36px) 44px 46px !important;
  grid-template-rows: auto !important;
  min-height: 36px !important;
  gap: 5px !important;
  padding: 5px 9px !important;
}
.season-history-table-head > :nth-child(n), .season-history-table-row > :nth-child(n){
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: center;
}
.season-history-table-head{ font-size: .58rem; }
.season-history-table-row{ font-size: .61rem; }
/* V444 · reforço de especificidade: as regras globais do herói incluem
   <span> em :is(), por isso o selo precisa vencer explicitamente essa cascata. */
html[data-theme="light"] .legacy-museum-hero .legacy-museum-emblem > .legacy-museum-emblem-mark, html[data-theme="dark"] .legacy-museum-hero .legacy-museum-emblem > .legacy-museum-emblem-mark, html[data-theme="light"] .legacy-museum-hero .legacy-museum-emblem > .legacy-museum-emblem-mark > :is(.fa-solid,.fa-regular), html[data-theme="dark"] .legacy-museum-hero .legacy-museum-emblem > .legacy-museum-emblem-mark > :is(.fa-solid,.fa-regular){
  color: var(--team-gradient-primary, #27364f) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
/* V444 · a proteção global de heróis tem alta especificidade por causa de
   :is(); usa as classes reais deste herói para preservar a inversão do selo. */
html[data-theme="light"] .panel.legacy-museum-hero.team-tone .legacy-museum-emblem > .legacy-museum-emblem-mark, html[data-theme="dark"] .panel.legacy-museum-hero.team-tone .legacy-museum-emblem > .legacy-museum-emblem-mark, html[data-theme="light"] .panel.legacy-museum-hero.team-tone .legacy-museum-emblem > .legacy-museum-emblem-mark > :is(.fa-solid,.fa-regular), html[data-theme="dark"] .panel.legacy-museum-hero.team-tone .legacy-museum-emblem > .legacy-museum-emblem-mark > :is(.fa-solid,.fa-regular){
  color: var(--team-gradient-primary, #27364f) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ==========================================================
   V445 · Inspetor móvel: alvo exato e toque longo sem UI nativa
   ----------------------------------------------------------
   A classe existe somente enquanto o dedo está pressionado. Assim o Chrome/
   Android não cria seleção, alças, menu contextual ou prévia de busca antes
   de o inspetor abrir; ao soltar, a seleção normal do app volta imediatamente.
   ========================================================== */
/* V447 · a proteção contra seleção fica restrita ao nó realmente tocado.
   Evita invalidar `body *` em cada toque quando o Modo Desenvolvedor está ativo. */
.dev-inspector-gesture-target{
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}

/* ==========================================================
   V445 · ajustes do lote do Modo Desenvolvedor
   ========================================================== */

/* V514 · seleções e países não usam emojis de bandeira. */


/* O cabeçalho textual do Ao Vivo repousa sobre o fundo da própria tela. Não
   precisa de um segundo retângulo branco/cinza em nenhum tema. */
.match-screen > .match-header, .observer-screen > .match-header{
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* No pós-jogo, escudos, nomes e placar formam uma única composição neutra.
   As cores das equipes permanecem nos próprios escudos, não em fundos atrás
   do nome nem no miolo do placar. */
.match-screen .live-finish-pane .post-match-scoreline, .match-screen .live-finish-pane .post-match-scoreline > strong, .match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone{
  background: transparent !important;
  box-shadow: none !important;
}
.match-screen .live-finish-pane .post-match-scoreline, .match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone{
  border-color: transparent !important;
}
.match-screen .live-finish-pane .post-match-scoreline .fixture-team.team-tone::after{
  display: none !important;
}

/* Somente a grade larga da classificação rola horizontalmente. O título
   “Grupo / Classificação provisória” permanece fixo e alinhado ao card. */
.current-table-card .post-match-card-content{
  overflow-x: hidden !important;
}
.international-standings-scroll{
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
}
.international-standings-scroll > :is(.live-table-columns,.live-table-row){
  grid-template-columns: 46px minmax(150px,1fr) 42px 42px 42px 38px 42px 42px 42px 42px 118px !important;
  min-width: 704px !important;
}
.international-standings-scroll .live-table-columns{
  position: sticky;
  top: 0;
  z-index: 2;
}


/* ==========================================================
   V446 · submenu secundário padronizado + grupos sem placa
   ----------------------------------------------------------
   A navegação da seleção é um segundo nível real de `.subtabs`:
   usa os mesmos botões `.subtab` do restante do app e participa da pilha
   sticky logo abaixo do primeiro nível. Grupos cuja única função é alinhar
   botões não desenham uma superfície extra por trás dos próprios botões.
   ========================================================== */
.national-squad-tabs{
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 4px 2px 7px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  color: var(--text) !important;
  background: var(--panel) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .national-squad-tabs{ background: #fff !important; }
.national-squad-tabs > .subtab{
  min-height: 40px;
  color: var(--muted);
}
.national-squad-tabs > .subtab.is-active{ color: var(--text); }
/* Quando o segundo nível flutua, preserve o empilhamento calculado pelo JS;
   ele recebe --sticky-menu-top igual à soma dos níveis anteriores. */
.content .national-squad-tabs.is-sticky-submenu{
  top: var(--sticky-menu-top, 0px) !important;
  z-index: var(--sticky-menu-z, 601) !important;
}

/* Um agrupador de botões não precisa de outro retângulo colorido por trás.
   Os botões continuam com suas próprias superfícies/estados. */
.quick-control-strip{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html[data-theme="dark"] .quick-control-strip, html[data-theme="light"] .quick-control-strip{
  background: transparent !important;
  border-color: transparent !important;
}
/* O estado registrado pelo gerenciador sticky não deve transformar o segundo
   nível em uma barra sem superfície antes de ele realmente estar preso. */
html[data-theme] .content .national-squad-tabs.is-sticky-submenu:not(.is-stuck){
  border-radius: 14px !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  background: var(--panel) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html[data-theme="light"] .content .national-squad-tabs.is-sticky-submenu:not(.is-stuck){
  background: #fff !important;
}


/* ==========================================================
   V449 · consistência de grupos, contraste e estados escolhidos
   ========================================================== */
/* Navegações que apenas agrupam botões não ganham outra superfície atrás. */
.internal-page-route-nav{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html[data-theme="dark"] .internal-page-route-nav, html[data-theme="light"] .internal-page-route-nav{
  background: transparent !important;
  border-color: transparent !important;
}

/* O kicker do herói tático precisa obedecer ao contraste da superfície real,
   não ao acento genérico da página que pode ficar cinza sobre cinza. */
html[data-theme="dark"] .tactic-identity-card .kicker{
  color: var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
html[data-theme="light"] .tactic-identity-card .kicker{
  color: var(--text) !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}

/* Padrão único para escolhas táticas: selecionado = superfície realçada + check. */
:is(.tactic-selection-action,.tactic-preset-choice,.saved-plan-apply).is-selected{
  color: var(--text) !important;
  background: color-mix(in srgb,var(--club-primary) 16%,var(--surface)) !important;
  border-color: color-mix(in srgb,var(--club-primary) 58%,var(--line)) !important;
  box-shadow: 0 6px 16px color-mix(in srgb,var(--club-primary) 13%,transparent) !important;
}
:is(.tactic-selection-action,.tactic-preset-choice,.saved-plan-apply).is-selected :is(.fa-solid,.fa-regular){
  color: var(--club-accent-text,var(--primary)) !important;
}
.tactical-abc-card.is-selected, .saved-plan-grid article.is-selected{
  border-color: color-mix(in srgb,var(--club-primary) 46%,var(--line));
}
.tactic-preset-grid .tactic-preset-choice{ position: relative; }
.tactic-selection-check{
  margin-inline-start: auto;
  display: grid !important;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: var(--club-accent-text,var(--primary));
  background: color-mix(in srgb,var(--club-primary) 14%,var(--surface));
  flex: 0 0 auto;
}

/* Texto introdutório de promessa não encosta na primeira opção. */
.promise-picker > p{
  margin: 0 0 12px !important;
  line-height: 1.45;
}

/* Explicação do preço do ingresso acompanha o mesmo ritmo dos controles. */
.ticket-price-explainer{
  margin: 0;
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.45;
}

/* ===== V453 · cabeçalho do inspetor e contraste do Mercado =====
   O Modo Desenvolvedor adiciona um botão de minimizar ao cabeçalho padrão.
   O modal normal reserva apenas título + fechar (ou voltar + título + fechar),
   então o terceiro controle podia cair para uma segunda linha. O inspetor passa
   a declarar explicitamente as duas ações à direita sem alterar outros modais. */
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header.has-no-modal-back{
  grid-template-columns:minmax(0,1fr) 38px 38px !important;
  column-gap:8px !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header.has-modal-back{
  grid-template-columns:38px minmax(0,1fr) 38px 38px !important;
  column-gap:8px !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header :is(.modal-minimize,.modal-close,.modal-back){
  grid-row:1;
  align-self:center;
}

/* O kicker do herói do Mercado vive sobre a paleta do clube. No tema escuro,
   a regra genérica de acento de .team-tone podia vencer o texto calculado do
   gradiente e produzir cinza sobre fundo semelhante. Aqui prevalece o par de
   contraste da própria superfície temática. */
html[data-theme="light"] .market-command-hero.team-tone[style*="--team-gradient-primary"] .kicker, html[data-theme="dark"] .market-command-hero.team-tone[style*="--team-gradient-primary"] .kicker{
  color:var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* ===== V454 · inspetor compacto, header estável e reporte público mínimo =====
   O cabeçalho do inspetor deixa de adicionar uma terceira coluna à grade do
   modal. Minimizar e fechar formam um único grupo de ações, preservando a
   estrutura título + ações (ou voltar + título + ações) até 320px. */
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header.has-no-modal-back{
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:8px !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header.has-modal-back{
  grid-template-columns:38px minmax(0,1fr) auto !important;
  column-gap:8px !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal > header{
  padding:10px 12px !important;
}
.dev-inspector-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:max-content !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .dev-inspector-header-actions :is(.modal-minimize,.modal-close){
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  grid-row:auto !important;
}
.app-modal-overlay[data-dev-inspector-overlay="true"] .app-modal-body{
  padding:10px 12px 12px;
}

/* O acesso sem recursos avançados é propositalmente mínimo: apenas o alvo
   selecionado e a ação de reportar. Nenhum chrome técnico é renderizado. */
.dev-inspector-shell.is-report-only{
  gap:9px;
}
.dev-inspector-public-selection{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
  min-width:0;
}
.dev-inspector-public-selection-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:color-mix(in srgb,var(--primary) 12%,var(--panel));
  color:var(--primary);
}
.dev-inspector-public-selection > div{ display:grid; gap:2px; min-width:0; }
.dev-inspector-public-selection small{
  color:var(--muted);
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.dev-inspector-public-selection strong{
  color:var(--text);
  font-size:.76rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dev-inspector-public-selection p{
  margin:1px 0 0;
  color:var(--muted);
  font-size:.62rem;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dev-inspector-report-only{ width:100%; min-height:40px; }

/* No acesso completo o modal usa menos chrome e entrega a maior área útil à
   fila de problemas, que é a primeira aba e mantém os itens salvos visíveis. */
.dev-inspector-shell.is-full-access{ gap:8px; }
.dev-inspector-hero.is-compact{
  grid-template-columns:32px minmax(0,1fr);
  gap:8px;
  padding:7px 9px;
  border-radius:11px;
}
.dev-inspector-hero.is-compact > span{
  width:32px;
  height:32px;
  border-radius:9px;
}
.dev-inspector-hero.is-compact small{ font-size:.54rem; }
.dev-inspector-hero.is-compact strong{ font-size:.72rem; }
.dev-inspector-tabs.has-five-tabs{ gap:5px; }
.dev-inspector-tabs.has-five-tabs button{
  min-width:56px;
  min-height:34px;
  padding:6px 8px;
  font-size:.62rem;
}
.dev-inspector-tabs.has-five-tabs button[data-dev-pane="queue"]{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.dev-inspector-tabs.has-five-tabs button[data-dev-pane="queue"] .badge{
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-grid;
  place-items:center;
  font-size:.52rem;
}
.dev-inspector-collector{
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.dev-inspector-collector > header{
  padding:0 1px;
}
.dev-inspector-saved-priority{
  display:grid;
  gap:7px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel-2);
  min-width:0;
}
.dev-inspector-saved-priority > header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.dev-inspector-saved-priority > header > div{ display:grid; gap:1px; min-width:0; }
.dev-inspector-saved-priority > header small{
  color:var(--muted);
  font-size:.54rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dev-inspector-saved-priority > header strong{ color:var(--text); font-size:.66rem; }
.dev-inspector-saved-list{
  max-height:min(42vh,360px);
  overflow:auto;
  margin:0;
  padding-right:1px;
}
.dev-inspector-problem-field textarea{
  min-height:54px;
  max-height:116px;
}
.dev-inspector-collector-actions .btn{ min-height:36px; }
.dev-inspector-shell.is-full-access:not(.is-queue-pane) .dev-inspector-nav, .dev-inspector-shell.is-full-access:not(.is-queue-pane) .dev-inspector-actions{
  gap:6px;
}
.dev-inspector-shell.is-full-access:not(.is-queue-pane) .dev-inspector-nav .btn, .dev-inspector-shell.is-full-access:not(.is-queue-pane) .dev-inspector-actions .btn{
  min-height:36px;
}

/* ===== V455 · contraste, hierarquia e respiro visual ===== */
/* Próximo adversário: o kicker vive sobre o gradiente temático do próprio
   herói e deve usar o foreground já calculado para a superfície, nunca o
   acento genérico do clube que pode convergir com o fundo. */
html[data-theme="light"] .opponent-hero.team-tone[style*="--team-gradient-primary"] > div > .kicker, html[data-theme="dark"] .opponent-hero.team-tone[style*="--team-gradient-primary"] > div > .kicker{
  color:var(--team-gradient-text,#fff) !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Estatísticas de partidas: o contexto da competição acompanha o placar
   centralizado e não fica pendurado à esquerda da linha. */
#statisticsBody .record-match-row > small{
  width:100%;
  text-align:center;
  justify-self:stretch;
}

/* Departamento de Futebol: o divisor do toggle não pode encostar no CTA. */
.fc-community-rules > .btn[data-open-community-panel]{
  width:100%;
  margin-top:12px;
}

/* Cards de bancos: metadado, nome e descrição têm hierarquias diferentes e
   ocupam linhas próprias, mesmo quando há largura disponível. */
.fc-pack-card > div > :is(small,strong,p){
  display:block;
  width:100%;
  min-width:0;
}
.fc-pack-card > div > small{ margin-bottom:3px; }
.fc-pack-card > div > strong{
  overflow-wrap:anywhere;
  line-height:1.3;
}

/* Verificação da carreira: o grupo externo é a superfície. O layout interno
   recebe o respiro que evita conteúdo/ações encostados diretamente na borda. */
.career-audit-settings-panel .career-audit-layout{
  padding:10px !important;
}


/* ===== V456 · histórico diário das atualizações ===== */
.internal-page-body .release-daily-intro{
  margin-bottom: 10px;
}
.internal-page-body .release-day-groups{
  display: grid;
  gap: 8px;
}
.internal-page-body details.release-day{
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-2);
}
.internal-page-body details.release-day[open]{
  border-color: var(--page-accent-line);
}
.internal-page-body details.release-day > summary{
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}
.internal-page-body details.release-day > summary::-webkit-details-marker{
  display: none;
}
.internal-page-body details.release-day > summary > div{
  min-width: 0;
  display: grid;
  gap: 2px;
}
.internal-page-body details.release-day > summary strong{
  color: var(--text);
  font-size: .66rem;
  line-height: 1.3;
}
.internal-page-body details.release-day > summary small{
  color: var(--muted);
  font-size: .53rem;
  line-height: 1.3;
}
.internal-page-body details.release-day > summary > .fa-chevron-down{
  color: var(--muted);
  transition: transform .18s ease;
}
.internal-page-body details.release-day[open] > summary > .fa-chevron-down{
  color: var(--page-accent);
  transform: rotate(180deg);
}
.internal-page-body details.release-day > .release-day-list{
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0 9px 9px;
}
.internal-page-body .release-day-version{
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}
.internal-page-body .release-day-version > header{
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 8px;
}
.internal-page-body .release-day-version > header > span{
  min-width: 42px;
  padding: 5px 6px;
  border-radius: 8px;
  background: var(--page-accent-soft);
  color: var(--page-accent);
  font-size: .56rem;
  font-weight: 700;
  text-align: center;
}
.internal-page-body .release-day-version > header > div{
  min-width: 0;
  display: grid;
  gap: 2px;
}
.internal-page-body .release-day-version > header strong{
  color: var(--text);
  font-size: .62rem;
  line-height: 1.35;
}
.internal-page-body .release-day-version > header small{
  color: var(--muted);
  font-size: .5rem;
  line-height: 1.3;
}
.internal-page-body .release-day-version-body{
  margin-top: 7px;
  color: var(--muted);
}
.internal-page-body .release-day-version-body > :first-child{ margin-top: 0; }
.internal-page-body .release-day-version-body > :last-child{ margin-bottom: 0; }

/* V461 · Modo autônomo: extensão visual reversível do Técnico automático e controle global compacto. */
.autonomous-career-settings-panel{
  position: relative;
  overflow: hidden;
}
.autonomous-career-extension{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.autonomous-career-extension-heading{
  display: grid;
  gap: 3px;
  margin-bottom: 9px;
}
.autonomous-career-extension-heading strong{ font-size: .76rem; color: var(--text); }
.autonomous-career-extension-heading small{ font-size: .56rem; line-height: 1.35; color: var(--muted); }
.autonomous-career-settings-panel .autonomous-career-master{
  border: 1px solid rgba(99, 198, 148, .32);
  background: rgba(42, 139, 92, .10);
  border-radius: 14px;
  padding: 12px;
}
.autonomous-career-settings-panel .autonomous-career-master:has(input:disabled){
  opacity: 1;
  background: rgba(127,127,127,.045);
  border-color: var(--line);
}
.autonomous-career-settings-panel .autonomous-career-master input:disabled{ opacity: .48; }
.autonomous-career-options{ margin-top: 10px; opacity: 1; }
.autonomous-career-options[data-automation-state="suspended"], .autonomous-career-options[data-automation-state="off"]{ opacity: .78; }
.autonomous-career-options select:disabled{ opacity: .72; cursor: not-allowed; }
.autonomous-career-options.is-enabled{ opacity: 1; }
.autonomous-career-rule{ margin-top: 10px; }
.autonomous-career-stop{ margin-top: 10px; width: 100%; }
.autonomous-career-floating{
  position: fixed;
  right: 10px;
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  z-index: 2450;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  max-width: min(72vw, 230px);
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: linear-gradient(135deg,#172235,#243650);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.12);
}
.autonomous-career-floating > .fa-solid{
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
}
.autonomous-career-floating span{ display: grid; min-width: 0; text-align: left; line-height: 1.05; }
.autonomous-career-floating strong{ font-size: .64rem; color: inherit; white-space: nowrap; }
.autonomous-career-floating small{ font-size: .48rem; opacity: .76; color: inherit; }

/* V464 · hierarquia única de camadas de interface.
   O inspetor de desenvolvimento precisa permanecer acima de qualquer processamento
   cooperativo; avisos/toasts ficam acima de ambos para nunca perder o feedback de
   uma ação executada dentro de um modal. */
:root{
  --ui-layer-modal: 3000;
  --ui-layer-task: 12000;
  --ui-layer-community-share: 12500;
  --ui-layer-developer: 13000;
  --ui-layer-toast: 14000;
}
.app-modal-overlay{ z-index: var(--ui-layer-modal); }
.app-task-overlay{ z-index: var(--ui-layer-task); }
.app-modal-overlay.is-community-share-modal{ z-index: var(--ui-layer-community-share) !important; }
.app-modal-overlay[data-dev-inspector-overlay="true"]{ z-index: var(--ui-layer-developer) !important; }
.toast-stack{ z-index: var(--ui-layer-toast) !important; }

/* V464 · o histórico do técnico usa o mesmo escudo real das demais telas. */
.manager-legacy-route article > span .manager-legacy-route-crest, .manager-legacy-route article > span :is(img,svg).manager-legacy-route-crest{
  width: 34px !important;
  height: 34px !important;
  max-width: 34px;
  max-height: 34px;
  object-fit: contain;
}

/* V464 · controles automáticos compactos legíveis nos dois temas. */
html[data-theme="light"] .autonomous-career-floating, html[data-theme="light"] .auto-manager-floating{
  border-color: color-mix(in srgb, var(--text) 18%, var(--line)) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--panel) 96%, var(--primary) 4%), color-mix(in srgb, var(--panel-2) 92%, var(--primary) 8%)) !important;
  color: var(--text) !important;
  box-shadow: 0 10px 24px rgba(23, 43, 65, .15), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
html[data-theme="light"] .autonomous-career-floating > .fa-solid, html[data-theme="light"] .auto-manager-floating-icon{
  background: color-mix(in srgb, var(--primary) 12%, var(--panel)) !important;
  color: var(--text) !important;
}
html[data-theme="light"] .autonomous-career-floating small, html[data-theme="light"] .auto-manager-floating-copy small{ opacity: .72; }

/* V465 · refinamentos de leitura e contraste reportados pelo Modo Desenvolvedor. */
.dashboard-leader-gap-equivalent{
  display: block;
  margin-top: 1px;
  font-size: .56rem;
  line-height: 1.15;
  font-style: normal;
  font-weight: 500;
  opacity: .72;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ações textuais com ícone compartilham o mesmo eixo visual em toda a UI. */
.text-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1.2;
}
.text-action :is(.fa-solid,.fa-regular,.fa-brands){
  flex: 0 0 auto;
  line-height: 1;
}

/* Título e acontecimentos do Mundo do futebol não disputam a mesma linha. */
.world-pulse-strip{
  display: grid;
  align-items: stretch;
  gap: 7px;
}
.world-pulse-title{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  color: var(--text);
  font-weight: 600;
  line-height: 1.2;
}
.world-pulse-title :is(.fa-solid,.fa-regular,.fa-brands){ line-height: 1; }
.world-pulse-items{
  display: grid;
  gap: 5px;
  min-width: 0;
}
.world-pulse-items small{
  position: relative;
  display: block;
  min-width: 0;
  padding-left: 11px;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.35;
}
.world-pulse-items small::before{
  content: "";
  position: absolute;
  left: 1px;
  top: .48em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--primary) 72%, var(--text) 28%);
}
.world-pulse-strip small + small::before{ margin-right: 0; }

/* A moldura permanece visível mesmo quando a cor do clube é branca ou preta. */
.football-stat-row i{
  height: 6px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--text) 28%, var(--line));
  background: var(--panel-2);
}
.football-stat-row i b:first-child{ border-radius: 999px 0 0 999px; }
.football-stat-row i b:last-child{ border-radius: 0 999px 999px 0; }

/* Cards que já possuem um escudo principal podem manter o nome clicável sem duplicá-lo. */
.team-label.is-crestless{ gap: 0; }
.world-pulse-strip .world-pulse-items small::before{
  content: "";
  margin-right: 0;
}

/* V470 · convite comunitário discreto, acessível e coerente com temas/cores do clube. */
.community-share-prompt{display:grid;gap:14px}.community-share-prompt>header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.community-share-prompt>header h3{margin:2px 0 5px;font-size:clamp(20px,5vw,28px)}.community-share-prompt>header p{margin:0;color:var(--muted)}.community-share-heart{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--club-primary,var(--accent)) 14%,var(--panel));color:var(--club-primary,var(--accent));font-size:20px}.community-share-career{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-muted)}.community-share-career strong{font-size:14px}.community-share-career span{font-size:11px;color:var(--muted)}.community-share-copy{padding:11px 12px;border-radius:13px;background:color-mix(in srgb,var(--club-primary,var(--accent)) 7%,var(--panel));border:1px solid color-mix(in srgb,var(--club-primary,var(--accent)) 22%,var(--border))}.community-share-copy p{margin:0;white-space:pre-line;font-size:12px;color:var(--text)}.community-share-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(108px,100%),1fr));gap:8px}.community-share-grid .btn{min-width:0}.community-share-video{padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-muted)}.community-share-video strong{display:flex;align-items:center;gap:7px}.community-share-video p{margin:4px 0 0;color:var(--muted);font-size:12px}.community-share-prompt .sticky-modal-actions{flex-wrap:wrap}.community-share-prompt .btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}
.community-share-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;margin-inline:auto;width:100%}

/* ==========================================================
   V480 · placar ao vivo e toast sem ação de fechar
   ========================================================== */
#liveScore.score{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
#liveScore .live-score-value, #liveScore .live-score-separator{
  display: inline-block;
  line-height: 1;
}
#liveScore .live-score-value{
  min-width: .72em;
  text-align: center;
  transform-origin: center bottom;
}
#liveScore .live-score-value.is-goal-pop{
  animation: live-score-goal-pop .22s cubic-bezier(.2,.9,.3,1.25);
}
@keyframes live-score-goal-pop {
  0% { transform: translateY(0) scale(1); }
  45% { transform: translateY(-4px) scale(1.2); }
  100% { transform: translateY(0) scale(1); }
}
/* V483 · a grade do toast acompanha apenas os elementos realmente visíveis.
   Sem contador, o X ocupa a última coluna e não deixa uma coluna fantasma à direita.
   Quando não há fechamento manual, nenhuma faixa de 32 px é reservada. */
.toast.has-manual-close{
  grid-template-columns: 24px minmax(0,1fr) 32px !important;
}
.toast.has-manual-close.has-count{
  grid-template-columns: 24px minmax(0,1fr) auto 32px !important;
}
.toast:not(.has-manual-close){
  grid-template-columns: 24px minmax(0,1fr) !important;
}
.toast:not(.has-manual-close).has-count{
  grid-template-columns: 24px minmax(0,1fr) auto !important;
}
.toast.has-manual-close .toast-close{
  grid-column: -2 / -1;
}
.toast-count{
  grid-column: 3;
}
@media (prefers-reduced-motion: reduce) {
  #liveScore .live-score-value.is-goal-pop{ animation: none !important; }
}
html[data-reduced-motion="true"] #liveScore .live-score-value.is-goal-pop{ animation: none !important; }

/* =========================================================
   V481 · respiro contextual do campo ao vivo
   =========================================================
   No Turbo com o campo desligado, a faixa do aviso mantém 36 px, mas seu
   margin-top de 12 px precisa fazer parte da linha do grid. Reservar 48 px
   evita que o aviso avance sobre a barra de comandos. */
.match-screen.is-turbo-live.is-live-pitch-disabled:not(.is-post-match-view) > .pitch-score{
  grid-template-rows: 54px 48px auto !important;
}


/* =========================================================
   V482 · Turbo compacto e destaque robusto do inspetor
   ========================================================= */
/* V483 · Turbo sem campo não precisa de respiro adicional: a faixa de 36 px
   já é uma linha própria abaixo do placar. Campo visível continua herdando os
   12 px contextuais; sem campo e sem Turbo permanece em 0 px. */
.match-screen.is-turbo-live.is-live-pitch-disabled .live-pitch-shell{
  margin-top: 0;
}
.match-screen.is-turbo-live.is-live-pitch-disabled:not(.is-post-match-view) > .pitch-score{
  grid-template-rows: 54px 36px auto !important;
}

/* Destaque fora da árvore visual do alvo: não é recortado por overflow:hidden. */
.dev-inspector-target-outline{
  position: fixed;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: calc(var(--ui-layer-developer, 13000) - 1);
  border: 3px solid var(--dev-inspector-accent, #7bdcff);
  border-radius: 8px;
  box-shadow: 0 0 0 2px rgba(0,0,0,.42), 0 0 14px rgba(123,220,255,.42);
}
.dev-inspector-target-outline.is-minimized{
  border-style: dashed;
}
@media (prefers-reduced-motion: no-preference) {
  .dev-inspector-target-outline:not(.is-minimized){ animation: dev-inspector-overlay-pulse .72s ease-in-out 2; }
}
@keyframes dev-inspector-overlay-pulse {
  0%,100% { opacity: 1; }
  50% { opacity: .58; }
}

/* =========================================================
   V488 · aviso único dos modos automáticos
   O mesmo componente compacto identifica Modo autônomo e Técnico automático
   sem variar de altura durante a contagem 3–2–1.
   ========================================================= */
.automation-mini-notice{
  min-height: 40px !important;
  max-width: min(82vw, 244px) !important;
  padding: 6px 7px !important;
  gap: 7px !important;
  border-radius: 999px !important;
  align-items: center !important;
}
.auto-manager-floating.automation-mini-notice{
  display: grid !important;
  grid-template-columns: 27px minmax(0,1fr) auto;
}
.auto-manager-floating.automation-mini-notice .auto-manager-floating-copy{
  min-width: 0;
}
.auto-manager-floating.automation-mini-notice .auto-manager-floating-copy strong{
  font-size: .62rem;
}
.auto-manager-floating.automation-mini-notice .auto-manager-floating-copy small{
  font-size: .47rem;
  line-height: 1.15;
}
.auto-manager-floating.automation-mini-notice .auto-manager-floating-countdown{
  width: 27px;
  height: 27px;
  min-width: 27px;
  display: grid;
  place-items: center;
  font-size: .7rem;
}
.auto-manager-floating.automation-mini-notice .auto-manager-floating-countdown[hidden]{
  display: grid !important;
  visibility: hidden;
  opacity: 0;
}
.autonomous-career-floating.automation-mini-notice{
  display: grid;
  grid-template-columns: 27px minmax(0,1fr);
}
@media (prefers-reduced-motion: reduce) {
  .automation-mini-notice{ transition: none !important; animation: none !important; }
}

/* ==========================================================
   V491 · correções do Modo Desenvolvedor (11/09/2026)
   ========================================================== */

/* 1 · Seleção no topo: o par de cores calculado pelo teamStyle é aplicado
   também ao fundo visível do botão. A bandeira ganha uma coluna própria. */
html.national-duty-active .topbar-club-summary[style*="--team-gradient-text"]{
  grid-template-columns: 31px minmax(0,1fr) !important;
  column-gap: 11px !important;
  padding-inline: 5px 8px !important;
  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) 28%,transparent) !important;
}
html.national-duty-active .topbar-club-summary[style*="--team-gradient-text"] :is(strong,span,small,.topbar-compact-meta){
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
html.national-duty-active .topbar-club-summary .topbar-club-visual{ margin-right: 1px !important; }

/* 3 · Atalhos dentro de textos explicativos continuam parecendo parte da frase,
   mas comunicam claramente que são acionáveis por toque/teclado. */
.inline-navigation-link{
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--primary);
  background: transparent;
  font: inherit;
  font-weight: 700;
  line-height: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
}
.inline-navigation-link:is(:hover,:focus-visible){ color: var(--text); }
.inline-navigation-link:focus-visible{ outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 3px; }

/* 6 · O Giro pelo Mundo é um resumo composto: cada acontecimento ocupa uma
   linha própria em vez de formar um bloco contínuo de leitura difícil. */
.news-item.is-world-digest{ align-items: start; }
.news-item.is-world-digest p{ display: grid; gap: 5px; margin-top: 6px; }
.news-item.is-world-digest p > span{ display: block; min-width: 0; line-height: 1.45; overflow-wrap: anywhere; }
.news-item.is-world-digest p > span + span{ padding-top: 5px; border-top: 1px solid color-mix(in srgb,var(--line) 72%,transparent); }
.news-item.is-world-digest time{ white-space: nowrap; }

/* 7/12/13/15 · Quando a superfície tem largura para leitura, o rótulo de
   posição usa o nome em vez de expor apenas a sigla interna. */
.position-abbr.is-expanded{
  min-width: 0;
  max-width: 100%;
  padding-inline: 7px;
  text-transform: none;
  letter-spacing: 0;
  cursor: help;
}

/* 9 · Ícone de busca alinhado pelo centro real do input, independente da
   altura/font-size. O SVG é coberto também para componentes equivalentes. */
.national-squad-search > :is(i,svg){
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  line-height: 1;
}

/* 17 · Summary específico que ainda parecia texto simples. Help-details e
   demais disclosure reutilizáveis já possuem affordance equivalente. */
.manager-reputation-history{ border-top: 0; padding-top: 0; }
.manager-reputation-history > summary{
  list-style: none;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  background: var(--panel-2);
  font-size: .62rem;
  font-weight: 700;
  cursor: pointer;
}
.manager-reputation-history > summary::-webkit-details-marker{ display: none; }
.manager-reputation-history > summary::after{
  content: "+";
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  border-radius: 999px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 11%,transparent);
  font-size: .9rem;
}
.manager-reputation-history[open] > summary::after{ content: "−"; }
.manager-reputation-history > summary:is(:hover,:focus-visible){ border-color: color-mix(in srgb,var(--primary) 42%,var(--line)); }

/* 18 · A prévia da barra deve espelhar a geometria atualmente usada pela barra
   real. Regras históricas que elevavam o botão Jogar não vazam para previews. */
.nav-preview-navbar .nav-btn.is-preview{
  align-self: end !important;
  margin: 0 !important;
  inset: auto !important;
  transform: none !important;
}
.nav-preview-navbar .nav-play.is-preview{
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  inset: auto !important;
  transform: none !important;
  align-self: end !important;
  justify-self: center !important;
  grid-template-rows: 31px auto !important;
  border: 3px solid var(--panel) !important;
  border-radius: 50% !important;
  color: var(--play-cta-text,#fff) !important;
  background: radial-gradient(circle at 34% 24%,#48dc7d 0 8%,var(--play-cta-start,#22c55e) 34%,var(--play-cta-end,#15803d) 100%) !important;
  box-shadow: 0 8px 18px var(--play-cta-shadow,rgba(21,128,61,.28)),inset 0 1px 0 rgba(255,255,255,.32) !important;
}
html[data-theme="light"] .nav-preview-navbar .nav-play.is-preview{ border-color: #fff !important; }

/* 19 · As páginas públicas internas mantêm o mesmo gutter das demais telas do
   jogo; box-sizing impede o padding de aumentar a largura do viewport. */
.internal-public-page{
  box-sizing: border-box;
  width: 100%;
  padding-inline: 12px !important;
  padding-bottom: max(20px,env(safe-area-inset-bottom)) !important;
}
@media (max-width: 420px) {
  .internal-public-page{ padding-inline: 10px !important; }
}

/* ==========================================================
   V492 · revisão real dos apontamentos do Modo Desenvolvedor
   ========================================================== */

/* O resumo da seleção usa diretamente o par calculado pelo motor. Esta regra
   fica depois das regras históricas da topbar e referencia a cor final em vez
   de herdar o branco global da barra. */
html.national-duty-active .topbar .topbar-club-summary[style*="--team-gradient-text"]{
  color: var(--team-gradient-text) !important;
  background: var(--team-palette-gradient) !important;
  border-color: color-mix(in srgb,var(--team-gradient-text) 28%,transparent) !important;
}
html.national-duty-active .topbar .topbar-club-summary[style*="--team-gradient-text"] :is(
  strong,
  span,
  small,
  .topbar-compact-meta,
  .topbar-club-name,
  .topbar-club-short
){
  color: var(--team-gradient-text) !important;
  -webkit-text-fill-color: var(--team-gradient-text) !important;
}
html.national-duty-active .topbar .topbar-club-summary{
  grid-template-columns: 31px minmax(0,1fr) !important;
  column-gap: 12px !important;
}

/* Todo CTA circular Jogar usa a identidade do Goooool.net. Não herda tema,
   clube, seleção ou paleta dinâmica. A exceção vale somente para o botão
   circular central e suas prévias. */
:is(
  .navbar-mobile .nav-play,
  .nav-preview-navbar .nav-play.is-preview,
  .settings-nav-preview .is-play,
  .nav-custom-preview-play
){
  --goooool-play-green-1: #48dc7d;
  --goooool-play-green-2: #22c55e;
  --goooool-play-green-3: #15803d;
  color: #ffffff !important;
  background: radial-gradient(circle at 34% 24%,var(--goooool-play-green-1) 0 8%,var(--goooool-play-green-2) 34%,var(--goooool-play-green-3) 100%) !important;
  border-color: var(--panel) !important;
  box-shadow: 0 8px 18px rgba(21,128,61,.28), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
:is(
  .navbar-mobile .nav-play,
  .nav-preview-navbar .nav-play.is-preview,
  .settings-nav-preview .is-play,
  .nav-custom-preview-play
) :is(svg,.fa-solid,.fa-regular,.icon,span,strong,small){
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html[data-theme="light"] :is(
  .navbar-mobile .nav-play,
  .nav-preview-navbar .nav-play.is-preview,
  .settings-nav-preview .is-play,
  .nav-custom-preview-play
){
  border-color: #ffffff !important;
}

/* ==========================================================
   V493 · Central de notícias reconstruída e confrontos com vs
   ========================================================== */

/* A Central de notícias tem rolagem própria: a regra mobile que abre
   .bounded-scroll não transforma novamente o painel em uma coluna de milhares
   de pixels. Os cards seguem as superfícies, bordas e tipografia do tema atual. */
.news-center{
  min-width: 0;
  overflow: hidden;
}
.news-center-header{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.news-center-title{
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.news-center-icon{
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--primary) 28%,var(--line));
  border-radius: 12px;
  color: var(--primary);
  background: color-mix(in srgb,var(--primary) 10%,var(--panel-2));
  font-size: .95rem;
}
.news-center-title .kicker{ margin-bottom: 1px; }
.news-center-title .panel-title{ margin: 0; line-height: 1.12; }
.news-center-title p{
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .62rem;
  line-height: 1.35;
}
.news-center-count{
  min-width: 48px;
  display: grid;
  place-items: center;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: color-mix(in srgb,var(--panel-2) 92%,transparent);
}
.news-center-count strong{ font-size: .82rem; line-height: 1; }
.news-center-count small{ margin-top: 3px; color: var(--muted); font-size: .48rem; line-height: 1; }

.news-center-feed{
  display: grid;
  gap: 7px;
  min-height: 0;
  max-height: min(58dvh, 480px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 1px 3px 3px 1px;
  scroll-padding-block: 4px;
}
.news-card{
  --news-accent: var(--info);
  min-width: 0;
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: start;
  gap: 9px;
  padding: 9px 10px 9px 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb,var(--panel-2) 94%,transparent);
  box-shadow: inset 3px 0 0 color-mix(in srgb,var(--news-accent) 76%,transparent);
}
.news-card.is-transfers{ --news-accent: var(--primary); }
.news-card.is-managers{ --news-accent: var(--info); }
.news-card.is-injuries{ --news-accent: var(--danger); }
.news-card.is-youth{ --news-accent: var(--success); }
.news-card.is-competitions{ --news-accent: var(--warning); }
.news-card.is-world{ --news-accent: var(--primary); }
.news-card-icon{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--news-accent);
  background: color-mix(in srgb,var(--news-accent) 11%,var(--panel));
  font-size: .72rem;
}
.news-card-copy{ min-width: 0; }
.news-card-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin-bottom: 4px;
}
.news-card .news-category{
  min-width: 0;
  margin: 0;
  color: var(--news-accent);
  font-size: .5rem;
  line-height: 1.15;
  letter-spacing: .065em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.news-card time{
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .52rem;
  line-height: 1.15;
  white-space: nowrap;
}
.news-card-title{
  display: block;
  min-width: 0;
  color: var(--text);
  font-size: .75rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.news-card p{
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.43;
  overflow-wrap: anywhere;
}
.news-card.is-world-digest p{
  display: grid;
  gap: 5px;
  margin-top: 4px;
}
.news-card.is-world-digest p > span{
  display: block;
  min-width: 0;
  line-height: 1.43;
  overflow-wrap: anywhere;
}
.news-card.is-world-digest p > span + span{
  padding-top: 5px;
  border-top: 1px solid color-mix(in srgb,var(--line) 72%,transparent);
}
.news-center-empty{ padding: 16px 10px; }
.news-center-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}
.news-center-footer > span{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
}
.news-center-footer > span > :is(i,svg){ flex: 0 0 auto; color: var(--primary); }
.news-center-footer small{ font-size: .56rem; line-height: 1.3; }
.news-center-footer .text-action{ flex: 0 0 auto; }

@media (max-width: 350px) {
  .news-center-title{ grid-template-columns: 34px minmax(0,1fr); gap: 7px; }
  .news-center-icon{ width: 34px; height: 34px; border-radius: 10px; }
  .news-center-title p{ display: none; }
  .news-center-count{ min-width: 43px; padding-inline: 5px; }
  .news-card{ grid-template-columns: 29px minmax(0,1fr); gap: 7px; padding-inline: 7px; }
  .news-card-icon{ width: 28px; height: 28px; }
  .news-center-footer small{ display: none; }
}

/* V494 · A aba Tabela da partida mostra o adversário da rodada sem alterar as demais classificações. */
.match-screen .live-standings-table > .live-match-table-columns, .match-screen .live-standings-table > .live-match-table-row{
  grid-template-columns: 46px minmax(150px,1fr) 48px 42px 42px 42px 38px 42px 42px 42px 42px 118px !important;
  min-width: 757px !important;
}
.match-screen .live-table-opponent{
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  color: var(--muted);
}
.match-screen .live-table-opponent .crest{
  width: 18px !important;
  height: 22px !important;
  flex: 0 0 auto;
}

/* V495 · Dia de jogo sem toasts sobre o modal e placar discreto na coluna vs. */
body:has(.app-modal-overlay .matchday-cinematic) .toast-stack{
  display: none !important;
}
.match-screen .live-standings-table > .live-match-table-columns, .match-screen .live-standings-table > .live-match-table-row{
  grid-template-columns: 46px minmax(150px,1fr) 64px 42px 42px 42px 38px 42px 42px 42px 42px 118px !important;
  min-width: 773px !important;
}
.match-screen .live-table-opponent{
  gap: 4px;
  white-space: nowrap;
}
.match-screen .live-table-opponent-score{
  min-width: 25px;
  color: color-mix(in srgb,var(--text) 72%,var(--muted));
  font-size: .54rem;
  font-weight: 700;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}

/* V499 · Assistências da carreira ficam somente em Ajustes e pertencem ao save. */
.career-assistance-panel .settings-footnote{ display: block; margin-top: 9px; color: var(--muted); line-height: 1.4; }
.career-assistance-history .mini-row strong{ font-size: .66rem; }

/* =========================================================
   V507 · instalação guiada + diagnóstico de sincronização
   ========================================================= */
.install-game-modal{ display:grid; gap:14px; }
.install-game-hero{ display:grid; grid-template-columns:58px minmax(0,1fr); gap:14px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,color-mix(in srgb,var(--play-cta-bg,#167a4d) 12%,var(--panel)),var(--panel)); }
.install-game-mark{ display:grid; place-items:center; width:58px; height:58px; border-radius:18px; background:var(--play-cta-bg,#167a4d); color:var(--play-cta-text,#fff); font-size:1.45rem; overflow:hidden; }
.install-game-mark svg{ width:34px; height:34px; }
.install-game-hero small{ color:var(--muted); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.install-game-hero h3{ margin:2px 0 4px; font-size:1.08rem; }
.install-game-hero p{ margin:0; color:var(--muted); line-height:1.5; font-size:.78rem; }
.install-game-benefits{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.install-game-benefits > span{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 9px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.install-game-benefits > span > i, .install-game-benefits > span > svg{ grid-row:1 / span 2; color:var(--play-cta-bg,#167a4d); }
.install-game-benefits strong{ font-size:.78rem; }
.install-game-benefits small{ color:var(--muted); line-height:1.35; font-size:.66rem; }
.install-ios-steps{ padding:13px 14px; border:1px solid color-mix(in srgb,var(--play-cta-bg,#167a4d) 30%,var(--line)); border-radius:14px; background:color-mix(in srgb,var(--play-cta-bg,#167a4d) 7%,var(--panel)); }
.install-ios-steps ol{ margin:8px 0 0 20px; padding:0; display:grid; gap:6px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.install-game-modal .install-app-cta{ background:var(--play-cta-bg,#167a4d) !important; color:var(--play-cta-text,#fff) !important; border-color:var(--play-cta-border,var(--play-cta-bg,#167a4d)) !important; }
.telemetry-diagnostic-card{ display:grid; gap:10px; padding:13px; border:1px solid var(--line); border-radius:14px; background:var(--panel-2); }
.telemetry-diagnostic-card > div{ display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; align-items:start; }
.telemetry-diagnostic-card > div > span{ display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:color-mix(in srgb,var(--primary) 12%,var(--panel)); color:var(--primary); }
.telemetry-diagnostic-card small, .telemetry-diagnostic-card p{ color:var(--muted); }
.telemetry-diagnostic-card p{ margin:3px 0 0; font-size:.68rem; line-height:1.45; }
@media (max-width:560px){ .install-game-benefits{grid-template-columns:1fr}.install-game-hero{grid-template-columns:48px minmax(0,1fr);padding:13px}.install-game-mark{width:48px;height:48px;border-radius:15px} }

/* V508 · taças personalizadas de ligas/copas. */
.competition-trophy-mark{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;min-width:0;min-height:0;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);overflow:hidden;contain:paint;color:var(--primary);font-size:1.35rem}
.competition-trophy-mark img{display:block;width:auto;height:auto;max-width:88%;max-height:88%;min-width:0;min-height:0;object-fit:contain;object-position:center;overflow:hidden}
.competition-trophy-mark.league-trophy-mark{width:38px;height:38px;border-radius:10px;font-size:1rem}
.cup-card-title-row{display:flex;align-items:center;gap:12px;min-width:0}
.cup-card-title-row>div{min-width:0}.cup-card-title-row h3{margin-top:2px}
@media(max-width:560px){.competition-trophy-mark{width:46px;height:46px;border-radius:12px}.league-rules{flex-wrap:wrap;justify-content:flex-start}.league-rules>span:last-child{flex-basis:100%}}

/* V508 · presença do suporte e novas mensagens sem interromper a leitura */
.developer-feedback-heading-status{display:flex;align-items:flex-end;gap:8px;flex-direction:column}
.developer-feedback-presence{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;color:var(--muted)}
.developer-feedback-presence i{width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 15%,transparent)}
.developer-feedback-presence.is-online{color:#2fbf71}
.developer-feedback-presence.is-offline{color:var(--muted)}
.developer-feedback-new-message{position:sticky;bottom:10px;z-index:3;margin:-44px auto 8px;display:flex;width:max-content;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.developer-feedback-new-message[hidden]{display:none!important}
@media(max-width:640px){.developer-feedback-heading-status{align-items:flex-start}.developer-feedback-conversation-panel .panel-heading-row{align-items:flex-start}}


/* ===== V509 · competições claras e descoberta antes da carreira ===== */
.competition-club-status {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px;
  margin:12px 0; padding:12px 13px; border:1px solid var(--line); border-radius:14px;
  background:color-mix(in srgb,var(--panel-2) 88%,transparent);
}
.competition-club-status-icon {
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:color-mix(in srgb,currentColor 14%,transparent); font-size:1rem;
}
.competition-club-status > div { min-width:0; }
.competition-club-status strong { display:block; font-size:.76rem; letter-spacing:.035em; line-height:1.2; }
.competition-club-status p { margin-top:3px; font-size:.67rem; line-height:1.35; color:inherit; opacity:.9; }
/* V510 · estados semânticos nunca herdam a cor do clube. */
.competition-club-status.is-active {
  color:var(--success,#32d17d); border-color:color-mix(in srgb,var(--success,#32d17d) 58%,var(--line));
  background:color-mix(in srgb,var(--success,#32d17d) 11%,var(--panel-2));
  box-shadow:inset 4px 0 0 var(--success,#32d17d);
}
.competition-club-status.is-out {
  color:var(--danger,#ff5c70); border-color:color-mix(in srgb,var(--danger,#ff5c70) 58%,var(--line));
  background:color-mix(in srgb,var(--danger,#ff5c70) 10%,var(--panel-2));
  box-shadow:inset 4px 0 0 var(--danger,#ff5c70);
}
.competition-club-status.is-eliminated {
  color:var(--warning,#ffbf47); border-color:color-mix(in srgb,var(--warning,#ffbf47) 58%,var(--line));
  background:color-mix(in srgb,var(--warning,#ffbf47) 10%,var(--panel-2));
  box-shadow:inset 4px 0 0 var(--warning,#ffbf47);
}
.competition-club-status.is-champion {
  color:#f2c85b; border-color:color-mix(in srgb,#f2c85b 62%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,#f2c85b 13%,var(--panel-2)),color-mix(in srgb,#f2c85b 5%,var(--panel-2)));
  box-shadow:inset 4px 0 0 #f2c85b;
}
.competition-club-status.is-runner-up {
  color:var(--info,#62a8ff); border-color:color-mix(in srgb,var(--info,#62a8ff) 54%,var(--line));
  background:color-mix(in srgb,var(--info,#62a8ff) 9%,var(--panel-2));
  box-shadow:inset 4px 0 0 var(--info,#62a8ff);
}
.cup-champion-note { color:var(--muted); font-size:.68rem; line-height:1.4; }

.setup-team-competitions {
  display:grid; gap:8px; margin-top:10px; padding:10px; border:1px solid var(--line); border-radius:15px;
  background:color-mix(in srgb,var(--panel-2) 70%,transparent);
}
.setup-team-competitions > header { display:flex; align-items:end; justify-content:space-between; gap:10px; }
.setup-team-competitions > header > div { display:grid; gap:1px; min-width:0; }
.setup-team-competitions > header small { color:var(--primary); font-size:.56rem; font-weight:800; letter-spacing:.1em; }
.setup-team-competitions > header strong { font-size:.78rem; }
.setup-team-competitions > header > span { color:var(--muted); font-size:.58rem; white-space:nowrap; }
.setup-team-competition-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:7px; }
.setup-competition-chip {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; min-width:0;
  padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--panel);
}
.setup-competition-chip > span:last-child { display:grid; min-width:0; gap:1px; }
.setup-competition-chip small { font-size:.49rem; font-weight:800; letter-spacing:.055em; }
.setup-competition-chip strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.67rem; }
.setup-competition-chip em { color:var(--muted); font-size:.56rem; font-style:normal; line-height:1.25; }
.setup-competition-chip.is-confirmed { border-color:color-mix(in srgb,var(--success,#32d17d) 48%,var(--line)); background:color-mix(in srgb,var(--success,#32d17d) 8%,var(--panel)); }
.setup-competition-chip.is-confirmed small { color:var(--success,#32d17d); }
.setup-competition-chip.is-possible { border-style:dashed; border-color:color-mix(in srgb,var(--warning) 45%,var(--line)); }
.setup-competition-chip.is-possible small { color:var(--warning); }
.setup-competition-trophy { display:grid; place-items:center; width:34px; height:38px; flex:0 0 34px; min-width:0; min-height:0; overflow:hidden; contain:paint; color:var(--warning); }
.setup-competition-trophy img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; min-width:0; min-height:0; object-fit:contain; object-position:center; overflow:hidden; }
.setup-competition-trophy.is-fallback { font-size:1rem; }
.setup-team-competition-future { border-top:1px solid var(--line); padding-top:7px; }
.setup-team-competition-future summary { cursor:pointer; color:var(--muted); font-size:.61rem; font-weight:700; }
.setup-team-competition-future[open] summary { margin-bottom:7px; }
@media (max-width:430px) {
  .setup-team-competition-list { grid-template-columns:1fr; }
  .competition-club-status { padding:10px; }
}

/* ==========================================================
   V514 · busca fluida, países sem emoji e prioridade de copas
   ========================================================== */
.universal-result-icon.has-crest .universal-result-image{
  display:block;
  width:auto;
  height:auto;
  max-width:32px;
  max-height:32px;
  min-width:0;
  min-height:0;
  object-fit:contain;
  object-position:center;
  overflow:hidden;
}
.country-image,
.dashboard-country-image,
.world-digest-country-image,
.manager-passport-country-image,
.manager-legacy-country-image{
  display:inline-block;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center;
  vertical-align:middle;
}
.dashboard-country-mark{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  overflow:hidden;
  border-radius:0;
  background:transparent;
}
.dashboard-country-image{ max-width:16px; max-height:16px; }
.world-digest-country-image{ max-width:18px; max-height:18px; margin-inline-end:3px; }
.world-digest-country-strip{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-height:18px;
  letter-spacing:0;
}
.world-digest-country-strip .world-digest-country-image{ margin:0; }
.manager-passport-country-mark{
  overflow:hidden;
  padding:4px;
  font-size:0;
}
.manager-passport-country-image{ max-width:27px; max-height:27px; }
.manager-passport-route > span > .manager-passport-country-image{ max-width:28px; max-height:28px; }
.manager-legacy-country-image{ max-width:28px; max-height:28px; }

.competition-club-status.is-possible{
  color:#f59e0b;
  border-color:color-mix(in srgb,#f59e0b 58%,var(--line));
  background:color-mix(in srgb,#f59e0b 10%,var(--panel-2));
  box-shadow:inset 4px 0 0 #f59e0b;
}

.country-coefficient-country strong{display:flex;align-items:center;gap:5px;}
.country-coefficient-image{max-width:18px;max-height:18px;flex:0 0 auto;}

/* ==========================================================
   V515 · países com escudo oficial e escudos sem sombra
   ----------------------------------------------------------
   Países exibem o WebP oficial da seleção antes do nome quando disponível.
   Sem imagem não existe placeholder nem reserva de espaço. Escudos oficiais,
   gerados e suas molduras exclusivas não recebem sombra ou halo.
   ========================================================== */
.country-inline-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
  max-width:100%;
  vertical-align:middle;
}
.country-inline-label > span:last-child{
  min-width:0;
}
.country-inline-image,
.manager-legacy-country-image{
  display:block;
  width:auto;
  height:auto;
  max-width:18px;
  max-height:18px;
  flex:0 0 auto;
  object-fit:contain;
  object-position:center;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}
:is(.country-inline-label,.selected-team-country,.setup-world-chip,.career-world-country,.setup-world-country,.career-world-planner-country) .country-inline-image{
  max-width:16px;
  max-height:16px;
}

/* Regra final e intencional: nenhum escudo recebe sombra, inclusive os
   escudos gerados automaticamente e as imagens de seleção usadas como país. */
:is(.crest,svg.crest,img.crest),
:is(.crest,svg.crest,img.crest) *,
.team-profile-crest-stage,
.legacy-museum-crest-frame,
.team-card-crest,
.favorite-team-mark,
.save-slot-team-crest,
.landing-continue-club-crest,
.topbar-next-crest,
.market-route-crest,
.club-editor-preview-crest,
.live-event-team-crest,
.friendly-result-crest,
.market-club-crest,
.offer-club-mark,
.universal-result-icon.has-crest,
.country-inline-image,
.manager-legacy-country-image{
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}

/* ==========================================================
   V516 · países atômicos, mídia transparente e início compacto
   ----------------------------------------------------------
   O escudo oficial de uma seleção e o nome do país formam uma única unidade
   visual: nunca separam imagem e nome em linhas diferentes. Wrappers que
   existem apenas para conter esse escudo são transparentes, sem moldura.
   Na primeira carreira, a abertura prioriza modo → clube → técnico → começar.
   ========================================================== */
.country-inline-label{
  display:inline-flex !important;
  align-items:center;
  flex-wrap:nowrap !important;
  gap:5px;
  width:max-content;
  max-width:100%;
  white-space:nowrap !important;
  vertical-align:middle;
}
.country-inline-label > span:last-child{
  min-width:0;
  white-space:nowrap !important;
}
.dashboard-country-mark,
.manager-passport-country-mark{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
  padding:0 !important;
}
.dashboard-country-mark{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}

/* A imagem oficial é o próprio marcador. Nenhum fundo artificial atrás dela. */
.dashboard-country-image,
.manager-passport-country-image,
.manager-legacy-country-image,
.country-inline-image,
.country-coefficient-image,
.world-digest-country-image{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}

/* Primeira carreira: entrada curta, sem cards gigantes de modo. */
.landing-v99.is-start-screen .landing-choice-shell{
  padding-top:16px;
}
.landing-v99.is-start-screen .landing-choice-hero h1{
  margin-top:8px;
  font-size:clamp(1.45rem,6vw,2rem);
}
.landing-v99.is-start-screen .landing-choice-hero > p{
  margin-top:7px;
  font-size:.7rem;
}
.landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px;
  margin-top:14px;
}
.landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch > .landing-mode-card{
  min-height:68px;
  padding:9px 7px !important;
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-rows:auto;
  align-items:center;
  gap:7px;
  border-radius:12px !important;
}
.landing-v99.is-start-screen .landing-mode-icon{
  width:28px;
  height:28px;
  border:0;
  border-radius:8px;
  font-size:.72rem;
}
.landing-v99.is-start-screen .landing-mode-copy{
  display:block;
}
.landing-v99.is-start-screen .landing-mode-copy small,
.landing-v99.is-start-screen .landing-mode-copy p,
.landing-v99.is-start-screen .landing-mode-action{
  display:none !important;
}
.landing-v99.is-start-screen .landing-mode-copy strong{
  display:block;
  font-size:.67rem;
  line-height:1.2;
}
.landing-v99.is-start-screen .landing-setup-stage{
  margin-top:10px;
}
.landing-v99.is-start-screen .landing-career-card{
  padding-top:12px !important;
}
.landing-v99.is-start-screen .landing-career-card > .panel-heading-row{
  display:none;
}
.landing-v99.is-start-screen .setup-selected-team.is-empty{
  display:none !important;
}
.landing-v99 .setup-team-search-primary{
  display:grid;
  gap:5px;
  margin-top:8px;
  color:var(--muted);
  font-size:.59rem;
  font-weight:650;
}
.landing-v99 .setup-team-search-primary input{
  min-height:42px;
  font-size:.72rem;
}
.landing-v99 .setup-team-filter-drawer{
  margin-top:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:color-mix(in srgb,var(--panel-2) 92%,transparent);
  overflow:hidden;
}
.landing-v99 .setup-team-filter-drawer > summary{
  min-height:38px;
  padding:7px 9px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  cursor:pointer;
  list-style:none;
  color:var(--text);
}
.landing-v99 .setup-team-filter-drawer > summary::-webkit-details-marker{display:none;}
.landing-v99 .setup-team-filter-drawer > summary > span{display:grid;gap:1px;min-width:0;}
.landing-v99 .setup-team-filter-drawer > summary strong{font-size:.62rem;}
.landing-v99 .setup-team-filter-drawer > summary small{color:var(--muted);font-size:.51rem;}
.landing-v99 .setup-team-filter-drawer > summary > .fa-chevron-down{transition:transform .18s ease;}
.landing-v99 .setup-team-filter-drawer[open] > summary > .fa-chevron-down{transform:rotate(180deg);}
.landing-v99 .setup-team-filter-grid{
  margin:0 !important;
  padding:0 9px 9px;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.landing-v99 .setup-team-filter-grid > label{
  min-width:0;
}
.landing-v99.is-start-screen .setup-manager-priority{
  margin-top:8px;
}
.landing-v99.is-start-screen .setup-manager-priority .setup-hero-field small{
  display:none;
}
.landing-v99.is-start-screen .setup-priority-block{
  padding-block:10px;
}

@media (max-width:560px){
  .landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch > .landing-mode-card{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    min-height:64px;
    gap:4px;
  }
  .landing-v99.is-start-screen .landing-mode-copy strong{font-size:.6rem;}
  .landing-v99 .setup-team-filter-grid{
    grid-template-columns:1fr !important;
  }
}

/* V516 · fechamento da Home sem save e contrato visual dos países. */
.country-inline-label{
  overflow:hidden;
  text-overflow:ellipsis;
}
.country-inline-label > span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
}
.landing-v99 .team-card-copy > span{
  white-space:nowrap !important;
}
.landing-v99 .team-card-copy .country-inline-label{
  vertical-align:middle;
  max-width:min(42%, 150px);
}

/* Wrappers cuja única função é conter um escudo/imagem oficial de país nunca
   criam placa, fundo, halo ou moldura. A própria imagem é a identidade. */
:is(
  .dashboard-country-mark,
  .manager-passport-country-mark,
  .country-coefficient-country .country-inline-label,
  .world-digest-country-strip .country-inline-label
){
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}

.landing-v99.is-start-screen .landing-primary-start{
  margin-top:10px;
  min-height:46px;
  font-size:.72rem;
}
.landing-v99.is-start-screen .setup-more-options{
  margin-top:8px;
}
.landing-first-utility{
  width:min(100%,530px);
  margin:12px auto 20px;
  padding-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  border-top:1px solid var(--line);
}
.landing-first-utility > :is(button,label,a){
  min-height:34px;
  padding:6px 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:.54rem;
  font-weight:650;
  text-decoration:none;
  cursor:pointer;
}
.landing-first-utility > :is(button,label,a):hover,
.landing-first-utility > :is(button,label,a):focus-visible{
  border-color:color-mix(in srgb,var(--primary) 45%,var(--line));
  color:var(--text);
}
.landing-first-utility input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.landing-v99.is-start-screen .landing-community-callout,
.landing-v99.is-start-screen .landing-public-pages,
.landing-v99.is-start-screen .landing-seo-footer{
  display:none !important;
}

/* V516 · contrato final: o próprio escudo nunca recebe placa/fundo/sombra. */
:is(
  [data-crest-webp="true"],
  [data-crest-generated="true"],
  [data-crest-custom="true"],
  :is(img,svg).crest,
  .crest,
  .team-own-mark,
  .country-inline-image,
  .dashboard-country-image,
  .manager-passport-country-image,
  .manager-legacy-country-image,
  .country-coefficient-image,
  .world-digest-country-image
){
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}
:is(
  .topbar-club-visual,
  .topbar-next-crest,
  .landing-save-featured-crest,
  .save-slot-card-crest,
  .save-slot-team-crest,
  .landing-continue-club-crest,
  .team-card-crest,
  .landing-v99 .team-card-crest,
  .calendar-showcase-team .calendar-showcase-crest,
  .legacy-museum-crest-frame,
  .competition-end-emblem,
  .favorite-team-mark,
  .market-route-crest,
  .club-editor-preview-crest,
  .live-event-team-crest,
  .friendly-result-crest,
  .market-club-crest,
  .offer-club-mark,
  .universal-result-icon.has-crest,
  .team-profile-crest-stage,
  .national-context-banner-mark,
  .dashboard-country-mark,
  .manager-passport-country-mark
){
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

/* ==========================================================
   V517 · Home única, metadados alinhados e páginas públicas
   ----------------------------------------------------------
   Sempre que nenhuma carreira estiver aberta, a mesma Home compacta é usada,
   independentemente da existência de saves. Saves viram somente um bloco de
   continuidade. País + escudo ficam verticalmente centrados na mesma linha.
   ========================================================== */
.landing-v99.is-start-screen .landing-choice-shell{
  width:min(calc(100% - 18px),820px) !important;
  padding-top:14px !important;
}
.landing-v99.is-start-screen .landing-choice-hero{
  max-width:720px;
  margin-inline:auto;
}
.landing-v99.is-start-screen .landing-choice-hero > p{
  margin:7px auto 0;
  max-width:580px;
}
.landing-v99.is-start-screen .landing-choice-status{
  justify-content:center;
  margin-top:10px;
}

/* Saves existentes não reativam a Home antiga. */
.landing-continue-drawer{
  width:100%;
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--panel-2) 92%,transparent);
  overflow:hidden;
}
.landing-continue-drawer > summary{
  min-height:48px;
  padding:8px 10px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:8px;
  list-style:none;
  cursor:pointer;
}
.landing-continue-drawer > summary::-webkit-details-marker{display:none;}
.landing-continue-drawer > summary > span:nth-child(2){display:grid;gap:1px;min-width:0;}
.landing-continue-drawer > summary small{font-size:.5rem;color:var(--muted);letter-spacing:.06em;}
.landing-continue-drawer > summary strong{font-size:.66rem;color:var(--text);}
.landing-continue-drawer > summary > b{
  min-width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:var(--text);
  background:var(--panel-3);
  font-size:.56rem;
}
.landing-continue-drawer-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:color-mix(in srgb,var(--primary) 10%,transparent);
  color:var(--primary);
}
.landing-continue-drawer > summary > .fa-chevron-down{transition:transform .18s ease;}
.landing-continue-drawer[open] > summary > .fa-chevron-down{transform:rotate(180deg);}
.landing-continue-list{
  display:grid;
  gap:6px;
  padding:0 8px 8px;
}
.landing-continue-row{
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
.landing-continue-row-crest{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.landing-continue-row-crest .crest{max-width:32px !important;max-height:32px !important;}
.landing-continue-row > div{min-width:0;display:grid;gap:1px;}
.landing-continue-row strong,.landing-continue-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.landing-continue-row strong{font-size:.61rem;}
.landing-continue-row span{font-size:.51rem;color:var(--muted);}

/* Modos: compactos e estáveis em qualquer largura. */
.landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  padding:7px !important;
  margin-top:12px !important;
}
.landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch > .landing-mode-card{
  min-width:0 !important;
  min-height:68px !important;
  padding:8px 7px !important;
  display:grid !important;
  grid-template-columns:26px minmax(0,1fr) !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  gap:6px !important;
}
.landing-v99.is-start-screen .landing-mode-icon{
  width:26px !important;
  height:26px !important;
  border:0 !important;
  font-size:.68rem !important;
}
.landing-v99.is-start-screen .landing-mode-copy{min-width:0;display:block !important;}
.landing-v99.is-start-screen .landing-mode-copy :is(small,p),
.landing-v99.is-start-screen .landing-mode-action{display:none !important;}
.landing-v99.is-start-screen .landing-mode-copy strong{
  display:block;
  min-width:0;
  font-size:.62rem !important;
  line-height:1.15;
  overflow-wrap:normal;
  word-break:normal;
}

/* A linha de metadados do clube é um flex real. Assim escudo + Brasil e os
   demais trechos ficam no mesmo centro vertical, sem parecerem em linhas
   diferentes. */
.landing-v99 .team-card-copy{
  display:grid;
  align-content:center;
  gap:4px;
}
.landing-v99 .team-card-detail-line{
  min-width:0;
  max-width:100%;
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap;
  gap:4px;
  overflow:hidden;
  white-space:nowrap !important;
  line-height:18px;
}
.landing-v99 .team-card-detail{
  min-width:0;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  height:18px;
  line-height:18px;
  vertical-align:middle;
}
.landing-v99 .team-card-detail.is-country{max-width:42%;}
.landing-v99 .team-card-detail .country-inline-label{
  height:18px;
  align-items:center !important;
  line-height:18px;
  vertical-align:middle !important;
}
.landing-v99 .team-card-detail .country-inline-image{
  display:block !important;
  width:auto;
  height:auto;
  max-width:15px !important;
  max-height:15px !important;
  margin:0 !important;
  align-self:center !important;
  transform:none !important;
}
.landing-v99 .team-card-detail-separator{
  flex:0 0 auto;
  color:var(--muted);
  line-height:18px;
}

/* Ações essenciais ficam visíveis; links institucionais entram no dropdown. */
.landing-first-utility{
  position:relative;
  width:min(100%,700px);
  margin:12px auto 18px;
}
.landing-more-links{position:relative;}
.landing-more-links > summary{
  min-height:34px;
  padding:6px 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  list-style:none;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--muted);
  background:transparent;
  font-size:.54rem;
  font-weight:650;
  cursor:pointer;
}
.landing-more-links > summary::-webkit-details-marker{display:none;}
.landing-more-links > summary .fa-chevron-down{transition:transform .18s ease;}
.landing-more-links[open] > summary .fa-chevron-down{transform:rotate(180deg);}
.landing-more-links-menu{
  position:absolute;
  z-index:40;
  right:0;
  bottom:calc(100% + 6px);
  width:min(250px,calc(100vw - 24px));
  padding:6px;
  display:grid;
  gap:3px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  box-shadow:var(--shadow-md);
}
.landing-more-links-menu > :is(button,a){
  min-height:36px;
  padding:7px 8px;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:.58rem;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.landing-more-links-menu > :is(button,a):is(:hover,:focus-visible){background:var(--panel-2);}

/* Páginas públicas: navbar e topo ocupam a largura útil, sem card deslocado
   por margens extras. O conteúdo é organizado abaixo, com leitura central. */
.standalone-public-screen > .content{
  padding:0 !important;
}
.standalone-public-screen .internal-public-page{
  width:100% !important;
  padding:0 0 max(20px,env(safe-area-inset-bottom)) !important;
  gap:0 !important;
}
.standalone-public-screen .internal-page-toolbar{
  margin:0 !important;
  padding:12px 12px 0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:var(--panel) !important;
}
.standalone-public-screen .internal-page-toolbar::after{display:none !important;}
.standalone-public-screen .internal-page-toolbar-head{
  width:min(100%,960px);
  margin-inline:auto;
}
.standalone-public-screen .internal-page-route-nav{
  width:calc(100% + 24px);
  margin:2px -12px 0;
  padding:8px 12px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--panel-2) 92%,var(--panel));
}
.standalone-public-screen .internal-page-body{
  width:min(calc(100% - 24px),960px);
  margin:12px auto 0;
  gap:12px;
}
.standalone-public-screen .internal-page-footer{
  width:min(calc(100% - 24px),960px);
  margin:14px auto 0;
}

@media (max-width:560px){
  .landing-v99.is-start-screen .landing-choice-shell{width:calc(100% - 12px) !important;}
  .landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    padding:5px !important;
    gap:5px !important;
  }
  .landing-v99.is-start-screen .landing-mode-grid.setup-mode-switch > .landing-mode-card{
    min-height:62px !important;
    grid-template-columns:1fr !important;
    justify-items:center;
    text-align:center;
    gap:3px !important;
  }
  .landing-v99.is-start-screen .landing-mode-copy strong{font-size:.56rem !important;}
  .landing-v99.is-start-screen .landing-mode-icon{width:24px !important;height:24px !important;}
  .landing-v99 .team-grid{
    grid-template-columns:1fr !important;
    padding-inline:0 !important;
  }
  .landing-v99 .team-card{
    grid-template-columns:46px minmax(0,1fr) 38px !important;
    gap:8px !important;
    padding:9px !important;
  }
  .landing-v99 .team-card-crest{width:46px;height:50px;}
  .landing-v99 .team-card-detail.is-country{max-width:48%;}
  .landing-first-utility{gap:5px;}
  .landing-first-utility > :is(button,label,a),
  .landing-more-links > summary{font-size:.51rem;padding-inline:7px;}
}

/* ==========================================================
   V518 · abertura refeita e páginas públicas sem remendos
   ----------------------------------------------------------
   Estes componentes usam classes próprias para não herdar a malha histórica
   dos cards de modo e da topbar antiga. Em telas compactas os três modos são
   sempre uma lista vertical; em telas largas passam direto para três colunas.
   Nunca existe estado intermediário 2 + 1.
   ========================================================== */
.start-mode-selector{
  width:100%;
  margin:14px 0 0;
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.start-mode-option{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  min-height:94px;
  margin:0;
  padding:13px 14px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 22px;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  color:var(--text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.start-mode-option:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));}
.start-mode-option:active{transform:scale(.99);}
.start-mode-option:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 32%,transparent);outline-offset:2px;}
.start-mode-option.is-active{
  border-color:color-mix(in srgb,var(--primary) 66%,var(--line));
  background:color-mix(in srgb,var(--primary) 9%,var(--panel));
  box-shadow:inset 4px 0 0 var(--primary);
}
.start-mode-option-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));
  border-radius:13px;
  background:color-mix(in srgb,var(--primary) 8%,var(--panel-2));
  color:var(--primary);
  font-size:1.05rem;
}
.start-mode-option-copy{
  min-width:0;
  display:grid;
  gap:3px;
  align-content:center;
}
.start-mode-option-copy small{
  color:var(--muted);
  font-size:.62rem;
  font-weight:750;
  letter-spacing:.055em;
  line-height:1.15;
}
.start-mode-option-copy strong{
  display:block;
  color:var(--text);
  font-size:1rem;
  line-height:1.15;
}
.start-mode-option-copy > span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.38;
}
.start-mode-option-arrow{
  align-self:center;
  justify-self:end;
  color:var(--muted);
  font-size:.75rem;
}
.start-mode-option.is-active .start-mode-option-arrow{color:var(--primary);}

@media (min-width:760px){
  .start-mode-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .start-mode-option{
    min-height:184px;
    padding:15px;
    grid-template-columns:44px minmax(0,1fr);
    grid-template-rows:auto 1fr auto;
    align-items:start;
    gap:10px;
  }
  .start-mode-option-icon{grid-column:1;grid-row:1;width:44px;height:44px;}
  .start-mode-option-copy{grid-column:1 / -1;grid-row:2;align-content:start;gap:5px;}
  .start-mode-option-copy strong{font-size:1.02rem;}
  .start-mode-option-copy > span{font-size:.74rem;line-height:1.45;}
  .start-mode-option-arrow{grid-column:2;grid-row:1;align-self:center;}
}

/* Metadados do clube: país nunca desaparece, e escudo + texto ficam no mesmo
   eixo visual. O primeiro item pode encolher, mas não some por estilo. */
.landing-v99 .team-card-detail-line{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:5px !important;
  min-height:20px;
  color:var(--muted) !important;
  font-size:.72rem !important;
  line-height:20px !important;
}
.landing-v99 .team-card-detail{
  display:inline-flex !important;
  align-items:center !important;
  min-width:0;
  height:20px !important;
  line-height:20px !important;
  color:var(--muted) !important;
  opacity:1 !important;
}
.landing-v99 .team-card-detail.is-country{
  flex:0 1 auto;
  max-width:none !important;
  overflow:hidden;
}
.landing-v99 .team-card-detail.is-country .country-inline-label{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100%;
  height:20px !important;
  gap:5px !important;
  color:var(--muted) !important;
  opacity:1 !important;
}
.landing-v99 .team-card-detail.is-country .country-inline-label > span:last-child{
  display:inline !important;
  color:var(--muted) !important;
  opacity:1 !important;
  overflow:hidden;
  text-overflow:ellipsis;
}
.landing-v99 .team-card-detail.is-country .country-inline-image{
  display:block !important;
  flex:0 0 auto;
  max-width:16px !important;
  max-height:16px !important;
  margin:0 !important;
  transform:none !important;
}
.landing-v99 .team-card-detail-separator{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  height:20px;
  color:var(--muted) !important;
  line-height:20px !important;
}

/* Shell público V518: a barra realmente encosta no topo e nas laterais da
   tela. Só existe padding dentro do conteúdo útil, nunca margem externa. */
.public-shell-v518{
  width:100% !important;
  max-width:none !important;
  min-height:100dvh;
  margin:0 !important;
  padding:0 !important;
  background:var(--bg);
}
.public-shell-v518 > .content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.public-shell-v518-bar{
  width:100%;
  margin:0;
  padding:var(--safe-top) 0 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.public-shell-v518-inner{
  width:min(100%,1040px);
  min-height:64px;
  margin:0 auto;
  padding:9px 14px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.public-shell-v518-action{
  appearance:none;
  min-height:40px;
  padding:8px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
  color:var(--text);
  font:inherit;
  font-size:.68rem;
  font-weight:700;
  cursor:pointer;
}
.public-shell-v518-action.is-theme{width:40px;padding:0;}
.public-shell-v518-title{
  min-width:0;
  display:grid;
  gap:2px;
  text-align:left;
}
.public-shell-v518-title strong{
  color:var(--text);
  font-size:.86rem;
  line-height:1.1;
}
.public-shell-v518-title span{
  overflow:hidden;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.public-shell-v518-count{
  min-height:34px;
  padding:7px 9px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--muted);
  background:var(--panel-2);
  font-size:.62rem;
  font-weight:700;
  white-space:nowrap;
}

.public-page-v518{
  --page-accent:var(--primary);
  width:min(calc(100% - 24px),960px);
  margin:0 auto;
  padding:18px 0 max(24px,env(safe-area-inset-bottom));
  display:grid;
  gap:14px;
  color:var(--text);
}
.public-page-v518.public-page-updates{--page-accent:var(--info);}
.public-page-v518.public-page-privacy{--page-accent:var(--success);}
.public-page-v518.public-page-terms{--page-accent:var(--warning);}
.public-page-v518.public-page-error{--page-accent:var(--danger);}
.public-page-v518-intro{
  min-width:0;
  padding:2px 0 12px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.public-page-v518-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:color-mix(in srgb,var(--page-accent) 12%,var(--panel));
  color:var(--page-accent);
  font-size:1.05rem;
}
.public-page-v518-intro > div{min-width:0;}
.public-page-v518-intro .kicker{color:var(--page-accent);font-size:.58rem;letter-spacing:.06em;}
.public-page-v518-intro h1{margin:3px 0 4px;font-size:clamp(1.35rem,5vw,1.9rem);line-height:1.08;}
.public-page-v518-intro p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45;}
.public-page-v518-nav{
  margin:0;
  padding:0 0 6px;
  border-bottom:1px solid var(--line);
}
.public-page-v518-nav .internal-page-route-nav{
  margin:0;
  padding:0;
  gap:6px;
}
.public-page-v518 .internal-page-body{
  width:100% !important;
  margin:0 !important;
  display:grid;
  gap:12px;
}
.public-page-v518 .internal-page-footer{
  width:100% !important;
  margin:2px 0 0 !important;
}

@media (max-width:520px){
  .public-shell-v518-inner{min-height:58px;padding:7px 10px;gap:8px;}
  .public-shell-v518-action{width:38px;min-height:38px;padding:0;}
  .public-shell-v518-action > span{display:none;}
  .public-shell-v518-title strong{font-size:.8rem;}
  .public-shell-v518-title span{font-size:.62rem;}
  .public-shell-v518-count{min-height:32px;padding:6px 8px;font-size:.56rem;}
  .public-page-v518{width:calc(100% - 20px);padding-top:14px;gap:12px;}
  .public-page-v518-intro{grid-template-columns:40px minmax(0,1fr);gap:10px;padding-bottom:10px;}
  .public-page-v518-icon{width:40px;height:40px;border-radius:11px;font-size:.92rem;}
  .public-page-v518-intro h1{font-size:1.38rem;}
  .public-page-v518-intro p{font-size:.68rem;}
}


/* V519 · metadados dos clubes alinhados e páginas públicas no mesmo tema da Wiki. */
.landing-v99 .team-card-copy > .team-card-detail-line{
  margin-top:3px !important;
  display:flex !important;
  align-items:center !important;
  min-height:18px;
}
.landing-v99 .team-card-detail-line :is(.team-card-detail,.country-inline-label,.country-inline-label > span){
  margin-top:0 !important;
  line-height:18px !important;
  vertical-align:middle !important;
}
.landing-v99 .team-card-detail.is-country,
.landing-v99 .team-card-detail.is-country .country-inline-label{
  align-items:center !important;
}
.landing-v99 .team-card-detail.is-country .country-inline-image{
  align-self:center !important;
  margin:0 !important;
}

/* As páginas institucionais standalone passam a usar a mesma moldura de leitura
   do Guia/Wiki: mesmo ritmo, painéis, bordas e navegação horizontal. */
.standalone-public-screen.public-shell-v518 > .content{
  padding:12px !important;
}
.public-page-v518.public-page-wiki-v519{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 6px max(22px,env(safe-area-inset-bottom)) !important;
  gap:12px !important;
}
.public-page-wiki-v519 .public-page-v518-intro{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:12px;
  margin:0;
  padding:18px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--page-accent) 16%,transparent),transparent 42%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--page-accent) 4%),var(--panel));
  box-shadow:0 12px 28px rgba(0,0,0,.13);
}
.public-page-wiki-v519 .public-page-v518-icon{
  width:52px;
  height:58px;
  border:0;
  border-left:5px solid var(--page-accent);
  border-radius:8px 14px 14px 8px;
  background:color-mix(in srgb,var(--page-accent) 14%,var(--panel-2));
  color:var(--page-accent);
  font-size:1.25rem;
}
.public-page-wiki-v519 .public-page-v518-intro .kicker{
  color:var(--page-accent);
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.public-page-wiki-v519 .public-page-v518-intro h1{
  margin:3px 0 7px;
  font-size:clamp(1.45rem,6vw,2.15rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.public-page-wiki-v519 .public-page-v518-intro p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.65;
}
.public-page-wiki-v519 .public-page-v518-nav{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.public-page-wiki-v519 .internal-page-route-nav{
  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;
}
.public-page-wiki-v519 .internal-page-route-nav > button{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:max-content !important;
  min-height:38px !important;
  padding:6px 9px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  color:var(--muted) !important;
  background:var(--panel-2) !important;
  font-size:.65rem !important;
  font-weight:700 !important;
  scroll-snap-align:center;
}
.public-page-wiki-v519 .internal-page-route-nav > button.is-active{
  border-color:var(--page-accent) !important;
  color:var(--text) !important;
  background:color-mix(in srgb,var(--page-accent) 13%,var(--panel-2)) !important;
}
.public-page-wiki-v519 .internal-page-route-nav > button.is-active .fa-solid{ color:var(--page-accent) !important; }
.public-page-wiki-v519 .internal-page-body{
  width:100% !important;
  margin:0 !important;
  display:grid !important;
  gap:12px !important;
}
.public-page-wiki-v519 .internal-page-body > :is(section,article){
  width:100% !important;
  margin:0 !important;
  border:1px solid var(--line) !important;
  border-radius:15px !important;
  background:var(--panel) !important;
  box-shadow:none !important;
}
.public-page-wiki-v519 .internal-page-footer{
  width:100% !important;
  margin:0 !important;
  padding:12px 15px !important;
  border:1px solid var(--line) !important;
  border-radius:15px !important;
  background:var(--panel) !important;
}
html[data-theme="light"] .public-page-wiki-v519 .public-page-v518-intro,
html[data-theme="light"] .public-page-wiki-v519 .internal-page-body > :is(section,article),
html[data-theme="light"] .public-page-wiki-v519 .internal-page-footer{
  background-color:#fff !important;
}
@media (max-width:520px){
  .standalone-public-screen.public-shell-v518 > .content{padding:8px !important;}
  .public-page-v518.public-page-wiki-v519{padding:6px 4px max(18px,env(safe-area-inset-bottom)) !important;}
  .public-page-wiki-v519 .public-page-v518-intro{grid-template-columns:44px minmax(0,1fr);padding:15px 12px;gap:10px;}
  .public-page-wiki-v519 .public-page-v518-icon{width:44px;height:50px;font-size:1rem;}
  .public-page-wiki-v519 .public-page-v518-intro h1{font-size:1.45rem;}
  .public-page-wiki-v519 .public-page-v518-intro p{font-size:.78rem;}
}

/* ==========================================================
   V525 · fluxo inicial guiado, modal do técnico e páginas públicas
   ========================================================== */
.landing-v99.is-start-screen .setup-team-priority > .setup-selected-team{
  margin-top:14px;
  margin-bottom:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  padding:14px;
}
.landing-v99.is-start-screen .setup-team-priority > .setup-selected-team.is-empty{
  display:none !important;
}
.landing-v99.is-start-screen .setup-selected-team-content{
  min-width:0;
}
.landing-v99.is-start-screen .setup-selected-team-content > .selected-team-visual{
  min-width:0;
}
.landing-v99.is-start-screen .setup-selected-team-start{
  position:relative;
  z-index:2;
  width:100%;
  margin:0;
  min-height:48px;
  border-radius:13px;
  font-size:.75rem;
  font-weight:800;
  overflow-wrap:anywhere;
}
.landing-v99.is-start-screen .setup-selected-team-start[disabled]{
  opacity:.56;
  pointer-events:none;
}
.setup-manager-modal{
  display:grid;
  gap:14px;
}
.setup-manager-modal-team{
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--team-primary,var(--primary)) 34%,var(--line));
  border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--team-primary,var(--primary)) 16%,var(--panel)),var(--panel));
}
.setup-manager-modal-team > span{
  display:grid;
  place-items:center;
  min-width:0;
  background:transparent;
}
.setup-manager-modal-crest{
  width:54px !important;
  height:54px !important;
  object-fit:contain;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}
.setup-manager-modal-team > div{min-width:0;display:grid;gap:2px;}
.setup-manager-modal-team small{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.05em;}
.setup-manager-modal-team strong{min-width:0;font-size:.95rem;overflow-wrap:anywhere;}
.setup-manager-modal-team span{min-width:0;color:var(--muted);font-size:.68rem;overflow-wrap:anywhere;}
.setup-manager-modal-name{display:grid;gap:6px;font-size:.7rem;font-weight:750;}
.setup-manager-modal-name input{min-height:48px;font-size:.82rem;}
.setup-manager-modal-name small,.setup-manager-modal-hint{color:var(--muted);font-size:.65rem;line-height:1.5;}
.setup-manager-modal-hint{margin:0;}

/* Páginas públicas internas: nunca extrapolam a largura da tela e mantêm texto
   confortável para leitura em celulares pequenos. */
.internal-public-page,
.internal-public-page .internal-page-body,
.internal-public-page .internal-page-body > *,
.internal-public-page .site-hero,
.internal-public-page .site-hero-copy,
.internal-public-page .site-section,
.internal-public-page .site-grid,
.internal-public-page .site-card{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box;
}
.internal-public-page .internal-page-body{
  width:100%;
  overflow-x:clip;
}
.internal-public-page .internal-page-body :is(p,li,dd,dt,a,span,strong,small,code,td,th){
  overflow-wrap:anywhere;
}
.internal-public-page .internal-page-body :is(img,svg,video,canvas){
  max-width:100%;
  height:auto;
}
.internal-public-page .internal-page-body pre{
  max-width:100%;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
}
.internal-public-page .internal-page-body table{
  width:100%;
  max-width:100%;
}
.internal-public-page .internal-page-body :is(.site-section,.site-hero) p,
.internal-public-page .internal-page-body :is(.site-section,.site-hero) li{
  font-size:clamp(.82rem,3.55vw,.94rem) !important;
  line-height:1.62 !important;
}
.internal-public-page .internal-page-body :is(.site-section,.site-hero) small{
  font-size:clamp(.7rem,3vw,.8rem) !important;
  line-height:1.5 !important;
}
.internal-public-page .internal-page-body .site-section h2{
  font-size:clamp(1rem,4.6vw,1.3rem) !important;
  line-height:1.28 !important;
}
.internal-public-page .internal-page-body .site-hero h1{
  font-size:clamp(1.35rem,6vw,2rem) !important;
  line-height:1.16 !important;
  overflow-wrap:anywhere;
}
@media (max-width:560px){
  .internal-public-page .internal-page-body{
    padding-inline:8px !important;
  }
  .internal-public-page .internal-page-body :is(.site-hero,.site-section){
    width:100% !important;
    margin-inline:0 !important;
    padding:14px !important;
  }
  .internal-public-page .internal-page-body .site-grid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}
