@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600;700;800;900&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&family=Noto+Sans+Ethiopic:wght@400;700&display=swap');

:root{
  --ink:#0A0D13;
  --panel:#12161F;
  --panel-2:#181D28;
  --line:#252B38;
  --gold:#F0B429;
  --gold-dim:#8A6A22;
  --cyan:#00D9C0;
  --red:#E5484D;
  --green:#3DDC84;
  --green-dim:#1E8E4E;
  --text:#EDEAE3;
  --text-dim:#8A93A6;
  --text-faint:#565E6E;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{max-width:100%;overflow-x:hidden;}
body{
  background:var(--ink);
  color:var(--text);
  font-family:'IBM Plex Sans',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.display{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:0.01em;}
.mono{font-family:'IBM Plex Mono',monospace;}
.mono.pos{color:var(--green);}
.mono.neg{color:var(--red);}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
::-webkit-scrollbar{height:0;width:8px;}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}

/* ---------- TICKER ---------- */
.ticker-wrap{
  background:var(--panel-2);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  white-space:nowrap;
  height:34px;
  display:flex;
  align-items:center;
}
.ticker{
  display:inline-flex;
  animation:scroll 32s linear infinite;
}
.ticker-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 22px;
  font-size:12px;
  color:var(--text-dim);
  border-right:1px solid var(--line);
}
.ticker-item .lg{color:var(--red);font-size:10px;font-weight:700;letter-spacing:0.06em;}
.ticker-item .val{font-family:'IBM Plex Mono',monospace;color:var(--cyan);}
.ticker-item .val.down{color:var(--red);}
@keyframes scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ---------- NAV ---------- */
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 32px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  background:rgba(10,13,19,0.92);
  backdrop-filter:blur(6px);
  z-index:50;
}
.brand{display:flex;align-items:center;gap:10px;}
.bottom-nav{display:none;}
.brand .mark{
  width:34px;height:34px;
  background:var(--gold);
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:'Big Shoulders Display',sans-serif;
  font-weight:900;
  font-size:20px;
  border-radius:6px;
}
.brand .name{font-family:'Big Shoulders Display',sans-serif;font-size:22px;font-weight:800;letter-spacing:0.02em;}
.brand .name span{color:var(--gold);}

.nav-links{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px;}
.nav-links button{
  padding:8px 18px;
  border-radius:7px;
  font-size:13px;
  font-weight:600;
  color:var(--text-dim);
  letter-spacing:0.02em;
}
.nav-links button.active{background:var(--gold);color:var(--ink);}
.nav-links button:not(.active):hover{color:var(--text);}

.nav-right{display:flex;align-items:center;gap:14px;}
.balance-pill{
  display:flex;align-items:center;gap:8px;
  background:var(--panel);border:1px solid var(--line);
  padding:7px 14px;border-radius:20px;
  font-size:13px;
}
.balance-pill .lbl{color:var(--text-faint);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;}
.balance-pill .amt{font-family:'IBM Plex Mono',monospace;color:var(--cyan);font-weight:600;}
.btn-gold{
  background:var(--gold);color:var(--ink);
  padding:9px 18px;border-radius:8px;
  font-size:13px;font-weight:700;
  letter-spacing:0.01em;
}
.btn-gold:hover{background:#f7c454;}
.btn-install{
  border:1px solid var(--gold-dim);color:var(--gold);
  padding:8px 14px;border-radius:8px;
  font-size:13px;font-weight:700;letter-spacing:0.01em;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}
.btn-install:hover{border-color:var(--gold);background:rgba(240,180,41,0.08);}
.btn-install[hidden]{display:none;}
@media(max-width:359px){ #supInstallBtn .bi-lbl, #agtInstallBtn .bi-lbl{display:none;} } /* support/agent/subagent: icon-only on very small phones so the nav keeps one row */
.install-steps p{color:var(--text-dim);font-size:14px;margin-bottom:14px;line-height:1.5;}
.install-steps ol{padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5;}
.install-steps .install-share{display:inline-block;padding:0 6px;border:1px solid var(--line);border-radius:5px;color:var(--cyan);font-weight:700;}
.staff-link{
  font-size:11px;font-weight:700;color:var(--text-faint);
  padding:8px 4px;letter-spacing:0.02em;
}
.staff-link:hover{color:var(--text-dim);}
.cust-name-link{color:var(--cyan);font-weight:600;cursor:pointer;}
.cust-name-link:hover{text-decoration:underline;}
.avatar{
  width:34px;height:34px;border-radius:50%;
  background:var(--panel-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:var(--gold);
  cursor:pointer;transition:border-color .15s,background .15s;
}
.avatar:hover{border-color:var(--gold);background:var(--panel);}

/* ---------- DEPOSIT MODAL ---------- */
.modal-overlay{
  display:none;position:fixed;inset:0;z-index:200;
  background:rgba(5,7,11,0.72);
  align-items:flex-start;justify-content:center;
  padding:56px 16px;overflow-y:auto;
}
.modal-overlay.open{display:flex;}
.deposit-modal{
  width:100%;max-width:460px;
  background:var(--panel);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.deposit-modal .dm-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--line);
}
.deposit-modal .dm-head h3{font-size:16px;font-weight:700;}
.deposit-modal .dm-close{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);font-size:16px;line-height:1;
}
.deposit-modal .dm-close:hover{background:var(--panel-2);color:var(--text);}
.deposit-modal .dm-body{padding:22px;}
.dm-label{
  font-size:11px;font-weight:700;color:var(--text-faint);
  text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;
}
.dm-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.dm-label-row .dm-label{margin-bottom:0;}
.dm-available-badge{
  font-size:11px;font-weight:700;color:var(--cyan);
  background:#101c1c;border:1px solid var(--cyan);border-radius:20px;
  padding:4px 10px;
}
.dm-amount-field{
  display:flex;align-items:center;gap:0;
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  overflow:hidden;margin-bottom:12px;
}
.dm-amount-field .dm-currency{
  padding:12px 14px;font-size:13px;font-weight:700;color:var(--gold);
  border-right:1px solid var(--line);
}
.dm-amount-field input{
  flex:1;background:transparent;border:0;padding:12px 14px;
  color:var(--text);font-size:15px;font-family:'IBM Plex Mono',monospace;
}
.dm-amount-field input::placeholder{color:var(--text-faint);font-family:'Inter',sans-serif;}
.dm-amount-field input:focus{outline:none;}
.dm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.dm-chip{
  padding:8px 16px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--line);
  font-size:13px;font-weight:600;color:var(--text);
}
.dm-chip:hover{border-color:var(--gold-dim);}
.dm-chip.selected{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.dm-methods{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.dm-method{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--line);
  text-align:left;
}
.dm-method:hover{border-color:var(--gold-dim);}
.dm-method.selected{border-color:var(--cyan);background:#101c1c;}
.dm-method .dm-icon{
  width:30px;height:30px;border-radius:7px;
  background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;
}
.dm-method .dm-name{font-size:13px;font-weight:600;color:var(--text);flex:1;}
.dm-method .dm-check{
  width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;
}
.dm-method.selected .dm-check{border-color:var(--cyan);background:var(--cyan);}
.dm-method.unavailable{opacity:.4;cursor:not-allowed;}
.dm-method.unavailable:hover{border-color:var(--line);}
.dm-method.unavailable .dm-name::after{content:' \2014 unavailable right now';font-weight:400;color:var(--text-faint);font-size:11px;}
.dm-hint{font-size:12px;color:var(--text-faint);margin-bottom:16px;}
.dm-error{font-size:12px;color:#ff6b6b;margin-bottom:12px;display:none;}
.dm-error.show{display:block;}
.dm-confirm{
  width:100%;padding:14px;border-radius:9px;
  background:var(--gold);color:var(--ink);
  font-size:14px;font-weight:700;letter-spacing:0.02em;
  opacity:0.5;
}
.dm-confirm.ready{opacity:1;}
.dm-confirm:hover.ready{background:#f7c454;}

.dm-timer-box{
  text-align:center;background:var(--panel-2);border:1px solid var(--line);
  border-radius:9px;padding:14px;margin-bottom:16px;
}
.dm-timer-lbl{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px;}
.dm-timer{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:700;color:var(--text);}
.dm-timer.expired{color:#ff6b6b;}

.dm-send-card{
  background:var(--panel-2);border:1px solid var(--line);border-radius:9px;
  padding:16px;margin-bottom:16px;
}
.dm-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 0;border-top:1px solid var(--line);
  font-size:13px;color:var(--text-dim);
}
.dm-row:first-of-type{border-top:0;padding-top:0;}
.dm-row strong{color:var(--text);font-weight:700;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.dm-row strong.dm-accent{color:var(--gold);font-family:'Inter',sans-serif;}
.dm-row-right{display:flex;align-items:center;gap:8px;}
.dm-copy{
  width:24px;height:24px;border-radius:6px;
  background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);
}
.dm-copy:hover{color:var(--cyan);border-color:var(--cyan);}
.dm-copy.copied{color:var(--cyan);border-color:var(--cyan);}

.dm-warning{
  background:#241416;border:1px solid #4a2226;color:#ff9a9a;
  font-size:12px;font-weight:600;padding:10px 12px;border-radius:8px;margin-bottom:18px;
}

.dm-upload{
  width:100%;border:1.5px dashed var(--line);border-radius:9px;
  padding:26px 16px;text-align:center;margin-bottom:16px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  background:transparent;color:var(--text-dim);
}
.dm-upload:hover{border-color:var(--gold-dim);}
.dm-upload.filled{border-color:var(--cyan);border-style:solid;color:var(--cyan);}
.dm-upload span:first-child{font-size:20px;}
.dm-upload-sub{font-size:11px;color:var(--text-faint);}

.dm-or{
  text-align:center;font-size:11px;font-weight:700;color:var(--text-faint);
  letter-spacing:0.06em;margin:4px 0 12px;position:relative;
}
.dm-ref-input{
  width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:12px 14px;color:var(--text);font-size:13px;margin-bottom:16px;
  font-family:'IBM Plex Mono',monospace;
}
.dm-ref-input::placeholder{color:var(--text-faint);font-family:'Inter',sans-serif;}
.dm-ref-input:focus{outline:none;border-color:var(--gold-dim);}

.dm-back{
  width:100%;padding:11px;margin-top:10px;
  background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;
}
.dm-back:hover{color:var(--text);}

/* ---------- LAYOUT ---------- */
.page{display:none;}
.page.active{display:block;}
.shell{max-width:1280px;margin:0 auto;padding:0 32px;}

/* ---------- HERO ---------- */
.hero{
  padding:56px 0 40px;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  align-items:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:18px;
}
.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.hero h1{
  font-size:64px;line-height:0.92;
  margin-bottom:20px;
}
.hero h1 .out{color:var(--gold);}
.hero p{color:var(--text-dim);font-size:16px;max-width:440px;margin-bottom:28px;line-height:1.6;}
.hero-cta{display:flex;gap:12px;}
/* Promo line between the hero text and buttons: it takes the paragraph's
   28px gap (pulled up 12px) and leaves the same 28px above the buttons. */
.hero-promo{
  display:inline-flex;align-items:center;gap:10px;max-width:100%;
  margin:-12px 0 28px;padding:10px 16px;border-radius:10px;
  background:linear-gradient(90deg,rgba(240,180,41,0.16),rgba(240,180,41,0.04));
  border:1px solid var(--gold-dim);
  color:var(--text);font-size:15px;font-weight:600;line-height:1.4;
}
.hero-promo strong{color:var(--gold);font-weight:800;}
.hero-promo-ic{font-size:18px;line-height:1;flex-shrink:0;}
.btn-outline{
  border:1px solid var(--line);padding:12px 22px;border-radius:8px;
  font-size:14px;font-weight:600;color:var(--text);
}
.btn-outline:hover{border-color:var(--text-dim);}

.hero-panel{
  background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:22px;
}
.ad-space{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:300px;gap:10px;border-style:dashed;
}
.ad-space-label{
  font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.1em;
}
.ad-space-body{
  font-size:15px;color:var(--text-dim);font-weight:600;
}
.pool-game-panel{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:300px;gap:8px;text-align:center;
}
.pool-game-progress-wrap{width:100%;margin-top:4px;}
.pool-game-progress-bar{
  width:100%;height:10px;border-radius:6px;background:var(--line);overflow:hidden;
}
.pool-game-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--gold),var(--cyan));
  width:0%;transition:width 0.4s ease;border-radius:6px;
}
.pool-game-progress-label{font-size:13px;color:var(--text-dim);margin-top:6px;}
.pool-game-progress-label span{color:var(--gold);font-weight:800;font-size:16px;}
.pool-game-roll{
  font-size:22px;font-weight:800;color:var(--gold);letter-spacing:0.01em;
  min-height:30px;display:flex;align-items:center;justify-content:center;
}
.pool-game-roll.landed{color:var(--cyan);}
.pool-game-stats{font-size:14px;color:var(--text-dim);}
.pool-game-payouts{font-size:12px;color:var(--text-faint);margin-bottom:6px;}
.pool-game-note{font-size:12px;min-height:16px;color:var(--text-faint);}
.pool-game-note.error{color:var(--red);}
.pool-game-note.success{color:var(--cyan);}
.pool-game-winners{
  margin-top:10px;font-size:12px;color:var(--text-dim);border-top:1px solid var(--line);
  padding-top:10px;width:100%;text-align:left;
}
.pool-game-winners .pgw-title{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px;}
.pool-game-winners .pgw-row{display:flex;justify-content:space-between;padding:2px 0;}
.pool-game-winners .pgw-row.you{color:var(--cyan);font-weight:700;}
/* Feature row: Pool Game + prediction feature cards (Random Events, Fights).
   With no open prediction market the hero keeps its original text | Pool Game layout. */
.hero.has-pm-features{grid-template-columns:1fr;gap:32px;}
.hero.has-pm-features .feature-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;}
.feature-row > [hidden]{display:none !important;}
.pmf-card{display:flex;flex-direction:column;gap:10px;min-height:300px;min-width:0;cursor:pointer;transition:border-color .15s;}
.pmf-card:hover{border-color:var(--gold-dim);}
/* 1OR2 Fast Bingo card on the Sports page (same card as the prediction feature; casino artwork) */
.fbf-card{text-decoration:none;color:inherit;}
.fbf-thumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#10141c;}
.fbf-thumb svg{display:block;width:100%;height:100%;}
@media(max-width:640px){ .fbf-thumb{aspect-ratio:16/7;} }
.pmf-top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.pmf-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--cyan);letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;}
.pmf-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);flex-shrink:0;animation:pulse 1.4s infinite;}
.pmf-fight{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 0;}
.pmf-fighter{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}
.pmf-fighter b{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pmf-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:var(--gold);}
.pmf-vs{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px;color:var(--gold);flex-shrink:0;}
.pmf-event{display:flex;align-items:center;gap:10px;min-width:0;}
.pmf-event b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pmf-event-img{width:46px;height:46px;border-radius:10px;object-fit:cover;flex-shrink:0;border:1px solid var(--line);}
.pmf-q{font-size:15px;font-weight:600;line-height:1.4;color:var(--text);}
.pmf-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;}
.pmf-btn{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);font-weight:700;font-size:13px;min-width:0;}
.pmf-btn .pmf-out{display:flex;flex-direction:column;min-width:0;}
.pmf-btn small{font-size:11px;font-weight:500;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pmf-btn b{font-size:15px;}
.pmf-btn.yes{color:var(--green);}
.pmf-btn.no{color:var(--red);}
.pmf-btn.yes:hover{border-color:var(--green);}
.pmf-btn.no:hover{border-color:var(--red);}
.pmf-when{font-size:12px;color:var(--text-faint);}
.pmf-go{text-align:center;}
.hero-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.hero-panel-head .lg-tag{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.08em;}
.live-tag{
  display:flex;align-items:center;gap:5px;
  background:rgba(229,72,77,0.12);color:var(--red);
  font-size:10px;font-weight:700;letter-spacing:0.06em;
  padding:4px 8px;border-radius:5px;
}
.live-tag .dot{width:5px;height:5px;border-radius:50%;background:var(--red);}
.live-odds-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);}
.live-odds-dot.offline{background:var(--text-faint);}
.matchup{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.team{text-align:center;flex:1;}
.team .crest{
  width:44px;height:44px;border-radius:10px;margin:0 auto 8px;
  background:var(--panel-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-family:'Big Shoulders Display',sans-serif;font-size:16px;font-weight:800;
}
.team .nm{font-size:13px;font-weight:600;}
.matchup .vs{
  font-family:'Big Shoulders Display',sans-serif;
  font-size:22px;color:var(--text-faint);padding:0 12px;
}
.matchup .score{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--gold);padding:0 14px;}
.odds-row{display:grid;grid-template-columns:1fr;gap:8px;}
.odds-btn{
  background:var(--panel-2);border:1px solid var(--line);
  border-radius:6px;padding:8px 12px;text-align:center;
  transition:border-color .15s;
  display:flex;align-items:center;justify-content:space-between;
}
.odds-btn:hover{border-color:var(--gold-dim);}
.odds-btn.selected{border-color:var(--gold);background:rgba(240,180,41,0.08);}
.odds-btn .lbl{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:0;}
.odds-btn .val{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;color:var(--text);}
.odds-btn .val.flash-up{animation:flashUp .6s;}
.odds-btn .val.flash-down{animation:flashDown .6s;}
@keyframes flashUp{0%{color:var(--cyan);}100%{color:var(--text);}}
@keyframes flashDown{0%{color:var(--red);}100%{color:var(--text);}}

/* ---------- SECTION HEADS ---------- */
.section{padding:40px 0;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;}
.section-head h2{font-size:28px;}
.section-head .sub{color:var(--text-faint);font-size:13px;}

/* ---------- SPORTS PAGE ---------- */
.sports-layout{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start;}
.league-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.league-tabs button{
  font-size:12px;font-weight:600;color:var(--text-dim);
  padding:7px 14px;border:1px solid var(--line);border-radius:20px;
}
.league-tabs button.active{background:var(--text);color:var(--ink);border-color:var(--text);}

.league-pills-wrap{margin-bottom:16px;}
.league-select{
  background:var(--panel);border:1px solid var(--line);border-radius:9px;
  color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;
  padding:10px 34px 10px 14px;min-width:200px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238A93A6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  cursor:pointer;
}
.league-select:hover{border-color:var(--gold-dim);}
.league-select:focus{outline:none;border-color:var(--gold);}

.date-strip-wrap{margin-bottom:18px;}
.date-select{
  background:var(--panel);border:1px solid var(--line);border-radius:9px;
  color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;
  padding:10px 34px 10px 14px;min-width:200px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238A93A6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  cursor:pointer;
}
.date-select:hover{border-color:var(--gold-dim);}
.date-select:focus{outline:none;border-color:var(--gold);}
.league-group{margin-bottom:28px;}
.league-group .lg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.league-group .lg-name{
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;
  color:var(--text-faint);padding-left:2px;
}
.lg-allmatches{
  font-size:11px;font-weight:700;color:var(--gold);
  background:rgba(240,180,41,0.10);border:1px solid var(--gold-dim);
  border-radius:20px;padding:6px 12px;white-space:nowrap;flex-shrink:0;
}
.lg-allmatches:hover{background:rgba(240,180,41,0.18);}
/* League directory: Sports > Football > Country > League (2026-10-07) */
.sb-toggle,.sb-panel,.sb-league,.board-more{box-sizing:border-box;}
.sb-crumbs,.sb-toggle,.sb-panel{max-width:100%;}
/* the board column may never grow past the screen because of its content */
.sports-layout > div{min-width:0;}
.league-select{max-width:100%;text-overflow:ellipsis;}
.sb-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;font-size:12px;color:var(--text-faint);}
.sb-crumbs button{font-size:12px;font-weight:600;color:var(--text-dim);padding:4px 2px;background:none;border:0;cursor:pointer;}
.sb-crumbs button:hover{color:var(--gold);}
.sb-crumbs [aria-current]{color:var(--text);font-weight:700;}
.sb-sep{color:var(--text-faint);padding:0 2px;}
.sb-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:520px;
  background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--text);
  font-size:13px;font-weight:700;padding:10px 14px;margin-bottom:12px;cursor:pointer;text-align:left;
}
.sb-toggle:hover,.sb-toggle[aria-expanded="true"]{border-color:var(--gold-dim);}
.sb-toggle-count{font-size:11px;font-weight:600;color:var(--text-faint);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.sb-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:16px;max-width:520px;}
.sb-panel[hidden]{display:none;}
.sb-search{
  width:100%;box-sizing:border-box;background:var(--ink);border:1px solid var(--line);border-radius:8px;
  color:var(--text);font-size:14px;padding:9px 12px;margin-bottom:10px;
}
.sb-search:focus{outline:none;border-color:var(--gold);}
.sb-list{max-height:min(60vh,520px);overflow-y:auto;overscroll-behavior:contain;}
.sb-sec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-faint);margin:6px 2px 8px;}
.sb-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.sb-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text);
  border:1px solid var(--line);border-radius:20px;padding:6px 10px;background:transparent;cursor:pointer;}
