/* =========================================================
   FOOTBALL-STYLE BETSLIP CLONE
   Purple / Lime Mobile Bottom Sheet
========================================================= */

:root{
  --nx-slip-bg:#08051f;
  --nx-slip-bg-2:#0f0b2f;
  --nx-slip-bg-3:#17123d;
  --nx-slip-bg-4:#272255;
  --nx-slip-bg-5:#373267;
  --nx-slip-tab:#383447;
  --nx-slip-top:#29245a;

  --nx-slip-text:#ffffff;
  --nx-slip-muted:rgba(255,255,255,.62);
  --nx-slip-soft:rgba(255,255,255,.44);
  --nx-slip-faint:rgba(255,255,255,.25);

  --nx-slip-line:rgba(142,132,204,.32);
  --nx-slip-line-soft:rgba(255,255,255,.08);

  --nx-slip-lime:#92ff00;
  --nx-slip-lime-2:#b8ff1a;
  --nx-slip-lime-dark:#151f00;

  --nx-slip-purple:#463990;
  --nx-slip-purple-2:#5546a4;

  --nx-slip-red:#ff3b4f;
  --nx-slip-shadow:0 -18px 42px rgba(0,0,0,.48);

  --nx-slip-safe-bottom:env(safe-area-inset-bottom, 0px);
}

/* =========================================================
   FLOATING BETSLIP BUTTON
========================================================= */

#sporty-betslip{
  position:fixed;
  right:8px;
  bottom:92px;
  z-index:9998;
  width:70px;
  height:70px;
  border-radius:999px;
  background:linear-gradient(145deg,#5b45d8 0%,#3f319e 100%);
  color:var(--nx-slip-lime);
  box-shadow:0 18px 34px rgba(0,0,0,.36);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .16s ease, box-shadow .16s ease;
}

#sporty-betslip:active{
  transform:scale(.96);
}

.nx-slip-fab-inner{
  width:100%;
  height:100%;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

#sporty-betslip-count{
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--nx-slip-lime);
  color:#162500;
  display:none;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(146,255,0,.28);
}

#sporty-betslip-label{
  color:var(--nx-slip-lime);
  font-size:11px;
  line-height:1.1;
  font-weight:1000;
}

#sporty-betslip.has-slip #sporty-betslip-count{
  display:flex;
}

#sporty-betslip.has-slip #sporty-betslip-label{
  display:none;
}

#sporty-betslip.is-empty #sporty-betslip-count{
  display:none;
}

#sporty-betslip.is-empty #sporty-betslip-label{
  display:block;
}

/* =========================================================
   MAIN OVERLAY / PANEL
========================================================= */

#betslip-overlay{
  position:fixed;
  inset:0;
  z-index:9997;
  display:none;
  background:rgba(0,0,0,.62);
  opacity:0;
  transition:opacity .18s ease;
}

#betslip-overlay.show{
  display:block;
  opacity:1;
}

#betslip-panel{
  position:fixed;
  left:50%;
  bottom:0;
  z-index:9999;
  width:min(480px, 100vw);
  height:min(88dvh, 760px);
  max-height:88vh;
  background:var(--nx-slip-bg);
  color:var(--nx-slip-text);
  box-shadow:var(--nx-slip-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transform:translate(-50%, 105%);
  opacity:1;
  pointer-events:none;
  transition:transform .26s ease;
  border-radius:18px 18px 0 0;
  font-family:Arial, Helvetica, sans-serif;
}

#betslip-panel.open{
  transform:translate(-50%, 0);
  pointer-events:auto;
}

#betslip-panel *,
#betslip-panel *::before,
#betslip-panel *::after{
  box-sizing:border-box;
}

/* =========================================================
   TOP BAR
========================================================= */

.nx-slip-topbar{
  flex:0 0 auto;
  min-height:96px;
  padding:28px 22px 14px;
  background:var(--nx-slip-top);
  display:grid;
  grid-template-columns:1fr 42px 1fr;
  align-items:center;
  gap:10px;
  border-bottom:1px solid rgba(0,0,0,.28);
}

.nx-slip-top-left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.nx-slip-count-pill{
  width:38px;
  height:38px;
  border-radius:999px;
  background:var(--nx-slip-lime);
  color:#172600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  font-size:16px;
  font-weight:1000;
  line-height:1;
}

.nx-slip-real-switch{
  height:40px;
  padding:3px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.38);
  display:inline-flex;
  align-items:center;
  background:rgba(0,0,0,.05);
  overflow:hidden;
}

.nx-slip-real-btn{
  height:32px;
  min-width:62px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(255,255,255,.58);
  font-size:14px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
}

.nx-slip-real-btn.active{
  background:var(--nx-slip-lime);
  color:#182500;
}

.nx-slip-real-btn:disabled{
  cursor:not-allowed;
  opacity:.85;
}

.nx-slip-collapse{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.nx-slip-collapse svg{
  width:34px;
  height:34px;
  fill:currentColor;
}

.nx-slip-top-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
}

.nx-slip-wallet{
  color:#ffef31;
  font-size:20px;
  font-weight:1000;
  white-space:nowrap;
}

.nx-slip-auth-links{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.nx-slip-auth-links a{
  color:#fff;
  text-decoration:none;
}

/* =========================================================
   REMOVE / SETTINGS
========================================================= */

.nx-slip-control-row{
  flex:0 0 auto;
  min-height:58px;
  padding:0 22px 10px;
  background:var(--nx-slip-top);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.nx-slip-control-btn{
  min-height:42px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.88);
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0;
  font-size:18px;
  font-weight:500;
  cursor:pointer;
}

.nx-slip-control-btn svg{
  width:22px;
  height:22px;
  fill:currentColor;
  flex:0 0 auto;
}

.nx-slip-control-btn--right{
  margin-left:auto;
}

/* =========================================================
   SINGLE / MULTIPLE / SYSTEM TABS
========================================================= */

.nx-slip-tabs{
  flex:0 0 auto;
  background:var(--nx-slip-top);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:4px;
  padding:0 6px;
}

.nx-slip-tab-btn{
  height:72px;
  border:0;
  border-radius:7px 7px 0 0;
  background:var(--nx-slip-tab);
  color:#fff;
  font-size:22px;
  font-weight:1000;
  cursor:pointer;
}

.nx-slip-tab-btn.active{
  background:#090620;
  color:#fff;
}

/* =========================================================
   BODY / SELECTED ITEMS
========================================================= */

.nx-slip-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  background:#08051f;
  padding:0 22px 12px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.55) transparent;
}

