:root{
  --verde:#00A859; --verde-esc:#046b3a; --ouro:#FFC72C; --ouro2:#ffd95e;
  --bg:#0c1f17; --bg2:#0f2a1e; --card:#13352595; --card2:#16402c;
  --txt:#eafff4; --txt2:#9cc7b2; --vermelho:#ff4d4f; --azul:#4da6ff;
  --linha:#1f5238; --sombra:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box; margin:0; padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--txt); min-height:100vh;
  background:
    radial-gradient(1200px 600px at 80% -10%, #14402b 0, transparent 60%),
    radial-gradient(900px 500px at 0% 0%, #103f2a 0, transparent 55%),
    linear-gradient(160deg,#0c1f17 0%, #0a1812 60%, #0c1f17 100%);
  background-attachment:fixed;
}
.field-lines{position:fixed; inset:0; pointer-events:none; opacity:.05; z-index:0;
  background-image:repeating-linear-gradient(90deg, #fff 0 2px, transparent 2px 90px);}
.wrap{max-width:1080px; margin:0 auto; padding:18px 16px 80px; position:relative; z-index:1}

header.top{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:14px}
.logo{display:flex; align-items:center; gap:10px}
.logo .ball{font-size:38px; filter:drop-shadow(0 4px 6px rgba(0,0,0,.5)); animation:spin 9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.logo h1{font-size:22px; line-height:1.05; letter-spacing:.3px}
.logo h1 small{display:block; font-size:11px; color:var(--ouro2); font-weight:700; letter-spacing:2px; text-transform:uppercase}
.grp-name{color:var(--ouro)}
.grp-name.bsw{cursor:pointer; border-radius:8px; padding:1px 6px; margin-left:-6px; transition:background .15s}
.grp-name.bsw:hover{background:rgba(255,199,44,.12)}
.bsw-caret{font-size:.7em; opacity:.8; margin-left:1px}
.bsw-list{display:flex; flex-direction:column; gap:8px; margin-top:6px}
.bsw-item{display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; width:100%;
  background:var(--bg2); border:1px solid var(--linha); border-radius:12px; padding:12px 14px; cursor:pointer; transition:.15s}
.bsw-item:hover{border-color:var(--ouro2); transform:translateY(-1px)}
.bsw-item.on{border-color:var(--ouro); background:#122e21}
.bsw-nome{font-weight:800; color:var(--txt); font-size:15px}
.bsw-papel{font-size:11.5px; color:var(--txt2); text-transform:uppercase; letter-spacing:.3px}
.mb-list{display:flex; flex-direction:column; gap:7px; margin-bottom:14px}
.mb-li{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  background:var(--bg2); border:1px solid var(--linha); border-radius:12px; padding:10px 13px}
.mb-li.off{opacity:.55}
.mb-info{display:flex; flex-direction:column; gap:1px; min-width:0}
.mb-info b{color:var(--txt); font-size:14.5px}
.mb-sub{font-size:11.5px; color:var(--txt2)}
.mb-acts{display:flex; gap:6px}
.mb-new{border-top:1px dashed #1f5238; padding-top:12px; display:flex; flex-direction:column}
.conv-row{display:flex; gap:8px; align-items:center}
.conv-row .inp{flex:1; min-width:0; font-size:12.5px}
.esc-toggle{display:flex; align-items:center; gap:7px; margin-top:10px; padding:8px 11px; cursor:pointer;
  background:rgba(255,199,44,.07); border:1px solid #1f5238; border-radius:10px; font-size:12.5px; color:var(--txt2)}
.esc-toggle b{color:var(--ouro2)}
.esc-toggle input{accent-color:var(--verde)}
.guest-cta{border:1px solid var(--ouro2); background:rgba(255,199,44,.06); line-height:1.5}
.guest-cta b{color:var(--ouro)}
/* tela inicial dos bolões */
#homeBoloes{display:none}
body.home #homeBoloes{display:block}
body.home #tabs, body.home .panel, body.home #pixAviso, body.home .lembrete-wrap{display:none}
.hb-head{text-align:center; margin:16px 0 18px}
.hb-head h2{font-size:21px; margin:0}
.hb-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px,1fr)); gap:12px}
.hb-card{display:block; text-align:left; width:100%; cursor:pointer; padding:17px 18px;
  background:var(--bg2); border:1px solid var(--linha); border-radius:16px; transition:.15s}
.hb-card:hover{border-color:var(--ouro2); transform:translateY(-2px); box-shadow:var(--sombra)}
.hb-card.mine{border-color:var(--ouro); background:#122e21}
.hb-card.off{opacity:.45; cursor:default}
.hb-card.off:hover{transform:none; border-color:var(--linha); box-shadow:none}
.hb-nome{font-weight:800; color:var(--txt); font-size:17px}
.hb-sub{font-size:12.5px; color:var(--txt2); margin-top:4px}
.hb-sub b{color:var(--ouro2)}
.hb-foot{text-align:center; margin-top:20px}
.sug-res{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; font-size:12.5px; color:var(--txt2)}
.sug-res b{color:var(--txt)}
.top-right{margin-left:auto; display:flex; gap:8px; align-items:center; flex-wrap:wrap}

.btn{cursor:pointer; border:none; border-radius:12px; padding:9px 14px; font-weight:800; font-size:13px;
  background:var(--card2); color:var(--txt); border:1px solid var(--linha); transition:.15s; white-space:nowrap; text-decoration:none; display:inline-block}
.btn:hover{transform:translateY(-1px); border-color:var(--verde)}
.btn.ouro{background:linear-gradient(180deg,var(--ouro2),var(--ouro)); color:#3a2a00; border:none}
.btn.verde{background:linear-gradient(180deg,#1ec97a,var(--verde)); color:#04261a; border:none}
.btn.red{background:#3a1416; color:#ff8d8e; border-color:#5b1d20}
.btn.sm{padding:5px 9px; font-size:12px}

.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:16px}
.stat{background:var(--card); border:1px solid var(--linha); border-radius:16px; padding:12px 14px; box-shadow:var(--sombra)}
.stat .v{font-size:24px; font-weight:900; color:var(--ouro)}
.stat .l{font-size:11px; color:var(--txt2); text-transform:uppercase; letter-spacing:1px; font-weight:700}

nav.tabs{display:flex; gap:6px; overflow-x:auto; padding-bottom:8px; margin-bottom:14px; -webkit-overflow-scrolling:touch}
nav.tabs button{flex:0 0 auto; background:transparent; border:1px solid var(--linha); color:var(--txt2);
  padding:9px 14px; border-radius:999px; font-weight:800; font-size:13px; cursor:pointer; transition:.15s}
nav.tabs button.active{background:linear-gradient(180deg,#1ec97a,var(--verde)); color:#04261a; border-color:transparent}
nav.tabs button:hover{color:var(--txt)}
.admin-tab{display:none !important}
body.admin .admin-tab{display:inline-block !important}

.panel{display:none; animation:fade .25s}
.panel.active{display:block}
@keyframes fade{from{opacity:0; transform:translateY(6px)}to{opacity:1}}

h2.sec{font-size:18px; margin:4px 0 12px; display:flex; align-items:center; gap:8px}
.card{background:var(--card); border:1px solid var(--linha); border-radius:18px; padding:16px; box-shadow:var(--sombra); margin-bottom:14px}
.muted{color:var(--txt2); font-size:13px}
.pill{display:inline-block; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:800; background:#0c2418; border:1px solid var(--linha); color:var(--txt2)}

table.rank{width:100%; border-collapse:collapse}
table.rank th{font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--txt2); text-align:left; padding:8px 8px; border-bottom:1px solid var(--linha)}
table.rank td{padding:10px 8px; border-bottom:1px solid #163826}
table.rank tr:hover td{background:#102b1d}
.pos{font-weight:900; font-size:16px; width:38px; text-align:center}
.pos.p1{color:var(--ouro)} .pos.p2{color:#cfd8dc} .pos.p3{color:#e0a45e}
.pts{font-weight:900; color:var(--ouro); font-size:17px; text-align:right}
.nome-cel{display:flex; align-items:center; gap:9px}
.ava{width:34px;height:34px;border-radius:50%; display:grid; place-items:center; font-size:12.5px; font-weight:800; letter-spacing:.5px; color:var(--txt2); background:#0c2418; border:1px solid var(--linha); flex:0 0 auto}
.me-name{font-size:13px; font-weight:700; color:var(--txt2)}
.badges{display:flex; gap:3px; flex-wrap:wrap}
.badge{font-size:14px; cursor:default}
.pago-tag{font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px}
.pago-sim{background:#0c3320;color:#37e08f;border:1px solid #1c6b43}
.pago-nao{background:#3a1416;color:#ff8d8e;border:1px solid #5b1d20}

.filtros{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px}
.filtros select,.filtros input{background:#0c2418; color:var(--txt); border:1px solid var(--linha); border-radius:10px; padding:8px 10px; font-size:13px; font-weight:700}
.rodada-h{font-size:12px; font-weight:900; letter-spacing:1px; text-transform:uppercase; color:var(--ouro2); margin:16px 0 8px; border-left:3px solid var(--ouro); padding:4px 0 4px 10px}
.rodada-h.fase{font-size:13.5px; color:var(--ouro); margin-top:22px; background:#15392612; }
.team .slot{color:var(--txt2); font-weight:600; font-size:12.5px}
.gwin{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:9px; padding-top:9px; border-top:1px dashed #1f5238; font-size:13px}
.jogo{display:flex; align-items:center; gap:10px; padding:11px 12px; border:1px solid var(--linha); border-radius:14px; margin-bottom:8px; background:#0e2719}
.jogo.locked{opacity:.72}
.jogo .meta{font-size:10.5px; color:var(--txt2); width:118px; flex:0 0 auto; line-height:1.3}
.jogo .grp{font-weight:900; color:var(--ouro)}
.team{display:flex; align-items:center; gap:6px; font-weight:800; font-size:14px; min-width:0; line-height:1.15; word-break:break-word}
.team .fl{font-size:19px; flex:0 0 auto}
.team.casa{flex:1; justify-content:flex-end; text-align:right}
.team.fora{flex:1}
.scorebox{display:flex; align-items:center; gap:5px}
.scorebox input{width:42px; height:40px; text-align:center; font-size:18px; font-weight:900; border-radius:10px;
  border:1px solid var(--linha); background:#08160e; color:var(--ouro); outline:none}
.scorebox input:focus{border-color:var(--verde); box-shadow:0 0 0 2px #00a85944}
.scorebox input:disabled{opacity:.85}
.scorebox .x{color:var(--txt2); font-weight:900}
.jpts{font-size:11px; font-weight:900; width:60px; text-align:center; flex:0 0 auto}
.jpts .ok{color:#37e08f} .jpts .crav{color:var(--ouro)} .jpts .zero{color:#ff8d8e}
.real-chip{font-size:13px; font-weight:900; color:var(--txt); background:#0c2418; padding:3px 9px; border-radius:8px; border:1px solid var(--linha)}
.lockico{font-size:12px; color:var(--ouro2); font-weight:700}
.lockico.live{color:#ff6b6b; font-weight:800; animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.55}}

/* card de jogo (tela Jogos & Palpites mesclada) */
.gcard{border:1px solid var(--linha); border-radius:14px; margin-bottom:10px; background:#0e2719; padding:11px 14px}
.gcard.locked{background:#0c2117}
.gmeta{font-size:11px; color:var(--txt2); margin-bottom:9px}
.gmeta .grp{font-weight:900; color:var(--ouro)}
.grow1{display:flex; align-items:center; gap:10px}
.grow1 .team{flex:1}
.gresult{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:10px; padding-top:9px; border-top:1px dashed #1f5238; font-size:13px}
.rlbl{font-size:10.5px; font-weight:800; color:var(--txt2); text-transform:uppercase; letter-spacing:.5px}
.scorebox.sm input{width:36px; height:32px; font-size:15px}
.meupts{margin-left:auto; font-weight:700; color:var(--txt2)}
.meupts .tipo{font-weight:600; color:var(--txt2); font-size:11.5px}
.det{font-size:11px; color:var(--txt2); line-height:1.35; margin-top:2px}

/* tabela do ranking (ordenável por coluna) */
.rtwrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -4px}
.rtable{width:100%; border-collapse:collapse; font-size:13px; min-width:430px}
.rtable th{font-size:10px; color:var(--txt2); padding:6px 4px; border-bottom:1px solid var(--linha); text-align:center; white-space:normal; line-height:1.15; vertical-align:bottom}
.rtable th.lft{text-align:left}
.rtable th.sortable{cursor:pointer; user-select:none}
.rtable th.sortable:hover{color:var(--txt)}
.rtable th.tot{color:var(--ouro)}
.rtable td{padding:8px 4px; border-bottom:1px solid #163826; text-align:center; white-space:nowrap; vertical-align:middle}
.rtable td.lft{text-align:left}
.rtable td.pos{font-weight:900; font-size:12px}
.rtable tr:hover td{background:#102b1d}
/* cabeçalho do ranking com botão "minha posição" */
.rk-head{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px}
/* posição + nome fixos ao rolar pro lado (sem destaque visual) */
.rtable th.pos-h, .rtable td.pos{position:sticky; left:0; z-index:2; width:42px; min-width:42px; background:#122e21}
.rtable td.pos{font-size:15px}
.rtable th.lft, .rtable td.lft{position:sticky; left:42px; z-index:2; background:#122e21}
.rtable thead th.pos-h, .rtable thead th.lft{z-index:3; background:#122e21}
@keyframes flashRow{0%,100%{background:transparent}30%{background:rgba(255,199,44,.22)}}
.rtable tr.flash-row td{animation:flashRow 1.5s ease}
.rtable tr:hover td.pos, .rtable tr:hover td.lft{background:#163a28}
.rtable .nome-cel{gap:8px}
.rtable .nome-cel span{font-weight:700}
.rtable td b{font-weight:800; font-size:15px; line-height:1.1}
.rtable td b.pts-on{color:var(--ouro2)}
.rtable td b.pts-off{color:#5a7d68}
.rtable td b.z-on{color:#ff8d8e}
.rtable td.tot{font-weight:900; color:var(--ouro); font-size:16px}
/* "Eu" identificado só pelo nome em dourado (sem fundo destacado) */
.rtable tr.eurow .nome-col > span:first-child{color:var(--ouro)}
.rtable td.aprov-cel{font-weight:800}
.rtable th.prem-h{color:var(--ouro2)}
.rtable td.prem-cel{font-weight:900; font-size:14px}
.rtable .pmwin{color:var(--ouro)}
.rtable .pmpay{color:#ff8d8e}
.rtable .pmoff{color:#5a7d68}
.nome-col{display:flex; flex-direction:column; min-width:0; line-height:1.25}
.nome-col > span:first-child{font-size:15px; font-weight:700}
.rtable .prem-sub{font-size:11px; font-weight:800; margin-top:1px; white-space:nowrap}
.ggalera{margin-top:9px; padding-top:9px; border-top:1px dashed #1f5238}
.ggalera .rlbl{display:block; margin-bottom:7px}
/* celular: 3 colunas fixas. acima de 560px: nº de colunas proporcional à largura da tela */
.gg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:5px 8px; font-size:12px; color:var(--txt2)}
@media(min-width:561px){.gg-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr)); gap:6px 16px; font-size:12.5px}}
.palpitem{display:flex; align-items:center; gap:5px; min-width:0; white-space:nowrap}
.palpitem .nm{min-width:0; overflow:hidden; text-overflow:ellipsis}
.palpitem .sc{color:var(--txt); flex:none}
.palpitem .jslot{flex:none; display:flex}
.crav{color:var(--ouro)} .ok{color:#37e08f} .zero{color:#ff8d8e}

.part-row{display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--linha); border-radius:14px; margin-bottom:8px; background:#0e2719; flex-wrap:wrap}
.part-row .nm{font-weight:800}
.part-row .ap{color:var(--txt2); font-size:12px}
.grow{flex:1}
input.inp,select.inp,textarea.inp{background:#08160e; color:var(--txt); border:1px solid var(--linha); border-radius:10px; padding:9px 11px; font-size:14px; font-weight:600; outline:none; width:100%}
input.inp:focus,textarea.inp:focus,select.inp:focus{border-color:var(--verde)}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px}
label.lbl{font-size:12px; font-weight:800; color:var(--txt2); display:block; margin-bottom:5px; text-transform:uppercase; letter-spacing:.5px}

.roast{background:linear-gradient(180deg,#2a0e10,#1b0a0b); border:1px solid #5b1d20; border-radius:14px; padding:12px 14px; margin-bottom:9px; display:flex; gap:10px; align-items:flex-start}
.roast .ico{font-size:22px}
.roast .txt{font-size:14px; font-weight:600; line-height:1.4}
.post{background:#0e2719; border:1px solid var(--linha); border-radius:14px; padding:11px 13px; margin-bottom:9px}
.post .ph{display:flex; align-items:center; gap:8px; margin-bottom:5px}
.post .ph .a{font-weight:900; font-size:13px}
.post .ph .t{font-size:11px; color:var(--txt2); margin-left:auto}
.post .body{font-size:14px; line-height:1.45}

.empty{text-align:center; padding:30px 16px; color:var(--txt2)}
.empty .big{font-size:40px; margin-bottom:8px}
.row-actions{display:flex; gap:6px; flex-wrap:wrap}
.admin-only{display:none}
body.admin .admin-only{display:revert}
body.admin .admin-only-flex{display:flex}
.hint{font-size:12px;color:var(--txt2);margin-top:6px}
.rk-tie{margin:10px 2px 0; padding:8px 11px; background:rgba(255,199,44,.07); border:1px solid #1f5238; border-radius:10px}
.hist-box{display:flex; flex-direction:column; gap:2px}
.hist-li{display:grid; grid-template-columns:1fr auto; gap:1px 10px; padding:7px 2px; border-bottom:1px dashed #173d2a; font-size:12.5px}
.hist-li:last-child{border-bottom:0}
.hist-jogo{font-weight:700; color:var(--txt)}
.hist-when{color:var(--txt2); font-size:11px; white-space:nowrap; text-align:right}
.hist-txt{color:var(--txt2); grid-column:1/-1}
.hist-txt b{color:var(--ouro2)}
.falta-box{display:flex; flex-direction:column; gap:2px}
.falta-li{display:grid; grid-template-columns:1fr auto; gap:1px 10px; padding:8px 2px; border-bottom:1px dashed #173d2a}
.falta-li:last-child{border-bottom:0}
.falta-nome{font-weight:700; color:var(--txt)}
.falta-n{font-size:11px; font-weight:800; color:#ffb24d; background:rgba(255,150,40,.12); padding:1px 9px; border-radius:20px; white-space:nowrap; align-self:center}
.falta-jogos{grid-column:1/-1; color:var(--txt2); font-size:12px}
.toast{position:fixed; bottom:18px; left:50%; transform:translateX(-50%) translateY(80px); background:#12352f; border:1px solid var(--verde);
  color:var(--txt); padding:11px 18px; border-radius:14px; font-weight:800; box-shadow:var(--sombra); z-index:99; transition:.3s; font-size:14px; max-width:90vw; text-align:center}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.err{border-color:var(--vermelho)}
.champ-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; margin-top:8px}
footer{text-align:center; color:var(--txt2); font-size:12px; margin-top:30px; line-height:1.6}
a.lnk{color:var(--ouro2); cursor:pointer; text-decoration:underline}
details.regras summary{cursor:pointer; font-weight:800; color:var(--ouro2)}
.regra-li{display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed #1f5238; font-size:13px; gap:10px}
.reg-tit{font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--ouro2); margin:16px 0 6px}
.reg-tit:first-child{margin-top:0}
.modal-bg{position:fixed; inset:0; background:#000a; display:none; place-items:center; z-index:50; padding:16px}
.modal-bg.show{display:grid}
.modal{background:var(--bg2); border:1px solid var(--linha); border-radius:18px; padding:20px; max-width:460px; width:100%; box-shadow:var(--sombra); max-height:90vh; overflow:auto}
.loading{text-align:center;padding:60px 20px;color:var(--txt2)}
.loading .ball{font-size:46px;display:inline-block;animation:spin 1.2s linear infinite}
.avgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px}
.avgrid button{font-size:20px;background:#0c2418;border:1px solid var(--linha);border-radius:10px;padding:6px;cursor:pointer}
.avgrid button.sel{border-color:var(--ouro);background:#241c06}

.prem{margin-top:14px; border:1px solid var(--linha); border-radius:14px; overflow:hidden; background:#0e2719}
.prem.proj{margin-top:12px}
.prem-cap{font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--txt2); padding:9px 12px; border-bottom:1px solid var(--linha); background:#0c2418; font-weight:800}
.prem-row{display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--linha)}
.prem-row:last-child{border-bottom:none}
.prem-row .pp{flex:0 0 70px; font-weight:900; font-size:14px}
.prem-row .pd{flex:1 1 auto; color:var(--txt2); font-size:13px}
.prem-row .pv{font-weight:900; font-size:15px; white-space:nowrap}
.prem-row.gain .pp, .prem-row.gain .pv{color:var(--ouro)}
.prem-row.pay .pp, .prem-row.pay .pv{color:#ff8d8e}

/* lembrete de palpites + countdown */
.pix-aviso{display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap;
  background:#2a1f06; border:1px solid #5a4a16; border-left:4px solid var(--ouro); border-radius:14px;
  padding:11px 14px; margin:0 0 12px; font-size:13.5px; color:var(--txt)}
.pix-aviso b{color:var(--ouro2)}
/* PIX já cadastrado: colapsado (expande pra editar) */
.pix-box{margin-top:12px; border:1px solid var(--linha); border-radius:12px; background:#0e2719; overflow:hidden}
.pix-box > summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:10px 13px; font-size:13px; color:var(--txt2); user-select:none}
.pix-box > summary::-webkit-details-marker{display:none}
.pix-box > summary::before{content:"▸"; color:var(--txt2); font-size:11px; display:inline-block; transition:.15s; flex:0 0 auto}
.pix-box[open] > summary::before{transform:rotate(90deg)}
.pix-box > summary b{color:var(--txt); font-weight:800}
.pix-box > summary .pix-ok{color:#37e08f; font-weight:800}
.pix-box > summary .lnk{margin-left:auto; font-size:12px}
.pix-edit{display:flex; gap:8px; flex-wrap:wrap; margin-top:4px}
.pix-box .pix-edit{padding:0 13px 12px; margin-top:0}
.pix-edit input{flex:1; min-width:200px}
.pix-aviso.aviso-erro{background:#2a0f0f; border-color:#5b1d20; border-left-color:var(--vermelho)}
.pix-aviso.aviso-erro b{color:#ff9d9e}
.pix-aviso + .pix-aviso{margin-top:-4px}
.lembrete-wrap{margin:0 0 12px}
.lembrete-wrap:empty{display:none}
.lembrete{display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap;
  background:linear-gradient(90deg,#2a1f06,#191204); border:1px solid #5a4a16; border-radius:14px; padding:10px 14px}
.lembrete .lb-txt{font-size:13.5px; color:#ffe6a6; line-height:1.45; flex:1 1 200px}
.lembrete .lb-txt b{color:var(--ouro2)}
.lembrete #cdown{font-weight:900; color:#fff; font-variant-numeric:tabular-nums}
.tbadge{display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; margin-left:6px;
  border-radius:999px; background:var(--vermelho); color:#fff; font-size:11px; font-weight:800; vertical-align:middle; line-height:1}
nav.tabs button.active .tbadge{background:#04261a; color:var(--ouro2)}

/* movimento no ranking */
.mov{font-size:10.5px; font-weight:800; margin-left:5px; white-space:nowrap}
.mov.up{color:#39d98a}
.mov.down{color:#ff8d8e}
.mov.eq{color:var(--txt2); font-weight:700}

/* destaque da rodada */
.destaque-card{display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  background:linear-gradient(90deg,#13352e,#0e2719); border-color:#2a5a40}
.dq-tag{font-size:11px; font-weight:900; letter-spacing:.5px; text-transform:uppercase; color:#04261a;
  background:linear-gradient(180deg,var(--ouro2),var(--ouro)); padding:5px 10px; border-radius:999px; white-space:nowrap}
.dq-body{font-size:14px; color:var(--txt); line-height:1.4}
.dq-body b{color:var(--ouro2)}
.dq-pts{font-weight:900; color:var(--ouro)}

/* ---- fim do bolão (card de encerramento) ---- */
.fim-bolao{background:linear-gradient(160deg,#14392c,#0d2418); border-color:#2f6b48}
.fb-top{text-align:center; padding:4px 0 10px}
.fb-tag{display:inline-block; font-size:11px; font-weight:900; letter-spacing:1px; text-transform:uppercase;
  color:#04261a; background:linear-gradient(180deg,var(--ouro2),var(--ouro)); padding:5px 12px; border-radius:999px}
.fb-camp{font-size:19px; font-weight:800; color:var(--txt); margin-top:10px; line-height:1.3}
.fb-camp b{color:var(--ouro)}
.fb-vice{font-size:13px; color:var(--txt2); margin-top:3px}
.fb-podio{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:6px 0 4px}
.fb-pod{display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:6px 13px}
.fb-med{font-size:15px}
.fb-nome{font-weight:800; font-size:13.5px; color:var(--txt)}
.fb-pts{font-size:12px; color:var(--txt2)}
.fb-vc{text-align:center; font-size:13.5px; color:var(--txt2); margin-top:12px}
.fb-vc b{color:var(--txt)}
.fb-acerto{margin-top:10px; border-radius:12px; padding:12px 14px; border:1px solid}
.fb-acerto.ganhou{background:rgba(60,200,120,.10); border-color:#1f5137}
.fb-acerto.paga{background:rgba(255,150,90,.09); border-color:#5c3a22}
.fb-acerto.neutro{background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.10)}
.fb-tit{font-size:15px; font-weight:800; color:var(--txt)}
.fb-tit b{color:var(--ouro)}
.fb-sub{font-size:12px; color:var(--txt2); margin-top:8px}
.fb-li{display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:7px 0; font-size:13.5px; color:var(--txt)}
.fb-li+.fb-li{border-top:1px solid rgba(255,255,255,.06)}
.fb-li>span:first-child{flex:1; min-width:150px}
.fb-pix{display:block; font-size:11.5px; color:var(--txt2); margin-top:2px; word-break:break-all}
.fb-pix.sem{color:#c9a227}
.fb-val{font-weight:900; white-space:nowrap}
.fb-val.rec{color:var(--verde2,#4ade80)}
.fb-val.pag{color:#ff9c6b}
.fb-cp{padding:3px 9px; font-size:11px}
.fb-obg{text-align:center; font-size:13.5px; color:var(--txt2); line-height:1.6; margin-top:14px;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.08)}
.fb-obg b{color:var(--ouro2)}

/* apelido na galera (admin) */
.ap-tag{font-size:11.5px; font-weight:700; color:var(--ouro2)}

/* resumo de pagamento na Galera (admin) */
.pagos-resumo{background:var(--bg2); border:1px solid var(--linha); border-radius:12px; padding:11px 13px; margin-bottom:12px}
.pr-barra{height:7px; background:#0c2418; border-radius:999px; overflow:hidden; margin-bottom:8px}
.pr-fill{height:100%; background:linear-gradient(90deg,var(--verde),#39d98a); border-radius:999px; transition:width .3s}
.pr-txt{font-size:13px; color:var(--txt2)} .pr-txt b{color:var(--txt)}
.pr-pend{color:#ff9b9c; font-weight:700}
.pagos-resumo .btn{margin-top:10px}

/* aba Transparência (registro público) */
.tr-list{display:flex; flex-direction:column}
.tr-row{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:9px 0; border-bottom:1px dashed #163826; font-size:13px; line-height:1.4}
.tr-row:last-child{border-bottom:none}
.tr-main{min-width:0; color:var(--txt2)}
.tr-main b{color:var(--txt); font-weight:700}
.tr-autor{color:var(--ouro2) !important}
.tr-jogo{color:var(--txt)}
.tr-sc{color:var(--ouro) !important}
.tr-quando{flex:0 0 auto; font-size:11.5px; color:var(--txt2); white-space:nowrap}

/* trava de pontuação/premiação depois que a Copa começa */
.trava-aviso{background:rgba(255,199,44,.10); border:1px solid #4a3d12; border-radius:10px; padding:9px 12px; margin-bottom:12px; font-size:12.5px; color:var(--ouro2); line-height:1.45}
.trava-aviso b{color:var(--ouro)}
.trava-nota{margin-top:12px; font-size:13px; font-weight:800; color:var(--txt2)}
.br-auto{background:rgba(60,200,120,.08); border:1px solid #1f5137; border-radius:12px; padding:6px 14px; margin-top:6px}
.br-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0}
.br-row+.br-row{border-top:1px solid rgba(255,255,255,.06)}
.br-lbl{font-size:13px; font-weight:700; color:var(--txt2)}
.br-time{font-size:16px; font-weight:800; color:var(--txt)}
.inp:disabled{opacity:.55; cursor:not-allowed}

/* bônus de palpite (2×) */
.gtop{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:2px}
.gtop-r{display:flex; align-items:center; gap:8px}
/* jogo encerrado: colapsado por padrão (resumo = placar oficial + seus pontos) */
details.gcard.gdone{padding:0; overflow:hidden}
.gd-sum{list-style:none; cursor:pointer; display:flex; flex-direction:column; gap:3px; padding:11px 14px; user-select:none}
.gd-sum::-webkit-details-marker{display:none}
.gd-jogo{display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0; font-size:13.5px; font-weight:700}
.gd-jogo::before{content:"▸"; color:var(--txt2); font-size:11px; flex:0 0 auto; display:inline-block; transition:.15s}
details.gdone[open] > .gd-sum > .gd-jogo::before{transform:rotate(90deg)}
.gd-x{color:var(--txt2); font-weight:600}
.gd-info{font-size:12px; color:var(--txt2); display:flex; align-items:center; gap:3px 8px; flex-wrap:wrap}
.gd-info .gu{white-space:nowrap}
.gd-info .gu:not(:first-child)::before{content:"· "; color:var(--txt2)}
.gd-info b{color:var(--txt); font-weight:800}
.gd-info b.gd-of{color:var(--ouro2)}
.gd-pts{font-size:12.5px; font-weight:800; white-space:nowrap}
.gd-pts.crav{color:var(--ouro)} .gd-pts.ok{color:#37e08f} .gd-pts.zero{color:#ff8d8e} .gd-pts.muted{color:var(--txt2)}
.gd-2x{display:inline-block; margin-left:5px; font-size:10px; font-weight:900; letter-spacing:.2px; color:#3a2a00; background:linear-gradient(180deg,var(--ouro2),var(--ouro)); padding:1px 5px; border-radius:5px; vertical-align:middle}
details.gdone[open] > .gd-sum{border-bottom:1px solid var(--linha)}
.gdone-body{padding:10px 14px 12px}
.gdone-body .gtop{margin-top:0}
.gsaved{font-size:11px; font-weight:800; color:#37e08f; opacity:0; transition:opacity .2s; white-space:nowrap}
.gsaved.on{opacity:1}
@keyframes flashOk{0%{box-shadow:0 0 0 2px rgba(55,224,143,.6)}100%{box-shadow:0 0 0 2px transparent}}
.gcard.flash-ok{animation:flashOk .9s ease}
.gtop .gmeta{flex:1 1 auto; min-width:0}
.gjoker{margin-top:8px}
.jcheck{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; cursor:pointer; color:var(--ouro2); user-select:none}
.jcheck input{width:15px; height:15px; accent-color:var(--ouro); cursor:pointer; margin:0}
.jcheck.on{color:var(--ouro)}
.jcheck.dis{color:var(--txt2); cursor:not-allowed; opacity:.5}
.jcheck.dis input{cursor:not-allowed}
.jbadge{display:inline-block; font-size:11px; font-weight:900; color:#3a2a00; background:linear-gradient(180deg,var(--ouro2),var(--ouro)); padding:3px 9px; border-radius:999px}
.j2x{display:inline-block; font-size:9px; font-weight:900; color:#3a2a00; background:var(--ouro); padding:1px 3px; border-radius:4px}
.bonus-erro{margin-top:10px; background:#2a0f0f; border:1px solid #5b1d20; border-left:3px solid var(--vermelho); border-radius:10px; padding:8px 11px; font-size:13px; font-weight:700; color:#ff9d9e}
.bonus-resumo{margin-top:10px; background:#0e2719; border:1px solid var(--linha); border-radius:12px; padding:10px 12px}
/* card "campeão/vice da galera" */
.bg-list{display:flex; flex-direction:column; margin-top:6px}
.bg-row{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:9px 4px; border-bottom:1px dashed #163826}
.bg-row:last-child{border-bottom:none}
.bg-nome{font-weight:800; font-size:14px}
.bg-row.eu .bg-nome{color:var(--ouro)}
.bg-picks{display:flex; gap:14px; flex-wrap:wrap; font-size:13px; font-weight:700}
.bg-pick{white-space:nowrap}
.bg-lbl{font-size:13px}
.bg-ok{color:#37e08f; font-weight:900}
.br-head{font-size:12.5px; color:var(--txt); line-height:1.45}
.br-head b{color:var(--ouro2)}
.br-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.bchip{font-size:11px; font-weight:800; color:var(--txt2); background:#0c2418; border:1px solid var(--linha); border-radius:999px; padding:3px 9px}
.bchip.used{color:#3a2a00; background:linear-gradient(180deg,var(--ouro2),var(--ouro)); border-color:transparent}

/* quem cravou o placar */
.gcravou{margin-top:7px; padding-top:7px; border-top:1px dashed #1f5238; font-size:12.5px; color:var(--txt)}
.cv-tag{display:inline-block; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  color:#04261a; background:var(--verde); padding:2px 7px; border-radius:6px; margin-right:6px}

/* classificação dos grupos */
.gtab-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px}
.gtab-card{margin-bottom:0}
.gtab-h{font-size:14px; color:var(--ouro2); margin:0 0 8px}
.gtab{width:100%; border-collapse:collapse; font-size:13px}
.gtab th{font-size:10.5px; color:var(--txt2); text-transform:uppercase; padding:4px 5px; text-align:center; border-bottom:1px solid var(--linha)}
.gtab th.lft{text-align:left}
.gtab td{padding:6px 5px; text-align:center; border-bottom:1px solid #163826; white-space:nowrap}
.gtab td.lft{text-align:left; font-weight:700}
.gtab td.pos{color:var(--txt2); font-weight:800}
.gtab td.pts{font-weight:900; color:var(--ouro)}
.gtab .tflag{margin-right:3px}
.gtab tr.q{background:rgba(57,217,138,.07)}
.gtab tr.q td.pos{color:#39d98a}
.gtab tr.t{background:rgba(255,199,44,.06)}
.gtab tr.t td.pos{color:var(--ouro)}
.gleg{display:inline-block; font-size:11px; font-weight:700; padding:1px 7px; border-radius:999px; margin-right:4px}
.gleg.q{color:#39d98a; background:rgba(57,217,138,.12)}
.gleg.t{color:var(--ouro); background:rgba(255,199,44,.12)}

/* acerto de contas */
.ac-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:10px}
.ac-cap{font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.5px; padding-bottom:6px; margin-bottom:4px; border-bottom:1px solid var(--linha)}
.ac-cap.recebe{color:#39d98a}
.ac-cap.paga{color:#ff8d8e}
.ac-row{display:flex; justify-content:space-between; gap:8px; padding:6px 0; font-size:13.5px; border-bottom:1px dashed #163826}
.ac-row b{font-weight:900; white-space:nowrap}
.ac-arr{color:var(--ouro2); margin:0 2px; font-weight:900}
.ac-row.caixa{color:var(--txt2)}
.ac-row.caixa .ac-arr{color:var(--txt2)}
.ac-row.caixa b{color:var(--txt2); font-weight:700}

/* menções no mural + sino */
.ment{color:var(--ouro2); font-weight:700}
.ment.eu{background:rgba(255,199,44,.18); border-radius:4px; padding:0 3px}
.post.me{border-left:3px solid var(--ouro); padding-left:10px}
.ment-chips{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; align-items:center; font-size:12px; color:var(--txt2)}
.ment-chip{font-size:12px; font-weight:700; color:var(--ouro2); background:#0c2418; border:1px solid var(--linha); border-radius:999px; padding:3px 9px; cursor:pointer; transition:.12s}
.ment-chip:hover{border-color:var(--ouro)}
/* mural interativo: reações, respostas, fixar */
.post-foot{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-top:8px}
.reac-bar{display:flex; flex-wrap:wrap; gap:5px}
.reac{font-size:13px; background:#0c2418; border:1px solid var(--linha); border-radius:999px; padding:2px 8px; cursor:pointer; color:var(--txt); line-height:1.4; transition:.12s}
.reac:hover{border-color:var(--verde)}
.reac.on{border-color:var(--ouro); background:#241c06}
.reac.z{opacity:.4}
.reac.z:hover{opacity:1}
.reac span{font-weight:800; font-size:12px; margin-left:1px; color:var(--ouro2)}
.post-acts{display:inline-flex; gap:10px; white-space:nowrap}
.post-acts .lnk{font-size:11px}
.post.resp{border-left:2px solid #2a5a3a; background:#0c2216}
.post.resp .ph .a::before{content:"↳ "; color:var(--txt2); font-weight:400}
.resp-ctx{font-size:12px; color:var(--txt2); background:#0e2719; border:1px solid var(--linha); border-radius:10px; padding:7px 10px; margin-bottom:8px}
.resp-ctx b{color:var(--ouro2)}
.post.fix{border-color:#5a4a16; background:#1a140788}
.fix-tag{font-size:10.5px; font-weight:800; color:var(--ouro2); margin-left:6px}
.bell{position:relative; background:transparent; border:1px solid var(--linha); color:var(--txt2); border-radius:10px; width:38px; height:34px; display:inline-grid; place-items:center; cursor:pointer; transition:.15s; padding:0}
.bell:hover{color:var(--txt); border-color:var(--verde)}
.bell.has{color:var(--ouro); border-color:var(--ouro)}
.bell-badge{position:absolute; top:-7px; right:-7px; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--vermelho); color:#fff; font-size:10px; font-weight:800; display:grid; place-items:center; line-height:1}
.bell-badge:empty{display:none}

@media(max-width:560px){
  .jogo{
    display:grid; gap:7px 8px; padding:11px 12px; align-items:center;
    grid-template-columns:1fr auto 1fr;
    grid-template-areas:"meta meta meta" "casa score fora" "stat stat stat";
  }
  .jogo .meta{grid-area:meta; width:auto; display:flex; gap:6px; align-items:center; flex-wrap:wrap; font-size:10.5px; padding-bottom:5px; border-bottom:1px dashed #1f5238}
  .jogo .meta br{display:none}
  .jogo .meta .cidade::before{content:"·"; margin-right:6px; color:var(--txt2)}
  .team{grid-area:casa; font-size:13.5px; gap:5px; word-break:normal}
  .team.fora{grid-area:fora}
  .scorebox{grid-area:score}
  .jpts{grid-area:stat; width:auto !important; text-align:center; padding-top:2px}
  .jpts br{display:none}
  .jpts a.lnk{margin-left:8px}
  .real-chip{margin-left:6px}
  .form-grid{grid-template-columns:1fr}
  .logo h1{font-size:18px}
  .wrap{padding:14px 10px 80px}
}

/* ---------- seções recolhíveis de palpites (por fase) ---------- */
.palp-sec{border:1px solid var(--linha); border-radius:12px; background:#0d2418; margin-top:10px; overflow:hidden}
.palp-sec>summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 14px; font-weight:800; font-size:14px; user-select:none}
.palp-sec>summary::-webkit-details-marker{display:none}
.palp-sec>summary::before{content:"▸"; color:var(--txt2); font-size:11px; margin-right:2px; transition:.15s}
.palp-sec[open]>summary::before{transform:rotate(90deg)}
.palp-sec[open]>summary{border-bottom:1px solid var(--linha); background:#0f2a1e}
.ps-tit{text-transform:capitalize; display:flex; align-items:center; gap:8px}
.ps-now{font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.5px; color:#04261a; background:var(--ouro); padding:2px 7px; border-radius:999px}
.ps-meta{font-size:12px; color:var(--txt2); font-weight:700; white-space:nowrap}
.sec-falta{color:var(--ouro2)} .sec-ok{color:#37e08f} .sec-await{color:var(--txt2); font-style:italic}
.palp-sec-body{padding:6px 12px 12px}
.palp-sec-body .rodada-h{margin-top:12px}

/* ---------- cartões de destaque (aba Stats) ---------- */
.stat-cards{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px}
.stat-mini{margin:0; padding:13px 15px}
.stat-mini-h{font-size:13px; font-weight:800; color:var(--ouro2); margin:0 0 8px}
.stat-row{display:flex; align-items:center; gap:8px; padding:5px 0; font-size:13px; border-bottom:1px dashed #163826}
.stat-row:last-child{border-bottom:none}
.stat-row.eu .sr-nome, .stat-row.eu .sr-pos{color:var(--ouro)}
.sr-pos{width:24px; text-align:center; flex:0 0 auto; font-weight:800}
.sr-nome{flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700}
.sr-val{color:var(--ouro2); font-weight:900; white-space:nowrap}
.stat-row.eu .sr-val{color:var(--ouro)}
.stat-sep{height:1px; background:var(--linha); margin:5px 0}
@media(max-width:560px){.stat-cards{grid-template-columns:1fr}}

/* ---------- bump chart (aba Estatísticas) ---------- */
.bump-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; margin:0 -4px}
.bump{display:block; margin:0 auto}
.bump-leg{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px}
.bump-chip{display:inline-flex; align-items:center; gap:6px; background:#0c2418; border:1px solid var(--linha);
  color:var(--txt); border-radius:999px; padding:4px 11px; font-size:12px; font-weight:700; cursor:pointer; transition:.12s}
.bump-chip:hover{border-color:var(--verde)}
.bump-chip.off{color:var(--txt2); opacity:.5; text-decoration:line-through}
.bump-chip .dot{width:10px; height:10px; border-radius:50%; flex:0 0 auto; border:2px solid transparent}
.bump-tip{display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#0e2719; border:1px solid var(--linha); border-radius:10px; padding:8px 11px; margin:0 0 10px}
.bump-tip .btn{margin-left:auto}

/* tela cheia do gráfico */
#statFull{position:fixed; inset:0; z-index:60; background:#0a1812; display:none; flex-direction:column; padding:10px 12px 16px; overflow:auto}
#statFull.show{display:flex}
#statFull .sf-bar{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px}
#statFull .sf-hint{font-size:12px; color:var(--txt2); margin-bottom:8px}
#statFull .sf-chart{flex:0 0 auto}
#statFull .sf-leg{margin-top:12px}

/* ---------- switch Grupos / Mata-mata (aba Copa) ---------- */
.copa-switch{display:flex; gap:8px; margin-bottom:14px}
.copa-switch button{flex:0 0 auto; background:transparent; border:1px solid var(--linha); color:var(--txt2);
  padding:9px 16px; border-radius:999px; font-weight:800; font-size:13px; cursor:pointer; transition:.15s}
.copa-switch button.on{background:linear-gradient(180deg,#1ec97a,var(--verde)); color:#04261a; border-color:transparent}
.copa-switch button:hover{color:var(--txt)}

/* ---------- chaveamento (mata-mata) ---------- */
/* chave clássica de bandeiras (16-avos -> final convergindo pro centro) */
.kbk{display:flex; align-items:stretch; gap:0; padding:8px 0 4px; min-height:600px}
.kside{display:flex; flex:1; min-width:0; gap:0}
.kcol{display:flex; flex-direction:column; justify-content:space-around; flex:1 1 0; min-width:0; gap:0}
.kconn{display:flex; flex-direction:column; justify-content:space-around; flex:0 0 11px; align-self:stretch; gap:0}
.ku{flex:1 1 0; position:relative}
.kfinconn{flex:0 0 11px; align-self:center; height:2px; background:var(--ouro); opacity:.6}
.kc{display:flex; flex-direction:column; gap:2px; align-items:center; width:100%; background:#12342480; border:1px solid #25513a; border-radius:6px; padding:4px 1px; cursor:pointer; position:relative; transition:border-color .12s}
.kc.empty{visibility:hidden; pointer-events:none}
.kc:hover{border-color:var(--ouro2)}
.kc.live{border-color:#ff5a5a}
.kc.done{background:#0e271966}
.kc.pend{border-color:var(--ouro); box-shadow:inset 0 0 0 1px #FFC72C55}
.kcf{font-size:clamp(18px,6.4vw,24px); line-height:1.12}
.kcf.lost{opacity:.3; filter:grayscale(.55)}
.kcf.tbd{color:var(--txt2); opacity:.55; font-size:15px}
.kcenter{flex:0 0 50px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; position:relative}
.kfin-lbl{font-size:9px; font-weight:900; color:var(--ouro); text-transform:uppercase; letter-spacing:1px}
.kcenter > .kc{border-color:var(--ouro); background:#1f160233; padding:7px 4px}
.kcenter > .kc .kcf{font-size:clamp(21px,7vw,28px)}
.ktrophy{font-size:18px; line-height:1}
/* 3º lugar: logo abaixo da final (absoluto, pra não empurrar/desalinhar a final) */
.k3blk{position:absolute; left:-7px; right:-7px; top:calc(50% + 72px); display:flex; flex-direction:column; align-items:center; gap:3px}
.k3lbl{font-size:8.5px; font-weight:800; color:var(--txt2); text-transform:uppercase; letter-spacing:.4px}
.k3blk .kc{padding:4px 3px}
.k3blk .kcf{font-size:16px}
/* conectores dourados em "⊐" ligando cada par à próxima fase */
.kside.left .ku::before{content:''; position:absolute; left:0; right:50%; top:25%; bottom:25%; border:2px solid var(--ouro); border-left:0; border-radius:0 5px 5px 0; opacity:.6}
.kside.left .ku::after{content:''; position:absolute; left:50%; right:0; top:calc(50% - 1px); height:2px; background:var(--ouro); opacity:.6}
.kside.right .ku::before{content:''; position:absolute; left:50%; right:0; top:25%; bottom:25%; border:2px solid var(--ouro); border-right:0; border-radius:5px 0 0 5px; opacity:.6}
.kside.right .ku::after{content:''; position:absolute; left:0; right:50%; top:calc(50% - 1px); height:2px; background:var(--ouro); opacity:.6}

/* detalhe de um confronto (modal ao tocar) */
.vc{margin:-7px 0 -5px}
.vc-ph{text-align:center; color:var(--ouro); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:1px; margin-bottom:4px}
.vc-live{color:#ff8d8e; letter-spacing:0}
.vc-team{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:5px 2px}
.vc.vc-c .vc-team{justify-content:center; gap:10px}
.vc-team+.vc-team{border-top:1px solid var(--linha)}
.vc-nm{display:flex; align-items:center; gap:9px; font-size:15px; color:var(--txt); min-width:0}
.vc-nm b{font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.vc-fl{font-size:21px; flex:0 0 auto}
.vc-team.win .vc-nm{color:var(--ouro2)} .vc-team.win .vc-nm b{font-weight:900}
.vc-team.lost{opacity:.5}
.vc-g{font-size:20px; font-weight:900; color:var(--ouro); flex:0 0 auto}
.vc-dt{display:flex; justify-content:center; gap:16px; margin:7px 0 0; padding:7px; background:var(--bg); border-radius:9px; font-size:13.5px; color:var(--txt2)}
.vc-dt b{color:var(--ouro2)}
.vc-pl{text-align:center; font-size:13px; color:var(--txt2); margin-top:8px}
.vc-pl b{color:var(--txt)} .vc-pl b.ok{color:#37e08f} .vc-pl b.zero{color:#ff8d8e}
.vc-pen{margin-top:9px; padding:9px 10px; background:var(--bg); border:1px solid #4a3d12; border-radius:9px; text-align:center}
.vc-pen-lbl{font-size:12px; color:var(--ouro2); font-weight:700; margin-bottom:8px}
.vc-pen-btns{display:flex; gap:8px}
.vc-pen-btns .btn{flex:1}
.vc-pen.done{color:#37e08f; font-weight:700; font-size:13px; border-color:#1f5238}
.vc-pen.done b{color:#37e08f}
.vc-pen.wait{color:var(--ouro2); font-size:12px; border-color:#4a3d12; line-height:1.45}
.vc-acts{display:flex; gap:8px; margin-top:11px}
.vc-acts .btn{flex:1}