.sb-chip b,.sb-league b,.sb-country summary b{font-size:11px;font-weight:700;color:var(--text-faint);}
.sb-chip.active,.sb-league.active{border-color:var(--gold);color:var(--gold);}
.sb-country{border-top:1px solid var(--line);}
.sb-country summary{display:flex;align-items:center;gap:8px;padding:10px 4px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--text);min-height:24px;}
.sb-country summary::-webkit-details-marker{display:none;}
.sb-country summary::after{content:"\25B8";margin-left:4px;color:var(--text-faint);font-size:11px;}
.sb-country[open] summary::after{content:"\25BE";}
.sb-cname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-flag{width:18px;height:13px;object-fit:cover;border-radius:2px;flex-shrink:0;}
.sb-logo{width:18px;height:18px;object-fit:contain;flex-shrink:0;}
.sb-leagues{display:flex;flex-direction:column;gap:4px;padding:0 0 10px 26px;}
.sb-league{display:flex;align-items:center;gap:8px;width:100%;font-size:13px;color:var(--text-dim);text-align:left;
  background:transparent;border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;}
.sb-league span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-league:hover{background:rgba(255,255,255,0.04);color:var(--text);}
.sb-empty{font-size:13px;color:var(--text-faint);padding:10px 4px;}
.league-group .lg-name{display:flex;align-items:center;gap:6px;min-width:0;}
.lg-logo{width:18px;height:18px;object-fit:contain;flex-shrink:0;}
.lg-country{font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-faint);opacity:0.8;}
.board-more{display:block;width:100%;margin:4px 0 20px;padding:12px;border-radius:10px;border:1px solid var(--line);
  background:transparent;color:var(--text);font-weight:700;font-size:13px;cursor:pointer;}
.board-more:hover{border-color:var(--gold-dim);color:var(--gold);}
.match-badges{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.match-badges:empty{display:none;}
.team-badge{width:32px;height:32px;object-fit:contain;}
.badge-vs{font-size:11px;color:var(--text-faint);font-weight:700;}
@media (max-width:640px){
  .sb-toggle,.sb-panel{max-width:100%;}
  .sb-list{max-height:65vh;}
  .sb-league{padding:10px;}
}
.match-row{
  display:flex;flex-direction:column;gap:8px;
  background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:14px 16px;margin-bottom:8px;
  width:100%;max-width:100%;
}
.match-row.in-slip{
  border-color:var(--gold);
  background:linear-gradient(rgba(240,180,41,0.06),rgba(240,180,41,0.06)),var(--panel);
  box-shadow:0 0 0 1px rgba(240,180,41,0.35),0 0 14px rgba(240,180,41,0.14);
}
.match-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.match-time{font-size:12px;color:var(--text-faint);min-width:0;}
.match-time .live{color:var(--red);font-weight:700;}
.match-badge{
  font-size:11px;font-weight:700;color:var(--gold);
  background:rgba(240,180,41,0.10);border:1px solid var(--gold-dim);
  border-radius:20px;padding:3px 10px;white-space:nowrap;flex-shrink:0;
}
.match-teams{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.01em;overflow-wrap:break-word;}
.match-teams[data-open-match]{cursor:pointer;}
.match-teams[data-open-match]:hover{color:var(--gold);}
.match-odds{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;min-width:0;max-width:100%;}
.match-odds:not(.six-col){grid-template-columns:repeat(2,1fr);}
.match-odds .mo-btn{padding:6px 4px;}
.mo-btn{
  background:var(--panel-2);border:1px solid var(--line);border-radius:6px;
  padding:8px 4px;text-align:center;
  flex:1 1 45%;min-width:0;max-width:100%;overflow:hidden;
}
.mo-btn:hover{border-color:var(--gold-dim);}
.mo-btn.selected{border-color:var(--gold);background:rgba(240,180,41,0.08);}
.mo-btn .k{font-size:9px;color:var(--text-faint);text-transform:uppercase;display:block;}
.mo-btn .v{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;color:var(--gold);display:block;margin-top:2px;}

/* ---------- MATCH DETAIL PAGE ---------- */
.match-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.match-back{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--text-dim);
}
.match-back:hover{color:var(--text);border-color:var(--gold-dim);}
.match-head h2{font-size:18px;font-weight:700;}
.match-head .sub{font-size:12px;color:var(--text-faint);margin-top:2px;}

.market-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0;}
.market-tabs button{
  font-size:12px;font-weight:700;letter-spacing:0.03em;color:var(--text-faint);
  padding:9px 4px;border-bottom:2px solid transparent;text-transform:uppercase;
  margin-right:14px;
}
.market-tabs button.active{color:var(--gold);border-bottom-color:var(--gold);}
.market-tabs button:not(.active):hover{color:var(--text);}

.mkt-note{
  font-size:12px;color:var(--text-faint);background:var(--panel);
  border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:18px;
}
.mkt-note .live-tag{color:var(--cyan);font-weight:700;}
.mkt-empty{
  padding:24px 16px;text-align:center;color:var(--text-faint);font-size:13px;
  background:var(--panel);border:1px solid var(--line);border-radius:8px;
}

.mkt-group{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:6px;overflow:hidden;}
.mkt-group-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;
}
.mkt-group-head .chev{color:var(--text-faint);font-size:10px;transition:transform .15s;}
.mkt-group.open .mkt-group-head .chev{transform:rotate(180deg);}
.mkt-group-body{display:none;padding:0 14px 14px;}
.mkt-group.open .mkt-group-body{display:block;}

.mkt-flat{display:flex;flex-direction:column;gap:8px;}
.mkt-flat .mo-btn{width:100%;}

.mkt-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

/* Professional sportsbook row style: full-width option, label on the
   left, price on the right — used for match-detail markets (mkt-flat /
   mkt-rows). The compact board grid (.match-odds .mo-btn) keeps its
   original stacked label-over-value look. */
