/* =====================================================================
   m24-ui-base38 — correções cirúrgicas de UI medidas em 21/10/2026.

   Vem de ANALISE-UI-38BRASIL.md. Cada número aqui foi MEDIDO na tela
   rodando (375px, carreira real), não estimado.

   ⚠️ POR QUE UM ARQUIVO SEPARADO, e não editar o index-*.css:
   o CSS principal tem 1.717 KB, 12.279 seletores e 4.913 !important.
   Editar lá dentro é irreversível na prática e o verify não alcança.
   Aqui: um arquivo, um selo, uma linha no index.html — e desfazer é
   apagar a linha.

   ⚠️ O custo honesto: para vencer os 4.913 !important existentes, este
   arquivo também precisa de !important. Isso ADICIONA entropia ao CSS.
   É dívida consciente, aceita porque o retorno (botão principal e
   navegação utilizáveis) é imediato e a reversão é trivial. A saída
   definitiva é a escala de tipo por token — item 5 do relatório.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. BARRA DE AÇÕES RÁPIDAS — "Simular rodada" e irmãos

   MEDIDO: 159 x 30px, rótulo de 9,92px, contraste 2,72:1.
   É a ação mais repetida do jogo (38x por temporada) e estava desenhada
   como link secundário.

   O CSS principal encolhe esta barra TRÊS vezes em cascata:
   34px/.76rem  ->  30px/.62rem  ->  28px/.6rem.
   Por isso o !important: precisamos vencer o último degrau.
   --------------------------------------------------------------------- */
.manager38-bf-quick-actions button,
.manager38-bf-quick-btn {
  min-height: 44px !important;          /* piso de toque */
  font-size: .8125rem !important;       /* 13px — era 9,6px */
  padding: 0 10px !important;
  border-radius: 10px !important;
  letter-spacing: -.005em;
}

.manager38-bf-quick-btn svg {
  width: 15px !important;
  height: 15px !important;
}

/* O verde de "Simular rodada": branco em cima dava 2,72:1 (piso 4,5).
   A parada CLARA do gradiente é que reprovava. #158845 dá 4,53:1 e é o
   menor escurecimento que passa — mesmo matiz, mesma saturação. */
