/* ============================================================
   Painel de resultados — COJ
   Identidade "Arena": verde protagonista + ouro, Playfair (títulos)
   + Manrope (corpo) + Oswald (números). Self-contained (não depende
   de style.css). Preserva todos os IDs/classes usados por painel.js.
   ============================================================ */

:root{
  --green-deep:#0F2A1C;--green-deep-2:#0A1E14;--green:#16452D;--green-bright:#1F6A40;
  --green-soft:#BFE0C9;--green-pale:#EDF4EE;--gold:#CBA02A;--gold-light:#EACA67;--gold-dark:#8A6914;
  --ink:#14170F;--ink-soft:#4A5046;--cream:#F2ECDD;--paper:#FBF8EF;--white:#fff;--line:#E4E8DF;
  --radius-sm:8px;--radius-md:12px;--radius-lg:18px;
  --shadow-card:0 1px 2px rgba(21,42,30,.05),0 12px 34px rgba(15,42,28,.07);
  --fd:"Playfair Display",Georgia,serif;--fb:"Manrope",system-ui,sans-serif;--fnum:"Oswald","Manrope",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --red:#A3271F;--green-ok:#1F7A4A;
}
*,*::before,*::after{box-sizing:border-box;}
.painel-body{
  margin:0;
  background:
    radial-gradient(60% 40% at 50% 0%,rgba(31,106,64,.10),transparent 70%),
    var(--paper);
  color:var(--ink);
  font-family:var(--fb);
  line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.painel-body img{max-width:100%;display:block;}
h1,h2{font-family:var(--fd);font-weight:700;letter-spacing:-.01em;margin:0;color:var(--green-deep);}

.painel-main{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2.4rem 1.2rem;
}

.painel-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:2.6rem 2.2rem;
  width:100%;
  max-width:430px;
}
.painel-card::before{
  content:"";
  display:block;
  height:3px;width:52px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));
  border-radius:2px;
  margin:0 auto 1.6rem;
}
#login-view::before{margin:0 auto 1.6rem;}
.painel-app{max-width:1100px;padding:2.4rem;}
.painel-app::before{display:none;}

.painel-logo{width:74px;height:74px;margin:0 auto 1.1rem;filter:drop-shadow(0 6px 18px rgba(15,42,28,.18));}

#login-view{text-align:center;}
#login-view h1{font-size:1.55rem;margin-bottom:.2rem;}
.painel-sub{
  color:var(--gold-dark);
  font-family:var(--fb);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  margin:.2rem 0 1.6rem;
}

