/* Navegação por campeonatos e separação visual das ligas */
.dashboard{grid-template-columns:220px minmax(0,1fr);align-items:start}
.championship-filter{overflow:hidden;position:sticky;top:92px;max-height:calc(100vh - 115px)}
.filter-title{background:var(--primary);color:#fff;padding:15px 14px;font-size:12px;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;gap:9px}
.filter-title span{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #ffffff14}
.championship-filter nav{display:flex;flex-direction:column;max-height:calc(100vh - 160px);overflow-y:auto;background:#fff}
.championship-filter nav a{padding:12px 14px;border-bottom:1px solid #e6ece8;font-size:12px;color:#31473e;transition:.15s ease}
.championship-filter nav a:hover{background:#edf5f0;color:var(--primary)}
.championship-filter nav a.active{background:var(--accent);color:var(--primary);font-weight:800;border-color:var(--accent)}
.league-heading{background:linear-gradient(100deg,var(--primary),#0b5942);color:#fff;border-radius:12px 12px 4px 4px;padding:12px 16px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:9px;margin-top:8px;box-shadow:0 7px 18px #063b2b18}
.league-heading span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:var(--accent);font-size:12px}
.league-heading.brazil{background:linear-gradient(100deg,#075f3d,#087b4e);box-shadow:inset 4px 0 0 var(--accent),0 7px 18px #063b2b18}
.sync-card label:has(input[name="limit"]){display:none}
.league-heading+.match-card{border-radius:4px 4px 16px 16px;margin-top:-8px;border-top:0;padding-top:22px}
.mobile-filters{display:none;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:3px}
.mobile-filters a{white-space:nowrap;background:#fff;border:1px solid #dce4df;border-radius:20px;padding:9px 14px;font-size:11px;font-weight:700}
.odds:has(.more-odds){grid-template-columns:repeat(4,1fr)}.more-odds{border:1px solid var(--accent);background:var(--accent);color:var(--primary);border-radius:9px;padding:10px 7px;font-size:11px;font-weight:900;cursor:pointer}.more-odds:hover{filter:brightness(.96)}
.market-modal[hidden]{display:none}.market-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#071b14b8;backdrop-filter:blur(3px)}.modal-card{position:relative;width:min(820px,96vw);max-height:88vh;background:#f6f7f5;border-radius:17px;overflow:hidden;box-shadow:0 30px 80px #0005}.modal-card>header{background:var(--primary);color:#fff;padding:17px 20px;display:flex;justify-content:space-between;align-items:center}.modal-card header small{font-size:9px;color:var(--accent);font-weight:900;letter-spacing:.12em}.modal-card header h2{font-size:18px;margin:4px 0 0}.modal-card header button{border:0;background:#ffffff18;color:#fff;width:35px;height:35px;border-radius:9px;font-size:23px;cursor:pointer}.modal-markets{padding:16px;overflow:auto;max-height:calc(88vh - 80px)}.market-group{margin-bottom:12px}.market-group h3{margin:0;background:#dfe4e1;color:#34483f;padding:9px 11px;font-size:12px;border-radius:8px 8px 0 0}.market-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#fff;padding:8px;border-radius:0 0 8px 8px}.modal-odd{min-height:42px}.modal-open{overflow:hidden}.modal-loading{text-align:center;padding:35px;color:#718078}
@media(max-width:1100px){.dashboard{grid-template-columns:190px minmax(0,1fr)}.betslip{grid-column:2;position:static}.championship-filter{grid-row:1 / span 2}}
@media(max-width:850px){.dashboard{grid-template-columns:1fr}.championship-filter{display:none}.betslip{grid-column:1}.mobile-filters{display:flex}.league-heading{position:sticky;top:70px;z-index:4}.welcome{margin-bottom:16px}.odds:has(.more-odds){grid-template-columns:repeat(2,1fr)}.market-group>div{grid-template-columns:1fr 1fr}.market-modal{padding:7px}.modal-card{max-height:96vh}.modal-markets{max-height:calc(96vh - 80px)}}

/* Menu do jogador */
.player-menu-button{width:42px;height:42px;border:1px solid #ffffff24;border-radius:11px;background:#ffffff10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.player-menu-button span{display:block;width:19px;height:2px;border-radius:2px;background:#fff}
.player-drawer[hidden]{display:none}.player-drawer{position:fixed;inset:0;z-index:140}.drawer-backdrop{position:absolute;inset:0;border:0;background:#071b14b8;backdrop-filter:blur(3px)}
.player-drawer>aside{position:relative;width:min(390px,92vw);height:100%;background:#f7f9f7;box-shadow:20px 0 60px #0004;overflow-y:auto;padding-bottom:24px;animation:drawer-in .2s ease-out}
@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.player-drawer>aside>header{background:var(--primary);color:#fff;padding:24px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.player-drawer header>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.player-drawer header strong{font-size:14px}.player-drawer header small{font-size:10px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-drawer header>button{border:0;background:#ffffff15;color:#fff;width:35px;height:35px;border-radius:9px;font-size:22px;cursor:pointer}
.player-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:var(--primary);font-size:20px;font-weight:900}.drawer-balance{margin:16px;background:linear-gradient(120deg,var(--primary),#08704f);color:#fff;padding:16px;border-radius:13px;display:flex;flex-direction:column}.drawer-balance small{font-size:9px;letter-spacing:.1em;opacity:.65}.drawer-balance strong{font-size:21px;color:var(--accent);margin-top:3px}
.drawer-main,.drawer-filters{display:flex;flex-direction:column}.drawer-main{padding:0 16px 14px;border-bottom:1px solid #dfe7e2}.drawer-main a,.drawer-filters a{padding:12px;border-radius:9px;font-size:12px;font-weight:700;color:#31473e}.drawer-main a:hover,.drawer-filters a:hover{background:#e7f0eb;color:var(--primary)}.player-drawer section{padding:15px 16px}.player-drawer section h3{margin:0 0 7px;padding:0 12px;font-size:9px;letter-spacing:.12em;color:#74837c}.drawer-filters{max-height:38vh;overflow-y:auto}.drawer-logout{margin:0 16px;width:calc(100% - 32px);border:1px solid #e1b8b5;background:#fff;color:#a23b34;border-radius:10px;padding:12px;font-weight:800;cursor:pointer}

/* Cupom flutuante */
.floating-coupon{position:fixed;right:26px;bottom:26px;z-index:80;border:0;border-radius:16px;background:var(--accent);color:var(--primary);box-shadow:0 14px 35px #063b2b40;padding:12px 15px;display:flex;align-items:center;gap:8px;font-weight:900;cursor:pointer}.floating-coupon .coupon-icon{font-size:20px}.floating-coupon b{min-width:23px;height:23px;display:grid;place-items:center;border-radius:20px;background:var(--primary);color:#fff;font-size:11px}
.betslip-overlay[hidden]{display:none}.betslip-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:16px}.betslip-backdrop{position:absolute;inset:0;border:0;background:#071b14b8;backdrop-filter:blur(3px)}.betslip-overlay .betslip{position:relative;top:auto;width:min(430px,96vw);max-height:90vh;overflow-y:auto;padding:20px;animation:coupon-in .2s ease-out}.betslip-overlay .betslip-title{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.betslip-title>div small{font-size:8px;color:var(--primary);font-weight:900;letter-spacing:.12em}.betslip-close{border:0;background:#edf2ef;color:var(--primary);width:34px;height:34px;border-radius:9px;font-size:21px;cursor:pointer}@keyframes coupon-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}

/* Configurações do jogador */
.profile-grid{display:grid;grid-template-columns:minmax(0,650px) 280px;gap:20px;align-items:start}.profile-form{padding:25px}.profile-summary{padding:23px;background:var(--primary);color:#fff;display:flex;flex-direction:column}.profile-summary span{font-size:9px;letter-spacing:.1em;opacity:.65}.profile-summary strong{font-size:25px;color:var(--accent);margin:5px 0}.profile-summary small{font-size:10px;opacity:.6}
.rule-form select{width:100%;border:1px solid #d9e1dc;border-radius:9px;padding:12px;background:#fafbfa;color:#20332b}
.floating-coupon{display:none}
.login-modal[hidden]{display:none}.login-modal{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:15px}.login-backdrop{position:absolute;inset:0;border:0;background:#071b14c7;backdrop-filter:blur(4px)}.inline-login-card{position:relative;width:min(430px,96vw);overflow:hidden}.inline-login-card>header{background:var(--primary);color:#fff;padding:17px 20px;display:flex;align-items:center;justify-content:space-between}.inline-login-card header small{font-size:8px;color:var(--accent);font-weight:900;letter-spacing:.12em}.inline-login-card header h2{font-size:18px;margin:4px 0}.inline-login-card header button{border:0;background:#ffffff15;color:#fff;width:34px;height:34px;border-radius:9px;font-size:22px}.inline-login-card form{padding:20px}.inline-login-card form p{font-size:12px;color:#68776f;margin-top:0}.inline-login-error{background:#ffe5e3;color:#9b2c23;padding:10px;border-radius:8px;font-size:11px}.inline-login-card .switch{display:block;margin-top:14px;color:var(--primary);font-weight:800;text-align:center;font-size:11px}
.admin-ticket-games{margin:13px 0;border:1px solid #e0e7e3;border-radius:10px;overflow:hidden}.admin-ticket-games>div{display:flex;flex-direction:column;gap:3px;padding:10px;background:#f8faf8;border-bottom:1px solid #e4eae6}.admin-ticket-games>div:last-child{border-bottom:0}.admin-ticket-games small{font-size:8px!important;color:#728078!important}.admin-ticket-games strong{font-size:11px!important;margin:0!important}.admin-ticket-games span{font-size:9px;color:#53645c}.admin-ticket-games .status{font-style:normal;font-size:8px;margin-left:4px}
.odds-policy-grid{display:grid;grid-template-columns:minmax(0,720px) 300px;gap:20px;align-items:start}.odds-policy-form{padding:24px}.odds-policy-form select{width:100%;border:1px solid #d9e1dc;border-radius:9px;padding:12px;background:#fafbfa;color:#20332b}.odds-status-card{padding:22px;background:var(--primary);color:#fff;display:flex;flex-direction:column}.odds-status-card span{font-size:9px;letter-spacing:.12em;opacity:.65}.odds-status-card strong{font-size:18px;color:var(--accent);margin:7px 0}.odds-status-card small{font-size:10px;opacity:.7}.odds-help-card{padding:20px;margin-top:15px}.odds-help-card h2{font-size:16px;margin-top:0}.odds-help-card p{font-size:11px;line-height:1.6;color:#64736d}
@media(min-width:1101px){.betslip-overlay[hidden],.betslip-overlay{display:block;position:fixed;inset:92px 22px auto auto;z-index:70;width:340px;padding:0}.betslip-overlay .betslip{width:340px;max-height:calc(100vh - 115px);animation:none;box-shadow:0 14px 40px #17392c20}.betslip-backdrop,.betslip-close{display:none}.dashboard{width:auto!important;max-width:none!important;margin:36px 390px 36px 24px!important}.dashboard .content{min-width:0}.bet-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar nav>a{display:none}.dashboard{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.floating-coupon{right:15px;bottom:15px}.floating-coupon>span:nth-child(2){display:none}.player-menu-button{width:38px;height:38px}.topbar{padding-left:12px;padding-right:12px}}
@media(max-width:1100px){.floating-coupon{display:flex}.betslip-close{display:block}}
@media(max-width:900px){.odds-policy-grid{grid-template-columns:1fr}}

/* Cores padronizadas dos status de bilhetes e seleções */
.status.pending,.status.Pendente{background:#fff1b8!important;color:#825d00!important;border:1px solid #f0d36a}
.status.won,.status.Ganhou{background:#d9f5e4!important;color:#12663a!important;border:1px solid #9edbb7}
.status.lost,.status.Perdeu{background:#ffe0de!important;color:#a02d26!important;border:1px solid #efaaa5}
.status.void,.status.Anulado{background:#e9eeeb!important;color:#5d6c65!important;border:1px solid #d4ddd8}