.nx-slip-body::-webkit-scrollbar{
  width:4px;
}

.nx-slip-body::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.55);
  border-radius:999px;
}

.nx-slip-item{
  background:#08051f;
  border-bottom:1px solid rgba(126,116,184,.35);
  padding:14px 0 12px;
  margin:0;
  border-radius:0;
}

.nx-slip-item-top{
  display:flex;
  align-items:flex-start;
  gap:12px;
}

.nx-slip-remove{
  width:30px;
  height:42px;
  flex:0 0 30px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.62);
  font-size:42px;
  line-height:.8;
  font-weight:300;
  padding:0;
  cursor:pointer;
}

.nx-slip-item-main{
  min-width:0;
  flex:1;
}

.nx-slip-item-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}

.nx-slip-market-name{
  min-width:0;
  color:#fff;
  font-size:21px;
  line-height:1.2;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nx-slip-ball{
  margin-right:7px;
  font-size:18px;
}

.nx-slip-item-odd{
  color:#fff;
  font-size:22px;
  line-height:1.1;
  font-weight:700;
  min-width:48px;
  text-align:right;
}

.nx-slip-match-name{
  margin-top:4px;
  color:#fff;
  font-size:20px;
  line-height:1.25;
  font-weight:400;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nx-slip-item-meta{
  margin-top:5px;
  color:rgba(255,255,255,.78);
  font-size:20px;
  line-height:1.2;
  font-weight:400;
  display:flex;
  align-items:center;
  gap:9px;
  text-transform:none;
  letter-spacing:0;
}

.nx-slip-checkbox{
  width:24px;
  height:24px;
  border:3px solid var(--nx-slip-lime);
  border-radius:3px;
  display:inline-block;
  flex:0 0 24px;
}

.nx-slip-2up{
  height:24px;
  min-width:64px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.32);
  color:rgba(255,255,255,.62);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  font-size:15px;
  font-weight:1000;
  font-style:italic;
}

.nx-slip-help{
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(255,255,255,.65);
  color:#0d0a24;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:1000;
}

.nx-slip-single-wrap{
  margin-top:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:14px;
  align-items:center;
}

.nx-slip-single-input{
  width:100%;
  height:44px;
  border:2px solid rgba(255,255,255,.38);
  border-radius:5px;
  background:#0d0929;
  color:#fff;
  padding:0 14px;
  font-size:20px;
  font-weight:700;
  text-align:right;
  outline:none;
}

.nx-slip-single-input::placeholder{
  color:rgba(255,255,255,.48);
}

.nx-slip-single-win{
  text-align:right;
}

.nx-slip-single-win span{
  display:block;
  color:rgba(255,255,255,.48);
  font-size:12px;
  font-weight:700;
}

.nx-slip-single-win strong{
  display:block;
  color:#fff;
  font-size:14px;
  font-weight:1000;
}

/* =========================================================
   MULTI MAKER / BRAND / PEOPLE
========================================================= */

.nx-slip-multimaker{
  flex:0 0 auto;
  background:#08051f;
  padding:10px 22px;
}

.nx-slip-multimaker-btn{
  width:100%;
  height:58px;
  border:3px solid var(--nx-slip-lime);
  background:transparent;
  color:var(--nx-slip-lime);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:22px;
  font-weight:400;
  cursor:pointer;
}

.nx-slip-multimaker-btn svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

.nx-slip-brand-divider{
  flex:0 0 auto;
  padding:2px 22px 6px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  background:#08051f;
}

.nx-slip-brand-divider > span{
  height:3px;
  background:rgba(126,116,184,.36);
}

.nx-slip-brand-divider strong{
  color:rgba(255,255,255,.7);
  font-size:12px;
  letter-spacing:8px;
  font-weight:1000;
}

.nx-slip-brand-divider strong span{
  color:var(--nx-slip-lime);
}

.nx-slip-people{
  flex:0 0 auto;
  background:#08051f;
  border-bottom:1px solid rgba(126,116,184,.32);
}

.nx-slip-people-btn{
  width:100%;
  min-height:66px;
  border:0;
  background:transparent;
  color:#fff;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:0 22px;
  cursor:pointer;
}

.nx-slip-people-icon{
  font-size:26px;
}

.nx-slip-people-btn strong{
  font-size:22px;
  font-weight:800;
  text-align:left;
}

.nx-slip-people-btn svg{
  width:32px;
  height:32px;
  fill:#fff;
}

/* Hide selected-slip-only sections when empty view is active */
#betslip-body[style*="display: none"] ~ .nx-slip-multimaker,
#betslip-body[style*="display: none"] ~ .nx-slip-brand-divider,
#betslip-body[style*="display: none"] ~ .nx-slip-people{
  display:none;
}

/* =========================================================
   EMPTY / LOAD CODE SCREEN
========================================================= */

.nx-slip-empty-view{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  background:#08051f;
  color:#fff;
  padding:0 22px 24px;
}

.nx-slip-empty-tabs{
  margin:0 -22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(0,0,0,.28);
  border-bottom:1px solid rgba(0,0,0,.35);
}

.nx-slip-empty-tab{
  height:64px;
  border:0;
  border-right:2px solid #08051f;
  background:#4a416f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:25px;
  font-weight:1000;
  cursor:pointer;
}

.nx-slip-empty-tab svg{
  width:28px;
  height:28px;
  fill:currentColor;
}

.nx-slip-empty-content{
  padding-top:30px;
}

.nx-slip-empty-title{
  color:#fff;
  font-size:22px;
  font-weight:1000;
  margin-bottom:24px;
}

.nx-slip-load-card{
  background:#282445;
  border-radius:16px;
  padding:12px;
  margin-bottom:44px;
}

.nx-slip-load-wrap{
  min-height:64px;
  background:#0c0829;
  border-radius:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px;
}

#bookingCodeInput{
  width:100%;
  height:48px;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  padding:0 12px;
  font-size:24px;
  font-weight:400;
  text-transform:uppercase;
}

#bookingCodeInput::placeholder{
  color:rgba(255,255,255,.48);
  opacity:1;
  text-transform:none;
}