/* app head */
.painel-app-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:1.4rem;
  margin-bottom:1.6rem;
  border-bottom:1px solid var(--line);
}
.painel-app-head h1{font-size:1.5rem;}
.painel-usuario{color:var(--ink-soft);font-size:.8rem;margin:.5rem 0 0;}
.painel-temporada{
  display:inline-block;
  color:var(--green-bright);
  background:var(--green-pale);
  border:1px solid rgba(31,106,64,.22);
  border-radius:999px;
  padding:.25rem .8rem;
  font-size:.76rem;
  font-weight:600;
  margin:.5rem 0 0;
}
.painel-back-link{
  display:inline-block;
  margin-bottom:1.2rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--ink-soft);
  text-decoration:none;
  transition:color .2s;
}
.painel-back-link:hover{color:var(--gold-dark);}
.painel-app-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:.8rem 1.4rem;border-radius:var(--radius-sm);border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .2s var(--ease),filter .2s,background-color .2s,border-color .2s,color .2s;
}
.btn:hover{transform:translateY(-2px);}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.btn.primary{background:var(--green-deep);color:var(--cream);}
.btn.primary:hover{background:var(--green-deep-2);}
.btn.ghost-light{background:var(--white);border-color:var(--line);color:var(--ink-soft);}
.btn.ghost-light:hover{border-color:var(--gold);color:var(--gold-dark);}
.btn-abrir-temporada{background:var(--gold);color:#20180a;border-color:var(--gold);}
.btn-abrir-temporada:hover{filter:brightness(1.07);}
.btn-encerrar-temporada{background:var(--white);color:var(--red);border-color:rgba(163,39,31,.4);}
.btn-encerrar-temporada:hover{background:var(--red);border-color:var(--red);color:#fff;}

/* forms */
.painel-form{display:flex;flex-direction:column;gap:1rem;text-align:left;}
.painel-form label{
  display:flex;flex-direction:column;gap:.4rem;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);
}
.painel-form input,.painel-form select{
  font-family:var(--fb);font-size:.95rem;color:var(--ink);
  padding:.72rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);
  transition:border-color .2s,box-shadow .2s;
}
.painel-form input:focus,.painel-form select:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,160,42,.16);
}
.painel-form .btn{align-self:flex-start;}
.painel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:520px){.painel-form-row{grid-template-columns:1fr;}}
.painel-form-inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:.9rem;margin-bottom:.4rem;}
.painel-form-inline label{flex:1 1 170px;}
.painel-temporada-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
/* encerramento previsto — alimenta o aviso vermelho do site */
.painel-prevista{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line);}
.painel-prevista-hint{font-size:.84rem;color:var(--ink-soft);margin:0 0 .9rem;max-width:64ch;}
.painel-prevista-row{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap;}
.painel-prevista-row label{display:flex;flex-direction:column;gap:.4rem;flex:1 1 240px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);}
.painel-prevista-row input{font-family:var(--fb);font-size:.95rem;color:var(--ink);padding:.72rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);transition:border-color .2s,box-shadow .2s;}
.painel-prevista-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,160,42,.16);}
.painel-prevista-row input:disabled{background:var(--paper);color:var(--ink-soft);cursor:not-allowed;}
@media(max-width:600px){.painel-prevista-row .btn{flex:1 1 auto;justify-content:center;}}
.painel-form-actions{margin-top:.6rem;}

/* coluna de colocação — fica na ponta esquerda de toda tabela da área
   restrita. Numa roda comprida a posição era só a ordem das linhas, e dava
   pra perder a conta de onde se estava digitando. */
.painel-table .col-pos{width:3.4rem;text-align:center;}
.painel-table td.col-pos{font-family:var(--fnum);font-weight:700;color:var(--gold-dark);font-size:1rem;}
.painel-table td.col-pos input{width:3rem;text-align:center;padding-left:.3rem;padding-right:.3rem;}

/* cabeçalho de grupo por espécie — separa os blocos quando a tela mostra
   mais de uma espécie de uma vez (senão as posições saem intercaladas) */
.painel-table tr.grupo-especie td{
  background:var(--green-pale);color:var(--green-deep);
  font-family:var(--fd);font-weight:700;font-size:.95rem;
  padding:.5rem .8rem;border-bottom:1px solid var(--line);
}

/* Quarta dos Folgados — evento de meio de semana */
.painel-quarta-hint{font-size:.92rem;color:var(--ink-soft);margin:0 0 1.4rem;max-width:76ch;line-height:1.6;}
.painel-quarta-hint b{color:var(--green-deep);}
.painel-quarta-hist{margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--line);}
.painel-subtitle{font-family:var(--fd);font-size:1.1rem;color:var(--green-deep);margin:0 0 1.1rem;}

/* seletor de espécie — botões fixos no lugar do <select> (sem bandeja nativa) */
.especie-field{margin:0 0 1.1rem;}
.especie-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.55rem;}
.especie-btns{display:flex;gap:.5rem;flex-wrap:wrap;}
.especie-btn{
  font-family:var(--fb);font-size:.8rem;font-weight:700;letter-spacing:.02em;
  padding:.6rem 1.05rem;border-radius:var(--radius-sm);
  border:1px solid var(--line);background:var(--white);color:var(--ink-soft);
  cursor:pointer;white-space:nowrap;
  transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease);
}
.especie-btn:hover{border-color:var(--gold);color:var(--gold-dark);transform:translateY(-1px);}
.especie-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.especie-btn.is-active{background:var(--green-deep);border-color:var(--green-deep);color:var(--cream);}
@media(max-width:600px){
  .especie-btns{gap:.4rem;}
  /* no celular ocupam a linha em duplas — alvo de toque maior, sem apertar */
  .especie-btn{flex:1 1 calc(50% - .4rem);padding:.7rem .5rem;font-size:.78rem;text-align:center;}
}

