
.upgrades__wrap { display: flex; justify-content: space-between; gap: 20px; flex-wrap: nowrap; }
.upgrades__section { border-radius: 5px; margin-bottom: 10px; }
.upgrades__head { border-top-left-radius: 3px; border-top-right-radius: 3px; text-shadow: #303030 1px 1px 1px; padding: 7px 10px; }
.upgrades__row { background-color: #222; border-top: 1px solid #2c2c2c; border-bottom: 1px solid #1c1b1b; padding: 10px; }
.upgrades__row:first-child { border-top: 0; }
.upgrades__row:last-child { border-bottom: 0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; }
.upgrades__col--rank { flex: 0 1 28%; }
.upgrades__head--rank { display: flex; justify-content: space-between; align-items: center; background-color: var(--theme-primary-color); border-bottom: 3px solid #000; color: #f8f8f8; }
.upgrades__head--rank-VIP { border-color: rgb(0, 176, 0); }
.upgrades__head--rank-MVP { border-color: rgb(225, 225, 225); }
.upgrades__head--rank-GOD { border-color: rgb(255, 190, 42); }
.upgrades__row--rank { display: flex; justify-content: space-between; align-items: center; text-shadow: #000 1px 1px 1px; }
.upgrades__row--rank > span:first-child { color: #c0c0c0; }
.upgrades__row--rank-badge, .upgrades__row--purchase { text-align: center; }
.upgrades__rank-name { font-size: 17px; font-weight: bold; }
.upgrades__rank-price span { font-size: 17px; font-weight: bold; }
.upgrades__purchase-button { display: block; background-color: #1c1c1c; border-radius: 3px; font-size: 16px; padding: 9px 0; cursor: pointer; }
.upgrades__purchase-button:hover { background-color: var(--theme-primary-color); color: var(--main-link-color); }
.upgrades__purchase-button--disabled { color: #6a6a6a; pointer-events: none; opacity: .6; }
.upgrades__col--rank .fa-check { color: #059d05; }
.upgrades__col--rank .fa-times { color: #b00303; }
.upgrades__col--aside { flex: 0 1 22%; }
.upgrades__col--aside a { color: var(--theme-secondary-color); }
.upgrades__head--aside { background-color: #343434; font-weight: bold; font-size: 14px; }
.upgrades__row--aside { background-color: #1e1e1e; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; color: #cecece; line-height: 1.5; }
.upgrades__row--aside p:first-child { margin-top: 0; }
.upgrades__row--aside p:last-child { margin-bottom: 0; }

/* Responsive stack */
@media (max-width: 1024px){
  .upgrades__wrap { flex-direction: column; }
  .upgrades__col--rank, .upgrades__col--aside { flex-basis: auto; }
  .redirect { width: 75% !important; }
}

/* Optional: guard against theme transforms breaking fixed centering */
html, body { transform: none !important; }

#xplisio-modal{position:fixed; inset:0; z-index:2147483647;}
#xplisio-modal .xplisio-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.6);}
#xplisio-modal .xplisio-dialog{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  width:92%; max-width:740px; max-height:90vh; background:#101010; color:#eee;
  border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.55); overflow:hidden;
}
#xplisio-modal .xplisio-close{
  position:absolute; right:10px; top:8px; background:transparent; border:0; color:#eee;
  font-size:22px; cursor:pointer; line-height:1;
}
#xplisio-modal .xplisio-body{ padding:16px; overflow:auto; }
#xplisio-modal .xplisio-title{ margin:0 0 10px; font-size:22px; }

/* QR + skeleton */
#xplisio-modal .xplisio-qr{ position:relative; display:flex; justify-content:center; margin:8px 0 10px; min-height:220px; }
#xplisio-modal .xplisio-qr img{
  width:220px; max-width:70vw; height:auto; border:1px solid #333; border-radius:6px; display:block;
}
#xplisio-modal .xplisio-qr .skel{
  width:220px; height:220px; max-width:70vw; border-radius:6px; background:linear-gradient(90deg,#141414 25%,#1a1a1a 37%,#141414 63%);
  background-size:400% 100%; animation:xplisio-shine 1.1s linear infinite;
}

/* chips */
#xplisio-modal .xplisio-chips{
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:0 0 12px;
}
#xplisio-modal .chip{
  padding:6px 10px; border-radius:999px; border:1px solid #2a2a2a; background:#161616; color:#ddd; cursor:pointer;
  font: inherit; line-height:1; white-space:nowrap;
}
#xplisio-modal .chip.is-active{ background:#2458ff; color:#fff; border-color:#2458ff; }
#xplisio-modal .chip.is-disabled{ opacity:.45; pointer-events:none; filter:grayscale(1); }

/* rows & address */
#xplisio-modal .xplisio-details .row{ margin:8px 0; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#xplisio-modal .addrwrap{ display:flex; gap:8px; align-items:center; margin-top:6px; }
#xplisio-modal .addr{
  flex:1 1 auto; min-width:0;
  border:1px solid #2a2a2a; background:#0d0d0d; color:#eaeaea; border-radius:8px; padding:10px 12px;
  font:inherit; line-height:1.25; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;
}
#xplisio-modal .copy, #xplisio-modal .open{
  border:1px solid #2a2a2a; background:#191919; color:#eaeaea; border-radius:8px; padding:10px 12px;
  text-decoration:none; cursor:pointer; font:inherit; line-height:1;
}
#xplisio-modal .open{ display:inline-block; }
#xplisio-modal .result .ok{ color:#58d07a; }
#xplisio-modal .result .fail{ color:#ff6b6b; }

/* skeleton lines */
#xplisio-modal .skel-line{
  display:inline-block; width:180px; height:14px; border-radius:6px;
  background:linear-gradient(90deg,#141414 25%,#1a1a1a 37%,#141414 63%);
  background-size:400% 100%; animation:xplisio-shine 1.1s linear infinite;
}
@keyframes xplisio-shine{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }

@media (max-width:640px){
  #xplisio-modal .xplisio-dialog{ width:96%; max-height:92vh; }
}