:root{
  --ground:#F1F4F0; --surface:#FFFFFF; --surface-2:#F7FAF6;
  --ink:#151A16; --ink-2:#555F54; --ink-3:#8B948A;
  --line:#DCE3D9; --line-2:#EAEFE7;
  --accent:#1F5D3F; --accent-ink:#FFFFFF; --accent-soft:#E4EFE8; --accent-line:#BCD5C6;
  --gold:#8A6412; --gold-soft:#F6EEDC;
  --hot:#9B3226; --hot-soft:#F7E7E4;
  --info:#2A5478; --info-soft:#E5EDF4;
  --mute:#6E766D; --mute-soft:#ECEFEA;
  --shadow:0 1px 2px rgba(21,26,22,.05),0 10px 26px -18px rgba(21,26,22,.28);
  --sans:"Public Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --disp:"Bricolage Grotesque","Public Sans",system-ui,sans-serif;
  --mono:"Roboto Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0E120F; --surface:#161B17; --surface-2:#1A201C;
  --ink:#E6EBE6; --ink-2:#9BA59B; --ink-3:#6E786F;
  --line:#252D27; --line-2:#1E2520;
  --accent:#66B98C; --accent-ink:#0E120F; --accent-soft:#16281E; --accent-line:#2A4536;
  --gold:#D6AC5A; --gold-soft:#2A2314;
  --hot:#E09186; --hot-soft:#2C1917;
  --info:#84B2DA; --info-soft:#16242F;
  --mute:#98A197; --mute-soft:#20261F;
  --shadow:0 1px 2px rgba(0,0,0,.45),0 10px 26px -18px rgba(0,0,0,.8);
}}
*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{max-width:1380px;margin:0 auto;padding:24px 20px 90px}
.top{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 36px;padding-bottom:18px;border-bottom:2px solid var(--ink);margin-bottom:20px}
.brand{flex:1 1 340px;min-width:0}
.eyebrow{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lote{font-family:var(--disp);font-size:11px;font-weight:800;letter-spacing:.12em;background:var(--ink);color:var(--ground);padding:3px 9px;border-radius:4px}
h1{font-family:var(--disp);font-weight:800;font-size:clamp(30px,4.4vw,44px);line-height:1;letter-spacing:-.025em;margin:0;text-wrap:balance}
.sub{color:var(--ink-2);font-size:14px;margin:9px 0 0;max-width:64ch}
.stats{display:flex;gap:24px;flex-wrap:wrap}
.stat b{display:block;font-family:var(--disp);font-weight:800;font-size:25px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.stat span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;font-weight:600}
.stat.g b{color:var(--gold)}
a.volta{font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none}
a.volta:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---- funil ---- */
.funis{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px;margin-bottom:26px}
.funil{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:16px 18px 18px}
.funil header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.funil h2{font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.01em;margin:0}
.funil .tot{font-family:var(--mono);font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.etapa{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:7px}
.etapa .lbl{font-size:12px;color:var(--ink-2);font-weight:500;text-align:right}
.trilho{height:24px;background:var(--line-2);border-radius:4px;overflow:hidden;position:relative}
.trilho i{display:block;height:100%;border-radius:4px;transition:width .35s cubic-bezier(.2,.8,.2,1);min-width:2px}
.etapa .val{font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums;min-width:70px;text-align:right;color:var(--ink)}
.etapa .val small{color:var(--ink-3);font-size:11px}
.leak{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-2)}
.leak b{font-family:var(--mono);color:var(--hot);font-variant-numeric:tabular-nums}
.funil footer{margin-top:12px;font-size:11.5px;color:var(--ink-3);line-height:1.45}

/* ---- lista ---- */
.cols{display:grid;grid-template-columns:228px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.rail{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
@media (max-width:900px){.rail{position:static}}
.fg{display:flex;flex-direction:column;gap:5px}
.flabel{font-family:var(--disp);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
input[type=search],input[type=password],select{width:100%;font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:7px 9px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:26px}
.check{display:flex;gap:7px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);cursor:pointer;line-height:1.35}
.check input{margin:2px 0 0;accent-color:var(--accent);flex:none}
.note{font-size:11.5px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:12px;line-height:1.5}
.note b{color:var(--ink-2);font-weight:600}
.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.count{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;margin-right:auto}
button{font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;border-radius:6px;padding:6px 11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink)}
button:hover{border-color:var(--ink-3)}
button.p{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.rows{display:flex;flex-direction:column;gap:5px}
.row{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);border-left:3px solid var(--mute)}
.row.t1{border-left-color:var(--gold);border-left-width:4px}
.row.t2{border-left-color:var(--accent)}
.row.t3{border-left-color:var(--info)}
.row.t4{border-left-color:var(--mute)}
.row.done{opacity:.5}
.rhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;cursor:pointer}
.who{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 9px;min-width:0}
.nm{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:-.01em}
.meta{font-size:12px;color:var(--ink-2)}
.urna{font-family:var(--mono);font-size:11px;background:var(--ink);color:var(--ground);padding:2px 5px;border-radius:3px;letter-spacing:.1em}
.money{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tag{font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}
.tag.t1{background:var(--gold-soft);color:var(--gold)}
.tag.t2{background:var(--accent-soft);color:var(--accent)}
.tag.t3{background:var(--info-soft);color:var(--info)}
.tag.t4{background:var(--mute-soft);color:var(--mute)}
select.st{width:auto;min-width:118px;font-size:12px;padding:4px 24px 4px 8px;background-position:calc(100% - 12px) 12px,calc(100% - 7px) 12px}
.body{display:none;padding:0 12px 12px;border-top:1px solid var(--line-2);margin-top:2px}
.row.open .body{display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;padding-top:11px;margin:0}
.f dt{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:2px}
.f dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.cats{margin-top:11px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:9px 11px}
.cats h4{margin:0 0 5px;font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cats p{margin:0;font-size:13px}
.acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
a.btn{font-size:12.5px;font-weight:600;text-decoration:none;border-radius:6px;padding:6px 11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);display:inline-flex;gap:5px;align-items:center}
a.btn:hover{border-color:var(--ink-3)}
a.btn.p{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
textarea{width:100%;margin-top:10px;font:inherit;font-size:13px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;resize:vertical;min-height:52px}
.more{width:100%;padding:11px;margin-top:12px}
.empty{padding:44px 18px;text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:8px}
.sync{position:fixed;right:16px;bottom:16px;background:var(--ink);color:var(--ground);font-size:12px;font-weight:600;padding:7px 12px;border-radius:20px;opacity:0;transition:opacity .2s;pointer-events:none}
.sync.on{opacity:.92}
/* ---- login ---- */
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:30px 28px;width:100%;max-width:340px}
.card h1{font-size:27px;margin-bottom:4px}
.card p{color:var(--ink-2);font-size:13.5px;margin:0 0 20px}
.card form{display:flex;flex-direction:column;gap:10px}
.card button{padding:9px;font-size:14px}
.erro{color:var(--hot);font-size:13px;margin:10px 0 0;min-height:18px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- placar do campeonato ---- */
.placar{background:var(--ink);color:var(--ground);border-radius:12px;overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow)}
.faixa{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:#1A1408;
  font-family:var(--disp);font-size:11.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;padding:7px 14px;text-align:center}
.duelo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:20px 22px 6px}
.lado{min-width:0;text-align:center}
.lado .quem{font-family:var(--disp);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.62}
.lado .pts{font-family:var(--disp);font-size:clamp(40px,8vw,64px);font-weight:800;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.lado.lider .quem{opacity:1;color:var(--gold)}
.lado.lider .pts{color:var(--gold)}
.versus{font-family:var(--disp);font-size:15px;font-weight:800;opacity:.4;letter-spacing:.1em}
.oque{text-align:center;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.5;padding-bottom:14px;font-weight:600}
.linhas{display:grid;grid-template-columns:1fr auto 1fr;gap:4px 14px;padding:0 22px 18px;font-size:13px}
.linhas .e{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.linhas .d{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:left}
.linhas .m{text-align:center;font-size:11px;letter-spacing:.09em;text-transform:uppercase;opacity:.5;font-weight:600;align-self:center}
.linhas .win{color:var(--gold);font-weight:600}
.veredito{border-top:1px solid rgba(255,255,255,.12);padding:12px 22px;text-align:center;font-size:13px}
.veredito b{color:var(--gold)}
.placar.mini .duelo{padding:14px 18px 4px}
.placar.mini .lado .pts{font-size:clamp(30px,6vw,42px)}
.placar.mini .linhas{display:none}
.msgbox{margin-top:11px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:6px;padding:10px 12px}
.msgbox h4{margin:0 0 6px;font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.msgbox p{margin:0;font-size:13.5px;line-height:1.55;white-space:pre-wrap}