.nx-slip-load-btn{
  height:48px;
  min-width:124px;
  border:0;
  border-radius:4px;
  background:#4c4863;
  color:rgba(255,255,255,.58);
  padding:0 16px;
  font-size:19px;
  font-weight:500;
  cursor:pointer;
}

.nx-slip-load-btn:not(:disabled):active{
  transform:scale(.98);
}

.nx-slip-load-note{
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.25;
}

.nx-slip-recommended-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.nx-slip-recommended-head span{
  font-size:22px;
  font-weight:1000;
}

.nx-slip-refresh-btn{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:var(--nx-slip-lime);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.nx-slip-refresh-btn svg{
  width:38px;
  height:38px;
  fill:currentColor;
}

.nx-slip-recommended-card{
  min-height:360px;
  border-radius:14px;
  background:#1d1a33;
  overflow:hidden;
  position:relative;
}

.nx-slip-rec-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
  padding:24px 18px 0;
}

.nx-slip-rec-icon{
  font-size:32px;
  line-height:1;
}

.nx-slip-rec-main{
  min-width:0;
}

.nx-slip-rec-main strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  font-weight:1000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nx-slip-rec-main strong span{
  color:rgba(255,255,255,.46);
  font-weight:600;
}

.nx-slip-rec-main small{
  display:block;
  color:rgba(255,255,255,.78);
  margin-top:4px;
  font-size:16px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nx-slip-rec-row time{
  color:#fff;
  font-size:15px;
  line-height:1.3;
  white-space:nowrap;
  margin-top:28px;
}

.nx-slip-rec-bottom{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  min-height:78px;
  background:#463990;
  padding:26px 18px 8px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px 14px;
  align-items:end;
}

.nx-slip-rec-bets{
  position:absolute;
  left:0;
  top:-38px;
  min-width:210px;
  height:46px;
  border-radius:0 999px 999px 0;
  background:#4f458f;
  color:rgba(255,255,255,.45);
  display:flex;
  align-items:center;
  gap:6px;
  padding-left:18px;
  font-size:20px;
}

.nx-slip-rec-bets strong{
  color:#fff;
}

.nx-slip-rec-meta{
  display:flex;
  align-items:center;
  gap:20px;
  color:rgba(255,255,255,.45);
  font-size:16px;
}

.nx-slip-rec-meta strong{
  color:#fff;
  font-size:22px;
}

.nx-slip-rec-actions{
  grid-row:1 / span 2;
  grid-column:2;
  display:flex;
  align-items:center;
  gap:10px;
}

.nx-slip-rec-actions button{
  width:44px;
  height:44px;
  border:2px solid rgba(255,255,255,.35);
  border-radius:4px;
  background:transparent;
  color:var(--nx-slip-lime);
  font-size:24px;
  font-weight:1000;
  cursor:pointer;
}

.nx-slip-rec-actions .nx-slip-rec-add{
  background:var(--nx-slip-lime);
  color:#111;
  border-color:var(--nx-slip-lime);
}

.nx-slip-rec-pager{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  margin-top:18px;
  color:#fff;
}

.nx-slip-rec-pager button{
  border:0;
  background:transparent;
  color:var(--nx-slip-lime);
  font-size:20px;
  font-weight:900;
  cursor:pointer;
}

.nx-slip-rec-pager button:first-child{
  text-align:left;
}

.nx-slip-rec-pager button:last-child{
  text-align:right;
}

.nx-slip-rec-pager span{
  font-size:20px;
  font-weight:800;
}

/* =========================================================
   FOOTER
========================================================= */

.nx-slip-footer{
  flex:0 0 auto;
  background:#08051f;
  border-top:1px solid rgba(126,116,184,.42);
  padding:0 22px calc(0px + var(--nx-slip-safe-bottom));
}

.nx-slip-boost{
  height:30px;
  margin:0 -22px;
  background:rgba(79,130,20,.58);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  font-size:16px;
  font-weight:800;
}

.nx-slip-boost span{
  position:absolute;
  left:0;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#61b80d;
}

.nx-slip-stake-row{
  min-height:76px;
  border-bottom:1px solid rgba(126,116,184,.42);
  display:grid;
  grid-template-columns:minmax(0,1fr) 216px;
  align-items:center;
  gap:14px;
}

.nx-slip-stake-label{
  color:#fff;
  font-size:22px;
  font-weight:500;
}

.nx-slip-stake-box{
  height:50px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
}

.nx-slip-stake-currency{
  color:#fff;
  font-size:22px;
  font-weight:700;
}

#stakeInput{
  width:100%;
  height:50px;
  border:2px solid rgba(255,255,255,.42);
  border-radius:5px;
  background:#0b0826;
  color:#fff;
  padding:0 14px;
  font-size:22px;
  font-weight:700;
  text-align:right;
  outline:none;
}

#stakeInput::placeholder{
  color:rgba(255,255,255,.48);
}

.nx-slip-single-note{
  color:rgba(255,255,255,.58);
  font-size:14px;
  font-weight:700;
  padding:10px 0;
}

.nx-slip-reward-row{
  min-height:76px;
  border-bottom:1px solid rgba(126,116,184,.42);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

.nx-slip-reward-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.45);
  font-size:18px;
  white-space:nowrap;
  overflow:hidden;
}

.nx-slip-gift{
  font-size:28px;
}

.nx-slip-reward-left strong{
  color:rgba(255,255,255,.45);
  font-weight:900;
}

.nx-slip-reward-left span:not(.nx-slip-gift){
  color:#fff;
  font-weight:700;
}

.nx-slip-reward-left a{
  color:var(--nx-slip-lime);
  font-weight:1000;
  text-decoration:underline;
  text-underline-offset:2px;
}

.nx-slip-toggle{
  width:60px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#343149;
  padding:3px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  cursor:pointer;
}

.nx-slip-toggle span{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#a7a7b0;
}