/* season manager (details) */
.painel-temporada-manager{
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1rem 1.2rem;
  margin-bottom:1.4rem;
  background:var(--paper);
}
.painel-temporada-manager summary{
  cursor:pointer;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--gold-dark);
  list-style:none;
}
.painel-temporada-manager summary::-webkit-details-marker{display:none;}
.painel-temporada-manager summary::before{content:"▸ ";color:var(--gold);}
.painel-temporada-manager[open] summary::before{content:"▾ ";}
.painel-temporada-manager form{margin-top:1rem;}

/* tabs */
.painel-tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1.8rem;}
.painel-tab{
  font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.04em;
  padding:.8rem 1rem;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;
  background:none;color:var(--ink-soft);cursor:pointer;transition:color .2s,border-color .2s;
}
.painel-tab:hover{color:var(--gold-dark);}
.painel-tab.is-active{color:var(--green-deep);border-bottom-color:var(--gold);}
.painel-tab-title{font-size:1.25rem;margin-bottom:1.1rem;}

/* confirm inline (encerrar temporada) */
.painel-confirm{
  margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(163,39,31,.3);
  border-radius:var(--radius-md);background:#FDF5F3;
}
.painel-confirm label{
  display:flex;flex-direction:column;gap:.4rem;
  font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:.8rem;
}
.painel-confirm input{font-family:var(--fb);font-size:.95rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);}
.painel-confirm-actions{display:flex;gap:.6rem;flex-wrap:wrap;}

/* gerenciar temporadas (bloco só do admin) */
.painel-admin-hint{font-size:.85rem;color:var(--ink-soft);margin:.9rem 0 .2rem;max-width:62ch;}
.temporada-badge{
  display:inline-block;padding:.22rem .6rem;border-radius:999px;
  font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;
  background:var(--line);color:var(--ink-soft);white-space:nowrap;
}
.temporada-badge.is-ativa{background:var(--green-pale);color:var(--green-bright);border:1px solid rgba(31,106,64,.28);}
.temporada-qtd{font-family:var(--fnum);font-weight:600;}
#temporadas-admin-table td{border-bottom:1px solid var(--line);font-size:.88rem;}
.painel-confirm-alvo{margin:0 0 .9rem;font-size:.88rem;font-weight:600;color:var(--red);}

/* messages */
.painel-error{color:var(--red);font-size:.86rem;font-weight:600;}
.painel-success{color:var(--green-ok);font-size:.86rem;font-weight:600;}
.painel-empty{color:var(--ink-soft);font-size:.88rem;}