.manager38-bf-quick-btn.is-sim,
html.ui-light-test body .manager38-bf-quick-btn.is-sim,
body.light .manager38-bf-quick-btn.is-sim,
.manager38-brasfoot-light .manager38-bf-quick-btn.is-sim {
  background: linear-gradient(180deg, #158845, #0f6f35) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------------------
   2. NAVEGAÇÃO INFERIOR

   MEDIDO: itens de 42 x 42px, rótulo de 7,68px, 6 itens ocupando 252px
   numa tela de 375px — sobravam 123px sem uso.

   flex:1 1 0 distribui a largura inteira: ~62px por item.
   --------------------------------------------------------------------- */
.manager38-bottom-nav button:not(.manager38-bottom-nav-play),
.manager38-bottom-nav-item {
  flex: 1 1 0 !important;               /* era flex:0 0 auto + min-width:42px */
  min-width: 0 !important;
  height: auto !important;
  min-height: 48px !important;          /* era 42px */
  padding: 5px 0 !important;            /* 0 na lateral: "Mercado" precisa dos 56px inteiros */
  gap: 3px !important;
}

.manager38-bottom-nav button:not(.manager38-bottom-nav-play) small,
.manager38-bottom-nav-item small {
  font-size: .6875rem !important;       /* 11px — era 7,68px */
  font-weight: 700 !important;
  line-height: 1.1 !important;
  /* ⚠️ SAI O CAIXA-ALTA. Duas razões, nesta ordem:
     1) MEDIDO: "MERCADO" custa 55px, "Mercado" custa 46px. Em celular de
        320px há 46px por item — em maiúscula o rótulo é cortado e vira
        "MERC...", que é pior do que a abreviação que tiramos.
     2) Caixa-alta a 11px é mais difícil de ler: some a silhueta da
        palavra, que é por onde o olho reconhece sem soletrar. */
  text-transform: none !important;
  /* MEDIDO: "Mercado" rende 54px em 56px disponíveis. Apertar o
     espacejamento dá a folga. ⚠️ canvas.measureText mentiu aqui (disse
     46px); quem vale é o scrollWidth do elemento de verdade. */
  letter-spacing: -.02em !important;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manager38-bottom-nav-icon {
  font-size: 1.05rem !important;        /* o ícone acompanha o rótulo */
  line-height: 1 !important;
}

/* ---------------------------------------------------------------------
   3. ALVOS DE TOQUE

   MEDIDO: 64 alvos abaixo de 44px na tela de Elenco.

   ⚠️ HONESTIDADE: nem todos chegam a 44px sem redesenhar a linha.
   A linha de jogador tem 48px de altura fixa; um botão de 44px dentro
   dela não respira. Subo ao máximo que cabe e registro o resto.
   --------------------------------------------------------------------- */
.manager38-bf-compare-btn {
  width: 34px !important;               /* era 26px — teto dentro da linha de 48px */
  height: 34px !important;
  font-size: .9rem !important;
}

.manager38-settings-trigger,
.manager38-language-trigger {
  min-width: 36px !important;           /* era 28px */
  min-height: 36px !important;
}

.manager38-account-chip {
  min-height: 36px !important;          /* era 28px */
}

/* ---------------------------------------------------------------------
   4. VERDE DA MARCA NOS BOTÕES PRIMÁRIOS

   MEDIDO: #149447 com branco em cima = 3,92:1 (piso 4,5). 769 usos crus.

   ⚠️ NÃO faço troca global. O verde também é TEXTO em 80 seletores, e
   escurecer texto verde sobre fundo ESCURO piora (4,18 -> 3,61). Então
   mexo só onde verifiquei que há branco em cima: botões primários.
   #128841 = 4,52:1, 2,6% mais escuro, mesmo matiz.
   --------------------------------------------------------------------- */
.manager38-screen button.manager38-start,
.manager38-modal-backdrop button.manager38-start,
.manager38-setup-access-btn.is-primary,
.m24-tour38-ok,
.manager-unlock-gate-cta,
.manager38-unlock-nudge-cta {
  background-color: #128841 !important;
  background-image: none !important;
  color: #fff !important;
}

/* Os que usam gradiente mantêm o gradiente, só com a parada clara corrigida */
.manager-unlock-gate-cta,
.manager38-unlock-nudge-cta {
  background-image: linear-gradient(180deg, #158845, #0f6f35) !important;
}

.home-mgr-pitch-cta {
  background-image: linear-gradient(180deg, #158845, #128841 48%, #0f6f35) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------------------
   5. A CAMISA DO CAMPO

   MEDIDO: 50 das 55 reprovações de contraste e 75 dos 119 textos
   minúsculos estavam AQUI — jersey-number, jersey-fit, jersey-pos e
   jersey-name, 25 de cada (um por jogador).

   ⚠️ A camisa é pintada com a cor do CLUBE. Não existe cor de texto fixa
   que passe em todos os times: o mesmo amarelo dá 3,20 no verde-claro,
   3,57 no verde-médio e 5,91 no verde-escuro. Por isso aqui a arma é
   contorno, não cor.
   --------------------------------------------------------------------- */

/* O "100%" de energia reprovava por 0,02 (4,48 contra o piso de 4,50).
   #0b1220 leva a 4,73 e é visualmente o mesmo quase-preto. */
.jersey-fit {
  color: #0b1220 !important;
}

/* O número da camisa varia de 3,20 a 5,91 conforme o clube.
   ⚠️ HONESTIDADE: contorno NÃO muda a razão de contraste que a régua
   WCAG calcula — ela só olha cor de texto contra cor de fundo. O que o
   contorno faz é garantir a leitura real sobre qualquer cor de camisa.
   A correção que satisfaz a fórmula exige cor de número POR CLUBE, e
   isso é reforma, não ajuste. */
.jersey-number {
  -webkit-text-stroke: .6px rgba(0, 0, 0, .82);
  paint-order: stroke fill;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .75) !important;
}

/* Tamanho: 7,04–8px é ilegível. ⚠️ Não dá para chegar aos 11px do piso:
   a camisa tem 40px de largura e o rótulo de posição ficaria com 30px,
   tomando 75% do desenho. 9px é o teto que cabe — melhora 28% e fica
   registrado que o piso de verdade depende de redesenhar o campo. */
.jersey-pos,
.pitch-wrap-compact .jersey-pos,
.manager38-prematch-pitch-large .jersey-pos,
.manager38-prematch-pitch:not(.manager38-prematch-pitch-large) .jersey-pos,
.pitch-wrap-compact .pitch-reserve-dots-expanded .pitch-reserve-jersey .jersey-pos {
  font-size: .5625rem !important;       /* 9px — era 7,04 a 7,68 */
}

.jersey-name,
.jersey-fit {
  font-size: .5625rem !important;       /* 9px — era 8 e 8,32 */
}

/* ---------------------------------------------------------------------
   6. A FAIXA DO CABEÇALHO

   MEDIDO: "Treinador", "Ctr", "Dir.", "Tor." a 7,68–8px. É a informação
   do próprio jogador, no cabeçalho permanente do jogo.

   ⚠️ A faixa é horizontal e apertada: 11px estoura. 10px é o teto que
   cabe — conferido medindo scrollWidth depois de aplicar.
   --------------------------------------------------------------------- */
.manager38-bf-head-meta-row small,
.manager38-bf-meta-chip small,
.manager38-trust small {
  font-size: .625rem !important;        /* 10px — era 7,68 e 8 */
  letter-spacing: 0 !important;
}

.manager38-bf-next-stage,
.manager38-bf-next-venue {
  font-size: .625rem !important;        /* 10px — era 8,64 e 8,96 */
}

/* "Jogar" era o único item da navegação fora do padrão (7,68px).
   Um controle não tem dois tamanhos na mesma barra. */
.manager38-bottom-nav-play small {
  font-size: .6875rem !important;       /* 11px, igual aos irmãos */
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}

/* ---------------------------------------------------------------------
   7. O QUE PRECISOU GRITAR MAIS ALTO

   ⚠️ Esta seção existe por causa dos 4.913 !important do CSS principal.
   A regra .manager38-brasfoot-header .manager38-trust.is-compact small
   tem especificidade (0,3,1) + !important. Um .manager38-trust small
   (0,1,1) + !important PERDE. Foi preciso repetir a especificidade dela.

   É a dívida do item 5 do relatório cobrando juros: sem escala por
   token, toda correção vira uma escalada de especificidade.
   --------------------------------------------------------------------- */
.manager38-brasfoot-header .manager38-trust.is-compact small,
.manager38-brasfoot-header .manager38-trust.is-compact em,
.manager38-brasfoot-header .manager38-trust small,
.manager38-brasfoot-header .manager38-trust em {
  font-size: .625rem !important;        /* 10px — era 8px */
}

/* Chips de instrução tática */
.manager38-instr-rail .manager38-instr-chip .manager38-instr-text {
  font-size: .625rem !important;        /* 10px — era 8,96px */
}
.manager38-instr-rail .manager38-instr-chip {
  min-height: 36px !important;
}

/* ---------------------------------------------------------------------
   8. OS FILTROS DO ELENCO

   MEDIDO: 5 <select> de 22px de altura (Formação, Ordem, Posição,
   Idade, Contrato).

   ⚠️ SÓ ALTURA, de propósito. Esta barra JÁ estoura a tela em 24px —
   defeito herdado, provado ligando e desligando este arquivo: o estouro
   é idêntico com e sem ele. Aumentar a FONTE alargaria os select e
   pioraria o estouro. Consertar a largura exige deixar a barra quebrar
   linha, e isso muda o layout — fica para aprovação à parte.
   --------------------------------------------------------------------- */
.manager38-bf-squad-toolbar select {
  min-height: 34px !important;          /* era 22px */
  /* ⚠️ o padding LATERAL fica como estava (5px). Eu tinha posto 6px e
     medi o estrago: o estouro da barra subiu de 24px para 29px. Altura
     não custa largura; padding lateral custa. */
  padding: 4px 5px !important;
}

.manager38-bf-squad-toolbar label {
  align-items: center;
}