.nx-slip-feature-row{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.nx-slip-insure{
  height:32px;
  min-width:124px;
  margin-left:-22px;
  padding:0 18px 0 22px;
  background:var(--nx-slip-lime);
  color:#122000;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:22px;
  font-weight:1000;
  clip-path:polygon(0 0,100% 0,86% 100%,0% 100%);
}

.nx-slip-insure span{
  width:20px;
  height:20px;
  border-radius:999px;
  background:#244000;
  color:var(--nx-slip-lime);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:1000;
}

.nx-slip-earlywin{
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  cursor:pointer;
}

.nx-slip-earlywin input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.nx-slip-earlywin > span{
  width:28px;
  height:28px;
  border:3px solid var(--nx-slip-lime);
  border-radius:4px;
  display:inline-block;
}

.nx-slip-earlywin input:checked + span{
  background:var(--nx-slip-lime);
  box-shadow:inset 0 0 0 4px #08051f;
}

.nx-slip-earlywin strong{
  font-size:22px;
  font-weight:1000;
}

.nx-slip-earlywin small{
  color:var(--nx-slip-lime);
  font-size:15px;
}

.nx-slip-summary-list{
  padding:10px 0 0;
}

.nx-slip-summary-line{
  min-height:48px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
}

.nx-slip-summary-line span{
  color:#fff;
  font-size:22px;
  font-weight:500;
}

.nx-slip-summary-line strong{
  color:#fff;
  font-size:22px;
  font-weight:600;
}

.nx-slip-potential{
  min-height:58px;
  margin:8px -10px 12px;
  padding:0 10px;
  background:rgba(255,255,255,.06);
}

.nx-slip-potential span,
.nx-slip-potential strong{
  font-size:24px;
  font-weight:1000;
}

.nx-slip-total-stake-hidden{
  display:none;
}

.nx-slip-action-row{
  display:grid;
  grid-template-columns:1fr 2fr;
  margin:0 -22px;
  height:74px;
}

.nx-slip-action-btn{
  border:0;
  border-radius:0;
  cursor:pointer;
  font-family:inherit;
  font-size:23px;
  font-weight:700;
}

.nx-slip-action-btn--ghost{
  background:#79cd00;
  color:#132000;
}

.nx-slip-action-btn--primary{
  background:var(--nx-slip-lime);
  color:#132000;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
}

.nx-slip-action-btn--primary span{
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:1000;
}

.nx-slip-action-btn--primary small{
  display:block;
  font-size:16px;
  line-height:1.1;
  font-weight:500;
}

.nx-slip-action-btn:disabled{
  opacity:.72;
  cursor:not-allowed;
}

/* =========================================================
   BOOKING CODE BOTTOM SHEET
========================================================= */

.nx-booking-overlay,
.nx-success-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  background:rgba(0,0,0,.66);
  opacity:0;
  transition:opacity .18s ease;
}

.nx-booking-overlay.show,
.nx-success-overlay.show{
  display:block;
  opacity:1;
}

.nx-booking-modal,
.nx-success-modal{
  position:fixed;
  left:50%;
  bottom:0;
  z-index:10001;
  width:min(480px, 100vw);
  max-height:88dvh;
  background:#08051f;
  color:#fff;
  transform:translate(-50%, 105%);
  opacity:1;
  pointer-events:none;
  transition:transform .26s ease;
  border-radius:0;
  box-shadow:var(--nx-slip-shadow);
  font-family:Arial, Helvetica, sans-serif;
}

.nx-booking-modal.open,
.nx-success-modal.open{
  transform:translate(-50%, 0);
  pointer-events:auto;
}

.nx-booking-sheet{
  padding:34px 26px calc(24px + var(--nx-slip-safe-bottom));
  background:#08051f;
}

.nx-booking-title{
  text-align:center;
  font-size:18px;
  font-weight:1000;
  margin-bottom:14px;
}

.nx-booking-code-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-bottom:14px;
}

.nx-booking-code-row strong{
  font-size:42px;
  line-height:1;
  letter-spacing:1px;
  font-weight:1000;
}

.nx-booking-copy{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.nx-booking-copy svg{
  width:30px;
  height:30px;
  fill:currentColor;
}

.nx-booking-meta{
  text-align:center;
  color:rgba(255,255,255,.48);
  font-size:16px;
  min-height:22px;
  margin-bottom:26px;
}

.nx-booking-ticket-preview{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:34px;
}

.nx-booking-mini-card{
  width:110px;
  min-height:140px;
  background:#17123d;
  border:1px solid rgba(255,255,255,.12);
  border-radius:2px;
  overflow:hidden;
  transform:scale(.88);
}

.nx-booking-mini-head{
  height:24px;
  background:#40337d;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5px;
  font-size:5px;
  font-weight:1000;
}

.nx-booking-mini-body{
  padding:10px 6px;
  text-align:center;
}

.nx-booking-mini-body span{
  color:rgba(255,255,255,.7);
  font-size:7px;
}

.nx-booking-mini-body strong{
  display:block;
  color:var(--nx-slip-lime);
  font-size:15px;
  margin:6px 0;
}

.nx-booking-mini-body small{
  display:block;
  color:rgba(255,255,255,.48);
  font-size:6px;
  line-height:1.3;
}

.nx-booking-personal,
.nx-success-personal{
  min-height:72px;
  border-bottom:1px solid rgba(126,116,184,.42);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.nx-booking-personal span,
.nx-success-personal span{
  color:#fff;
  font-size:25px;
  font-weight:400;
}

.nx-booking-personal button,
.nx-success-personal button{
  border:0;
  background:transparent;
  color:var(--nx-slip-lime);
  font-size:22px;
  font-weight:500;
  cursor:pointer;
}

.nx-booking-share-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  padding-top:44px;
}

.nx-booking-share-row button{
  border:0;
  background:transparent;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  cursor:pointer;
  min-width:0;
}

.nx-booking-share-row span{
  width:52px;
  height:52px;
  border-radius:999px;
  background:#fff;
  color:#0b0826;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:1000;
}

.nx-booking-share-row small{
  color:#fff;
  font-size:16px;
  line-height:1.2;
  text-align:center;
}

/* =========================================================
   SUCCESS BOTTOM SHEET
========================================================= */

.nx-success-sheet{
  padding:58px 26px 0;
  background:#08051f;
  min-height:70dvh;
}

.nx-success-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-bottom:42px;
}

.nx-success-title-wrap{
  display:flex;
  align-items:center;
  gap:16px;
}

.nx-success-icon{
  width:32px;
  height:32px;
  border-radius:999px;
  background:var(--nx-slip-lime);
  color:#152300;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:1000;
  flex:0 0 32px;
}

.nx-success-title-wrap strong{
  color:#fff;
  font-size:33px;
  line-height:1;
  font-weight:1000;
}