.mkt-flat .mo-btn, .mkt-rows .mo-btn{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;text-align:left;min-width:0;
}
.mkt-flat .mo-btn .k, .mkt-rows .mo-btn .k{
  font-size:13px;color:var(--text);text-transform:none;letter-spacing:0;font-weight:500;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mkt-flat .mo-btn .v, .mkt-rows .mo-btn .v{
  font-size:14px;font-weight:700;color:var(--gold);flex-shrink:0;
}
.mkt-flat .mo-btn.selected .k, .mkt-rows .mo-btn.selected .k{color:var(--gold);}

/* ---------- ADMIN PAGE ---------- */
.admin-note{
  font-size:12px;color:#ff9a9a;background:#241416;border:1px solid #4a2226;
  border-radius:8px;padding:10px 14px;margin-bottom:20px;font-weight:600;
}
.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;}
.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;}
.admin-card .lbl{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px;}
.admin-card .val{font-family:'IBM Plex Mono',monospace;font-size:20px;font-weight:700;color:var(--text);}
.admin-card .val.gold{color:var(--gold);}
.admin-card .val.cyan{color:var(--cyan);}

.admin-section{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:20px;}
.admin-section h3{font-size:14px;font-weight:700;margin-bottom:16px;}

.admin-form{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end;}
.admin-form label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.05em;display:block;margin-bottom:6px;}
.admin-form input, .admin-form select{
  width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;
  padding:9px 10px;color:var(--text);font-size:13px;font-family:'Inter',sans-serif;
}
.admin-form input:focus, .admin-form select:focus{outline:none;border-color:var(--gold-dim);}
.admin-form button{
  padding:10px;border-radius:7px;background:var(--gold);color:var(--ink);
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;
}
.admin-form button:hover{background:#f7c454;}
.admin-form-err{grid-column:1/-1;font-size:12px;color:#ff6b6b;display:none;}
.admin-form-err.show{display:block;}

.admin-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table-scroll .admin-table{min-width:640px;}
.admin-table th{
  text-align:left;font-size:10.5px;color:var(--text-faint);text-transform:uppercase;
  letter-spacing:0.04em;padding:8px 10px;border-bottom:1px solid var(--line);
}
.admin-table td{padding:10px;border-bottom:1px solid var(--line);color:var(--text-dim);vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:0;}
.admin-table td.mono{font-family:'IBM Plex Mono',monospace;color:var(--text);}
.admin-table td.pos{color:var(--cyan);}
.admin-table td.neg{color:#ff6b6b;}
.admin-table td.gold{color:var(--gold);}
.admin-pill{
  display:inline-block;padding:3px 9px;border-radius:20px;font-size:10.5px;font-weight:700;
  background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);
}
.admin-pill.deposit{color:var(--cyan);border-color:var(--cyan);}
.admin-pill.withdraw{color:#ff9a6b;border-color:#ff9a6b;}
.admin-pill.fund{color:var(--gold);border-color:var(--gold);}
.admin-pill.rejected{color:#ff6b6b;border-color:#ff6b6b;}
.admin-pill.pending{color:var(--gold);border-color:var(--gold);}
.admin-pill.approved{color:var(--cyan);border-color:var(--cyan);}

.admin-tabs{display:flex;gap:8px;margin-bottom:16px;}
.admin-tabs button{
  font-size:12px;font-weight:600;color:var(--text-dim);
  padding:7px 14px;border:1px solid var(--line);border-radius:20px;
}
.admin-tabs button.active{background:var(--cyan);color:var(--ink);border-color:var(--cyan);}
.admin-table td.mono.txid{font-size:11px;color:var(--text-faint);}
.fast-countdown{font-size:12px;font-weight:700;color:var(--gold);}
.fast-countdown.expired{color:var(--text-faint);font-weight:400;}

.admin-mini-btn{
  padding:6px 12px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line);
  font-size:11px;font-weight:700;color:var(--text-dim);white-space:nowrap;
}
.admin-mini-btn:hover{border-color:var(--gold-dim);color:var(--text);}
.admin-mini-btn.danger:hover{border-color:#ff6b6b;color:#ff6b6b;}

.admin-table td.actions-cell{width:130px;min-width:130px;}
.admin-table td.actions-cell .admin-mini-btn{display:block;width:100%;margin:0 0 6px 0;text-align:center;}
.admin-table td.actions-cell .admin-mini-btn:last-of-type{margin-bottom:0;}

.admin-fund-row{display:none;gap:8px;margin-top:8px;align-items:center;}
.admin-fund-row.open{display:flex;}
.admin-fund-row input{
  width:110px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;
  padding:6px 9px;color:var(--text);font-size:12px;
}
.admin-fund-row button{
  padding:6px 12px;border-radius:6px;background:var(--gold);color:var(--ink);
  font-size:11px;font-weight:700;
}
.admin-table td.actions-cell .admin-fund-row{flex-direction:column;align-items:stretch;gap:6px;}
.admin-table td.actions-cell .admin-fund-row input{width:100%;box-sizing:border-box;}
.admin-table td.actions-cell .admin-fund-row button{width:100%;}
.admin-empty{font-size:12px;color:var(--text-faint);padding:14px 0;text-align:center;}
.admin-contact{display:flex;flex-direction:column;gap:2px;font-size:11px;}
.admin-contact a{color:var(--text-dim);}
.admin-contact a:hover{color:var(--gold);}
.admin-shot-thumb{
  width:44px;height:44px;object-fit:cover;border-radius:6px;
  border:1px solid var(--line);cursor:pointer;display:block;
}
.admin-shot-thumb:hover{border-color:var(--gold-dim);}

.dm-contact-row{display:flex;gap:10px;margin:14px 0 4px;}
.dm-contact-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:11px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);
  font-size:12.5px;font-weight:700;color:var(--text);
}
.dm-contact-btn:hover{border-color:var(--gold-dim);}
.dm-contact-btn.call{color:var(--cyan);}
.dm-contact-btn.telegram{color:#54a9eb;}
.dm-contact-btn[aria-disabled="true"]{opacity:0.4;pointer-events:none;}

/* ---------- AGENT PAGE ---------- */
.admin-search-row{margin-bottom:12px;}
.admin-search-row input{
  width:100%;max-width:320px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:9px 12px;color:var(--text);font-size:12.5px;
}
.admin-search-row input:focus{outline:none;border-color:var(--gold-dim);}
.admin-search-row input::placeholder{color:var(--text-faint);}

.agent-select-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.agent-select-row label{font-size:12px;color:var(--text-faint);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
.agent-select-row select{
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:10px 14px;color:var(--text);font-size:13px;min-width:260px;
}
.agent-select-row select:focus{outline:none;border-color:var(--gold-dim);}
.agent-profile-card{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px;
}
.agent-profile-id{display:flex;align-items:center;gap:14px;}
.agent-profile-avatar{
  width:50px;height:50px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--gold);font-size:16px;flex-shrink:0;
}
.agent-profile-id h2{font-size:16px;font-weight:700;}
.agent-profile-id .sub{font-size:12px;color:var(--text-faint);margin-top:2px;}
.agent-profile-contact{display:flex;gap:10px;}
.agent-profile-contact a{
  display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--text);
}
.agent-profile-contact a:hover{border-color:var(--gold-dim);}
.agent-avail-row{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:20px;
}
.agent-avail-item{display:flex;align-items:center;gap:10px;}
.agent-avail-item .lbl{font-size:12px;color:var(--text-dim);font-weight:600;}
.avail-toggle{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 8px;border-radius:20px;
  border:1px solid var(--line);background:var(--panel-2);font-size:12px;font-weight:700;
}
.avail-toggle .dot-switch{
  width:34px;height:18px;border-radius:20px;background:var(--line);position:relative;flex-shrink:0;transition:background .15s;
}
.avail-toggle .dot-switch::after{
  content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;
  background:var(--text-faint);transition:transform .15s,background .15s;
}
.avail-toggle.on{border-color:rgba(0,217,192,0.4);color:var(--cyan);}
.avail-toggle.on .dot-switch{background:rgba(0,217,192,0.25);}
.avail-toggle.on .dot-switch::after{background:var(--cyan);transform:translateX(16px);}
.avail-toggle.off{border-color:rgba(229,72,77,0.4);color:var(--red);}
.avail-toggle.off .dot-switch{background:rgba(229,72,77,0.18);}
.avail-toggle.off .dot-switch::after{background:var(--red);}
.avail-toggle:hover{border-color:var(--gold-dim);}
.agent-method-chips{display:flex;flex-wrap:wrap;gap:8px;}
.method-chip{
  padding:8px 14px;border-radius:20px;border:1px solid var(--line);background:var(--panel-2);
  font-size:12px;font-weight:600;color:var(--text-dim);
}
.method-chip:hover{border-color:var(--gold-dim);}
.method-chip.on{border-color:rgba(0,217,192,0.4);background:rgba(0,217,192,0.08);color:var(--cyan);}
.method-chip .chip-x{margin-left:6px;opacity:0.6;}
.method-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-dim);cursor:pointer;padding:6px 10px 6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);}
.method-checkbox:hover{border-color:var(--gold-dim);}
.method-checkbox input[type="checkbox"]{width:16px;height:16px;accent-color:var(--cyan);cursor:pointer;}
.method-checkbox.checked{color:var(--cyan);border-color:rgba(0,217,192,0.4);background:rgba(0,217,192,0.08);}
.admin-pill.svc-on{background:rgba(0,217,192,0.12);color:var(--cyan);}
.admin-pill.svc-off{background:rgba(229,72,77,0.12);color:var(--red);}
.agent-empty-state{
  text-align:center;padding:60px 20px;color:var(--text-faint);font-size:13px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
}

/* ---------- TOAST ---------- */
.toast-root{position:fixed;top:80px;right:24px;z-index:400;display:flex;flex-direction:column;gap:10px;}
.toast{
  min-width:260px;max-width:340px;padding:14px 16px;border-radius:10px;
  background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 32px rgba(0,0,0,0.4);
  animation:toastIn .2s ease-out;
}
.toast.win{border-color:var(--cyan);}
.toast.lose{border-color:#ff6b6b;}
.toast.pending{border-color:var(--gold);}
.toast .tt-title{font-size:13px;font-weight:700;margin-bottom:3px;}
.toast.win .tt-title{color:var(--cyan);}
.toast.lose .tt-title{color:#ff6b6b;}
.toast.pending .tt-title{color:var(--gold);}
.toast .tt-body{font-size:12px;color:var(--text-dim);}
@keyframes toastIn{from{opacity:0;transform:translateX(16px);}to{opacity:1;transform:translateX(0);}}

/* ---------- BETSLIP ---------- */
.betslip{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:18px;position:sticky;top:88px;
}
.betslip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.betslip-head h3{font-size:15px;font-weight:700;}
.betslip-head .count{
  background:var(--gold);color:var(--ink);font-size:11px;font-weight:700;
  width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.slip-empty{color:var(--text-faint);font-size:13px;text-align:center;padding:30px 0;}
.slip-item{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;}
.slip-item-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;}
.slip-item-top .pick{font-size:13px;font-weight:600;}
.slip-item-top .rm{color:var(--text-faint);font-size:14px;}
.slip-item-top .rm:hover{color:var(--red);}
.slip-item .match{font-size:11px;color:var(--text-faint);margin-bottom:6px;}
.slip-item .odds{font-family:'IBM Plex Mono',monospace;color:var(--cyan);font-size:12px;}
.stake-row{display:flex;align-items:center;gap:8px;margin:16px 0 12px;}
.stake-row input{
  flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:14px;padding:10px 12px;
}
.stake-row input:focus{outline:none;border-color:var(--gold-dim);}
.payout-line{display:flex;justify-content:space-between;font-size:13px;color:var(--text-dim);padding:6px 0;}
.bet-source-row{display:flex;gap:8px;margin:2px 0 10px;}
.bet-source-btn{
  flex:1;padding:8px 10px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--line);
  font-size:12px;font-weight:600;color:var(--text);
  text-align:center;line-height:1.5;font-family:'Inter',sans-serif;
}
.bet-source-btn:hover{border-color:var(--gold-dim);}
.bet-source-btn.selected{border-color:var(--gold);background:rgba(240,180,41,0.1);color:var(--gold);}
.bet-source-btn .bsb-amt{display:block;font-size:11px;font-weight:400;font-family:'IBM Plex Mono',monospace;opacity:0.85;margin-top:2px;}
.slip-code-row{display:flex;gap:8px;margin-bottom:14px;}
.slip-code-row input{
  flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:8px 10px;color:var(--text);font-family:inherit;font-size:12px;
}
.slip-code-row input::placeholder{color:var(--text-faint);}
.slip-code-row input:focus{outline:none;border-color:var(--gold-dim);}
.slip-code-btn{
  width:100%;margin-top:8px;padding:10px;border-radius:8px;
  background:var(--panel-2);border:1px solid var(--line);
  color:var(--text-dim);font-size:12px;font-weight:600;font-family:'Inter',sans-serif;
}
.slip-code-btn:hover{border-color:var(--gold-dim);color:var(--text);}
.js-slip-code-display{margin-top:10px;font-size:13px;color:var(--text);}
.payout-line.total{color:var(--text);font-weight:600;font-size:14px;border-top:1px solid var(--line);margin-top:6px;padding-top:12px;}
.payout-line .v{font-family:'IBM Plex Mono',monospace;color:var(--gold);}
.place-bet-btn{
  width:100%;background:var(--gold);color:var(--ink);
  padding:13px;border-radius:8px;font-weight:700;font-size:14px;margin-top:8px;
}
.place-bet-btn:disabled{background:var(--panel-2);color:var(--text-faint);cursor:not-allowed;}
.place-bet-btn:not(:disabled):hover{background:#f7c454;}

/* ---------- CASINO ---------- */
.casino-tabs{display:flex;gap:8px;margin-bottom:24px;}
.casino-tabs button{
  font-size:12px;font-weight:600;color:var(--text-dim);
  padding:7px 14px;border:1px solid var(--line);border-radius:20px;
}
.casino-tabs button.active{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.game-card{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;transition:border-color .15s, transform .15s;
}
.game-card:hover{border-color:var(--gold-dim);transform:translateY(-2px);}
.game-thumb{
  height:120px;display:flex;align-items:center;justify-content:center;
  font-family:'Big Shoulders Display',sans-serif;font-size:34px;font-weight:800;
  color:rgba(237,234,227,0.12);position:relative;
}
.game-thumb .tag{
  position:absolute;top:10px;left:10px;
  background:rgba(0,217,192,0.14);color:var(--cyan);
  font-size:9px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  padding:3px 7px;border-radius:5px;
}
.game-info{padding:12px 14px;border-top:1px solid var(--line);}
.game-info .gn{font-size:13px;font-weight:600;margin-bottom:2px;}
.game-info .gd{font-size:11px;color:var(--text-faint);}
.game-play{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 14px;border-top:1px solid var(--line);
}
.game-play .rtp{font-size:10px;color:var(--text-faint);font-family:'IBM Plex Mono',monospace;}
.game-play button{font-size:11px;font-weight:700;color:var(--gold);}
.game-play button.soon{color:var(--text-faint);cursor:not-allowed;font-weight:600;}
.game-play button.soon:disabled{opacity:0.7;}

/* ---------- GAME MODAL (playable casino games) ---------- */
.game-modal{
  width:100%;max-width:520px;
  background:var(--panel);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,0.5);
}
.game-modal .gm-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--line);
}
.game-modal .gm-head h3{font-size:16px;font-weight:700;}
.game-modal .gm-head .gm-sub{font-size:11px;color:var(--text-faint);margin-top:2px;}
.game-modal .gm-close{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dim);font-size:16px;line-height:1;flex-shrink:0;
}
.game-modal .gm-close:hover{background:var(--panel-2);color:var(--text);}
.game-modal .gm-body{padding:22px;}

