body.wallet-topup-open{
  overflow:hidden !important;
}

.wallet-topup-bg{
  position:fixed;
  inset:0;
  z-index:99998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(12px);
}

.wallet-topup-bg.show{
  display:flex;
}

.wallet-topup-modal{
  width:100%;
  max-width:520px;
  max-height:84vh;
  overflow-y:auto;
  border-radius:28px;
  padding:18px;
  background:linear-gradient(180deg,#07172a,#030913);
  border:1px solid rgba(68,215,255,.35);
  box-shadow:0 24px 90px rgba(0,170,255,.25);
  color:#fff;
  -webkit-overflow-scrolling:touch;
}

.wallet-topup-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.wallet-topup-title{
  font-size:21px;
  font-weight:900;
}

.wallet-topup-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.wallet-topup-sub{
  color:#9dbfd1;
  font-size:13px;
  line-height:1.45;
  margin-bottom:16px;
}

.wallet-topup-methods{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}

.wallet-topup-method{
  border:1px solid rgba(68,215,255,.24);
  border-radius:16px;
  padding:13px 10px;
  background:rgba(10,38,64,.74);
  color:#eaf8ff;
  font-weight:900;
}

.wallet-topup-method.active{
  border-color:rgba(64,230,255,.9);
  background:linear-gradient(135deg,rgba(53,151,255,.42),rgba(49,232,255,.22));
  box-shadow:0 0 0 2px rgba(64,230,255,.16);
}

.wallet-topup-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}

.wallet-topup-amount{
  border:1px solid rgba(68,215,255,.24);
  border-radius:16px;
  padding:13px 8px;
  background:rgba(10,38,64,.74);
  color:#eaf8ff;
  font-weight:900;
  font-size:15px;
}

.wallet-topup-amount.active{
  border-color:rgba(64,230,255,.9);
  box-shadow:0 0 0 2px rgba(64,230,255,.16);
}

.wallet-topup-input{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:13px 14px;
  margin:8px 0;
  outline:none;
}

.wallet-topup-submit{
  width:100%;
  display:block;
  box-sizing:border-box;
  text-align:center;
  text-decoration:none;
  border:0;
  border-radius:18px;
  padding:15px 16px;
  margin-top:10px;
  font-weight:900;
  font-size:16px;
  color:#06111f;
  background:linear-gradient(135deg,#41e9ff,#2f8cff);
}

.wallet-topup-submit:disabled{
  opacity:.55;
}

.wallet-topup-submit.link{
  color:#06111f !important;
}

.wallet-topup-status{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  font-size:13px;
  line-height:1.45;
  display:none;
}

.wallet-topup-status.show{
  display:block;
}

.wallet-topup-status.ok{
  background:rgba(29,220,120,.12);
  border:1px solid rgba(29,220,120,.35);
  color:#bfffd7;
}

.wallet-topup-status.err{
  background:rgba(255,70,100,.12);
  border:1px solid rgba(255,70,100,.35);
  color:#ffd0d8;
}

.wallet-topup-result{
  margin-top:12px;
}

.wallet-topup-paybox{
  border:1px solid rgba(68,215,255,.24);
  border-radius:20px;
  background:rgba(255,255,255,.055);
  padding:14px;
}

.wallet-topup-paybox-title{
  font-size:16px;
  font-weight:900;
  margin-bottom:12px;
}

.wallet-topup-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:13px;
}

.wallet-topup-line span{
  color:#9dbfd1;
}

.wallet-topup-line b{
  color:#eaf8ff;
  word-break:break-all;
}

.wallet-topup-code{
  margin:14px 0 8px;
  padding:16px;
  border-radius:16px;
  background:rgba(65,233,255,.12);
  border:1px solid rgba(65,233,255,.34);
  color:#41e9ff;
  font-size:24px;
  font-weight:1000;
  text-align:center;
  letter-spacing:1px;
}

.wallet-topup-copy{
  border:1px solid rgba(65,233,255,.28);
  border-radius:12px;
  padding:8px 10px;
  background:rgba(65,233,255,.12);
  color:#dffaff;
  font-weight:900;
  white-space:nowrap;
}

.wallet-topup-copy.wide{
  width:100%;
  margin-bottom:10px;
}

.wallet-topup-help{
  color:#9dbfd1;
  font-size:13px;
  line-height:1.45;
  margin-top:8px;
}

.wallet-topup-history{
  margin-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:12px;
}

.wallet-topup-history-title{
  font-size:14px;
  font-weight:900;
  color:#eaf8ff;
  margin-bottom:8px;
}

.wallet-topup-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  font-size:13px;
}

.wallet-topup-row span:first-child{
  color:#eaf8ff;
}

.wallet-topup-row span:last-child{
  color:#48e7ff;
  font-weight:900;
  word-break:break-all;
}
