.bets-page{min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(30,66,216,.2),transparent 34%),var(--near-black);padding-bottom:96px}.bets-wrap{max-width:920px;margin:0 auto;padding:42px 20px}.bets-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.back-link{color:var(--yellow);font-size:13px;font-weight:700}.bets-heading h1{font-size:36px;letter-spacing:-1px;margin:16px 0 8px}.bets-heading p{color:var(--text-dim);font-size:14px}.connection-state{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:12px}.connection-state i{display:block;width:8px;height:8px;border-radius:50%;background:var(--yellow)}.connection-state.connected{color:var(--up)}.connection-state.connected i{background:var(--up)}.bet-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:20px}.bet-tab{position:relative;padding:0 0 14px;border:0;background:transparent;color:var(--text-dim);font:600 14px Inter,sans-serif;cursor:pointer}.bet-tab.active{color:var(--text)}.bet-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--yellow)}.bets-list{display:grid;gap:14px}.bet-card{background:linear-gradient(135deg,rgba(23,28,39,.96),rgba(18,22,31,.96));border:1px solid var(--line);border-radius:10px;padding:20px;cursor:pointer}.bet-card.expanded{border-color:rgba(255,197,49,.5)}.bet-card-head,.bet-card-meta,.bet-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.bet-card-head{margin-bottom:18px}.bet-league{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.status-badge{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.status-pending{color:#e8c76b;background:rgba(255,197,49,.12)}.status-live{color:var(--up);background:rgba(61,220,132,.12)}.status-won{color:var(--up);background:rgba(61,220,132,.12)}.status-lost{color:var(--down);background:rgba(255,92,92,.12)}.status-cancelled{color:var(--text-dim);background:rgba(138,147,166,.14)}.match-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.team-line{display:flex;align-items:center;gap:10px;font-weight:700}.team-line:last-child{justify-content:flex-end;text-align:right}.team-logo{width:30px;height:30px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.kickoff{text-align:center;color:var(--text-dim);font-size:11px;line-height:1.5;white-space:nowrap}.selection-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 12px}.selection-label{font-weight:700}.selection-label small{display:block;color:var(--text-dim);font-size:11px;font-weight:400;margin-top:4px}.selection-odds{font-family:Sora,sans-serif;color:var(--yellow);font-weight:700}.expanded-games{border-top:1px solid var(--line);padding-top:4px}.expanded-game{padding:12px 0;border-bottom:1px solid rgba(35,41,56,.7)}.expanded-game:last-child{border-bottom:0}.expanded-game-teams,.expanded-game-meta{display:flex;align-items:center;gap:8px}.expanded-game-teams{font-size:13px;font-weight:700}.expanded-game-meta{justify-content:space-between;color:var(--text-dim);font-size:11px;margin-top:8px}.game-vs{color:var(--text-dim);font-weight:400}.bet-card-meta{color:var(--text-dim);font-size:12px;padding-top:12px}.bet-card-meta strong,.bet-card-footer strong{color:var(--text)}.bet-card-footer{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;color:var(--text-dim);font-size:12px}.bet-card-footer strong{font-size:15px}.cancel-bet{margin-left:auto;border:1px solid rgba(255,92,92,.5);border-radius:6px;background:transparent;color:var(--down);padding:8px 11px;font:700 12px Inter,sans-serif;cursor:pointer}.cancel-bet:disabled{opacity:.6;cursor:wait}.empty-state{border:1px dashed #34405b;padding:56px 24px;text-align:center;border-radius:10px;background:rgba(18,22,31,.62)}.empty-state h2{font-size:19px;margin-bottom:8px}.empty-state p{color:var(--text-dim);font-size:13px;line-height:1.6}.empty-state a{display:inline-block;margin-top:20px;color:var(--near-black);background:var(--yellow);padding:10px 16px;border-radius:6px;font-weight:800;font-size:13px}.error-state{color:var(--down);padding:24px;text-align:center}@media(max-width:620px){.bets-wrap{padding:28px 14px}.bets-heading{align-items:flex-start;flex-direction:column;margin-bottom:25px}.bets-heading h1{font-size:30px}.match-line{grid-template-columns:1fr;gap:10px}.team-line:last-child{justify-content:flex-start;text-align:left}.kickoff{text-align:left;order:3}.bet-card{padding:16px}.bet-card-meta{align-items:flex-start;flex-direction:column;gap:6px}.expanded-game-meta{align-items:flex-start;flex-direction:column;gap:4px}}