.game-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;}
.game-controls label{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.05em;}
.game-controls input, .game-controls select{
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  color:var(--text);padding:8px 10px;font-size:13px;font-family:'IBM Plex Mono',monospace;
}
.game-controls input[type="number"]{width:90px;}
.game-controls button.dm-confirm{
  flex:1;min-width:120px;padding:10px 14px;border-radius:8px;font-size:12px;font-weight:700;
  background:var(--gold);color:var(--ink);
}
.game-controls button.dm-confirm:disabled{opacity:0.5;}
.slot-msg{font-size:13px;color:var(--text-dim);min-height:18px;margin-top:12px;}
.demo-note{font-size:11px;color:var(--text-faint);margin-top:10px;}
.provider-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;background:var(--panel-2);border-radius:8px;overflow:hidden;}
.provider-frame{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* Slots */
.slot-machine{text-align:center;}
.slot-reels{
  display:flex;justify-content:center;gap:10px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:22px 10px;
}
.slot-cell{
  width:64px;height:64px;border-radius:8px;background:var(--ink);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:30px;
}
.slot-cell.spinning{animation:slotSpin .15s linear infinite;}
@keyframes slotSpin{0%{transform:translateY(0);opacity:1;}50%{transform:translateY(-6px);opacity:0.4;}100%{transform:translateY(0);opacity:1;}}
.slot-pay-hint{font-size:11px;color:var(--text-faint);margin-top:12px;}

/* Blackjack */
.bj-table{text-align:left;}
.bj-row{
  background:var(--panel-2);border:1px solid var(--line);border-radius:10px;
  padding:14px;margin-bottom:12px;
}
.bj-label{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px;}
.bj-hand{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.pcard{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:52px;padding:0 6px;border-radius:6px;
  background:var(--ink);border:1px solid var(--line);
  font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:700;color:var(--text);
}
.pcard.back{color:var(--text-faint);}
.bj-total{font-family:'IBM Plex Mono',monospace;color:var(--cyan);font-size:13px;}

/* Roulette */
.roulette-table{text-align:center;}
.roulette-wheel{
  width:100px;height:100px;border-radius:50%;margin:0 auto;
  background:var(--panel-2);border:2px solid var(--gold-dim);
  display:flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:700;
}

/* Live dealer chrome */
.live-connect{text-align:center;padding:30px 0;}
.live-dealer-avatar{font-size:40px;margin-bottom:12px;}
.live-chrome{
  display:flex;align-items:center;gap:8px;
  background:rgba(229,72,77,0.1);color:var(--red);
  font-size:11px;font-weight:700;letter-spacing:0.03em;
  padding:8px 12px;border-radius:8px;margin-bottom:16px;
}
.live-chrome .dot{width:6px;height:6px;border-radius:50%;background:var(--red);}

/* ---------- ACCOUNT ---------- */
.acct-grid{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start;}
.acct-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px;}
.acct-profile{text-align:center;}
.acct-profile .av{
  width:64px;height:64px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--gold);
  margin:0 auto 12px;
}
.acct-profile .nm{font-size:16px;font-weight:600;}
.acct-profile .tier{font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:0.06em;margin-top:4px;}
.acct-stat-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13px;}
.acct-stat-row .v{font-family:'IBM Plex Mono',monospace;color:var(--text);}
.wallet-row{display:flex;gap:10px;margin-top:14px;}
.wallet-row button{flex:1;padding:10px;border-radius:8px;font-size:12px;font-weight:700;}
.wallet-row .dep{background:var(--gold);color:var(--ink);}
.wallet-row .wd{border:1px solid var(--line);color:var(--text);}
.bet-legs{display:flex;flex-direction:column;gap:8px;}
.bet-leg{padding:6px 0;}
.bet-leg + .bet-leg{border-top:1px dashed var(--line);padding-top:8px;}
.bet-leg .bl-match{font-size:11px;color:var(--text-faint);margin-bottom:2px;}
.bet-leg .bl-sel{font-size:13px;color:var(--text);}
.bet-leg .bl-odd{font-family:'IBM Plex Mono',monospace;color:var(--gold);font-size:12px;}
.bl-combo{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;margin-top:2px;}
.status-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;text-transform:uppercase;letter-spacing:0.03em;}
.status-pill.won{background:rgba(0,217,192,0.12);color:var(--cyan);}
.status-pill.lost{background:rgba(229,72,77,0.12);color:var(--red);}
.status-pill.open{background:rgba(240,180,41,0.12);color:var(--gold);}
.acct-title{font-size:14px;font-weight:700;margin-bottom:14px;}