/* tables */
.painel-table{width:100%;border-collapse:collapse;margin:.6rem 0 .2rem;}
.painel-table th{
  font-family:var(--fb);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  font-weight:700;text-align:left;padding:0 .45rem .5rem;
}
.painel-table td{padding:.35rem .45rem;vertical-align:middle;}
.painel-table input{
  width:100%;font-family:var(--fb);font-size:.9rem;padding:.55rem .6rem;
  border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);transition:border-color .2s,box-shadow .2s;
}
.painel-table input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,160,42,.16);}
.ave-marcacao,.ave-marcacao2,.ave-posicao{max-width:84px;font-family:var(--fnum)!important;font-weight:600;}
.ave-pontos{
  display:inline-block;min-width:2ch;
  font-family:var(--fnum);font-weight:700;font-size:1.05rem;color:var(--gold-dark);
}
.ave-remove{
  width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--white);
  color:var(--ink-soft);cursor:pointer;font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .2s,color .2s,background-color .2s;
}
.ave-remove:hover{border-color:var(--red);color:var(--red);background:#FDF5F3;}
#add-ave-btn{margin-top:.4rem;}

/* classificação (pivot) */
.classificacao-banner{
  background:var(--green-deep);color:var(--cream);
  font-family:var(--fb);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  text-align:center;padding:.8rem 1rem;border-radius:var(--radius-md) var(--radius-md) 0 0;
}
.classificacao-pivot{margin-top:0;}
.classificacao-pivot th,.classificacao-pivot td{
  text-align:center;border:1px solid var(--line);padding:.5rem .55rem;white-space:nowrap;
  font-family:var(--fnum);font-weight:600;
}
.classificacao-pivot th{background:var(--green-pale);color:var(--ink-soft);font-family:var(--fb);font-weight:700;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;}
.classificacao-pivot td:nth-child(2),.classificacao-pivot td:nth-child(3){text-align:left;white-space:normal;font-family:var(--fb);font-weight:500;}
.classificacao-total{font-family:var(--fnum);font-weight:700;color:var(--gold-dark);background:var(--green-pale);}

/* corrigir nomes — a troca vale pra tudo que já foi lançado na temporada */
.nomes-bloco{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line);}
.nomes-bloco:first-of-type{margin-top:.8rem;padding-top:0;border-top:none;}
.nomes-row{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap;margin-top:.9rem;}
.nomes-row label{
  display:flex;flex-direction:column;gap:.4rem;flex:1 1 220px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);
}
.nomes-row input,.nomes-row select,.nomes-busca input{
  font-family:var(--fb);font-size:.95rem;color:var(--ink);padding:.72rem .8rem;
  border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);
  transition:border-color .2s,box-shadow .2s;
}
.nomes-row input:focus,.nomes-row select:focus,.nomes-busca input:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,160,42,.16);
}
.nomes-row input:disabled,.nomes-row select:disabled{background:var(--paper);color:var(--ink-soft);cursor:not-allowed;}
.nomes-busca{
  display:block;max-width:340px;margin:0 0 .5rem;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);
}
.nomes-busca input{width:100%;margin-top:.4rem;padding:.65rem .8rem;}
#nomes-table td{border-bottom:1px solid var(--line);font-size:.88rem;}
#nomes-table .col-qtd{width:5.5rem;text-align:center;}
#nomes-table td.col-qtd{font-family:var(--fnum);font-weight:600;color:var(--ink-soft);text-align:center;}
@media(max-width:600px){.nomes-row .btn{flex:1 1 auto;justify-content:center;}}

/* histórico */
.historico-acoes{display:flex;gap:.4rem;white-space:nowrap;}
.historico-salvar{padding:.45rem .8rem;font-size:.72rem;}

/* download — painel de escolha (classificação x resultados por espécie).
   Sistema "Arena": régua dourada no título, cards claros com fio de ouro na
   lateral no hover (mesmo gesto dos cards do site) e ícone que inverte
   pra verde-noite + ouro. */
.download-card{max-width:540px;}
.download-card::before{
  content:"";display:block;height:3px;width:56px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold-light));
  border-radius:2px;margin-bottom:1.1rem;
}
.download-options{display:flex;flex-direction:column;gap:.8rem;margin:1.5rem 0 1.4rem;}
.download-option{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:1.1rem;width:100%;text-align:left;
  padding:1.15rem 1.3rem;border:1px solid var(--line);border-radius:var(--radius-md);
  background:var(--paper);cursor:pointer;font-family:var(--fb);
  transition:border-color .25s var(--ease),background-color .25s,transform .25s var(--ease),box-shadow .25s;
}
.download-option::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);
  transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease);
}
.download-option:hover{
  border-color:var(--gold);background:var(--white);transform:translateY(-2px);
  box-shadow:0 1px 2px rgba(21,42,30,.06),0 12px 28px rgba(21,42,30,.08);
}
.download-option:hover::before{transform:scaleY(1);}
.download-option:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.download-option-ic{
  width:46px;height:46px;flex-shrink:0;border-radius:var(--radius-sm);
  background:var(--green-pale);color:var(--green-bright);
  display:flex;align-items:center;justify-content:center;
  transition:background-color .25s,color .25s;
}
.download-option:hover .download-option-ic{background:var(--green-deep);color:var(--gold-light);}
.download-option-ic svg{width:22px;height:22px;display:block;}
.download-option-txt{display:flex;flex-direction:column;gap:.2rem;min-width:0;}
.download-option-txt b{font-family:var(--fd);font-size:1.06rem;font-weight:700;color:var(--green-deep);line-height:1.2;}
.download-option-txt span{font-size:.82rem;color:var(--ink-soft);line-height:1.45;}
.download-option-chev{margin-left:auto;flex-shrink:0;color:var(--gold);opacity:.4;transition:opacity .25s,transform .25s var(--ease);}
.download-option-chev svg{width:18px;height:18px;display:block;}
.download-option:hover .download-option-chev{opacity:1;transform:translateX(3px);}
@media(max-width:520px){
  .download-option{padding:1rem;gap:.9rem;}
  .download-option-ic{width:40px;height:40px;}
  .download-option-ic svg{width:20px;height:20px;}
  .download-option-txt b{font-size:1rem;}
  .download-option-chev{display:none;}
}