.nx-success-refresh{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.nx-success-refresh svg{
  width:30px;
  height:30px;
  fill:currentColor;
}

.nx-success-message{
  display:none;
}

.nx-success-brand{
  margin-bottom:28px;
}

.nx-success-lines{
  border-bottom:1px solid rgba(126,116,184,.42);
  padding-bottom:22px;
}

.nx-success-lines > div{
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.nx-success-lines span{
  color:rgba(255,255,255,.42);
  font-size:22px;
  font-weight:500;
}

.nx-success-lines span small{
  width:20px;
  height:20px;
  margin-left:4px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:#0b0826;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:1000;
}

.nx-success-lines strong{
  color:#fff;
  font-size:22px;
  font-weight:1000;
}

.nx-success-code{
  display:flex;
  align-items:center;
  gap:9px;
}

.nx-success-code svg{
  width:26px;
  height:26px;
  fill:rgba(255,255,255,.62);
}

.nx-success-open-bets{
  min-height:72px;
  color:var(--nx-slip-lime);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:21px;
  font-weight:500;
}

.nx-success-open-bets span{
  font-size:40px;
  line-height:1;
}

.nx-success-you-might{
  min-height:88px;
  border-top:1px solid rgba(255,255,255,.55);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.nx-success-you-might strong{
  font-size:28px;
  font-weight:1000;
}

.nx-success-you-might span{
  font-size:42px;
  line-height:1;
}

.nx-success-promo{
  height:76px;
  margin:84px -26px 0;
  background:#4f3ec4;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:0 20px;
}

.nx-success-promo span{
  position:absolute;
  top:-36px;
  width:74px;
  height:74px;
  border-radius:999px;
  background:#37258c;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
}

.nx-success-promo p{
  margin:0;
  color:#fff;
  font-size:20px;
  text-align:center;
}

.nx-success-promo a{
  color:var(--nx-slip-lime);
  font-weight:1000;
  text-decoration:underline;
}

.nx-success-actions{
  height:84px;
  margin:0 -26px;
  display:grid;
  grid-template-columns:1fr 2fr;
  padding-bottom:var(--nx-slip-safe-bottom);
  background:var(--nx-slip-lime);
}

.nx-success-action{
  border:0;
  font-size:21px;
  font-weight:500;
  cursor:pointer;
}

.nx-success-action--ghost{
  background:#7ed000;
  color:#122000;
}

.nx-success-action--primary{
  background:var(--nx-slip-lime);
  color:#122000;
}

/* =========================================================
   SELECTED ODD BUTTONS OUTSIDE BETSLIP
========================================================= */

.odd-box{
  transition:background-color .15s ease, color .15s ease, transform .1s ease, box-shadow .15s ease;
}

.odd-box:active{
  transform:scale(.97);
}

.live-section .odd-box.selected,
.live-section.upcoming .odd-box.selected,
.odd-box.selected,
.odd-box.is-selected,
.odd-box.active,
.odd-box.in-slip{
  background:var(--nx-slip-lime) !important;
  color:#20284a !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(146,255,0,.18) !important;
}

.odd-box.selected span,
.odd-box.is-selected span,
.odd-box.active span,
.odd-box.in-slip span{
  color:#20284a !important;
  font-weight:1000 !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (min-width:769px){
  #betslip-panel{
    border-radius:20px 20px 0 0;
  }

  .nx-booking-modal,
  .nx-success-modal{
    border-radius:20px 20px 0 0;
  }
}

@media (max-width:520px){
  #betslip-panel,
  .nx-booking-modal,
  .nx-success-modal{
    width:100vw;
  }

  .nx-slip-topbar{
    min-height:92px;
    padding:24px 18px 12px;
  }

  .nx-slip-wallet{
    font-size:18px;
  }

  .nx-slip-control-row{
    padding:0 18px 10px;
  }

  .nx-slip-control-btn{
    font-size:17px;
  }

  .nx-slip-tab-btn{
    height:68px;
    font-size:21px;
  }

  .nx-slip-body,
  .nx-slip-empty-view{
    padding-left:18px;
    padding-right:18px;
  }

  .nx-slip-empty-tabs{
    margin-left:-18px;
    margin-right:-18px;
  }

  .nx-slip-market-name,
  .nx-slip-match-name,
  .nx-slip-item-meta{
    font-size:19px;
  }

  .nx-slip-item-odd{
    font-size:21px;
  }

  .nx-slip-multimaker{
    padding-left:18px;
    padding-right:18px;
  }

  .nx-slip-multimaker-btn{
    font-size:21px;
  }

  .nx-slip-brand-divider{
    padding-left:18px;
    padding-right:18px;
    gap:18px;
  }

  .nx-slip-people-btn{
    padding-left:18px;
    padding-right:18px;
  }

  .nx-slip-footer{
    padding-left:18px;
    padding-right:18px;
  }

  .nx-slip-boost,
  .nx-slip-action-row{
    margin-left:-18px;
    margin-right:-18px;
  }

  .nx-slip-stake-row{
    grid-template-columns:minmax(0,1fr) 190px;
  }

  .nx-slip-stake-label,
  .nx-slip-stake-currency,
  #stakeInput,
  .nx-slip-summary-line span,
  .nx-slip-summary-line strong{
    font-size:20px;
  }

  .nx-slip-reward-left{
    font-size:16px;
  }

  .nx-slip-potential span,
  .nx-slip-potential strong{
    font-size:22px;
  }

  .nx-booking-sheet,
  .nx-success-sheet{
    padding-left:22px;
    padding-right:22px;
  }

  .nx-success-promo,
  .nx-success-actions{
    margin-left:-22px;
    margin-right:-22px;
  }
}

@media (max-width:390px){
  #sporty-betslip{
    width:64px;
    height:64px;
    bottom:86px;
  }

  .nx-slip-topbar{
    grid-template-columns:1fr 34px 1fr;
    padding-left:14px;
    padding-right:14px;
  }

  .nx-slip-count-pill{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .nx-slip-real-switch{
    height:36px;
  }

  .nx-slip-real-btn{
    min-width:52px;
    height:28px;
    padding:0 10px;
    font-size:13px;
  }

  .nx-slip-wallet{
    font-size:16px;
  }

  .nx-slip-tab-btn{
    height:62px;
    font-size:19px;
  }

  .nx-slip-control-btn{
    font-size:15px;
  }

  .nx-slip-body,
  .nx-slip-empty-view{
    padding-left:14px;
    padding-right:14px;
  }

  .nx-slip-empty-tabs{
    margin-left:-14px;
    margin-right:-14px;
  }

  .nx-slip-empty-tab{
    font-size:20px;
  }

  .nx-slip-market-name,
  .nx-slip-match-name,
  .nx-slip-item-meta{
    font-size:17px;
  }

  .nx-slip-item-odd{
    font-size:19px;
  }

  .nx-slip-single-wrap{
    grid-template-columns:1fr;
  }

  .nx-slip-multimaker{
    padding-left:14px;
    padding-right:14px;
  }

  .nx-slip-multimaker-btn{
    height:54px;
    font-size:18px;
  }

  .nx-slip-brand-divider{
    padding-left:14px;
    padding-right:14px;
    gap:12px;
  }

  .nx-slip-brand-divider strong{
    font-size:10px;
    letter-spacing:5px;
  }

  .nx-slip-people-btn{
    padding-left:14px;
    padding-right:14px;
  }

  .nx-slip-people-btn strong{
    font-size:19px;
  }

  .nx-slip-footer{
    padding-left:14px;
    padding-right:14px;
  }

  .nx-slip-boost,
  .nx-slip-action-row{
    margin-left:-14px;
    margin-right:-14px;
  }

  .nx-slip-stake-row{
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 0;
  }

  .nx-slip-stake-box{
    width:100%;
    grid-template-columns:auto 1fr;
  }

  .nx-slip-reward-row{
    grid-template-columns:1fr;
    padding:10px 0;
  }

  .nx-slip-toggle{
    justify-self:end;
  }

  .nx-slip-reward-left{
    flex-wrap:wrap;
    white-space:normal;
  }

  .nx-slip-feature-row{
    flex-wrap:wrap;
  }

  .nx-slip-action-btn--primary span{
    font-size:24px;
  }

  .nx-slip-action-btn--primary small{
    font-size:14px;
  }

  .nx-booking-code-row strong{
    font-size:36px;
  }

  .nx-booking-share-row small{
    font-size:13px;
  }

  .nx-booking-share-row span{
    width:46px;
    height:46px;
  }

  .nx-success-title-wrap strong{
    font-size:27px;
  }

  .nx-success-lines span,
  .nx-success-lines strong{
    font-size:19px;
  }

  .nx-success-you-might strong{
    font-size:24px;
  }
}
/* =========================================================
   COMPACT FULL-WIDTH OVERRIDES
   Add this at the VERY BOTTOM of /assets/css/betslip.css
========================================================= */

/* Full width bottom sheet */
#betslip-panel{
  left:0;
  right:0;
  width:100vw;
  max-width:none;
  transform:translateY(105%);
}

#betslip-panel.open{
  transform:translateY(0);
}

/* Full width booking/success sheets */
.nx-booking-modal,
.nx-success-modal{
  left:0;
  right:0;
  width:100vw;
  max-width:none;
  transform:translateY(105%);
}

.nx-booking-modal.open,
.nx-success-modal.open{
  transform:translateY(0);
}

/* Make the whole betslip less tall/chunky */
#betslip-panel{
  height:min(84dvh, 720px);
}