/* ---------- BET HISTORY (filter pills + bet cards) ---------- */
.hist-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 16px;flex-wrap:wrap;}
.hist-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.hist-filter-tabs button{
  font-size:12px;font-weight:600;color:var(--text-dim);
  padding:7px 14px;border:1px solid var(--line);border-radius:20px;
}
.hist-filter-tabs button.active{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.hist-count{font-size:12px;color:var(--text-faint);white-space:nowrap;}
.hist-cards{display:flex;flex-direction:column;gap:12px;}
.hist-card{
  border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;
  transition:border-color .15s, background .15s;
}
.hist-card:hover{border-color:var(--text-faint);background:var(--panel-2);}
.hist-card.open{border-color:var(--gold);}
.hist-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.hist-code{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-faint);letter-spacing:0.04em;}
.hist-code-wrap{display:flex;align-items:center;gap:6px;}
.hist-code-copy{padding:3px 8px;font-size:10px;border-radius:5px;}
.hist-code-copy:disabled{opacity:.55;cursor:wait;}
.hist-card-top{flex-wrap:wrap;}
.hist-code-wrap{flex-wrap:wrap;justify-content:flex-end;}
/* Copy bet result dialog (tenfold.html copyBetToSlip) */
.cb-sub{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;margin:14px 0 6px;}
.cb-list{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.45;color:var(--text);display:flex;flex-direction:column;gap:6px;}
.cb-reason{font-size:12px;color:var(--red, #e5484d);}
#copyBetOverlay{z-index:460;}
/* Log in / register above the bet slip drawer: a guest pressing Place bet in
   the drawer must see the login (both are .modal-overlay z 200; the drawer
   comes later in the page, so it covered the login). Below toasts (400). */
#authOverlay{z-index:210;}
/* Copy / Paste Bet inside the bet slip (tenfold.html SLIP_PASTE_HTML) */
.slip-paste{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);}
.slip-paste summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700;color:var(--text);list-style:none;display:flex;justify-content:space-between;align-items:center;}
.slip-paste summary::-webkit-details-marker{display:none;}
.slip-paste summary::after{content:'+';color:var(--text-faint);font-weight:400;font-size:16px;}
.slip-paste[open] summary::after{content:'\2212';}
.slip-paste > :not(summary){margin-left:12px;margin-right:12px;}
.sp-help{font-size:12px;line-height:1.45;color:var(--text-dim);margin-top:0;margin-bottom:8px;}
.sp-input{display:block;width:calc(100% - 24px);box-sizing:border-box;min-height:64px;resize:vertical;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:12px;}
.sp-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.sp-btn{flex:1 1 auto;margin:0;padding:8px 10px;font-size:12px;border-radius:8px;width:auto;}
.sp-import{flex-basis:100%;}
.slip-paste .sp-btn{margin:0;}
.sp-msg{font-size:12px;line-height:1.4;min-height:0;margin-top:6px;margin-bottom:10px;color:var(--text-dim);}
.sp-msg:empty{margin-top:0;}
.sp-msg.err{color:var(--red, #e5484d);}
.sp-msg.ok{color:var(--cyan);}
/* Share bet + shared bet link dialogs (tenfold.html shareBet / openSharedBet) */
.sb-link{width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--text);font-family:'IBM Plex Mono',monospace;font-size:12px;}
.sb-legs li{list-style:decimal;}
.sb-leg-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.sb-odd{flex:0 0 auto;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--cyan);white-space:nowrap;}
.sb-odd.off{color:var(--red, #e5484d);}
.sb-odds{margin-top:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:13px;}
.sb-odds div{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px;}
.sb-odds span{color:var(--text-dim);}
.sb-odds b{font-family:'IBM Plex Mono',monospace;color:var(--gold);}
.sb-odds p{margin:6px 0 0;font-size:12px;color:var(--text-faint);line-height:1.4;}
.sb-warn{font-size:13px;line-height:1.45;color:var(--red, #e5484d);margin:12px 0 0;}
@media (max-width:420px){ #copyBetOverlay .dc-actions{flex-direction:column-reverse;} .sb-leg-top{flex-direction:column;gap:2px;} }
.hist-amounts{display:flex;align-items:baseline;gap:10px;font-family:'IBM Plex Mono',monospace;font-weight:700;}
.hist-amounts .stake{font-size:16px;color:var(--text);margin-right:2px;}
.hist-arrow{color:var(--text-faint);font-size:14px;font-weight:400;margin-right:2px;}
.hist-amounts .potential{font-size:18px;color:var(--gold);}
.hist-game{font-size:13px;color:var(--text);margin-top:8px;}
.hist-game + .hist-meta{margin-top:4px;}
.hist-game .nw{white-space:nowrap;}
.bet-leg .bl-kick{font-size:11px;color:var(--text-faint);margin-bottom:2px;}
.status-pill.void{background:rgba(150,150,160,0.14);color:var(--text-dim);}
/* My Bets: each selection's own result (label + icon, not colour alone) */
.bet-leg .bl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:2px;}
.bet-leg .bl-head .bl-match{flex:1 1 auto;min-width:0;margin-bottom:0;overflow-wrap:anywhere;}
.leg-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;line-height:1.2;padding:2px 7px;border-radius:10px;border:1px solid transparent;text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;}
.leg-badge.won{background:rgba(34,197,94,0.14);color:#4ade80;border-color:rgba(74,222,128,0.35);}
.leg-badge.lost{background:rgba(229,72,77,0.14);color:var(--red);border-color:rgba(229,72,77,0.35);}
.leg-badge.pending{background:rgba(240,180,41,0.12);color:var(--gold);border-color:rgba(240,180,41,0.3);}
.leg-badge.void{background:rgba(150,150,160,0.14);color:var(--text-dim);border-color:var(--line);}
.leg-badge.halfwon{background:rgba(34,197,94,0.08);color:#86efac;border-color:rgba(134,239,172,0.3);}
.leg-badge.halflost{background:rgba(229,72,77,0.08);color:#f59e9e;border-color:rgba(245,158,158,0.3);}
.bet-leg .bl-score{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;color:var(--text);margin-bottom:2px;}
.hist-leg-tally{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.hist-leg-tally .leg-badge{text-transform:none;letter-spacing:0;}
.hist-stale{font-size:12px;color:var(--gold);border:1px solid rgba(240,180,41,0.3);border-radius:8px;padding:8px 10px;margin-bottom:10px;}
.hist-meta{font-size:12px;color:var(--text-faint);margin-top:8px;}
.hist-legs{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.hist-empty{padding:24px 0;text-align:center;color:var(--text-faint);font-size:13px;}

footer{border-top:1px solid var(--line);padding:28px 32px;text-align:center;color:var(--text-faint);font-size:12px;}
footer .fn{color:var(--gold);font-weight:600;}

/* ---------- AUTH (LOGIN / REGISTER) ---------- */
.auth-tabs{display:flex;gap:4px;margin-bottom:18px;background:var(--panel-2);border-radius:10px;padding:4px;}
.auth-tab{flex:1;padding:10px;border-radius:8px;font-weight:700;font-size:13px;color:var(--text-faint);}
.auth-tab.active{background:var(--gold);color:var(--ink);}
.auth-panel label{display:block;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;margin:14px 0 6px;}
.auth-panel label:first-child{margin-top:0;}
.auth-panel input{
  width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:11px 12px;color:var(--text);font-family:inherit;font-size:14px;
}
.auth-panel input:focus{outline:none;border-color:var(--gold);}
.auth-error{font-size:12px;color:var(--red);margin-top:12px;display:none;}
.auth-error.show{display:block;}
.auth-submit{
  width:100%;margin-top:20px;padding:12px;border-radius:10px;
  background:var(--gold);color:var(--ink);font-weight:800;font-size:14px;
}
.auth-note{margin-top:18px;text-align:center;font-size:11px;color:var(--text-faint);}
.auth-hint{margin-top:6px;font-size:11px;line-height:1.4;color:var(--text-faint);}
/* registration: the phone number is not ownership-verified */
.auth-note.reg-unverified{text-align:left;line-height:1.45;font-size:11.5px;color:var(--text-dim);border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-top:14px;}
.auth-link-btn{display:block;width:100%;text-align:center;margin-top:14px;font-size:12px;color:var(--text-dim);text-decoration:underline;background:none;border:none;cursor:pointer;font-family:inherit;}
.auth-link-btn:hover{color:var(--gold);}
/* phone verification step */
.verify-sub{font-size:13px;line-height:1.5;color:var(--text-dim);text-align:center;margin-bottom:16px;}
.verify-sub strong{color:var(--text);font-size:15px;letter-spacing:0.02em;}
.auth-submit:disabled{opacity:0.6;cursor:default;}
.phone-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;vertical-align:middle;}
.phone-badge.ok{background:rgba(46,204,113,0.15);color:var(--green, #2ecc71);}
.phone-badge.no{background:var(--panel-2);color:var(--text-faint);}
.btn-outline.btn-telegram{border-color:#2AABEE;color:#2AABEE;}
.btn-outline.btn-telegram:hover{background:rgba(42,171,238,0.10);border-color:#2AABEE;}
.btn-outline.btn-telegram:disabled{opacity:.6;cursor:wait;}
.auth-submit.btn-telegram-solid{background:#2AABEE;color:#fff;}
.auth-submit.btn-telegram-solid:hover{background:#229ED9;}
.verify-alt{margin-top:10px;text-align:center;font-size:12px;line-height:1.5;color:var(--text-faint);}
#verifyChoice .auth-link-btn{display:block;margin:16px auto 0;}

/* ---------- CHAT WIDGET (customer site) ---------- */
.chat-fab{
  position:fixed;right:24px;bottom:24px;z-index:60;
  width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:24px;
  box-shadow:0 8px 24px rgba(0,0,0,0.4);
}
.chat-fab .chat-badge{
  position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;
  background:var(--red);color:#fff;font-size:11px;font-weight:800;display:none;
  align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
}
.chat-fab .chat-badge.show{display:flex;}
.chat-panel{
  position:fixed;right:24px;bottom:92px;z-index:60;width:340px;max-width:calc(100vw - 32px);
  height:460px;max-height:calc(100vh - 140px);background:var(--panel);border:1px solid var(--line);
  border-radius:14px;display:none;flex-direction:column;overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,0.5);
}
.chat-panel.open{display:flex;}
.chat-panel .cp-head{
  padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;
}
.chat-panel .cp-head h4{font-size:14px;font-weight:800;}
.chat-panel .cp-head .cp-sub{font-size:11px;color:var(--text-faint);margin-top:2px;}
.chat-panel .cp-close{font-size:20px;color:var(--text-faint);line-height:1;}
.chat-panel .cp-close:hover{color:var(--text);}
.chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;}
.chat-empty{color:var(--text-faint);font-size:12px;text-align:center;margin:auto;padding:20px;}
.chat-bubble{max-width:80%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.4;word-wrap:break-word;}
.chat-bubble.visitor{align-self:flex-end;background:var(--gold);color:var(--ink);border-bottom-right-radius:3px;}
.chat-bubble.support{align-self:flex-start;background:var(--panel-2);border:1px solid var(--line);border-bottom-left-radius:3px;}
.chat-bubble .cb-time{display:block;font-size:10px;margin-top:4px;opacity:0.6;}
.chat-bubble.pending{opacity:0.75;}
.chat-bubble .cb-retry{display:block;margin-top:4px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:11px;font-weight:700;text-decoration:underline;cursor:pointer;}
.chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);}
.chat-input-row input{
  flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:9px 12px;color:var(--text);font-family:inherit;font-size:13px;
}
.chat-input-row input:focus{outline:none;border-color:var(--gold);}
.chat-input-row button{
  padding:9px 16px;border-radius:8px;background:var(--gold);color:var(--ink);font-weight:800;font-size:13px;
}

/* ---------- SUPPORT INBOX (support.html) ---------- */
/* Fixed-height panel: only the message history (and the thread list)
   scroll. grid-template-rows:minmax(0,1fr) + min-height:0 on the
   children stop the conversation column from growing to fit every
   message — without them the row grew with the history and the
   inbox's overflow:hidden clipped the reply box off the bottom. */
.support-inbox{
  display:grid;grid-template-columns:280px 1fr;grid-template-rows:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:12px;
  overflow:hidden;height:520px;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);min-height:360px;
}
.support-thread-list{border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;background:var(--panel-2);min-height:0;overscroll-behavior:contain;}
.support-thread{
  padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;position:relative;
}
.support-thread:hover{background:var(--panel);}
.support-thread.active{background:var(--panel);border-left:3px solid var(--gold);}
.support-thread .st-name{font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.support-thread .st-preview{font-size:12px;color:var(--text-faint);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.support-thread .st-time{font-size:10px;color:var(--text-faint);margin-top:3px;}
.support-thread .st-unread{
  min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;
  font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
}
.support-thread-empty{padding:20px;color:var(--text-faint);font-size:12px;text-align:center;}
.support-conversation{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;}
.support-conversation .sc-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;}
.support-conversation .sc-head-name{font-size:13px;font-weight:700;}
.support-conversation .sc-head-sub{font-size:11px;color:var(--text-faint);margin-top:2px;}
.support-conversation .sc-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:10px;}
.support-conversation .sc-messages .chat-bubble{flex-shrink:0;overflow-wrap:anywhere;}
.support-conversation .sc-empty{margin:auto;color:var(--text-faint);font-size:13px;text-align:center;padding:20px;}
.support-conversation .sc-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);flex-shrink:0;}
.support-conversation .sc-input-row input{min-width:0;}
.support-conversation .sc-input-row input{
  flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  padding:9px 12px;color:var(--text);font-family:inherit;font-size:13px;
}
.support-conversation .sc-input-row input:focus{outline:none;border-color:var(--gold);}
.support-conversation .sc-input-row button{
  padding:9px 16px;border-radius:8px;background:var(--gold);color:var(--ink);font-weight:800;font-size:13px;
}

@media(max-width:768px){
  .support-inbox{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;max-height:none;min-height:0;}
  .support-thread-list{max-height:220px;border-right:none;border-bottom:1px solid var(--line);}
  .support-conversation{height:420px;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);min-height:320px;}
  .support-conversation .sc-head{flex-wrap:wrap;}
  .support-conversation .sc-head select{max-width:100%;min-width:0;}
  /* The bottom nav bar (Sports/Slip/Casino/Account) is a separate fixed
     element reserving ~64px at the very bottom (see body's
     padding-bottom below) plus the device's own safe-area inset on
     notched phones. The chat button previously ignored that entirely
     and sat at a flat 16px, landing underneath/behind the nav bar
     instead of above it. Lifting it clear of the nav (with a 12px gap)
     and lifting the panel that opens above the button by the same
     amount keeps both fully visible and tappable instead of overlapping
     the nav or each other. */
  .chat-panel{right:12px;left:12px;width:auto;bottom:calc(144px + env(safe-area-inset-bottom));}
  .chat-fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom));}
}

@media(max-width:1024px){
  .hero{grid-template-columns:1fr;}
  /* tablets/phones: feature cards become a swipeable row */
  .hero.has-pm-features .feature-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:thin;}
  .hero.has-pm-features .feature-row > *{flex:0 0 min(360px,86%);min-width:0;scroll-snap-align:start;}
  .sports-layout{grid-template-columns:1fr;}
  .acct-grid{grid-template-columns:1fr;}
  .game-grid{grid-template-columns:repeat(2,1fr);}
  .betslip{position:static;top:auto;}
  .admin-form{grid-template-columns:repeat(2,1fr);}
}

/* phones: feature cards stack vertically (Bingo first, then prediction cards) */
@media(max-width:640px){
  .hero.has-pm-features .feature-row{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-auto-rows:1fr;overflow-x:visible;scroll-snap-type:none;padding-bottom:0;gap:10px;}
  .hero.has-pm-features .feature-row > *{flex:0 0 auto;width:100%;}
  .pmf-card, .hero.has-pm-features .pool-game-panel{min-height:0;}
}

@media(max-width:768px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  .bottom-nav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;
    background:rgba(10,13,19,0.96);backdrop-filter:blur(6px);
    border-top:1px solid var(--line);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  /* up to 6 equal-width items (Sports | Slip | Casino | Predictions | Account | Install);
     min-width:0 + nowrap keep "Predictions" on one line at 320-430px */
  .bottom-nav button, .bottom-nav > a{
    flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:6px 1px;color:var(--text-faint);font-size:10px;font-weight:600;text-decoration:none;
  }
  .bottom-nav .bn-lbl{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .bottom-nav .bn-ic{font-size:18px;line-height:1;}
  .bottom-nav button.active, .bottom-nav > a.active{color:var(--gold);}
  .bottom-nav button[hidden]{display:none;}
  .bottom-nav .bn-install{color:var(--gold);}
  .bn-ic-wrap{position:relative;display:inline-flex;}
  .bn-badge{
    position:absolute;top:-6px;right:-10px;
    background:var(--gold);color:var(--ink);
    font-size:9px;font-weight:800;min-width:15px;height:15px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;
  }
  .bn-badge.hidden{display:none;}

  .slip-drawer .deposit-modal{max-width:420px;}
  .slip-drawer .betslip{padding:0;}

  .shell{padding:0 16px;}
  .nav{padding:10px 16px;flex-wrap:wrap;row-gap:10px;}
  .nav-links{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start;}
  .nav-links button{padding:8px 14px;white-space:nowrap;flex-shrink:0;}
  .nav-right{gap:8px;flex-wrap:wrap;}
  .balance-pill{padding:6px 10px;font-size:12px;}
  .balance-pill .lbl{display:none;}
  #feedStatus{max-width:120px;overflow:hidden;}
  #feedStatus .amt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%;vertical-align:bottom;}
  .brand .name{font-size:18px;}
  .btn-gold{padding:8px 12px;font-size:12px;}
  /* phones: the install button lives in the bottom tab bar instead, so the top nav keeps one row */
  #navInstallBtn{display:none;}

  .hero{padding:32px 0 28px;}
  .hero h1{font-size:38px;}
  .hero p{font-size:14px;max-width:none;}
  .hero-cta{flex-direction:column;}
  .hero-promo{display:flex;font-size:13px;padding:9px 12px;}
  .hero-cta a, .hero-cta button{width:100%;text-align:center;}
  .hero-panel{padding:16px;}

  .section{padding:24px 0;}
  .section-head{flex-direction:column;align-items:flex-start;gap:4px;}
  .section-head h2{font-size:22px;}

  .league-tabs, .casino-tabs, .admin-tabs{
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;
  }
  .league-tabs button, .casino-tabs button, .admin-tabs button{flex-shrink:0;}
  .market-tabs{row-gap:8px;}

  .admin-form{grid-template-columns:1fr;}
  .admin-section{padding:14px;}

  .modal-overlay{padding:20px 12px;}
  .deposit-modal .dm-body, .game-modal .gm-body{padding:16px;}

  .toast-root{right:12px;left:12px;top:70px;}
  .toast{min-width:0;max-width:none;width:100%;}
}

/* ---------- MOBILE (phone) ---------- */
/* <360px phones: 6 tabs are ~53px wide, so drop the side padding and shrink labels slightly to keep "Predictions" whole */
@media(max-width:359px){
  .bottom-nav{padding-left:0;padding-right:0;}
  .bottom-nav button, .bottom-nav > a{padding-left:0;padding-right:0;}
  .bottom-nav .bn-lbl{font-size:9px;letter-spacing:-0.02em;}
}

@media(max-width:480px){
  .hero h1{font-size:30px;}
  .game-grid{grid-template-columns:1fr;}
  .odds-row{gap:6px;}
  .match-odds{gap:4px;}
  .match-row{padding:12px;}
  .admin-cards{grid-template-columns:repeat(2,1fr);}
  .mkt-rows{grid-template-columns:1fr;}
  .mkt-flat .mo-btn, .mkt-rows .mo-btn{
    padding:10px 12px;gap:2px;
    flex-direction:column;align-items:center;justify-content:center;text-align:center;
  }
  .mkt-flat .mo-btn .k, .mkt-rows .mo-btn .k{font-size:12px;white-space:normal;}
  .mkt-flat .mo-btn .v, .mkt-rows .mo-btn .v{font-size:14px;}

  /* ---------- ACCOUNT (compact mobile layout) ----------
     On phones the profile/wallet cards were stacking every field on
     its own full-width row, making the account page very tall. Below,
     the avatar/name/tier sit on one line, the three profile stats sit
     in one compact row underneath it, and the three wallet figures sit
     in one compact row instead of three separate rows. */
  /* min-width:0 has to be set at every nesting level (grid track, card,
     row, button) — flex/grid children default to a content-based minimum
     width, and without overriding it at each level browsers refuse to
     shrink text/buttons below their "natural" size and the last column
     spills past the edge of the phone screen instead of wrapping. */
  .acct-grid, .acct-grid > div{min-width:0;}
  .acct-card{padding:14px;margin-bottom:12px;min-width:0;}
  .acct-title{font-size:13px;margin-bottom:10px;}

  .acct-profile{
    display:flex;flex-wrap:wrap;align-items:center;text-align:left;column-gap:12px;
  }
  .acct-profile .av{order:1;margin:0;width:46px;height:46px;font-size:15px;flex-shrink:0;}
  .acct-profile .nm{order:2;font-size:15px;min-width:0;overflow-wrap:break-word;}
  .acct-profile .tier{order:3;flex-basis:100%;margin:-2px 0 0 58px;font-size:10px;}
  .acct-profile .acct-stat-row{
    order:4;flex:1 1 0;min-width:0;
    flex-direction:column;align-items:flex-start;gap:2px;
    border-top:1px solid var(--line);margin-top:12px;padding:10px 6px 0 0;font-size:10px;
    text-align:left;
  }
  .acct-profile .acct-stat-row span{min-width:0;overflow-wrap:break-word;word-break:break-word;}
  .acct-profile .acct-stat-row:last-of-type{padding-right:0;}
  .acct-profile .acct-stat-row .v{font-size:13px;}
  .acct-profile #acctLogoutBtn{order:5;flex-basis:100%;margin-top:14px !important;}

  .acct-wallet .acct-acc-content{display:flex;flex-wrap:wrap;}
  .acct-wallet .acct-stat-row{
    order:2;flex:1 1 0;min-width:0;
    flex-direction:column;align-items:flex-start;gap:2px;
    padding:0 8px 0 0;font-size:10px;text-align:left;
  }
  .acct-wallet .acct-stat-row span{min-width:0;overflow-wrap:break-word;word-break:break-word;}
  .acct-wallet .acct-stat-row .v{font-size:13px;margin-top:2px;}
  .acct-wallet .wallet-row{order:3;flex-basis:100%;margin-top:14px;min-width:0;}
  .acct-wallet .dh-jump{order:4;}
  .wallet-row button{min-width:0;padding:10px 6px;}

  .hist-filter-row{margin-top:-2px;}
  .hist-filter-tabs button{padding:6px 11px;font-size:11px;}
  .hist-card{padding:13px;}
  .hist-amounts .stake{font-size:14px;}
  .hist-amounts .potential{font-size:16px;}
}

/* ---------- CASINO BINGO (cards reuse the homepage pool-game panel) ---------- */
.bingo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.bingo-card{min-width:0;justify-content:flex-start;}
.bingo-card .bingo-stake{font-family:'Big Shoulders Display',sans-serif;font-size:26px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:0.02em;line-height:1.1;margin-top:4px;}
.bingo-card .pool-game-progress-label{margin-top:0;}
.bingo-card .bingo-info{font-size:12px;color:var(--text-dim,#aab);margin-top:4px;}
.bingo-card .bingo-info b{color:var(--gold);font-weight:700;}
.bingo-card .bingo-status{font-size:12px;color:var(--text-faint,#889);min-height:16px;margin-top:2px;}
.bingo-card .btn-gold:disabled{opacity:.7;cursor:default;}
.bingo-empty{grid-column:1/-1;padding:40px 0;text-align:center;color:var(--text-faint);font-size:13px;}
@media(max-width:1180px){ .bingo-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:560px){ .bingo-grid{grid-template-columns:1fr;} .bingo-card.pool-game-panel{min-height:0;} }
/* Casino -> Fast Keno card (opens fast-keno.html) */
.keno-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));gap:16px;}
.keno-card{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .15s,transform .15s;}
.keno-card:hover{border-color:var(--gold-dim);transform:translateY(-2px);}
.keno-thumb{position:relative;aspect-ratio:16/10;background:#10141c;border-bottom:1px solid var(--line);}
.keno-thumb svg{display:block;}
.keno-badge{position:absolute;top:10px;left:10px;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;background:rgba(10,13,19,.85);color:var(--cyan);border:1px solid rgba(0,217,192,.4);border-radius:6px;padding:3px 7px;}
.keno-info{padding:14px;display:flex;flex-direction:column;gap:6px;}
.keno-name{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:26px;letter-spacing:.03em;color:var(--gold);line-height:1;}
.keno-desc{font-size:14px;color:var(--text);line-height:1.4;}
.keno-meta{font-size:12px;color:var(--text-dim);}
.keno-play{align-self:flex-start;margin-top:6px;display:inline-block;}
@media(max-width:560px){ .keno-grid{grid-template-columns:minmax(0,1fr);} }

/* ---------- AGENT APPROVE/REJECT CONFIRMATION ---------- */
.modal-overlay.decision-confirm{align-items:center;z-index:450;} /* above .toast-root (400) so a new-order toast never hides the amount */
.decision-confirm .deposit-modal{max-width:420px;}
.dc-text{font-size:14px;line-height:1.5;color:var(--text);margin:0 0 14px;}
.dc-details{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin:0;
  background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:12px 14px;
}
.dc-details dt{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;align-self:center;}
.dc-details dd{margin:0;font-size:13px;color:var(--text);overflow-wrap:anywhere;}
.dc-details dd.dc-approve{color:var(--cyan);font-weight:700;}
.dc-details dd.dc-reject{color:var(--red);font-weight:700;}
.dc-actions{display:flex;gap:10px;margin-top:20px;}
.dc-actions button{flex:1 1 0;margin:0;padding:12px;border-radius:10px;font-size:14px;font-weight:800;}
.dc-actions .dc-yes.reject{background:var(--red);color:#fff;}
.dc-actions button:disabled{opacity:0.6;cursor:default;}
@media (max-width:420px){
  .dc-actions{flex-direction:column-reverse;}
}
/* Telegram verification notice (registration) — Amharic text */
.tg-consent [lang="am"]{font-family:'IBM Plex Sans','Noto Sans Ethiopic','Nyala','Kefa','Ebrima',sans-serif;}
.tg-consent .dm-head h3{text-transform:none;}
.tg-consent-text{font-size:15px;line-height:1.75;overflow-wrap:anywhere;word-break:normal;}
.tg-consent .dc-actions{margin-top:16px;}

/* ---------- SPORT PAGE ADVERTISEMENT BANNER (tenfold.html #sportAd) ---------- */
/* Sits in .hero-top beside the "Drop in. This is 1OR2BET." headline: two columns
   while a banner is showing (.has-ad, set by loadSportAd), one column otherwise.
   One admin-uploaded landscape image, never stretched or cropped: the frame is
   as wide as the column allows while its height stays under --ad-max-h, using the
   image's own aspect ratio (--ad-ratio, set by loadSportAd), so it hugs the image. */
.hero-top{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center;}
.hero-top.has-ad{grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);}
.hero-copy{min-width:0;}
.sport-ad{min-width:0;--ad-max-h:380px;display:flex;justify-content:center;}
.sport-ad[hidden]{display:none;}
.sport-ad-frame{
  position:relative;display:block;width:min(100%, calc(var(--ad-max-h) * var(--ad-ratio, 4)));
  background:radial-gradient(120% 90% at 85% 0%, rgba(240,180,41,.10), transparent 60%), var(--panel);
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:0 18px 40px -22px rgba(0,0,0,.8), 0 0 0 1px rgba(240,180,41,.06) inset;
  text-decoration:none;color:inherit;
}
a.sport-ad-frame{transition:border-color .15s, transform .15s;}
a.sport-ad-frame:hover{border-color:var(--gold-dim);transform:translateY(-1px);}
a.sport-ad-frame:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.sport-ad-frame img{display:block;width:100%;height:auto;}
.sport-ad-tag{
  position:absolute;top:10px;left:10px;padding:2px 7px;border-radius:5px;
  background:rgba(10,13,19,.72);border:1px solid rgba(240,180,41,.45);color:var(--gold);
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;
}
@media (max-width:1024px){
  .hero-top.has-ad{grid-template-columns:minmax(0,1fr);gap:24px;}
  .sport-ad{--ad-max-h:340px;}
}
@media (max-width:780px){
  .hero-top.has-ad{gap:20px;}
  .sport-ad-frame{border-radius:12px;}
  .sport-ad{--ad-max-h:240px;}
}

/* ---------- REFER A FRIEND (home page) ---------- */
.ref-card{
  margin-top:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center;
}
.ref-eyebrow{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;}
.ref-title{font-size:24px;line-height:1.15;margin:0 0 8px;text-wrap:balance;}
.ref-amt{color:var(--gold);}
.ref-sub{color:var(--text-dim);font-size:14px;line-height:1.55;margin:0;}
.ref-body{min-width:0;}
.ref-muted{color:var(--text-dim);font-size:12px;}
.ref-label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px;}
.ref-link{
  width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;
  color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;padding:11px 12px;
}
.ref-link:focus{outline:2px solid var(--gold-dim);outline-offset:1px;}
.ref-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.ref-stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.ref-stats > div{display:flex;flex-direction:column;gap:2px;}
.ref-stats b{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:15px;font-variant-numeric:tabular-nums;}
.ref-stats-acct{margin:-4px 0 12px;padding-top:0;border-top:none;}
.ref-history-link{width:auto;text-align:left;margin-top:10px;padding:0;}
.ref-guest-msg{margin:0;color:var(--text);font-size:14px;}
.ref-applied{color:var(--green);}
.ref-st-awarded{color:var(--green);}
.ref-st-rejected{color:var(--text-faint);}
.ref-st-pending{color:var(--gold);}
@media (max-width:780px){
  .ref-card{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 16px;margin-top:20px;}
  .ref-title{font-size:20px;}
  .ref-actions > button{flex:1 1 140px;}
}
/* Admin -> Casino Fast Keno settings */
.fk-adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 16px;font-size:13px;}
.fk-adm-grid label{display:flex;flex-direction:column;gap:4px;color:var(--text-dim);}
.fk-adm-grid label:first-child{flex-direction:row;align-items:center;gap:8px;color:var(--text);}
.fk-adm-grid input[type=number]{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--text);font-family:inherit;font-size:13px;}
.fk-adm-pt{border-collapse:collapse;font-size:12px;}
.fk-adm-pt th,.fk-adm-pt td{border:1px solid var(--line);padding:3px;text-align:center;}
.fk-adm-pt input{width:64px;background:var(--panel-2);border:0;color:var(--text);font:500 12px 'IBM Plex Mono',monospace;padding:4px;text-align:right;}

/* ---------- ACCOUNT: CHANGE PASSWORD ---------- */
.acct-pw-toggle{width:100%;}
.acct-pw-form{margin-top:16px;}
.acct-pw-form .auth-submit{margin-top:16px;}
.acct-pw-ok{font-size:12px;color:var(--green, #2ecc71);margin-top:12px;display:none;}
.acct-pw-ok.show{display:block;}
@media (max-width:640px){
  .acct-pw-form input{font-size:16px;} /* stops iOS zooming into the field */
}
/* agent dashboard Change Password modal */
.modal-overlay.pw-change-modal{align-items:center;z-index:450;}
.pw-change-modal .deposit-modal{max-width:420px;}
@media (max-width:640px){
  .pw-change-modal input{font-size:16px;} /* stops iOS zooming into the field */
}
/* support customer view: Wallet info / Referrals info */
.ch-sec-title{margin:0 0 10px;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-dim);}
.dc-details.ch-info{grid-template-columns:minmax(0,1fr) auto;margin-bottom:18px;}
.dc-details.ch-info dd{white-space:nowrap;text-align:right;}
.ch-info-note{font-size:12px;line-height:1.5;color:var(--text-dim);margin:-8px 0 12px;overflow-wrap:anywhere;}
.ch-info-note > div + div{margin-top:4px;}
@media (min-width:760px){ .dc-details.ch-info{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;column-gap:18px;} }
/* Casino lobby: Real Balance only note */
.section-head .sub.casino-wallet-note{margin-top:4px;font-size:12px;}

/* ---------- Clubs search (Countries, leagues & clubs panel) ---------- */
.sb-clubs{border-top:1px solid var(--line);margin-top:6px;padding-top:4px;}
.sb-club-list{display:flex;flex-direction:column;gap:4px;max-height:min(40vh,320px);overflow-y:auto;overscroll-behavior:contain;}
.sb-club small{font-size:11px;font-weight:600;color:var(--text-faint);margin-left:4px;}
.sb-noclub{display:inline-block;border-radius:50%;background:var(--panel-2);}

/* Casino -> All Games: the 1OR2 game cards (one container per game) flow as one grid, in tab order. */
.casino-originals.casino-all{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));gap:16px;margin-bottom:24px;}
.casino-originals.casino-all > .keno-grid{display:contents;}
#page-casino #bingoGrid:not([style*="none"]){margin-bottom:24px;}
@media(max-width:560px){ .casino-originals.casino-all{grid-template-columns:minmax(0,1fr);} }

