/* Painel do Atleta — usa o admin.css como base */
.at-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .9rem 1.4rem; background: linear-gradient(120deg, #06255a, #0b63c5); color: #fff;
  position: sticky; top: 0; z-index: 30;
}
.at-brand { display: flex; align-items: center; gap: .6rem; color: #fff; font-weight: 800; }
.at-brand img { width: 34px; height: 34px; }
.at-header-acoes { display: flex; gap: .5rem; }
.at-header .btn-outline { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
.at-header .btn-outline:hover { background: rgba(255,255,255,.15); border-color: #fff; }

.at-main { width: min(920px, 94vw); margin: 1.6rem auto; }

.at-login { max-width: 420px; margin: 2.5rem auto; }
.at-card { background: #fff; border-radius: 16px; box-shadow: var(--sombra); padding: 1.8rem; }
.at-card h1 { font-size: 1.35rem; font-weight: 800; text-align: center; }
.at-card .sub { text-align: center; color: var(--tinta-suave); font-size: .9rem; margin-bottom: 1.3rem; }
.at-link { background: none; color: var(--azul); font-weight: 700; font-size: .88rem; cursor: pointer; }
.at-link:hover { text-decoration: underline; }

.at-insc-card { display: flex; align-items: center; gap: 1rem; border: 1px solid var(--linha); border-radius: var(--radius); padding: 1.1rem 1.3rem; margin-bottom: .9rem; cursor: pointer; transition: var(--trans); background: #fff; }
.at-insc-card:hover { border-color: var(--azul); box-shadow: var(--sombra-sm); }
.at-insc-ico { font-size: 2rem; }
.at-insc-info { flex: 1; }
.at-insc-info b { font-size: 1.05rem; }
.at-insc-info small { display: block; color: var(--tinta-suave); }

.at-locked { background: rgba(214,69,69,.06); border: 1px solid rgba(214,69,69,.25); border-radius: var(--radius); padding: 1rem 1.2rem; margin: 1rem 0; color: var(--erro); font-weight: 600; }
.at-foto-edit { display: flex; flex-direction: column; gap: .4rem; align-items: center; }
.at-foto-edit img, .at-foto-edit .semfoto { width: 84px; height: 84px; object-fit: cover; border-radius: 10px; border: 1px solid var(--linha); background: var(--fundo); display: grid; place-items: center; color: var(--tinta-suave); }
.at-foto-edit input[type=file] { font-size: .72rem; max-width: 120px; }
.at-jog-edit { border: 1px solid var(--linha); border-radius: var(--radius); padding: 1rem; margin-bottom: .8rem; background: #fafbfe; position: relative; }
.at-jog-edit .rem { position: absolute; top: .6rem; right: .6rem; }

/* ---- Menu do usuário ---- */
.at-nav { background: #fff; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 20; box-shadow: var(--sombra-sm); }
.at-nav-inner { width: min(920px, 94vw); margin: 0 auto; display: flex; gap: .4rem; }
.at-nav-btn { position: relative; background: none; border: none; padding: 1rem .9rem; font-size: .95rem; font-weight: 700; color: var(--tinta-suave); cursor: pointer; border-bottom: 3px solid transparent; display: inline-flex; align-items: center; gap: .4rem; }
.at-nav-btn:hover { color: var(--azul); }
.at-nav-btn.ativo { color: var(--azul); border-bottom-color: var(--azul); }
.at-nav-badge { background: var(--erro); color: #fff; font-size: .7rem; font-weight: 800; border-radius: 999px; padding: .05rem .4rem; min-width: 18px; text-align: center; }

/* ---- Banner do campeonato (topo do detalhe) ---- */
.camp-banner { background: linear-gradient(120deg, #06255a, #0b63c5); color: #fff; border-radius: 16px; padding: 1.3rem 1.5rem; margin-bottom: 1.1rem; box-shadow: var(--sombra); }
.camp-banner-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.camp-banner-nome { font-size: 1.5rem; font-weight: 800; margin: .2rem 0 .6rem; }
.camp-banner-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .7rem; }
.camp-tag { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: .2rem .7rem; font-size: .8rem; font-weight: 700; }
.camp-tag.tag-ok { background: rgba(46,196,120,.28); border-color: rgba(46,196,120,.5); }
.camp-tag.tag-wait { background: rgba(240,180,40,.25); border-color: rgba(240,180,40,.5); }
.camp-banner-meta { display: flex; flex-wrap: wrap; gap: 1rem; font-size: .85rem; opacity: .95; }

.secao-titulo { font-size: 1.05rem; font-weight: 800; color: var(--tinta); margin: .2rem 0 .7rem; }
.form-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.3rem; }

/* ---- Cartões de chamados (visão do atleta) ---- */
.cham-card { background: #fff; border: 1px solid var(--linha); border-left: 4px solid var(--azul); border-radius: var(--radius); padding: 1.1rem 1.3rem; margin-bottom: .9rem; box-shadow: var(--sombra-sm); }
.cham-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.cham-head b { font-size: 1.05rem; }
.cham-estado { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px; padding: .2rem .6rem; white-space: nowrap; }
.cham-estado.est-aberto { background: rgba(240,180,40,.18); color: #9a6b00; }
.cham-estado.est-processo { background: rgba(11,99,197,.14); color: var(--azul); }
.cham-estado.est-concluido { background: rgba(46,196,120,.18); color: #178a4e; }
.cham-meta { color: var(--tinta-suave); font-size: .8rem; margin: .3rem 0 .6rem; }
.cham-texto { white-space: pre-wrap; color: var(--tinta); }
.cham-resposta { margin-top: .9rem; background: rgba(46,196,120,.08); border: 1px solid rgba(46,196,120,.25); border-radius: 10px; padding: .8rem 1rem; }
.cham-resposta-tag { font-size: .78rem; font-weight: 800; color: #178a4e; }
.cham-resposta p { margin: .3rem 0 0; white-space: pre-wrap; color: var(--tinta); }
.cham-semresposta { margin-top: .8rem; font-size: .82rem; color: var(--tinta-suave); font-style: italic; }