/* confirm overlay (salvar resultado) */
.confirm-overlay{
  position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1.5rem;
  background:rgba(10,30,20,.74);backdrop-filter:blur(4px);
}
.confirm-overlay[hidden]{display:none;}
.confirm-card{
  background:var(--white);border-radius:var(--radius-lg);padding:2.2rem;max-width:660px;width:100%;
  max-height:86vh;overflow-y:auto;box-shadow:0 26px 70px rgba(0,0,0,.4);border:1px solid var(--line);
}
.confirm-card h2{font-size:1.35rem;margin-bottom:.4rem;}
.confirm-meta{color:var(--ink-soft);font-size:.86rem;margin-bottom:1.2rem;}
.confirm-table-wrap{overflow-x:auto;margin-bottom:1.2rem;}
.confirm-table-wrap .painel-table{min-width:480px;}
.confirm-table-wrap .painel-table th,
.confirm-table-wrap .painel-table td{padding:.55rem .45rem;border-bottom:1px solid var(--line);font-size:.86rem;}
.confirm-table-wrap .painel-table td:nth-child(n+3){font-family:var(--fnum);font-weight:600;}

/* ===================== DASHBOARD LAYOUT ===================== */
[hidden]{display:none !important;}

.painel-main{display:block;min-height:100vh;padding:0;}
.painel-main:has(> #login-view:not([hidden])){display:flex;align-items:center;justify-content:center;padding:2.4rem 1.2rem;}

.painel-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh;width:100%;}

.painel-sidebar{
  position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;
  background:var(--green-deep);color:var(--cream);
  display:flex;flex-direction:column;gap:1.5rem;padding:1.7rem 1.1rem;
  border-right:1px solid rgba(203,160,42,.2);
}
.side-brand{display:flex;align-items:center;gap:.75rem;padding:.2rem .4rem;}
.side-brand img{width:48px;height:48px;}
.side-brand-txt b{font-family:var(--fd);font-size:1.2rem;font-weight:800;color:#fff;display:block;line-height:1;}
.side-brand-txt span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-weight:700;}
.side-nav{display:flex;flex-direction:column;gap:.3rem;}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:.55rem;padding-top:1.2rem;border-top:1px solid rgba(203,160,42,.18);}
.side-foot .painel-usuario{color:var(--green-soft);font-size:.76rem;margin:0 .2rem .3rem;}
.btn.ghost-side{background:transparent;border:1px solid rgba(234,202,103,.3);color:var(--cream);justify-content:flex-start;}
.btn.ghost-side:hover{background:rgba(234,202,103,.12);border-color:var(--gold);color:var(--gold-light);transform:none;}

/* nav items reaproveitam .painel-tab */
.painel-tab{
  display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;
  font-family:var(--fb);font-size:.84rem;font-weight:700;letter-spacing:.01em;text-transform:none;
  padding:.82rem .9rem;margin:0;border:1px solid transparent;border-radius:var(--radius-sm);
  background:transparent;color:var(--green-soft);cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s;
}
.painel-tab svg{width:19px;height:19px;flex-shrink:0;opacity:.85;}
.painel-tab:hover{background:rgba(255,255,255,.06);color:#fff;}
.painel-tab.is-active{background:var(--gold);color:#20180a;border-color:var(--gold);}
.painel-tab.is-active svg{opacity:1;}

.painel-content{min-width:0;padding:2.4rem 2.8rem 3rem;}
.content-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
  padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line);
}
/* seletor de temporada — dá acesso às encerradas, não só à ativa */
.temporada-picker{
  display:flex;flex-direction:column;gap:.4rem;flex:0 1 300px;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);
}
/* aviso de temporada encerrada na aba "Lançar resultado" */
.painel-notice{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1.1rem 1.3rem;margin-bottom:1.4rem;
  border:1px solid rgba(203,160,42,.45);border-left:3px solid var(--gold);
  border-radius:var(--radius-md);background:#FDF9EE;
}
.painel-notice p{margin:0;font-size:.9rem;color:var(--ink-soft);max-width:60ch;}
.painel-notice p b{color:var(--green-deep);}
.painel-notice .btn{flex-shrink:0;}
@media(max-width:600px){
  .content-head{align-items:stretch;}
  .temporada-picker{flex:1 1 auto;}
  .painel-notice .btn{width:100%;justify-content:center;}
}
.content-kicker{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--gold-dark);margin-bottom:.5rem;}
.content-head-main .painel-temporada{margin:0;}
.content-admin{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.8rem;}
/* display:flex acima vence o [hidden] padrão — precisa ser explícito pra
   a aba da Quarta dos Folgados conseguir esconder os dois blocos */