/* Top area smaller */
.nx-slip-topbar{
  min-height:70px;
  padding:16px 14px 8px;
}

.nx-slip-control-row{
  min-height:42px;
  padding:0 14px 8px;
}

.nx-slip-tabs{
  padding:0 4px;
}

.nx-slip-tab-btn{
  height:48px;
  font-size:15px;
}

/* REAL / SIM smaller */
.nx-slip-count-pill{
  width:30px;
  height:30px;
  flex-basis:30px;
  font-size:13px;
}

.nx-slip-real-switch{
  height:32px;
  border-width:1px;
}

.nx-slip-real-btn{
  height:26px;
  min-width:48px;
  padding:0 9px;
  font-size:11px;
}

/* Wallet / header icons smaller */
.nx-slip-wallet{
  font-size:13px;
}

.nx-slip-collapse{
  width:32px;
  height:32px;
}

.nx-slip-collapse svg{
  width:26px;
  height:26px;
}

.nx-slip-control-btn{
  font-size:13px;
  gap:6px;
}

.nx-slip-control-btn svg{
  width:17px;
  height:17px;
}

/* Body spacing smaller */
.nx-slip-body,
.nx-slip-empty-view{
  padding-left:14px;
  padding-right:14px;
}

.nx-slip-item{
  padding:10px 0;
}

.nx-slip-item-top{
  gap:8px;
}

.nx-slip-remove{
  width:22px;
  height:30px;
  flex-basis:22px;
  font-size:28px;
}

/* Selection text smaller */
.nx-slip-market-name{
  font-size:14px;
}

.nx-slip-ball{
  font-size:13px;
  margin-right:4px;
}

.nx-slip-item-odd{
  font-size:15px;
  min-width:38px;
}

.nx-slip-match-name{
  font-size:13px;
  margin-top:3px;
}

.nx-slip-item-meta{
  font-size:12px;
  gap:6px;
}

.nx-slip-checkbox{
  width:17px;
  height:17px;
  flex-basis:17px;
  border-width:2px;
}

.nx-slip-2up{
  height:19px;
  min-width:44px;
  font-size:11px;
  border-width:1px;
}

.nx-slip-help{
  width:18px;
  height:18px;
  font-size:12px;
}

/* MultiMaker / People also bet smaller */
.nx-slip-multimaker{
  padding:8px 14px;
}

.nx-slip-multimaker-btn{
  height:42px;
  font-size:14px;
  border-width:2px;
}

.nx-slip-multimaker-btn svg{
  width:19px;
  height:19px;
}

.nx-slip-brand-divider{
  padding:2px 14px 4px;
  gap:10px;
}

.nx-slip-brand-divider strong{
  font-size:8px;
  letter-spacing:4px;
}

.nx-slip-people-btn{
  min-height:44px;
  padding:0 14px;
}

.nx-slip-people-icon{
  font-size:17px;
}

.nx-slip-people-btn strong{
  font-size:14px;
}

.nx-slip-people-btn svg{
  width:22px;
  height:22px;
}

/* Footer smaller */
.nx-slip-footer{
  padding-left:14px;
  padding-right:14px;
}

.nx-slip-boost{
  height:24px;
  margin-left:-14px;
  margin-right:-14px;
  font-size:11px;
}

.nx-slip-stake-row{
  min-height:56px;
  grid-template-columns:minmax(0,1fr) 150px;
}

