.bets-page{position:relative;min-height:100vh;min-height:100dvh;background:#0a0a0a;padding:24px;box-sizing:border-box;font-family:sans-serif}.bets-heading{color:#fff;font-size:1.4rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:16px 0 24px}.bets-load-error{max-width:960px;margin:0 auto 16px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#fca5a5;font-size:.82rem;text-align:center}.bets-accordions{display:flex;flex-direction:column;gap:14px;max-width:960px;margin:0 auto}.bets-accordion{background:#112;color:#fff;border:1px solid rgba(255,255,255,.12);overflow:hidden}.bets-accordion-summary{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;transition:background .2s}.bets-accordion-summary:hover{background:#ffffff0f}.bets-summary-label{font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff}.bets-expand-icon{color:#fff;font-size:1.1rem;line-height:1}.bets-accordion-details{border-top:1px solid rgba(255,255,255,.12)}.bets-table{width:100%;border-collapse:collapse}.bets-table tr:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.bets-table-label{width:30%;padding:10px 8px 10px 12px;color:#ffffffd9;font-size:.8rem;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.bets-team-logo{flex-shrink:0;width:48px;height:48px;border-radius:50%;object-fit:cover;background:#ffffff0f}.bets-table-input-cell{padding:8px}.bets-table-input{width:100%;box-sizing:border-box;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem;font-family:inherit}.bets-table-input::placeholder{color:#ffffff59}.bets-table-input:focus{outline:none;border-color:#facc15;background:#facc1514}.bets-table-input:disabled,.bets-status-btn:disabled{opacity:.55;cursor:not-allowed}.bets-table-status-cell{width:56px;padding:8px 10px;text-align:center}.bets-status-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid currentColor;background:transparent;cursor:pointer;font-size:1rem;line-height:1;padding:0;transition:background .15s,transform .1s}.bets-status-btn:hover{transform:scale(1.08)}.bets-status-btn:active{transform:scale(.94)}.bets-status--pending{color:#9ca3af}.bets-status--pending:hover{background:#9ca3af26}.bets-status--won{color:#22c55e}.bets-status--won:hover{background:#22c55e26}.bets-status--loss{color:#ef4444}.bets-status--loss:hover{background:#ef444426}.bets-standings{max-width:960px;margin:28px auto 0}.bets-section-heading{max-width:960px;margin:0 auto 10px;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.bets-standings-table{width:100%;border-collapse:collapse;background:#112;border:1px solid rgba(255,255,255,.12);color:#fff}.bets-standings-table th{text-align:left;padding:10px 12px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid rgba(255,255,255,.12)}.bets-standings-table th:not(.bets-standings-team-header),.bets-standings-table td:not(.bets-standings-team){text-align:center;width:96px}.bets-standings-table td{padding:8px 12px;font-size:.85rem}.bets-standings-table tr:not(:last-child) td{border-bottom:1px solid rgba(255,255,255,.08)}.bets-standings-team{display:flex;align-items:center;gap:8px}@media (max-width: 640px){.bets-page{padding:16px}.bets-standings-table th,.bets-standings-table td{padding:8px 6px;font-size:.72rem}.bets-standings-table th:not(.bets-standings-team-header),.bets-standings-table td:not(.bets-standings-team){width:64px}.bets-table-label{width:30%;padding:8px 4px 8px 6px;font-size:.68rem;gap:6px}.bets-team-logo{width:36px;height:36px}.bets-table-input-cell{padding:6px 4px}.bets-table-status-cell{width:44px;padding:6px}.bets-status-btn{width:28px;height:28px;font-size:.85rem}}.admin-page{min-height:100vh;min-height:100dvh;background:#0a0a0a;padding:24px;box-sizing:border-box;font-family:sans-serif;color:#fff;max-width:640px;margin:0 auto}.admin-heading{font-size:1.4rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:16px 0 24px}.admin-token-form{display:flex;gap:10px;justify-content:center}.admin-token-form input{padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem}.admin-token-form button{padding:10px 18px;background:transparent;color:#facc15;border:2px solid #facc15;border-radius:8px;cursor:pointer;font-size:.9rem}.admin-token-form button:hover{background:#facc15;color:#0a0a0a}.admin-error{color:#fca5a5;text-align:center;margin-top:12px;font-size:.85rem}.admin-status{text-align:center;color:#ffffffb3;font-size:.85rem;margin-bottom:16px}.admin-section{background:#112;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:18px;margin-bottom:18px}.admin-section h2{margin:0 0 12px;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9}.admin-field{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:#ffffffb3;margin-bottom:12px}.admin-field input{padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:.9rem;font-family:inherit}.admin-field input:focus{outline:none;border-color:#facc15}.admin-save-btn{padding:10px 18px;background:transparent;color:#22c55e;border:2px solid #22c55e;border-radius:8px;cursor:pointer;font-size:.9rem}.admin-save-btn:hover{background:#22c55e;color:#0a0a0a}.admin-hint{font-size:.78rem;color:#ffffff80;margin:8px 0 0}.admin-cleanup-btn{padding:10px 18px;background:transparent;color:#ef4444;border:2px solid #ef4444;border-radius:8px;cursor:pointer;font-size:.9rem;margin-top:10px}.admin-cleanup-btn:hover{background:#ef4444;color:#0a0a0a}.admin-lock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:12px}.admin-lock-btn{padding:10px 8px;background:transparent;color:#ffffffd9;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:.82rem}.admin-lock-btn.is-locked{border-color:#ef4444;color:#fca5a5;background:#ef44441a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a}