/* Support console: Pending transactions + agent activity (support.html, 2026-10-10). Read-only views. */
.sp-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:flex-end;}
.sp-filters label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.05em;}
.sp-filters input, .sp-filters select{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;min-width:0;}
.sp-filters input:focus, .sp-filters select:focus{outline:none;border-color:var(--gold-dim);}
.sp-filters .sp-q{flex:1 1 220px;}
.sp-filters .sp-q input{width:100%;}
.sp-counts{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--text-dim);margin-bottom:10px;}
.sp-counts b{color:var(--gold);}
.sp-row{cursor:pointer;}
.sp-row:hover td{background:var(--panel-2);}
.sp-row:focus{outline:1px solid var(--gold-dim);outline-offset:-1px;}
.sp-sub{display:block;font-size:10.5px;color:var(--text-faint);font-family:inherit;}
.sp-wait-old{color:var(--red);font-weight:700;}
.sp-state{font-size:12px;padding:14px 0;text-align:center;color:var(--text-faint);}
.sp-state.error{color:var(--red);}
.sp-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px;color:var(--text-dim);flex-wrap:wrap;}
.sp-pager .sp-pager-btns{display:flex;gap:6px;}
.admin-mini-btn:disabled{opacity:0.45;cursor:default;}
.agent-name-link{color:var(--cyan);font-weight:600;cursor:pointer;background:none;border:0;padding:0;font:inherit;text-align:left;}
.agent-name-link:hover{text-decoration:underline;}
.sp-actor{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);}
.sp-actor.self{color:var(--gold);border-color:var(--gold);}
.sp-actor.customer, .sp-actor.guest{color:var(--cyan);border-color:var(--cyan);}
.sp-actor.support, .sp-actor.admin{color:#b39dff;border-color:#b39dff;}
.sp-actor.other-agent{color:#ff9a6b;border-color:#ff9a6b;}
.sp-msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;}
.sp-unavail{margin:6px 0 0;padding-left:18px;font-size:12px;color:var(--text-dim);}
.sp-unavail li{margin:3px 0;}
.sp-more{margin-top:8px;}
@media (max-width:640px){
  .sp-filters label{flex:1 1 calc(50% - 8px);}
  .sp-filters label select, .sp-filters label input{width:100%;}
  .sp-filters .sp-q{flex-basis:100%;}
}
.dc-details.ch-info.sp-wrap dd{white-space:normal;overflow-wrap:anywhere;}
#agActContent .ch-sec-title{margin-top:22px;}
#agActContent .ch-sec-title:first-of-type{margin-top:0;}
#spTxOverlay{z-index:210;} /* the transaction panel can open on top of the agent activity panel */
.sp-note{font-size:12px;line-height:1.5;color:var(--text-dim);margin:0 0 10px;}
#spTxTimeline td:last-child{white-space:normal;min-width:180px;}

/* Account > Deposit history + Withdrawal requests: shared transaction cards */
.dh-jump{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--cyan);text-decoration:none;}
.dh-jump:hover{text-decoration:underline;}
.dh-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
.dh-cards:empty{display:none;}
.dh-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:rgba(255,255,255,.02);min-width:0;}
.dh-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.dh-amt{font-family:'IBM Plex Mono',monospace;font-size:16px;color:var(--text);}
.dh-kv{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:4px 0;border-top:1px solid var(--line);color:var(--text-dim);}
.dh-kv span:first-child{color:var(--text-faint);flex:none;}
.dh-kv span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere;}
.dh-mono{font-family:'IBM Plex Mono',monospace;font-size:11.5px;}
.dh-card-foot{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;}
.dh-card-foot .admin-mini-btn{display:block;text-align:center;color:var(--cyan);border-color:var(--cyan);text-decoration:none;}
.dh-more{display:block;margin:12px auto 0;min-width:160px;}
.dh-error .admin-mini-btn{margin-left:6px;}
@media (max-width:640px){
  .dh-cards{grid-template-columns:1fr;}
}

