/* Telas do atleta: entrar, minha conta e aceitar troca. Desenho dos protótipos Login, MinhaConta e AceitarTroca. */
body.tela-atleta { font-size: 15px; line-height: 1.45; }
.coluna { width: 100%; max-width: 560px; margin: 0 auto; }

/* Topo compacto (conta e troca) */
.topo-atleta { background: var(--pfy-ink); color: var(--pfy-white); }
.topo-atleta .coluna { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 16px; }
.topo-atleta a.logo { display: inline-flex; align-items: center; gap: 7px; color: #fff; text-decoration: none; }
.topo-atleta .onde { margin-left: auto; font-size: 13px; color: var(--pfy-line-strong); }
.topo-atleta .iniciais { width: 34px; height: 34px; border-radius: 50%; background: var(--pfy-navy-700); display: flex; align-items: center;
  justify-content: center; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.topo-atleta .sair { min-height: 44px; padding: 0 6px; border: 0; background: none; color: #fff; font-weight: 700; cursor: pointer; }
.logo svg { display: block; flex-shrink: 0; }

/* Títulos condensados */
.t-cond { font-family: var(--pfy-fonte-titulo); font-weight: 700; text-transform: uppercase; line-height: 1; margin: 0; }
h1.t-cond { font-size: 30px; }
h2.t-cond { font-size: 24px; }
.sub { font-size: 14px; color: var(--pfy-ink-2); margin: 0; }
.mini { font-size: 12px; color: var(--pfy-ink-3); margin: 0; }
.cinza { color: var(--pfy-ink-3); }

/* Entrar: fundo escuro e folha clara */
body.tela-entrar { background: var(--pfy-ink); color: var(--pfy-white); min-height: 100vh; }
.entrar-caixa { display: flex; flex-direction: column; min-height: 100vh; }
.entrar-topo { padding: 28px 24px 22px; }
.entrar-topo .logo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 10px; text-decoration: none; }
.entrar-topo .subtitulo { margin-top: 4px; font-size: 14px; color: var(--pfy-line-strong); }
.folha { flex: 1; background: var(--pfy-bg); color: var(--pfy-ink); border-radius: 22px 22px 0 0; padding: 20px 20px 28px;
  display: flex; flex-direction: column; gap: 16px; }
.folha > .coluna { display: flex; flex-direction: column; gap: 16px; }
.alternador { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--pfy-mist); border-radius: 12px; padding: 4px; gap: 4px; }
.alternador button { min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--pfy-ink); font-size: 14px; font-weight: 700; cursor: pointer; }
.alternador button[aria-pressed="true"] { background: var(--pfy-white); box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.form { display: flex; flex-direction: column; gap: 14px; }
.form .campo label { font-size: 13px; }
.entrada.grande { min-height: 48px; border-width: 1.5px; border-radius: 12px; padding: 0 14px; font-size: 16px; }
.entrada.cpf { min-height: 52px; font-size: 18px; letter-spacing: .5px; }
.entrada.codigo { min-height: 56px; font-size: 24px; letter-spacing: 6px; text-align: center; }
.botao { min-height: 52px; border-radius: 12px; border: 0; font-weight: 700; font-size: 16px; cursor: pointer; width: 100%;
  display: inline-flex; align-items: center; justify-content: center; text-decoration: none; padding: 0 16px; }
.botao.primario { background: var(--pfy-coral-strong); color: var(--pfy-white); }
.botao.primario:hover:not(:disabled) { background: var(--pfy-coral-deep); color: #fff; }
.botao.contorno { min-height: 48px; border: 1.5px solid var(--pfy-ink); background: var(--pfy-white); color: var(--pfy-ink); }
.botao.escuro { background: var(--pfy-ink); color: var(--pfy-white); }
.botao.tracejado { min-height: 50px; border: 2px dashed var(--pfy-ink-4); background: transparent; color: var(--pfy-ink); }
.botao:disabled { background: var(--pfy-line-strong); color: var(--pfy-ink-2); cursor: not-allowed; border-color: transparent; }
.botao.peq { min-height: 42px; width: auto; font-size: 13px; border-radius: 10px; padding: 0 14px; }
.links { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; font-weight: 600; }
.links a, .link-botao { color: var(--pfy-coral-ink); font-weight: 700; }
.link-botao { background: none; border: 0; padding: 0; min-height: 44px; cursor: pointer; font-size: 14px; text-decoration: underline; }
.voltar { align-self: flex-start; min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: var(--pfy-coral-ink); font-weight: 700; cursor: pointer; }
.msg-erro { font-size: 14px; font-weight: 600; color: var(--pfy-danger); background: var(--pfy-danger-tint); border-radius: 10px; padding: 10px 12px; }
.msg-ok { font-size: 14px; font-weight: 600; color: var(--pfy-success); background: var(--pfy-success-tint); border-radius: 10px; padding: 10px 12px; }
.msg-info { font-size: 14px; color: var(--pfy-info); background: var(--pfy-info-tint); border-radius: 10px; padding: 10px 12px; }
.msg-alerta { font-size: 14px; font-weight: 600; color: var(--pfy-warning); background: var(--pfy-warning-tint); border-radius: 10px; padding: 10px 12px; }

/* PIN: caixas e teclado */
.pin-caixas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.pin-caixas div { height: 52px; border-radius: 10px; border: 1.5px solid var(--pfy-line-strong); background: var(--pfy-white);
  display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; }
.pin-caixas div.atual { border-color: var(--pfy-coral-strong); }
.pin-wrap { position: relative; }
.pin-wrap input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; font-size: 16px; cursor: pointer; }
.pin-wrap:focus-within .pin-caixas div.atual { box-shadow: var(--pfy-coral-glow); }
.teclado { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.teclado button { min-height: 52px; border-radius: 12px; border: 0; background: var(--pfy-white); color: var(--pfy-ink); font-size: 22px; font-weight: 700; cursor: pointer; }
.teclado button.cinza-tecla { background: var(--pfy-mist); }
.teclado button:disabled { opacity: .5; cursor: not-allowed; }
.etapas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; list-style: none; margin: 0; padding: 0; }
.etapas li { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; color: var(--pfy-ink-3); }
.etapas li::before { content: ''; height: 5px; border-radius: 3px; background: var(--pfy-line-2); }
.etapas li.feita { color: var(--pfy-ink); }
.etapas li.feita::before { background: var(--pfy-coral-strong); }
.bloco-branco { background: var(--pfy-white); border-radius: 16px; padding: 22px 18px; display: flex; flex-direction: column; gap: 12px; }
.bloco-branco.centro { text-align: center; align-items: center; }
.selo-ok { width: 60px; height: 60px; border-radius: 50%; background: var(--pfy-success); display: flex; align-items: center; justify-content: center; }
.opcao-org { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 0 16px; border-radius: 12px;
  border: 2px solid var(--pfy-coral-strong); background: var(--pfy-white); color: var(--pfy-ink); font-weight: 700; cursor: pointer; text-align: left; width: 100%; }
.opcao-org .seta { font-size: 22px; color: var(--pfy-coral-strong); }

/* Minha conta: abas */
.abas-conta { background: var(--pfy-white); border-bottom: 1px solid var(--pfy-line-2); }
.abas-conta .coluna { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.abas-conta button { min-height: 50px; border: 0; border-bottom: 3px solid transparent; background: var(--pfy-white); color: var(--pfy-ink-3);
  font-size: 13px; font-weight: 700; cursor: pointer; padding: 0 2px; }
.abas-conta button[aria-selected="true"] { color: var(--pfy-ink); border-bottom-color: var(--pfy-coral-strong); }
.contador { display: inline-flex; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--pfy-coral-strong);
  color: var(--pfy-white); font-size: 11px; align-items: center; justify-content: center; vertical-align: 1px; margin-left: 2px; }
main.conta-corpo { padding: 18px 16px 28px; }
.lista { display: flex; flex-direction: column; gap: 14px; }

/* Cartões */
.cx { background: var(--pfy-white); border-radius: 14px; overflow: hidden; }
.cx-dentro { padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.cx-topo { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.forte { font-weight: 700; }
.detalhe { font-size: 13px; color: var(--pfy-ink-3); }
.status { font-size: 12px; font-weight: 700; border-radius: 6px; padding: 2px 8px; white-space: nowrap; background: var(--pfy-line); color: var(--pfy-ink-2); }
.status.ok { background: var(--pfy-success-tint); color: var(--pfy-success); }
.status.coral { background: var(--pfy-coral-tint); color: var(--pfy-coral-ink); }
.status.alerta { background: var(--pfy-warning-tint); color: var(--pfy-warning); }
.dados-insc { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; }
.dados-insc .r { color: var(--pfy-ink-3); }
.faixa { padding: 12px 16px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.faixa .titulo-faixa { font-weight: 700; }
.faixa.alerta { border-top: 1px solid var(--pfy-warning-line); background: var(--pfy-warning-tint); }
.faixa.alerta .titulo-faixa { color: var(--pfy-warning); }
.faixa.coral { border-top: 1px solid var(--pfy-coral-line); background: var(--pfy-coral-tint); }
.faixa.coral .titulo-faixa { color: var(--pfy-coral-ink); }
.faixa.ok { border-top: 1px solid var(--pfy-success-line); background: var(--pfy-success-tint); color: var(--pfy-success); font-weight: 600; }
.faixa .acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.qr-area { border-top: 1px solid var(--pfy-line); padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; background: var(--pfy-bg-soft); }
.qr-area .detalhe { text-align: center; }
.acoes-insc { border-top: 1px solid var(--pfy-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acoes-insc button { min-height: 48px; border: 0; border-left: 1px solid var(--pfy-line); background: var(--pfy-white); color: var(--pfy-ink);
  font-size: 13px; font-weight: 700; cursor: pointer; }
.acoes-insc button:first-child { border-left: 0; }
.acoes-insc button:disabled { color: var(--pfy-ink-4); cursor: not-allowed; }
.pagamento-pendente { background: var(--pfy-coral-tint); border: 1.5px solid var(--pfy-coral-line); border-radius: 14px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 10px; }
.rotulo-coral { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--pfy-coral-ink); }
.ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--pfy-coral-strong); flex-shrink: 0; }
.aviso-topo { background: var(--pfy-white); border: 1.5px solid var(--pfy-coral-line); border-left: 5px solid var(--pfy-coral-strong);
  border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.aviso-cx { background: var(--pfy-white); border: 1px solid var(--pfy-line); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.aviso-cx.importante { border: 1.5px solid var(--pfy-coral-line); border-left: 5px solid var(--pfy-coral-strong); }
.aviso-rotulo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--pfy-ink-3); }
.aviso-cx.importante .aviso-rotulo, .aviso-topo .aviso-rotulo { color: var(--pfy-coral-ink); }
.aviso-texto { font-size: 14px; line-height: 1.5; color: var(--pfy-ink-2); white-space: pre-wrap; margin: 0; }
.versao-corrigida { border-radius: 6px; padding: 1px 7px; background: var(--pfy-bg); color: var(--pfy-ink-2); }
.confirmado { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--pfy-status-pago);
  background: var(--pfy-status-pago-bg); border-radius: 8px; padding: 8px 10px; }
.atleta-linha { background: var(--pfy-white); border-radius: 14px; padding: 14px 16px; display: flex; align-items: center; gap: 12px; }
.avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--pfy-line); display: flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.icone-botao { width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--pfy-ink-2); display: flex;
  align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
.cresce { flex: 1; min-width: 0; }
.pedido-linha { display: flex; justify-content: space-between; align-items: center; gap: 10px; }

/* Folha inferior (diálogo) */
dialog.folha-baixo { border: 0; padding: 0; width: 100%; max-width: 560px; margin: auto auto 0; border-radius: 20px 20px 0 0; max-height: 92vh; }
dialog.folha-baixo::backdrop { background: var(--pfy-scrim); }
.folha-baixo .dentro-folha { padding: 20px 16px 22px; display: flex; flex-direction: column; gap: 14px; }
.folha-baixo .cab { display: flex; align-items: center; justify-content: space-between; }
.folha-baixo h2 { font-size: 26px; }
.fechar { width: 44px; height: 44px; margin-right: -10px; border: 0; background: transparent; color: var(--pfy-ink); display: flex;
  align-items: center; justify-content: center; cursor: pointer; }
.grade-tam { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.tam { min-height: 52px; border-radius: 10px; border: 2px solid var(--pfy-line-2); background: var(--pfy-white); color: var(--pfy-ink);
  font-size: 14px; font-weight: 700; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; padding: 2px; }
.tam small { font-size: 10px; font-weight: 700; color: var(--pfy-ink-3); }
.tam.atual { border-color: var(--pfy-ink); }
.tam[aria-pressed="true"] { border-color: var(--pfy-selecao-borda); background: var(--pfy-selecao-fundo); box-shadow: var(--pfy-selecao-brilho); }
.tam:disabled { background: var(--pfy-line); color: var(--pfy-ink-3); cursor: not-allowed; }
.tam:disabled span { text-decoration: line-through; }
.form-grade { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.form-grade .inteira { grid-column: 1 / -1; }
.escolha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.escolha button { min-height: 44px; border-radius: 10px; border: 1.5px solid var(--pfy-line-2); background: var(--pfy-white); font-weight: 700; cursor: pointer; }
.escolha button[aria-pressed="true"] { border-color: var(--pfy-selecao-borda); background: var(--pfy-selecao-fundo); box-shadow: var(--pfy-selecao-brilho); }

/* Aceitar troca */
.progresso { background: var(--pfy-white); border-bottom: 1px solid var(--pfy-line-2); }
.progresso .coluna { padding: 10px 16px; }
.barras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 6px; }
.barras div { height: 4px; border-radius: 2px; background: var(--pfy-line-2); }
.barras div.feita { background: var(--pfy-coral-strong); }
.escolha-atleta { min-height: 60px; display: flex; align-items: center; gap: 12px; text-align: left; border-radius: 12px; border: 1.5px solid var(--pfy-line-2);
  background: var(--pfy-white); color: var(--pfy-ink); padding: 8px 12px; cursor: pointer; width: 100%; }
.escolha-atleta[aria-pressed="true"] { border-color: var(--pfy-coral-strong); background: var(--pfy-coral-tint); }
.escolha-atleta:disabled { opacity: .55; cursor: not-allowed; }
.escolha-atleta .avatar { width: 38px; height: 38px; }
.linha-valor { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.linha-valor.total { font-weight: 700; border-top: 1px solid var(--pfy-line); padding-top: 6px; }
.marcar-cx { display: flex; gap: 10px; align-items: flex-start; background: var(--pfy-white); border-radius: 12px; padding: 12px; font-size: 14px; cursor: pointer; }
.marcar-cx input { width: 22px; height: 22px; margin: 0; accent-color: var(--pfy-coral-strong); flex-shrink: 0; }
.resumo-final { background: var(--pfy-white); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.resumo-final div { display: flex; justify-content: space-between; gap: 10px; }
.check-grande { width: 64px; height: 64px; border-radius: 50%; background: var(--pfy-success); display: flex; align-items: center; justify-content: center; align-self: center; }

@media (max-width: 420px) { .form-grade { grid-template-columns: 1fr; } }

/* Segurança: segundo fator (aplicativo autenticador) */
.chave-totp { font-family: ui-monospace, Consolas, monospace; font-size: 18px; font-weight: 700; letter-spacing: 1px; word-spacing: 6px;
  background: var(--pfy-bg); border-radius: 10px; padding: 12px 14px; overflow-wrap: anywhere; user-select: all; }
.linha-acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.passos-totp { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--pfy-ink-2); }
.icone-botao.perigo { color: var(--pfy-danger); }
.botao.perigo { background: var(--pfy-danger); color: var(--pfy-white); }
.topo-atleta .areas { display: flex; gap: 10px; flex-wrap: nowrap; }
.topo-atleta .areas a { white-space: nowrap; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.topo-atleta .areas a:hover { text-decoration: underline; }
@media (max-width: 640px) { .topo-atleta .areas { display: none; } }