.content-head[hidden],.content-admin[hidden]{display:none;}
.content-admin .painel-temporada-manager{flex:1 1 300px;margin-bottom:0;}

/* selects e labels em toda a área do painel (histórico, classificação, etc.) */
.painel-form-row label{display:flex;flex-direction:column;gap:.4rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);}
.painel-content select,.painel-form select{
  width:100%;appearance:none;-webkit-appearance:none;
  font-family:var(--fb);font-size:.95rem;color:var(--ink);cursor:pointer;
  padding:.72rem 2.5rem .72rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A6914' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;background-size:14px;
  transition:border-color .2s,box-shadow .2s;
}
.painel-content select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,160,42,.16);}

/* histórico — abas de data (com setas quando há muitas). Abre na última data. */
.historico-datas-field{margin:0 0 1.4rem;}
.historico-datas-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.55rem;}
.historico-datas-wrap{display:flex;align-items:center;gap:.4rem;}
.historico-datas{display:flex;gap:.5rem;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.historico-datas::-webkit-scrollbar{display:none;}
.hist-date-tab{flex:0 0 auto;font-family:var(--fb);font-size:.8rem;font-weight:700;letter-spacing:.04em;padding:.55rem 1.05rem;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s;}
.hist-date-tab:hover{border-color:var(--gold);color:var(--gold-dark);}
.hist-date-tab.is-active{background:var(--green-deep);border-color:var(--green-deep);color:#fff;}
.hist-date-arrow{flex:0 0 auto;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--white);color:var(--green-deep);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,opacity .2s;}
.hist-date-arrow svg{width:16px;height:16px;}
.hist-date-arrow:hover:not(:disabled){border-color:var(--gold);color:var(--gold-dark);}
.hist-date-arrow:disabled{opacity:.3;cursor:default;}
.hist-date-arrow[hidden]{display:none;}
.historico-datas-empty{font-size:.9rem;color:var(--ink-soft);font-style:italic;}

@media(max-width:860px){
  .painel-shell{grid-template-columns:1fr;align-content:start;}
  .painel-sidebar{position:static;height:auto;flex-direction:column;border-right:none;border-bottom:1px solid rgba(203,160,42,.2);}
  .side-nav{flex-direction:row;flex-wrap:wrap;gap:.4rem;}
  .painel-tab{width:auto;flex:1 1 auto;justify-content:center;}
  .side-foot{flex-direction:row;flex-wrap:wrap;border-top:none;padding-top:.4rem;}
  .painel-content{padding:1.6rem 1.2rem 2.4rem;}
}

/* ============================================================
   AJUSTES MOBILE — retrato de celular (não afeta o desktop)
   ============================================================ */
@media(max-width:600px){
  /* respiro geral */
  .painel-main:has(> #login-view:not([hidden])){padding:1.6rem 1rem;}
  .painel-card{padding:2rem 1.4rem;}
  .painel-content{padding:1.4rem 1rem 2.2rem;}
  .content-admin{gap:.7rem;}
  .confirm-card{padding:1.5rem 1.2rem;}
  .painel-tab-title{font-size:1.15rem;}

  /* navegação lateral (já vira linha no 860) — apertar no celular */
  .side-brand img{width:42px;height:42px;}
  .side-nav{gap:.35rem;}
  .painel-tab{font-size:.75rem;padding:.7rem .6rem;gap:.45rem;}
  .painel-tab svg{width:17px;height:17px;}
  .side-foot{gap:.5rem;}
  .side-foot .btn.ghost-side{flex:1 1 auto;justify-content:center;}

  /* inputs a 16px evitam o zoom automático do iOS ao focar num campo */
  .painel-form input,.painel-form select,.painel-content select,.painel-table input{font-size:16px;}

  /* ---- tabelas editáveis viram cards empilhados (fim do scroll lateral pra digitar) ---- */
  #aves-table,#aves-table tbody,#historico-table,#historico-table tbody,
  #quarta-aves-table,#quarta-aves-table tbody,#quarta-hist-table,#quarta-hist-table tbody{display:block;}
  #aves-table thead,#historico-table thead,
  #quarta-aves-table thead,#quarta-hist-table thead{display:none;}
  #aves-table tr,#historico-table tr,
  #quarta-aves-table tr,#quarta-hist-table tr{
    display:block;background:var(--white);border:1px solid var(--line);
    border-radius:var(--radius-md);padding:.55rem .9rem;margin-bottom:.9rem;
    box-shadow:0 1px 2px rgba(21,42,30,.04);
  }
  #aves-table td,#historico-table td,
  #quarta-aves-table td,#quarta-hist-table td{
    display:flex;align-items:center;gap:.9rem;padding:.34rem 0;border:none;
  }
  #aves-table td::before,#historico-table td::before,
  #quarta-aves-table td::before,#quarta-hist-table td::before{
    flex:0 0 42%;font-size:.62rem;font-weight:700;letter-spacing:.05em;
    text-transform:uppercase;color:var(--gold-dark);
  }
  #aves-table td input,#historico-table td input,
  #quarta-aves-table td input,#quarta-hist-table td input{flex:1;width:auto;max-width:none;}
  #aves-table .ave-marcacao,#aves-table .ave-marcacao2{max-width:none;}

  /* a colocação encabeça o card — é o que orienta quem está digitando.
     Vira uma faixa própria, separada do resto por uma linha. Só nas tabelas
     que viram card: no pop-up de confirmação a tabela continua tabela. */
  #aves-table td.col-pos,#historico-table td.col-pos,
  #quarta-aves-table td.col-pos,#quarta-hist-table td.col-pos{
    width:auto;justify-content:flex-start;gap:.6rem;
    padding:.1rem 0 .5rem;margin-bottom:.4rem;border-bottom:1px solid var(--line);
    font-size:1.15rem;
  }
  #aves-table td.col-pos::before,#historico-table td.col-pos::before,
  #quarta-aves-table td.col-pos::before,#quarta-hist-table td.col-pos::before{
    content:"Colocação";flex:0 0 42%;
  }
  #historico-table td.col-pos input,#quarta-hist-table td.col-pos input{flex:0 0 4.2rem;}

  /* rótulos por coluna — Lançar resultado (Pos, Proprietário, Pássaro, 1ª, 2ª, Pontos, ×) */
  #aves-table td:nth-child(2)::before{content:"Proprietário";}
  #aves-table td:nth-child(3)::before{content:"Pássaro";}
  #aves-table td:nth-child(4)::before{content:"1ª Marcação";}
  #aves-table td:nth-child(5)::before{content:"2ª Marcação";}
  #aves-table td:nth-child(6)::before{content:"Pontos";}
  #aves-table td:nth-child(7){justify-content:flex-end;}
  #aves-table td:nth-child(7)::before{content:"";flex:0;}

  /* Quarta dos Folgados — sem coluna de pontos (Pos, Proprietário, Pássaro, 1ª, 2ª, ×) */
  #quarta-aves-table td:nth-child(2)::before{content:"Proprietário";}
  #quarta-aves-table td:nth-child(3)::before{content:"Pássaro";}
  #quarta-aves-table td:nth-child(4)::before{content:"1ª Marcação";}
  #quarta-aves-table td:nth-child(5)::before{content:"2ª Marcação";}
  #quarta-aves-table td:nth-child(6){justify-content:flex-end;}
  #quarta-aves-table td:nth-child(6)::before{content:"";flex:0;}

  /* rótulos por coluna — Histórico (Pos, Data, Espécie, Proprietário, Pássaro, 1ª, 2ª, Pts, ações) */
  #historico-table td:nth-child(2)::before{content:"Data";}
  #historico-table td:nth-child(3)::before{content:"Espécie";}
  #historico-table td:nth-child(4)::before{content:"Proprietário";}
  #historico-table td:nth-child(5)::before{content:"Pássaro";}
  #historico-table td:nth-child(6)::before{content:"1ª Marcação";}
  #historico-table td:nth-child(7)::before{content:"2ª Marcação";}
  #historico-table td:nth-child(8)::before{content:"Pontos";}
  #historico-table td:nth-child(9){padding-top:.55rem;}
  #historico-table td:nth-child(9)::before{content:"";flex:0;}

  /* histórico da quarta (Pos, Data, Espécie, Proprietário, Pássaro, 1ª, 2ª, ações) */
  #quarta-hist-table td:nth-child(2)::before{content:"Data";}
  #quarta-hist-table td:nth-child(3)::before{content:"Espécie";}
  #quarta-hist-table td:nth-child(4)::before{content:"Proprietário";}
  #quarta-hist-table td:nth-child(5)::before{content:"Pássaro";}
  #quarta-hist-table td:nth-child(6)::before{content:"1ª Marcação";}
  #quarta-hist-table td:nth-child(7)::before{content:"2ª Marcação";}
  #quarta-hist-table td:nth-child(8){padding-top:.55rem;}
  #quarta-hist-table td:nth-child(8)::before{content:"";flex:0;}

  /* corrigir nomes (Espécie, Proprietário, Pássaro, Torneios, ação) — mesma
     virada em card das outras tabelas editáveis */
  #nomes-table,#nomes-table tbody{display:block;}
  #nomes-table thead{display:none;}
  #nomes-table tr{
    display:block;background:var(--white);border:1px solid var(--line);
    border-radius:var(--radius-md);padding:.55rem .9rem;margin-bottom:.9rem;
    box-shadow:0 1px 2px rgba(21,42,30,.04);
  }
  #nomes-table td{display:flex;align-items:center;gap:.9rem;padding:.34rem 0;border:none;}
  #nomes-table td::before{
    flex:0 0 42%;font-size:.62rem;font-weight:700;letter-spacing:.05em;
    text-transform:uppercase;color:var(--gold-dark);
  }
  #nomes-table td input{flex:1;width:auto;}
  #nomes-table td:nth-child(1)::before{content:"Espécie";}
  #nomes-table td:nth-child(2)::before{content:"Proprietário";}
  #nomes-table td:nth-child(3)::before{content:"Pássaro";}
  #nomes-table td.col-qtd{width:auto;justify-content:flex-start;text-align:left;}
  #nomes-table td.col-qtd::before{content:"Torneios";}
  #nomes-table td:nth-child(5){padding-top:.55rem;}
  #nomes-table td:nth-child(5)::before{content:"";flex:0;}
  #tab-panel-nomes .confirm-table-wrap{overflow:visible;}
  #tab-panel-nomes .confirm-table-wrap .painel-table{min-width:0;}

  /* cabeçalho de grupo vira faixa divisória, não um card */
  #historico-table tr.grupo-especie,#quarta-hist-table tr.grupo-especie{
    background:var(--green-pale);border-color:var(--green-pale);
    padding:.5rem .9rem;margin-bottom:.5rem;box-shadow:none;
  }
  #historico-table tr.grupo-especie td,#quarta-hist-table tr.grupo-especie td{
    display:block;padding:0;border:none;
  }

  .historico-acoes{width:100%;gap:.5rem;}
  .historico-salvar{flex:1;}

  /* histórico em card não precisa do scroll/min-width do wrap */
  #tab-panel-historico .confirm-table-wrap,
  #tab-panel-quarta .confirm-table-wrap{overflow:visible;}
  #tab-panel-historico .confirm-table-wrap .painel-table,
  #tab-panel-quarta .confirm-table-wrap .painel-table{min-width:0;}

  /* gerenciar temporada: ações em coluna pra não espremer */
  .painel-temporada-actions .btn{flex:1 1 auto;justify-content:center;}
}