/* Desktop: profile/wallet/security column on the left, every other account section stacked on the right */
.acct-grid > div:first-child{grid-row:1 / span 8;}
.acct-grid > .acct-card{grid-column:2;}
.acct-grid > .acct-card + .acct-card{margin-top:-12px;}
@media(max-width:1024px){
  .acct-grid > div:first-child,.acct-grid > .acct-card{grid-row:auto;grid-column:auto;}
  .acct-grid > .acct-card + .acct-card{margin-top:0;}
}

/* Account page: collapsible sections (header button + chevron; content stays in the page) */
.acct-card.acct-acc{padding:0;}
.acct-acc-h{margin:0;font:inherit;}
.acct-acc-btn{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  padding:16px 20px;border-radius:12px;text-align:left;color:var(--text);cursor:pointer;
  transition:background .15s;
}
.acct-acc-btn:hover{background:rgba(255,255,255,.02);}
.acct-acc-btn:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.acct-acc-btn .acct-title{margin:0;min-width:0;}
.acct-acc-chev{flex:none;color:var(--text-dim);transition:transform .22s ease;}
.acct-acc.acc-open .acct-acc-chev{transform:rotate(180deg);}
.acct-acc-btn:hover .acct-acc-chev{color:var(--gold);}
.acct-acc-body{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .22s ease,visibility 0s linear .22s;}
.acct-acc.acc-open .acct-acc-body{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .22s ease,visibility 0s;}
.acct-acc-inner{min-height:0;overflow:hidden;}
.acct-acc.acc-open.acc-settled .acct-acc-inner{overflow:visible;}
.acct-acc-content{border-top:1px solid var(--line);padding:14px 20px 20px;min-width:0;}
.acct-acc-extra{text-align:right;margin:-4px 0 8px;}
.acct-acc-extra a{font-size:12px;font-weight:600;color:var(--gold);text-decoration:none;}
.acct-acc-extra a:hover{text-decoration:underline;}
@media (max-width:640px){
  .acct-acc-btn{padding:13px 14px;}
  .acct-acc-content{padding:12px 14px 14px;}
}
@media (prefers-reduced-motion:reduce){
  .acct-acc-body,.acct-acc.acc-open .acct-acc-body,.acct-acc-chev{transition:none;}
}

/* Deposit rejection reason dialog (staff) + reason in the customer's Deposit history */
.rr-label{display:block;font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;margin:14px 0 6px;}
.rr-select,.rr-text{width:100%;background:var(--panel-2,#161b26);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font:inherit;font-size:14px;}
.rr-text{resize:vertical;min-height:58px;}
.rr-note{font-size:12px;color:var(--text-dim);margin-top:6px;}
.rr-err{font-size:12.5px;color:var(--red);min-height:0;margin-top:4px;}
.rr-err:empty{display:none;}
.dc-actions .dc-yes:disabled{opacity:.5;cursor:not-allowed;}
.dh-reason{display:block;margin-top:5px;font-size:11.5px;color:#ff9a9a;white-space:normal;max-width:220px;overflow-wrap:anywhere;}
.dh-kv.dh-kv-reason span:last-child{color:#ff9a9a;}

/* ============ ACCOUNT DRAWER (scoped: everything is .acd-*) ============
   Dark 1OR2BET theme: the site's own variables (--ink, --panel, --panel-2, --line, --gold, --green, --text...). */
html.acd-open, html.acd-open body{overflow:hidden;}
.acd-backdrop{position:fixed;inset:0;z-index:300;background:rgba(3,4,7,.68);opacity:0;transition:opacity .25s ease;}
.acd-backdrop.show{opacity:1;}
.acd{
  --acd-bg:var(--ink); --acd-sec:var(--panel); --acd-card:var(--panel-2); --acd-line:var(--line);
  --acd-txt:var(--text); --acd-dim:var(--text-dim); --acd-faint:var(--text-faint);
  --acd-gold:var(--gold); --acd-gold-hi:#f7c454; --acd-green:var(--green);
  --acd-gold-soft:rgba(240,180,41,.12); --acd-green-soft:rgba(61,220,132,.12);
  position:fixed;top:0;right:0;bottom:0;z-index:301;width:clamp(350px,30vw,400px);max-width:100vw;
  background:var(--acd-bg);color:var(--acd-txt);border-left:1px solid var(--acd-line);box-shadow:-18px 0 48px rgba(0,0,0,.55);
  transform:translateX(105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);visibility:hidden;
  font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;outline:none;
}
.acd.open{transform:none;visibility:visible;}
.acd *{box-sizing:border-box;}
.acd [hidden]{display:none!important;}
.acd-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 0 calc(18px + env(safe-area-inset-bottom));scrollbar-color:var(--acd-line) transparent;}
.acd-scroll::-webkit-scrollbar{width:6px;} .acd-scroll::-webkit-scrollbar-thumb{background:var(--acd-line);border-radius:6px;}
.acd button{font-family:inherit;cursor:pointer;}
.acd :focus-visible{outline:2px solid var(--acd-gold);outline-offset:2px;}

/* identity header */
.acd-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;background:var(--acd-sec);border-bottom:1px solid var(--acd-line);}
.acd-avatar{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:16px;letter-spacing:.02em;
  color:var(--ink);background:var(--acd-gold);box-shadow:0 0 0 2px var(--acd-sec),0 0 0 3px rgba(240,180,41,.45);}
.acd-avatar.guest{background:var(--acd-card);color:var(--acd-dim);box-shadow:0 0 0 1px var(--acd-line);font-size:20px;}
.acd-who{flex:1;min-width:0;}
.acd-name{font-weight:700;font-size:15px;line-height:1.25;color:var(--acd-txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acd-sub{font-size:12.5px;color:var(--acd-dim);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acd-sub:empty{display:none;}
.acd-mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;color:var(--acd-dim);}
.acd-close{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--acd-line);background:var(--acd-card);color:var(--acd-dim);display:grid;place-items:center;transition:color .15s,border-color .15s,background .15s;}
.acd-close:hover{color:var(--acd-txt);border-color:var(--gold-dim);background:#1f2532;}
.acd-close svg{width:18px;height:18px;}

.acd-loading{display:flex;align-items:center;gap:10px;padding:26px 18px;color:var(--acd-dim);font-size:13.5px;}
.acd-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--acd-line);border-top-color:var(--acd-gold);animation:acdSpin .8s linear infinite;flex:none;}
@keyframes acdSpin{to{transform:rotate(360deg);}}

/* total balance */
.acd-wallet{padding:0 18px;background:var(--acd-bg);}
.acd-total{margin:0 -18px;padding:20px 18px 18px;background:var(--acd-sec);border-bottom:1px solid var(--acd-line);}
.acd-total-top{display:flex;align-items:center;justify-content:space-between;}
.acd-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acd-dim);}
.acd-refresh{width:32px;height:32px;border-radius:50%;border:1px solid var(--acd-line);background:var(--acd-card);color:var(--acd-gold);display:grid;place-items:center;transition:background .15s,border-color .15s;}
.acd-refresh:hover{background:var(--acd-gold-soft);border-color:var(--gold-dim);}
.acd-refresh svg{width:16px;height:16px;}
.acd-refresh.busy svg{animation:acdSpin .8s linear infinite;}
.acd-refresh:disabled{cursor:default;}
.acd-amount{display:flex;align-items:baseline;gap:8px;margin-top:6px;}
.acd-amount span{font-size:34px;font-weight:800;letter-spacing:-.01em;line-height:1.1;color:var(--acd-txt);font-variant-numeric:tabular-nums;}
.acd-amount small{font-size:12px;font-weight:700;color:var(--acd-gold);letter-spacing:.06em;}
.acd-note{font-size:12px;color:var(--acd-dim);margin-top:4px;}
.acd-note:empty{display:none;}
.acd-note.err{color:var(--red);}

/* summary rows */
.acd-rows{list-style:none;margin:0;padding:6px 0;border-bottom:1px solid var(--acd-line);}
.acd-rows li{display:flex;align-items:center;gap:12px;padding:10px 0;}
.acd-rows li + li{border-top:1px solid var(--acd-line);}
.acd-ic{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--acd-card);border:1px solid var(--acd-line);}
.acd-ic svg{width:18px;height:18px;}
.acd-ic-won{color:var(--acd-green);}
.acd-ic-dep{color:var(--acd-gold);}
.acd-ic-bonus{color:var(--acd-gold);}
.acd-rl{flex:1;min-width:0;display:flex;flex-direction:column;}
.acd-rl b{font-size:14px;font-weight:600;color:var(--acd-txt);}
.acd-rl small{font-size:11.5px;color:var(--acd-dim);line-height:1.3;}
.acd-rv{font-weight:700;font-size:15px;color:var(--acd-txt);font-variant-numeric:tabular-nums;white-space:nowrap;}
#acdWon{color:var(--acd-green);}          /* withdrawable */
#acdBonus{color:var(--acd-gold);}

/* buttons */
.acd-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.acd-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-radius:12px;border:1px solid transparent;
  font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,border-color .15s,color .15s,transform .08s;}