.nx-slip-stake-label,
.nx-slip-stake-currency{
  font-size:14px;
}

.nx-slip-stake-box{
  height:38px;
  gap:8px;
}

#stakeInput{
  height:38px;
  font-size:15px;
  padding:0 10px;
}

.nx-slip-reward-row{
  min-height:48px;
}

.nx-slip-reward-left{
  font-size:12px;
  gap:6px;
}

.nx-slip-gift{
  font-size:18px;
}

.nx-slip-toggle{
  width:44px;
  height:25px;
}

.nx-slip-toggle span{
  width:21px;
  height:21px;
}

.nx-slip-feature-row{
  min-height:42px;
}

.nx-slip-insure{
  min-width:86px;
  height:25px;
  font-size:14px;
}

.nx-slip-insure span{
  width:16px;
  height:16px;
  font-size:10px;
}

.nx-slip-earlywin > span{
  width:19px;
  height:19px;
  border-width:2px;
}

.nx-slip-earlywin strong{
  font-size:14px;
}

.nx-slip-summary-line{
  min-height:34px;
}

.nx-slip-summary-line span,
.nx-slip-summary-line strong{
  font-size:14px;
}

.nx-slip-potential{
  min-height:42px;
  margin:6px -6px 8px;
}

.nx-slip-potential span,
.nx-slip-potential strong{
  font-size:16px;
}

.nx-slip-action-row{
  height:56px;
  margin-left:-14px;
  margin-right:-14px;
}

.nx-slip-action-btn{
  font-size:15px;
}

.nx-slip-action-btn--primary span{
  font-size:18px;
}

.nx-slip-action-btn--primary small{
  font-size:11px;
}
/* Smaller Load Code empty view */
.nx-slip-empty-content{
  padding-top:10px;
}

.nx-slip-empty-title{
  font-size:15px;
  margin-bottom:10px;
}

.nx-slip-load-card{
  padding:8px;
  border-radius:10px;
  margin-bottom:0;
}

.nx-slip-load-wrap{
  min-height:46px;
  border-radius:9px;
  padding:5px;
  gap:6px;
}

#bookingCodeInput{
  height:36px;
  font-size:14px;
  padding:0 8px;
}

.nx-slip-load-btn{
  height:36px;
  min-width:86px;
  padding:0 10px;
  font-size:13px;
}

.nx-slip-load-note{
  margin-top:6px;
  font-size:11px;
  line-height:1.25;
}
/* =========================================================
   KEEP BETSLIP BUTTONS ABOVE BOTTOM NAV
========================================================= */

:root{
  --nx-bottom-nav-height: 72px; /* change to 80px/90px if your nav is taller */
}

/* Put betslip above your app bottom nav */
#betslip-panel{
  z-index: 999999 !important;
  height: calc(100dvh - var(--nx-bottom-nav-height)) !important;
  max-height: calc(100dvh - var(--nx-bottom-nav-height)) !important;
  bottom: var(--nx-bottom-nav-height) !important;
  padding-bottom: 58px !important;
}

/* Overlay should also sit above page UI */
#betslip-overlay{
  z-index: 999998 !important;
}

/* Footer scroll area must leave room for fixed buttons */
.nx-slip-footer{
  max-height: 42dvh !important;
  overflow-y: auto !important;
  padding-bottom: 70px !important;
}

/* Buttons stay at bottom of betslip panel, not behind nav */
.nx-slip-action-row{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 999999 !important;
  height: 58px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
}

/* Make buttons definitely visible */
#bookBetBtn,
#placeBetBtn{
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* =========================================================
   FINAL COMPACT / HIDE FIXES
========================================================= */

:root{
  --nx-bottom-nav-height: 72px;
}

/* Better closed state */
#betslip-panel{
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:none !important;
  height:calc(100dvh - var(--nx-bottom-nav-height)) !important;
  max-height:calc(100dvh - var(--nx-bottom-nav-height)) !important;
  bottom:var(--nx-bottom-nav-height) !important;
  transform:translateY(calc(100% + var(--nx-bottom-nav-height) + 20px)) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
  padding-bottom:46px !important;
}

#betslip-panel.open{
  transform:translateY(0) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Empty state should only show Load Code */
#betslip-panel.is-empty .nx-slip-brand-divider,
#betslip-panel.is-empty .nx-slip-boost,
#betslip-panel.is-empty #betslip-footer{
  display:none !important;
}

#betslip-panel.is-empty .nx-slip-body{
  display:none !important;
}

#betslip-panel.is-empty .nx-slip-empty-view{
  display:block !important;
}

/* Compact selected-slip footer */
.nx-slip-footer{
  max-height:38dvh !important;
  overflow-y:auto !important;
  padding-bottom:52px !important;
}

.nx-slip-stake-row{
  min-height:38px !important;
}

.nx-slip-summary-line{
  min-height:26px !important;
}

.nx-slip-potential{
  min-height:30px !important;
  margin:2px -6px 4px !important;
}

/* Smaller Book Bet / Place Bet */
.nx-slip-action-row{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:44px !important;
  margin:0 !important;
  z-index:50 !important;
  display:grid !important;
  grid-template-columns:1fr 2fr !important;
}

.nx-slip-action-btn{
  height:44px !important;
  min-height:44px !important;
  font-size:13px !important;
  padding:0 !important;
}

.nx-slip-action-btn--primary span{
  font-size:15px !important;
  line-height:1 !important;
}

.nx-slip-action-btn--primary small{
  font-size:9px !important;
  line-height:1 !important;
}

/* Smaller Load Code area */
.nx-slip-empty-content{
  padding-top:10px !important;
}

.nx-slip-empty-title{
  font-size:14px !important;
  margin-bottom:8px !important;
}

.nx-slip-load-card{
  padding:7px !important;
  border-radius:10px !important;
  margin-bottom:0 !important;
}

.nx-slip-load-wrap{
  min-height:42px !important;
  padding:5px !important;
  border-radius:8px !important;
}

#bookingCodeInput{
  height:32px !important;
  font-size:13px !important;
}

.nx-slip-load-btn{
  height:32px !important;
  min-width:78px !important;
  font-size:12px !important;
}

.nx-slip-load-note{
  font-size:10px !important;
  margin-top:5px !important;
}

