/* CENTRAL DO BOLÃO — Dark Mode Global */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
:root{--lar:#FE5C00;--lar2:#FF7A1A;--verde:#22C55E;--bg:#000;--bg2:#0B0B0C;--bg3:#101013;--border:#1f1f22;--text:#fff;--muted:#9A9AA2;--dim:#6a6a72;}
body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;}
a{color:var(--lar);text-decoration:none;}
a:hover{text-decoration:underline;}

/* layout */
.container{max-width:480px;margin:0 auto;padding:16px 18px 80px;}
.card{max-width:400px;margin:0 auto;padding:32px 24px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;}

/* topbar */
.topbar,.topbar-pub{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bg3);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;}
.topbar-logo{font-weight:800;font-size:15px;}
.topbar-user{font-size:12.5px;color:var(--muted);}
.topbar-user a{color:var(--lar);}
.topbar-back{font-size:13px;font-weight:600;color:var(--muted);}

/* logo mark */
.logo-mark{width:44px;height:44px;border-radius:12px;background:var(--lar);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 12px;}
.app-title{font-size:20px;font-weight:900;text-align:center;margin-bottom:4px;letter-spacing:-.02em;}

/* forms */
.form{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.form-title{font-size:18px;font-weight:800;text-align:center;margin-bottom:2px;}
.label{font-size:13px;font-weight:600;color:var(--muted);}
.input{width:100%;background:#0e0e10;border:1.5px solid #26262a;border-radius:12px;padding:13px 14px;color:var(--text);font-size:14.5px;font-family:inherit;outline:none;transition:.15s;}
.input:focus{border-color:var(--lar);}
.input::placeholder{color:#55555c;}
.input-score{width:46px;height:46px;text-align:center;padding:0;font-size:20px;font-weight:800;}
.input-placar{width:60px;height:46px;text-align:center;font-size:18px;font-weight:700;padding:0;}
.form-link{text-align:center;font-size:13px;color:var(--muted);margin-top:8px;}
.form-hint{text-align:center;font-size:12px;color:var(--dim);margin-top:4px;}
.form-row{display:flex;gap:8px;flex-wrap:wrap;}
.form-inline .form-row .input{flex:1;min-width:120px;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid var(--border);background:var(--bg2);color:var(--text);text-decoration:none;transition:.15s;}
.btn:hover{border-color:var(--lar);color:var(--lar);}
.btn-primary{background:linear-gradient(180deg,var(--lar2),var(--lar));color:#000;border:none;font-weight:900;}
.btn-primary:hover{background:var(--lar2);color:#000;}
.btn-green{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.45);color:var(--verde);}
.btn-green:hover{background:rgba(34,197,94,.2);}
.btn-sm{padding:7px 13px;font-size:12.5px;border-radius:9px;}
.btn-full{width:100%;}
.btn-copy{background:var(--bg3);border:1px solid var(--border);color:var(--muted);font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:8px;cursor:pointer;transition:.15s;}
.btn-copy:hover{border-color:var(--lar);color:var(--lar);}

/* alerts */
.alert{padding:12px 14px;border-radius:11px;font-size:13.5px;font-weight:600;line-height:1.45;}
.alert-err{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#F87171;}
.alert-ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.4);color:var(--verde);}

/* page headers */
.page-title{font-size:22px;font-weight:900;letter-spacing:-.02em;margin-bottom:4px;}
.page-sub{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:18px;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.section-head h2{font-size:19px;font-weight:800;}

/* painel: bolão cards */
.bolao-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:16px 17px;margin-bottom:11px;}
.bolao-nome{font-size:16px;font-weight:700;margin-bottom:4px;}
.bolao-meta{font-size:12px;color:var(--muted);margin-bottom:8px;}
.bolao-link{font-size:11.5px;color:var(--dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.link-text{color:var(--lar);font-family:monospace;word-break:break-all;}
.bolao-acoes{display:flex;gap:8px;flex-wrap:wrap;}
.bolao-link-box{margin-top:16px;padding:12px 14px;background:#0a0a0b;border:1px solid rgba(254,92,0,.35);border-radius:11px;font-size:12px;color:var(--dim);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.btn-lixeira{background:none;border:1px solid transparent;border-radius:9px;padding:6px 8px;font-size:18px;cursor:pointer;color:var(--dim);transition:.15s;flex:0 0 auto;}
.btn-lixeira:hover{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.1);}

/* empty state */
.empty-state{text-align:center;padding:48px 20px;}
.empty-icon{font-size:40px;margin-bottom:14px;}
.empty-state p{font-size:14px;color:var(--muted);margin-bottom:18px;line-height:1.6;}

/* jogos list (bolao.php) */
.table-wrap{margin-bottom:20px;}
.jogo-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:11px;margin-bottom:7px;font-size:13px;}
.jogo-row.fechado{opacity:.75;}
.jogo-cod{font-family:monospace;font-weight:700;color:var(--lar);width:30px;flex:0 0 auto;}
.jogo-times{flex:1;font-weight:600;}
.jogo-hora{font-size:11.5px;color:var(--muted);}
.jogo-status{font-size:12px;}
.st-aberto{color:var(--verde);}
.st-fechado{color:var(--lar);}

/* placar inputs */
.placar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;margin-bottom:9px;}
.placar-times{flex:1;font-size:13.5px;font-weight:600;}
.placar-inputs{display:flex;align-items:center;gap:8px;}
.x{color:var(--dim);font-weight:800;font-size:14px;}

/* palpitar: jogo cards */
.jogos-list{display:flex;flex-direction:column;gap:11px;margin:16px 0;}
.jogo-card{background:var(--bg2);border:1px solid var(--border);border-radius:13px;padding:14px 15px;}
.jogo-card.jogo-fechado{background:#090909;border-color:#1a1a1d;}
.jogo-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.jogo-st{font-size:11px;font-weight:700;}
.st-open{color:var(--muted);}
.st-wait{color:#F0A23A;}
.st-done{color:var(--verde);}
.matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;}
.team-name{font-size:13.5px;font-weight:600;}
.ta{text-align:right;}
.score-inputs{display:flex;align-items:center;gap:7px;justify-content:center;}
.score-box{min-width:44px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;font-size:19px;font-weight:800;}
.score-x{color:var(--dim);font-weight:800;font-size:14px;}
.meu-palpite{margin-top:10px;padding-top:10px;border-top:1px solid #161619;font-size:11.5px;color:var(--muted);}

/* ranking */
.ranking-list{display:flex;flex-direction:column;gap:9px;margin-bottom:24px;}
.rank-row{display:flex;align-items:center;gap:11px;padding:13px 15px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;}
.rank-row.rank-top{background:linear-gradient(90deg,rgba(254,92,0,.16),rgba(254,92,0,.03));border-color:rgba(254,92,0,.45);}
.rank-pos{width:28px;text-align:center;font-size:16px;font-weight:800;color:var(--dim);flex:0 0 auto;}
.rank-nome{flex:1;font-size:14.5px;font-weight:600;}
.rank-cravadas{font-size:10.5px;color:var(--dim);font-weight:600;margin-left:7px;}
.rank-pts{font-size:16px;font-weight:900;color:var(--lar);}

/* legenda pontuação */
.pontuacao-legenda{background:var(--bg2);border:1px solid var(--border);border-radius:13px;padding:16px 17px;}
.leg-title{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;}
.leg-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:7px;}
.leg-pts{display:inline-flex;align-items:center;justify-content:center;width:32px;height:26px;border-radius:8px;font-weight:800;font-size:12px;flex:0 0 auto;}
.p10{background:rgba(34,197,94,.16);color:var(--verde);}
.p7{background:rgba(34,197,94,.1);color:#7FD99A;}
.p5{background:rgba(150,150,160,.14);color:#cfcfd4;}
.p0{background:rgba(150,150,160,.08);color:var(--dim);}

/* ranking melhorado */
.rank-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.rank-sub{font-size:11.5px;color:var(--dim);}
.rank-pts-wrap{display:flex;flex-direction:column;align-items:center;gap:1px;}
.rank-pts-label{font-size:10px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.rank-aguardando{font-size:18px;}

/* bottom nav */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--bg2);border-top:1px solid var(--border);display:flex;z-index:20;padding-bottom:env(safe-area-inset-bottom);}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--dim);text-decoration:none;font-size:11.5px;font-weight:600;transition:.15s;padding-bottom:2px;}
.nav-item.active{color:var(--lar);}
.nav-item:hover{color:var(--text);}
.nav-icon{font-size:20px;line-height:1;}
.nav-label{font-size:10.5px;font-weight:700;letter-spacing:.02em;}

/* dim text */
.dim{color:var(--dim);}

/* toast */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--bg2);border:1px solid var(--verde);color:var(--text);padding:12px 18px;border-radius:12px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:9px;transition:.35s;z-index:50;box-shadow:0 14px 30px -10px rgba(0,0,0,.8);white-space:nowrap;}
#toast.show{transform:translateX(-50%) translateY(0);}