.acd-btn svg{width:18px;height:18px;flex:none;}
.acd-btn:active{transform:translateY(1px);}
.acd-btn-dep{background:var(--acd-gold);color:#111318;}
.acd-btn-dep:hover{background:var(--acd-gold-hi);}
.acd-btn-wd{background:var(--acd-card);color:var(--acd-txt);border-color:var(--acd-line);}
.acd-btn-wd svg{color:var(--acd-green);}
.acd-btn-wd:hover{background:#1f2532;border-color:#33405a;}
.acd-btn-send{margin-top:10px;background:var(--acd-sec);color:var(--acd-gold);border-color:var(--gold-dim);}
.acd-btn-send:hover{background:var(--acd-gold-soft);border-color:var(--acd-gold);}
.acd-btn-gold{background:var(--acd-gold);color:#111318;}
.acd-btn-gold:hover{background:var(--acd-gold-hi);}
.acd-btn-ghost{background:var(--acd-card);color:var(--acd-txt);border-color:var(--acd-line);margin-top:10px;}
.acd-btn-ghost:hover{background:#1f2532;border-color:#33405a;}
.acd-sendinfo{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--acd-sec);border:1px solid var(--acd-line);color:var(--acd-dim);font-size:12.5px;line-height:1.5;}
.acd-sendinfo b{color:var(--acd-txt);}

/* logged out */
.acd-guest{padding:22px 18px 8px;}
.acd-guest h3{font-size:19px;font-weight:800;margin:0 0 6px;color:var(--acd-txt);}
.acd-guest p{font-size:13.5px;color:var(--acd-dim);line-height:1.5;margin:0 0 16px;}

/* support card */
.acd-support{margin:20px 18px 0;padding:16px;border-radius:16px;background:var(--acd-sec);border:1px solid var(--acd-line);display:grid;grid-template-columns:48px 1fr;gap:4px 12px;align-items:center;}
.acd-support-ic svg{width:48px;height:48px;display:block;}
.acd-support-ic .acd-sbg{fill:var(--acd-card);stroke:var(--acd-line);}
.acd-support-ic .acd-sfg{color:var(--acd-gold);}
.acd-support h3{margin:0;font-size:16px;font-weight:800;color:var(--acd-txt);display:flex;align-items:center;gap:8px;}
.acd-support p{margin:2px 0 0;font-size:12.5px;color:var(--acd-dim);}
.acd-support-btn{grid-column:1/-1;margin-top:10px;min-height:44px;}
.acd-unread{font-size:11px;font-weight:800;color:var(--ink);background:var(--acd-green);border-radius:999px;padding:1px 7px;letter-spacing:0;}

/* quick links */
.acd-links{margin:22px 18px 0;padding:0;border:1px solid var(--acd-line);border-radius:14px;background:var(--acd-sec);overflow:hidden;}
.acd-links h4{margin:0;padding:12px 14px 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acd-dim);}
.acd-links ul{list-style:none;margin:0;padding:0;}
.acd-links li{border-top:1px solid var(--acd-line);}
.acd-links a{display:flex;align-items:center;gap:12px;padding:11px 14px;color:var(--acd-txt);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s;}
.acd-links a::after{content:'';margin-left:auto;width:7px;height:7px;border-right:2px solid var(--acd-faint);border-top:2px solid var(--acd-faint);transform:rotate(45deg);flex:none;}
.acd-links a:hover{background:var(--acd-card);}
.acd-links a:focus-visible{outline-offset:-2px;}
.acd-li{width:28px;height:28px;border-radius:50%;background:var(--acd-card);display:grid;place-items:center;flex:none;color:var(--acd-dim);}
.acd-li svg{width:16px;height:16px;}
.acd-links a.active{background:var(--acd-gold-soft);color:var(--acd-gold);font-weight:700;box-shadow:inset 3px 0 0 var(--acd-gold);}
.acd-links a.active .acd-li{background:rgba(240,180,41,.18);color:var(--acd-gold);}
.acd-links a.active::after{border-color:var(--acd-gold);}
.acd-links a[data-acd-link="support"] .acd-li{color:var(--acd-green);}
.acd-links li.acd-auth[hidden]{display:none;}
.acd-foot{margin:18px 18px 0;font-size:11.5px;color:var(--acd-dim);display:flex;align-items:center;gap:6px;}
.acd-18{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--red);color:var(--red);font-size:8.5px;font-weight:800;}

/* triggers */
.nav .balance-pill.acd-trigger{cursor:pointer;}
.nav .balance-pill.acd-trigger:hover{border-color:var(--gold-dim);}

@media (max-width:480px){
  .acd{width:calc(100vw - 36px);}   /* a strip of the dimmed page stays visible (tap it to close) */
  .acd-amount span{font-size:30px;}
}
@media (prefers-reduced-motion:reduce){ .acd,.acd-backdrop{transition:none;} .acd-spin,.acd-refresh.busy svg{animation:none;} }

/* ---------- Send money modal (account drawer -> Send money; money-transfer.js) ---------- */
.modal-overlay.sm-modal{align-items:center;z-index:450;}
.sm-modal .deposit-modal{max-width:440px;border-color:var(--gold-dim);}
.sm-modal .dm-head{border-bottom-color:var(--gold-dim);}
.sm-modal [hidden]{display:none !important;}
.sm-phone-row{display:flex;gap:8px;align-items:stretch;}
.sm-phone-row .sm-field{flex:1;min-width:0;margin-bottom:0;}
.sm-field input{min-width:0;}
.sm-field:focus-within{border-color:var(--gold);}
.sm-find{padding:0 16px;border-radius:8px;background:var(--panel-2);border:1px solid var(--gold-dim);color:var(--gold);font-weight:700;font-size:13px;cursor:pointer;}
.sm-find:hover:not(:disabled){border-color:var(--gold);}
.sm-find:disabled{opacity:.55;cursor:default;}
.sm-recipient{margin-top:10px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.5;background:var(--panel-2);border:1px solid var(--line);color:var(--text-dim);overflow-wrap:anywhere;}
.sm-recipient.found{border-color:var(--green);}
.sm-recipient.error{border-color:var(--red);color:#ff8a8d;}
.sm-rec-h{color:var(--green);font-weight:700;margin-bottom:4px;}
.sm-rec-row{display:flex;justify-content:space-between;gap:10px;}
.sm-rec-row b{color:var(--text);text-align:right;}
.sm-hint{font-size:12px;line-height:1.5;color:var(--text-dim);margin:-2px 0 12px;}
.sm-modal .dm-confirm:disabled{cursor:default;}
.sm-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0 0 14px;padding:14px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:13px;}
.sm-summary dt{color:var(--text-dim);}
.sm-summary dd{margin:0;text-align:right;font-weight:600;color:var(--text);overflow-wrap:anywhere;}
.sm-summary dd small{color:var(--text-faint);font-weight:400;}
.sm-summary .sm-total{border-top:1px solid var(--line);padding-top:8px;color:var(--gold);font-weight:700;}
.sm-actions{display:flex;gap:10px;}
.sm-actions .dm-confirm{flex:1;}
.sm-back{padding:0 18px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-weight:600;cursor:pointer;}
.sm-back:disabled{opacity:.5;}
.sm-done{text-align:center;}
.sm-done-ic{width:56px;height:56px;margin:4px auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;background:rgba(61,220,132,.12);color:var(--green);border:2px solid var(--green);}
.sm-done h4{font-size:18px;margin:0 0 6px;color:var(--gold);}
.sm-done p{font-size:13px;color:var(--text-dim);margin:0 0 14px;overflow-wrap:anywhere;}
.sm-done .sm-summary{text-align:left;}
.sm-hist-list{display:flex;flex-direction:column;}
.sm-hist{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:12.5px;}
.sm-hist span:first-child{min-width:0;overflow-wrap:anywhere;}
.sm-hist small{display:block;color:var(--text-faint);font-size:11px;}
.sm-hist.sent .mono{color:var(--red);white-space:nowrap;}
.sm-hist.received .mono{color:var(--green);white-space:nowrap;}
.sm-muted{font-size:12.5px;color:var(--text-faint);padding:6px 0;}
.sm-spin{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:smspin .7s linear infinite;}
@keyframes smspin{to{transform:rotate(360deg);}}
@media (max-width:640px){
  .modal-overlay.sm-modal{align-items:flex-end;padding:0;}
  .sm-modal .deposit-modal{max-width:none;border-radius:16px 16px 0 0;max-height:92vh;overflow-y:auto;}
  .sm-modal input{font-size:16px;} /* stops iOS zooming into the field */
}

/* ---------- STAFF BET DETAILS (bet-details-client.js; admin.html + support.html) ---------- */
.bd-overlay{display:none;position:fixed;inset:0;z-index:400;background:rgba(5,7,11,0.78);align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;}
.bd-overlay.open{display:flex;}
body.bd-lock{overflow:hidden;}
.bd-modal{width:100%;max-width:860px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6);}
.bd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);border-radius:14px 14px 0 0;z-index:1;}
.bd-head h3{margin:0 0 6px;font-size:17px;}
.bd-idline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.bd-id{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:var(--gold);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:3px 8px;user-select:all;overflow-wrap:anywhere;}
.bd-id-s{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;user-select:all;}
.bd-copied{font-size:12px;color:var(--cyan);}
.bd-body{padding:16px 18px 20px;}
.bd-dl{grid-template-columns:minmax(120px,auto) minmax(0,1fr);}
.bd-dl dd code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;user-select:all;}
.bd-muted{color:var(--text-dim);font-size:12px;}
.bd-nr{color:var(--text-faint);font-style:italic;}
.bd-error{color:var(--red);font-size:14px;}
.bd-review{margin-top:6px;color:var(--gold);font-size:12px;}
.bd-sec{margin:20px 0 10px;font-size:14px;}
.bd-legs{display:grid;gap:12px;}
.bd-leg{border:1px solid var(--line);border-radius:10px;background:var(--ink);padding:12px;}
.bd-leg-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.bd-leg-n{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:var(--text-faint);}
.bd-leg-match{flex:1 1 auto;min-width:0;font-weight:700;font-size:14px;overflow-wrap:anywhere;}
.bd-pick{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;background:rgba(240,180,41,.08);border:1px solid rgba(240,180,41,.35);border-radius:8px;padding:9px 12px;margin-bottom:10px;}
.bd-pick-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);}
.bd-pick-sel{font-size:15px;font-weight:800;color:var(--gold);overflow-wrap:anywhere;}
.bd-pick-odd{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;color:var(--text);}
.bd-pill{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.bd-pill.bd-won,.bd-pill.bd-halfwon{color:var(--green);border-color:var(--green);}
.bd-pill.bd-lost,.bd-pill.bd-halflost{color:#ff6b6b;border-color:#ff6b6b;}
.bd-pill.bd-void{color:var(--text-dim);border-color:var(--text-dim);}
.bd-pill.bd-open,.bd-pill.bd-pending{color:var(--gold);border-color:var(--gold);}
.bd-foot{margin-top:14px;}
.bd-search{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.bd-q{flex:1 1 260px;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--text);font-family:inherit;font-size:13px;}
.bd-search-note{margin-bottom:8px;}
@media (max-width:640px){
  .bd-overlay{padding:0;}
  .bd-modal{border-radius:0;min-height:100%;border:none;}
  .bd-head{border-radius:0;padding:12px 14px;}
  .bd-body{padding:12px 14px 18px;}
  .bd-dl{grid-template-columns:minmax(0,1fr);gap:2px 0;}
  .bd-dl dt{margin-top:8px;}
}

/* Admin: Bets awaiting review -- per-selection WIN/LOSS (admin.html reviewLegHtml) */
.rv-cell{min-width:300px;}
.rv-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;margin-bottom:6px;}
.rv-tally{color:var(--text-faint);font-size:11px;}
.rv-legs{display:flex;flex-direction:column;gap:4px;max-height:420px;overflow-y:auto;}
.rv-leg{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);}
.rv-leg-main{min-width:0;flex:1 1 auto;}
.rv-fix{font-size:12px;font-weight:600;overflow-wrap:anywhere;}
.rv-pick{font-size:12px;overflow-wrap:anywhere;}
.rv-sub,.rv-why{font-size:11px;color:var(--text-faint);overflow-wrap:anywhere;}
.rv-badge{flex:0 0 auto;display:inline-block;font-size:10px;font-weight:700;line-height:1.3;padding:2px 7px;border-radius:10px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;}
.rv-badge.won{background:rgba(34,197,94,0.14);color:#4ade80;border-color:rgba(74,222,128,0.35);}
.rv-badge.lost{background:rgba(229,72,77,0.14);color:var(--red);border-color:rgba(229,72,77,0.35);}
.rv-badge.void,.rv-badge.pending{background:rgba(150,150,160,0.14);color:var(--text-dim);border-color:var(--line);}
@media (max-width:640px){
  .rv-cell{min-width:230px;}
  .rv-leg{flex-direction:column;gap:3px;}
  .rv-leg .rv-badge{order:-1;align-self:flex-start;}
}

/* Sportsbook Cash Out (My Bets) */
.status-pill.cashed_out{background:rgba(240,180,41,0.12);color:var(--gold);}
.co-box{margin:8px 0 4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}
.co-box.off{color:var(--text-dim);}
.co-box.done{color:var(--gold);display:block;}
.co-box.off{display:block;}
.co-row{flex:1 1 100%;color:var(--text-dim);}
.co-btn{background:var(--gold);color:#111;border:0;border-radius:8px;padding:8px 14px;font-weight:700;font-family:inherit;font-size:13px;cursor:pointer;}
.co-btn:disabled{opacity:.6;cursor:wait;}
.co-note{color:var(--text-dim);font-size:11px;}

/* ---------- ADMIN "BETS AWAITING REVIEW": Win / Confirm result / Refund (admin.html) ---------- */
.rv-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:150px;}
.rv-actions .admin-mini-btn{white-space:nowrap;}
.rv-actions .rv-win{color:var(--cyan);border-color:var(--cyan);font-weight:700;}
.win-modal{max-width:520px !important;}
.wb-block{background:#241416;border:1px solid #4a2226;color:#ff9a9a;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px;line-height:1.5;}
.wb-block p{margin:0 0 6px;}.wb-block p:last-child{margin:0;}
.wb-sub{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.06em;margin:16px 0 8px;}
.wb-legs{list-style:decimal;margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:8px;}
.wb-leg{font-size:13px;color:var(--text);}
.wb-leg-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;}
.wb-sel{overflow-wrap:anywhere;}
.wb-res{flex:0 0 auto;font-size:11px;font-weight:800;padding:2px 7px;border-radius:5px;border:1px solid currentColor;}
.wb-won{color:var(--cyan);}.wb-lost{color:var(--red);}.wb-void{color:var(--text-dim);}.wb-pending{color:var(--gold, #e7b84a);}
.wb-note{font-size:12px;color:var(--text-faint);margin-top:2px;}
.wb-check{font-size:12px;color:var(--gold, #e7b84a);margin-top:2px;}
.wb-pay{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding:12px 14px;border:1px solid var(--cyan);border-radius:8px;}
.wb-pay span{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;font-weight:700;}
.wb-pay b{font-size:20px;color:var(--cyan);}
.wb-warn{font-size:13px;line-height:1.5;color:#ff9a9a;margin:12px 0;}
@media (max-width:640px){ .rv-actions{min-width:0;} .rv-actions .admin-mini-btn{flex:1 1 auto;text-align:center;} .wb-leg-top{flex-direction:column;gap:4px;} }