/* Compact booking popup after Book Bet */
.nx-booking-modal{
  left:50% !important;
  bottom:calc(var(--nx-bottom-nav-height) + 10px) !important;
  width:min(340px, calc(100vw - 24px)) !important;
  max-height:70dvh !important;
  border-radius:16px !important;
  overflow:hidden !important;
  transform:translate(-50%, calc(100% + 30px)) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.nx-booking-modal.open{
  transform:translate(-50%, 0) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.nx-booking-sheet{
  padding:14px 14px 16px !important;
  background:#0b0826 !important;
}

.nx-booking-title{
  font-size:13px !important;
  margin-bottom:8px !important;
}

.nx-booking-code-row{
  gap:8px !important;
  margin-bottom:8px !important;
}

.nx-booking-code-row strong{
  font-size:26px !important;
  letter-spacing:1px !important;
}

.nx-booking-copy{
  width:26px !important;
  height:26px !important;
}

.nx-booking-copy svg{
  width:20px !important;
  height:20px !important;
}

.nx-booking-meta{
  font-size:10px !important;
  margin-bottom:10px !important;
  min-height:14px !important;
}

/* Hide ugly preview to make popup cleaner */
.nx-booking-ticket-preview{
  display:none !important;
}

.nx-booking-personal{
  min-height:38px !important;
}

.nx-booking-personal span{
  font-size:12px !important;
}

.nx-booking-personal button{
  font-size:12px !important;
}

.nx-booking-share-row{
  grid-template-columns:repeat(5,1fr) !important;
  gap:4px !important;
  padding-top:14px !important;
}

.nx-booking-share-row span{
  width:32px !important;
  height:32px !important;
  font-size:14px !important;
}

.nx-booking-share-row small{
  font-size:9px !important;
}
/* =========================================================
   COMPACT SUCCESS POPUP AFTER PLACE BET
========================================================= */

.nx-success-modal{
  left:50% !important;
  bottom:calc(var(--nx-bottom-nav-height, 72px) + 10px) !important;
  width:min(340px, calc(100vw - 24px)) !important;
  max-height:72dvh !important;
  border-radius:16px !important;
  overflow:hidden !important;
  transform:translate(-50%, calc(100% + 30px)) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.nx-success-modal.open{
  transform:translate(-50%, 0) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.nx-success-sheet{
  min-height:auto !important;
  padding:14px 14px 0 !important;
  background:#0b0826 !important;
}

.nx-success-head{
  margin-bottom:10px !important;
  gap:8px !important;
}

.nx-success-title-wrap{
  gap:8px !important;
}

.nx-success-icon{
  width:24px !important;
  height:24px !important;
  font-size:15px !important;
  flex-basis:24px !important;
}

.nx-success-title-wrap strong{
  font-size:18px !important;
}

.nx-success-refresh{
  display:none !important;
}

.nx-success-brand{
  display:none !important;
}

.nx-success-lines{
  padding-bottom:8px !important;
  border-bottom:1px solid rgba(126,116,184,.35) !important;
}

.nx-success-lines > div{
  min-height:30px !important;
}

.nx-success-lines span{
  font-size:12px !important;
}

.nx-success-lines strong{
  font-size:13px !important;
}

.nx-success-lines span small{
  width:14px !important;
  height:14px !important;
  font-size:9px !important;
}

.nx-success-code svg{
  width:16px !important;
  height:16px !important;
}

/* Remove sections you do not want even if HTML remains */
.nx-success-personal,
.nx-success-you-might,
.nx-success-promo{
  display:none !important;
}

.nx-success-open-bets{
  min-height:34px !important;
  font-size:12px !important;
  gap:5px !important;
}

.nx-success-open-bets span{
  font-size:22px !important;
}

.nx-success-actions{
  height:44px !important;
  margin:0 -14px !important;
  padding-bottom:0 !important;
}

.nx-success-action{
  height:44px !important;
  font-size:13px !important;
}
/* =========================================================
   FIX BETSLIP BUTTONS HIDING UNDER BOTTOM NAV
========================================================= */

:root{
  --nx-bottom-nav-height: 92px; /* increase to 100px if still hidden */
  --nx-slip-action-height: 44px;
}

/* Lift the whole betslip above your bottom nav */
#betslip-panel{
  bottom: var(--nx-bottom-nav-height) !important;
  height: calc(100dvh - var(--nx-bottom-nav-height)) !important;
  max-height: calc(100dvh - var(--nx-bottom-nav-height)) !important;
  padding-bottom: var(--nx-slip-action-height) !important;
  overflow: hidden !important;
}

/* Footer should scroll above the buttons */
.nx-slip-footer{
  max-height: 40dvh !important;
  overflow-y: auto !important;
  padding-bottom: calc(var(--nx-slip-action-height) + 8px) !important;
}

/* Keep Book Bet / Place Bet inside visible panel */
.nx-slip-action-row{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: var(--nx-slip-action-height) !important;
  margin: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
}

/* Smaller buttons */
#bookBetBtn,
#placeBetBtn{
  height: var(--nx-slip-action-height) !important;
  min-height: var(--nx-slip-action-height) !important;
  padding: 0 !important;
  font-size: 12px !important;
}

#placeBetBtn span{
  font-size: 14px !important;
  line-height: 1 !important;
}

#placeBetBtn small{
  font-size: 9px !important;
  line-height: 1 !important;
}
/* =========================================================
   SMALLER FLOATING BETSLIP ROUND BUTTON
========================================================= */

#sporty-betslip{
  width:48px !important;
  height:48px !important;
  right:8px !important;
  bottom:96px !important; /* adjust if it touches bottom nav */
}

#sporty-betslip-count{
  width:24px !important;
  height:24px !important;
  font-size:11px !important;
}

#sporty-betslip-label{
  font-size:8px !important;
  line-height:1.05 !important;
}

.nx-slip-fab-inner{
  width:48px !important;
  height:48px !important;
}
.nx-slip-tabs--two{
  grid-template-columns:repeat(2, 1fr) !important;
}
/* Hide 2UP if any old cached HTML still renders it */
.nx-slip-2up{
  display:none !important;
}
/* LIVE badge inside betslip */
.nx-slip-live-badge{
  height:18px;
  padding:0 7px;
  border-radius:999px;
  background:#ff2d55;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  line-height:1;
  font-weight:1000;
  margin-right:2px;
}
.nx-slip-2up{
  display:none !important;
}

.nx-slip-tabs--two{
  grid-template-columns:repeat(2, 1fr) !important;
}
