:root{
  --pwa-safe-top: env(safe-area-inset-top, 0px);
  --pwa-safe-bottom: env(safe-area-inset-bottom, 0px);
  --pwa-accent: #ff2442;
  --pwa-tabbar-h: 50px;
  --pwa-appbar-body-h: 52px;
  --pwa-appbar-gap: 18px;
  --pwa-appbar-offset: calc(var(--pwa-safe-top) + var(--pwa-appbar-body-h));
  --pwa-tabbar-offset: calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom));
  --pwa-content-top-space: calc(var(--pwa-appbar-offset) + var(--pwa-appbar-gap));
  --pwa-page-top-gap: 16px;
  --pwa-page-bottom-gap: 14px;
}
html.is-standalone-root,
html.is-standalone-root body{
  min-height:100%;
  background:#f7f7f7;
}
html.is-standalone-root body{
  overscroll-behavior-y:contain;
  -webkit-touch-callout:none;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  touch-action:manipulation;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html.is-standalone-root,
html.is-standalone-root body{
  scroll-behavior:auto !important;
}
html.is-standalone-root .topbar.shell-topbar,
html.is-standalone-root [data-site-footer-root],
html.is-standalone-root .site-footer{
  display:none !important;
}
html.is-standalone-root body.front-home > .container.front-main,
html.is-standalone-root body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root body[data-shell-page="user"] > main,
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  padding-top:calc(var(--pwa-content-top-space) + var(--pwa-page-top-gap)) !important;
  padding-bottom:calc(var(--pwa-tabbar-offset) + var(--pwa-page-bottom-gap)) !important;
}
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:
    radial-gradient(120% 58% at 50% -6%, rgba(106,171,255,.20) 0%, rgba(106,171,255,.08) 34%, rgba(106,171,255,0) 66%),
    linear-gradient(180deg, #f7fbff 0%, #f3f5fb 30%, #f2f3f7 100%) !important;
  overflow:hidden !important;
  height:100dvh;
}
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  max-width:none !important;
  width:100%;
  height:100dvh;
  min-height:100dvh;
  overflow:hidden !important;
  padding:0 !important;
  background:transparent !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100%;
  height:100dvh;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(var(--pwa-safe-top) + 18px) 24px calc(var(--pwa-safe-bottom) + 18px) !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(420px, 100%);
  max-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand,
html.is-standalone-root body[data-shell-page="register"] .auth-brand{
  display:flex !important;
  justify-content:center;
  margin:0 0 16px;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge{
  width:86px;
  height:86px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.76));
  box-shadow:0 12px 42px rgba(40,77,146,.10);
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge img,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge img{
  width:78px;
  height:78px;
  object-fit:contain;
}
html.is-standalone-root body[data-shell-page="login"] .title,
html.is-standalone-root body[data-shell-page="register"] .title{
  margin:0 0 8px;
  text-align:center;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.03em;
}
html.is-standalone-root body[data-shell-page="login"] .subtitle,
html.is-standalone-root body[data-shell-page="register"] .subtitle{
  margin:0 0 22px;
  text-align:center;
  font-size:14px;
  line-height:1.6;
  color:#7b8294;
}
html.is-standalone-root body[data-shell-page="login"] .field,
html.is-standalone-root body[data-shell-page="register"] .field{
  margin-top:12px;
}
html.is-standalone-root body[data-shell-page="login"] .label,
html.is-standalone-root body[data-shell-page="register"] .label{
  display:none;
}
html.is-standalone-root body[data-shell-page="login"] .input,
html.is-standalone-root body[data-shell-page="register"] .input{
  height:54px;
  padding:0 18px;
  border-radius:18px;
  border:1px solid rgba(174,185,204,.36);
  background:rgba(255,255,255,.76);
  box-shadow:none !important;
  color:#111827;
}
html.is-standalone-root body[data-shell-page="login"] .input::placeholder,
html.is-standalone-root body[data-shell-page="register"] .input::placeholder{
  color:#99a1b3;
}
html.is-standalone-root body[data-shell-page="login"] .input:focus,
html.is-standalone-root body[data-shell-page="register"] .input:focus{
  border-color:rgba(78,138,255,.55);
  box-shadow:0 0 0 4px rgba(78,138,255,.10) !important;
}
html.is-standalone-root body[data-shell-page="login"] .actions,
html.is-standalone-root body[data-shell-page="register"] .actions{
  margin-top:18px;
  gap:12px;
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary,
html.is-standalone-root body[data-shell-page="register"] .btn-primary{
  height:54px;
  border-radius:999px;
  background:linear-gradient(90deg, #4e8cff 0%, #2f7cf8 100%);
  box-shadow:0 14px 32px rgba(55,122,255,.20);
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary:hover,
html.is-standalone-root body[data-shell-page="register"] .btn-primary:hover{
  transform:none;
  box-shadow:0 14px 32px rgba(55,122,255,.20);
}
html.is-standalone-root body[data-shell-page="login"] .btn-ghost,
html.is-standalone-root body[data-shell-page="register"] .btn-ghost{
  height:auto;
  min-height:unset;
  border:none !important;
  background:transparent !important;
  color:#4e8cff !important;
  padding:0;
  box-shadow:none !important;
  font-size:16px;
  font-weight:700;
}
html.is-standalone-root body[data-shell-page="login"] .msg,
html.is-standalone-root body[data-shell-page="register"] .msg{
  margin-top:12px;
  min-height:18px;
}
html.is-standalone-root body[data-shell-page="login"] .foot-links,
html.is-standalone-root body[data-shell-page="register"] .foot-links{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .referral-hint,
html.is-standalone-root body[data-shell-page="register"] .referral-hint{
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(78,140,255,.08);
  color:#2f6cf4;
}
html.is-standalone-root body[data-shell-page="login"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="login"] > .container::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"] > .container::-webkit-scrollbar{
  display:none;
}
@media (max-height: 760px){
  html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
  html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
    padding:calc(var(--pwa-safe-top) + 12px) 22px calc(var(--pwa-safe-bottom) + 14px) !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .auth-brand,
  html.is-standalone-root body[data-shell-page="register"] .auth-brand{
    margin-bottom:12px;
  }
  html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge,
  html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge{
    width:72px;
    height:72px;
    border-radius:24px;
  }
  html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge img,
  html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge img{
    width:66px;
    height:66px;
  }
  html.is-standalone-root body[data-shell-page="login"] .title,
  html.is-standalone-root body[data-shell-page="register"] .title{
    font-size:26px;
    margin-bottom:6px;
  }
  html.is-standalone-root body[data-shell-page="login"] .subtitle,
  html.is-standalone-root body[data-shell-page="register"] .subtitle{
    margin-bottom:16px;
    font-size:13px;
  }
  html.is-standalone-root body[data-shell-page="login"] .field,
  html.is-standalone-root body[data-shell-page="register"] .field{
    margin-top:10px;
  }
  html.is-standalone-root body[data-shell-page="login"] .input,
  html.is-standalone-root body[data-shell-page="register"] .input,
  html.is-standalone-root body[data-shell-page="login"] .btn-primary,
  html.is-standalone-root body[data-shell-page="register"] .btn-primary{
    height:50px;
  }
  html.is-standalone-root body[data-shell-page="login"] .actions,
  html.is-standalone-root body[data-shell-page="register"] .actions{
    margin-top:16px;
    gap:10px;
  }
}
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:var(--bg, #f2f3f5) !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  max-width:none !important;
  min-height:100vh;
  min-height:100dvh;
  padding:0 !important;
  background:transparent !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100%;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(var(--pwa-safe-top) + 56px) 20px calc(var(--pwa-safe-bottom) + 28px) !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(520px, 100%);
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
html.is-standalone-root body[data-shell-page="login"] .foot-links,
html.is-standalone-root body[data-shell-page="register"] .foot-links{
  justify-content:center;
}
@media (max-height:740px){
  html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
  html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
    align-items:flex-start;
    min-height:100dvh;
    padding-top:calc(var(--pwa-safe-top) + 52px) !important;
  }
}

html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-left:0 !important;
  padding-right:0 !important;
}
html.is-standalone-root body[data-shell-page="order"] > .container > .order-page{
  padding-top:calc(var(--pwa-content-top-space) + var(--pwa-page-top-gap)) !important;
  padding-bottom:calc(var(--pwa-tabbar-offset) + var(--pwa-page-bottom-gap)) !important;
}
html.is-standalone-root body.front-home .hero{
  margin-top:0;
}
html.is-standalone-root body.front-home .container,
html.is-standalone-root body[data-shell-page]{
  position:relative;
}

.pwa-appbar{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:10020;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(17,17,17,.06);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transform:translateZ(0);
  will-change:transform;
}
.pwa-appbar__safe{
  height:var(--pwa-safe-top);
}
.pwa-appbar__inner{
  height:var(--pwa-appbar-body-h);
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:0;
  padding:0 8px;
}
.pwa-appbar__side{
  display:flex;
  align-items:center;
}
.pwa-appbar__side--left{ justify-content:flex-start; }
.pwa-appbar__side--right{ justify-content:flex-end; }
.pwa-appbar__titlewrap{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pwa-appbar__title{
  margin:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:18px;
  line-height:1;
  color:#111111;
  font-weight:700;
  letter-spacing:-.02em;
}
.pwa-appbar__iconbtn{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:0;
  margin:0;
  border-radius:0;
  background:transparent;
  color:#111111;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.pwa-appbar__iconbtn svg{
  width:24px;
  height:24px;
  display:block;
}


.pwa-auth-chrome{
  position:fixed;
  left:0;
  right:0;
  top:0;
  z-index:10040;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:calc(var(--pwa-safe-top) + 10px) 12px 0;
  pointer-events:none;
}
.pwa-auth-chrome .pwa-appbar__iconbtn{
  color:#111111;
  pointer-events:auto;
}

.pwa-tabbar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:10030;
  background:rgba(255,255,255,.985);
  border-top:1px solid rgba(17,17,17,.06);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transform:translateZ(0);
  will-change:transform;
  padding:0 0 max(0px, calc(var(--pwa-safe-bottom) - 2px));
}
.pwa-tabbar__inner{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:end;
  min-height:var(--pwa-tabbar-h);
  max-width:980px;
  margin:0 auto;
}
.pwa-tabbar__item{
  min-width:0;
  border:0;
  background:transparent;
  color:#8b8b8b;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:5px 0 0;
  font-size:11px;
  font-weight:600;
  letter-spacing:0;
  transition:color .14s ease;
  -webkit-tap-highlight-color:transparent;
}
.pwa-tabbar__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.pwa-tabbar__item svg{
  width:22px;
  height:22px;
  display:block;
}
.pwa-tabbar__label{
  line-height:1.1;
}
.pwa-tabbar__item.is-active{
  color:var(--pwa-accent);
}

html.is-standalone-root a,
html.is-standalone-root button,
html.is-standalone-root [role="button"]{
  -webkit-tap-highlight-color:transparent;
  backface-visibility:hidden;
}
html.is-standalone-root a:hover,
html.is-standalone-root a:active,
html.is-standalone-root button:hover,
html.is-standalone-root button:active,
html.is-standalone-root [role="button"]:hover,
html.is-standalone-root [role="button"]:active{
  transform:none !important;
}


.pwa-install-sheet{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(10px + var(--pwa-safe-bottom));
  z-index:10040;
  padding:16px;
  border-radius:22px;
  background:rgba(17,17,17,.96);
  color:#ffffff;
  box-shadow:0 24px 64px rgba(0,0,0,.34);
  transform:translateY(24px);
  opacity:0;
  pointer-events:none;
  transition:.22s ease;
}
.pwa-install-sheet.is-show{
  transform:none;
  opacity:1;
  pointer-events:auto;
}
.pwa-install-sheet__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.pwa-install-sheet__title{
  margin:0;
  font-size:17px;
  font-weight:800;
}
.pwa-install-sheet__desc{
  margin:8px 0 0;
  color:rgba(255,255,255,.84);
  font-size:13px;
  line-height:1.8;
}
.pwa-install-sheet__row{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.pwa-install-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  font-size:13px;
  font-weight:700;
}
.pwa-install-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:18px;
  font-weight:800;
}
@media (min-width: 981px){
  .pwa-appbar__inner,
  .pwa-tabbar__inner{
    max-width:980px;
  }
  .pwa-install-sheet{
    left:50%;
    right:auto;
    width:min(420px, calc(100vw - 24px));
    transform:translate(-50%, 24px);
  }
  .pwa-install-sheet.is-show{
    transform:translateX(-50%);
  }
}
@media (max-width: 640px){
  :root{
    --pwa-appbar-body-h: 50px;
    --pwa-appbar-gap: 14px;
    --pwa-tabbar-h: 48px;
  }
  .pwa-appbar__inner{
    grid-template-columns:44px 1fr 44px;
    padding:0 6px;
  }
  .pwa-appbar__title{
    font-size:17px;
  }
  .pwa-appbar__iconbtn{
    width:36px;
    height:36px;
  }
  .pwa-appbar__iconbtn svg{
    width:22px;
    height:22px;
  }
  .pwa-tabbar__item{
    padding-top:4px;
  }
}


html.is-standalone-root body[data-shell-page="login"] .pwa-appbar,
html.is-standalone-root body[data-shell-page="register"] .pwa-appbar,
html.is-standalone-root body[data-shell-page="login"] .pwa-tabbar,
html.is-standalone-root body[data-shell-page="register"] .pwa-tabbar{
  display:none !important;
}

html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:#ffffff !important;
}

html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:calc(var(--pwa-safe-top) + 58px) 16px calc(var(--pwa-safe-bottom) + 20px) !important;
  min-height:100vh !important;
  min-height:100dvh !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:#ffffff !important;
}

html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100%;
  min-height:auto !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:0 !important;
}

html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(520px, calc(100vw - 32px)) !important;
  max-width:100%;
}

.pwa-auth-back{
  position:fixed;
  top:calc(var(--pwa-safe-top) + 10px);
  left:8px;
  z-index:10040;
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:0;
  margin:0;
  border-radius:0;
  background:transparent;
  color:#7fd6ff;
  -webkit-tap-highlight-color:transparent;
}
.pwa-auth-back svg{
  width:24px;
  height:24px;
  display:block;
}

@media (max-height: 760px){
  html.is-standalone-root body[data-shell-page="login"] > .container,
  html.is-standalone-root body[data-shell-page="register"] > .container{
    align-items:flex-start;
  }
  html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
  html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
    align-items:flex-start;
  }
}


/* auth standalone redesign v2 */
html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:
    radial-gradient(94% 58% at 50% 0%, rgba(129,171,255,.18) 0%, rgba(129,171,255,0) 66%),
    linear-gradient(180deg, #f8fbff 0%, #f1f5fc 100%) !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-height:100vh !important;
  min-height:100dvh !important;
  padding:calc(var(--pwa-safe-top) + 54px) 18px calc(var(--pwa-safe-bottom) + 18px) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100%;
  min-height:auto !important;
  height:auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(356px, calc(100vw - 36px)) !important;
  max-width:100%;
  padding:24px 22px 20px !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  box-shadow:0 26px 70px rgba(66,94,160,.14) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand,
html.is-standalone-root body[data-shell-page="register"] .auth-brand{
  display:flex !important;
  margin:0 0 18px !important;
  justify-content:center;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge{
  width:76px;
  height:76px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.90));
  box-shadow:0 18px 38px rgba(74,103,177,.12);
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge img,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge img{
  width:66px;
  height:66px;
}
html.is-standalone-root body[data-shell-page="login"] .title,
html.is-standalone-root body[data-shell-page="register"] .title{
  font-size:28px !important;
  line-height:1.14;
  margin:0 !important;
  letter-spacing:-.03em;
}
html.is-standalone-root body[data-shell-page="login"] .subtitle,
html.is-standalone-root body[data-shell-page="register"] .subtitle{
  max-width:272px;
  margin:8px auto 0 !important;
  font-size:13px !important;
  line-height:1.6;
  color:#7b87a1 !important;
}
html.is-standalone-root body[data-shell-page="register"] .referral-hint{
  margin-top:14px !important;
  padding:11px 12px !important;
  border-radius:14px !important;
  background:rgba(92,152,255,.09) !important;
  color:#3c72e8 !important;
  text-align:left;
}
html.is-standalone-root body[data-shell-page="login"] .form-stack,
html.is-standalone-root body[data-shell-page="register"] .form-stack{
  gap:12px !important;
  margin-top:22px !important;
}
html.is-standalone-root body[data-shell-page="login"] .field,
html.is-standalone-root body[data-shell-page="register"] .field{
  min-height:54px !important;
  border-radius:18px !important;
  padding:0 16px 0 48px !important;
  background:rgba(247,249,253,.92) !important;
  border:1px solid rgba(172,185,208,.34) !important;
  transform:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .field:focus-within,
html.is-standalone-root body[data-shell-page="register"] .field:focus-within{
  background:#fff !important;
  border-color:rgba(92,152,255,.52) !important;
  box-shadow:0 0 0 4px rgba(92,152,255,.10) !important;
}
html.is-standalone-root body[data-shell-page="login"] .field__icon,
html.is-standalone-root body[data-shell-page="register"] .field__icon{
  left:16px;
  width:17px;
  height:17px;
}
html.is-standalone-root body[data-shell-page="login"] .input,
html.is-standalone-root body[data-shell-page="register"] .input{
  height:52px !important;
  font-size:15px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .actions,
html.is-standalone-root body[data-shell-page="register"] .actions{
  margin-top:24px !important;
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary,
html.is-standalone-root body[data-shell-page="register"] .btn-primary{
  height:52px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, #5c98ff 0%, #3d7fff 100%) !important;
  box-shadow:0 16px 32px rgba(61,127,255,.22) !important;
  font-size:16px !important;
}
html.is-standalone-root body[data-shell-page="login"] .auth-switch,
html.is-standalone-root body[data-shell-page="register"] .auth-switch{
  margin-top:20px !important;
  font-size:14px !important;
}
html.is-standalone-root body[data-shell-page="login"] .msg,
html.is-standalone-root body[data-shell-page="register"] .msg{
  margin-top:12px !important;
  min-height:18px;
  font-size:13px !important;
}
html.is-standalone-root body[data-shell-page="login"] .foot-links,
html.is-standalone-root body[data-shell-page="register"] .foot-links{
  display:none !important;
}
.pwa-auth-chrome{
  left:0;
  right:0;
  top:0;
  justify-content:flex-start !important;
  padding:calc(var(--pwa-safe-top) + 8px) 10px 0 !important;
  pointer-events:none;
}
.pwa-auth-chrome .pwa-appbar__iconbtn{
  width:40px;
  height:40px;
  border-radius:999px;
  color:#111 !important;
  background:transparent !important;
  box-shadow:none !important;
  pointer-events:auto;
}
.pwa-auth-chrome .pwa-appbar__iconbtn svg{
  width:22px;
  height:22px;
}
@media (max-height: 760px){
  html.is-standalone-root body[data-shell-page="login"] > .container,
  html.is-standalone-root body[data-shell-page="register"] > .container{
    align-items:flex-start;
    padding-top:calc(var(--pwa-safe-top) + 52px) !important;
  }
}


/* === auth final override v2 === */
html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:#f2f3f5 !important;
  overflow:hidden !important;
  height:100dvh;
}
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  max-width:none !important;
  width:100%;
  min-height:100dvh;
  height:100dvh;
  padding:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100%;
  min-height:100dvh;
  height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(var(--pwa-safe-top) + 26px) 24px calc(var(--pwa-safe-bottom) + 22px) !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(370px, 100%);
  max-width:370px;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand,
html.is-standalone-root body[data-shell-page="register"] .auth-brand{
  display:flex !important;
  justify-content:center;
  margin:0 0 18px;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge{
  width:auto;
  height:auto;
  display:block !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge img,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge img{
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
}
html.is-standalone-root body[data-shell-page="login"] .title,
html.is-standalone-root body[data-shell-page="register"] .title{
  margin:0 0 10px;
  text-align:center;
  font-size:32px;
  line-height:1.14;
  letter-spacing:-.03em;
  color:#111827;
}
html.is-standalone-root body[data-shell-page="login"] .subtitle,
html.is-standalone-root body[data-shell-page="register"] .subtitle{
  max-width:290px;
  margin:0 auto 26px;
  text-align:center;
  font-size:14px;
  line-height:1.7;
  color:#7b8294;
}
html.is-standalone-root body[data-shell-page="login"] .label,
html.is-standalone-root body[data-shell-page="register"] .label{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .field,
html.is-standalone-root body[data-shell-page="register"] .field{
  width:min(312px, 100%);
  max-width:312px;
  margin:0 auto 14px;
}
html.is-standalone-root body[data-shell-page="login"] .input,
html.is-standalone-root body[data-shell-page="register"] .input{
  width:100%;
  height:50px;
  padding:0 16px;
  border-radius:16px;
  border:1px solid #dbe3ef;
  background:#fff;
  box-shadow:0 6px 20px rgba(15,23,42,.04);
  font-size:15px;
  color:#111827;
}
html.is-standalone-root body[data-shell-page="login"] .input::placeholder,
html.is-standalone-root body[data-shell-page="register"] .input::placeholder{
  color:#a0a8b8;
}
html.is-standalone-root body[data-shell-page="login"] .input:focus,
html.is-standalone-root body[data-shell-page="register"] .input:focus{
  border-color:#9fbdf8;
  box-shadow:0 0 0 4px rgba(78,140,255,.11);
}
html.is-standalone-root body[data-shell-page="login"] .actions,
html.is-standalone-root body[data-shell-page="register"] .actions{
  width:min(312px, 100%);
  max-width:312px;
  margin:26px auto 0;
  gap:18px;
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary,
html.is-standalone-root body[data-shell-page="register"] .btn-primary{
  height:50px;
  border-radius:999px;
  background:linear-gradient(90deg, #5a98ff 0%, #3b7dff 100%);
  box-shadow:0 12px 28px rgba(57,122,255,.18);
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary:hover,
html.is-standalone-root body[data-shell-page="register"] .btn-primary:hover{
  transform:none;
  box-shadow:0 12px 28px rgba(57,122,255,.18);
}
html.is-standalone-root body[data-shell-page="login"] .btn-ghost,
html.is-standalone-root body[data-shell-page="register"] .btn-ghost{
  height:auto;
  min-height:unset;
  border:none !important;
  background:transparent !important;
  color:#3b7dff !important;
  font-size:15px;
  font-weight:700;
  padding:0;
  box-shadow:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .msg,
html.is-standalone-root body[data-shell-page="register"] .msg{
  width:min(312px, 100%);
  margin:14px auto 0;
  min-height:18px;
  text-align:center;
}
html.is-standalone-root body[data-shell-page="login"] .foot-links,
html.is-standalone-root body[data-shell-page="register"] .foot-links{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .referral-hint,
html.is-standalone-root body[data-shell-page="register"] .referral-hint{
  width:min(312px, 100%);
  margin:0 auto 14px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(78,140,255,.08);
  color:#2f6cf4;
  line-height:1.55;
}
html.is-standalone-root body[data-shell-page="login"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="login"] > .container::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"] > .container::-webkit-scrollbar{
  display:none;
}
.pwa-auth-chrome{
  position:fixed;
  left:16px;
  top:calc(var(--pwa-safe-top) + 10px);
  z-index:9999;
  display:flex;
  align-items:center;
}
.pwa-auth-close{
  width:32px;
  height:32px;
  padding:0;
  border:none;
  outline:none;
  background:transparent;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  -webkit-appearance:none;
  appearance:none;
}
.pwa-auth-close svg{
  width:21px;
  height:21px;
}
@media (max-height: 760px){
  html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
  html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
    padding:calc(var(--pwa-safe-top) + 22px) 22px calc(var(--pwa-safe-bottom) + 18px) !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge img,
  html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge img{
    width:80px;
    height:80px;
  }
  html.is-standalone-root body[data-shell-page="login"] .title,
  html.is-standalone-root body[data-shell-page="register"] .title{
    font-size:28px;
  }
  html.is-standalone-root body[data-shell-page="login"] .subtitle,
  html.is-standalone-root body[data-shell-page="register"] .subtitle{
    margin-bottom:22px;
  }
  html.is-standalone-root body[data-shell-page="login"] .field,
  html.is-standalone-root body[data-shell-page="register"] .field{
    margin-bottom:12px;
  }
  html.is-standalone-root body[data-shell-page="login"] .actions,
  html.is-standalone-root body[data-shell-page="register"] .actions{
    margin-top:22px;
    gap:16px;
  }
}


/* === auth standalone final light === */
html.is-standalone-root body[data-shell-page="login"],
html.is-standalone-root body[data-shell-page="register"]{
  background:#f2f3f5 !important;
  height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  -webkit-overflow-scrolling:auto !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container,
html.is-standalone-root body[data-shell-page="register"] > .container{
  width:100% !important;
  max-width:none !important;
  min-height:100dvh !important;
  height:100dvh !important;
  padding:0 !important;
  margin:0 !important;
  background:#f2f3f5 !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
  width:100% !important;
  min-height:100dvh !important;
  height:100dvh !important;
  padding:calc(var(--pwa-safe-top) + 34px) 24px calc(var(--pwa-safe-bottom) + 18px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap > .card,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap > .card{
  width:min(328px, 100%) !important;
  max-width:328px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
html.is-standalone-root body[data-shell-page="login"] .auth-brand,
html.is-standalone-root body[data-shell-page="register"] .auth-brand,
html.is-standalone-root body[data-shell-page="login"] .auth-brand__badge,
html.is-standalone-root body[data-shell-page="register"] .auth-brand__badge{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .title,
html.is-standalone-root body[data-shell-page="register"] .title{
  margin:0 0 10px !important;
  text-align:center !important;
  font-size:30px !important;
  line-height:1.16 !important;
  letter-spacing:-.03em !important;
  color:#111827 !important;
}
html.is-standalone-root body[data-shell-page="login"] .subtitle,
html.is-standalone-root body[data-shell-page="register"] .subtitle{
  width:min(280px, 100%) !important;
  margin:0 auto 30px !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.75 !important;
  color:#7c8698 !important;
}
html.is-standalone-root body[data-shell-page="login"] .label,
html.is-standalone-root body[data-shell-page="register"] .label{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .field,
html.is-standalone-root body[data-shell-page="register"] .field{
  width:min(292px, 100%) !important;
  margin:0 auto 14px !important;
}
html.is-standalone-root body[data-shell-page="login"] .input,
html.is-standalone-root body[data-shell-page="register"] .input{
  width:100% !important;
  height:48px !important;
  padding:0 15px !important;
  border-radius:15px !important;
  border:1px solid #dde4ee !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:none !important;
  font-size:15px !important;
  color:#111827 !important;
}
html.is-standalone-root body[data-shell-page="login"] .input::placeholder,
html.is-standalone-root body[data-shell-page="register"] .input::placeholder{
  color:#a1a9b7 !important;
}
html.is-standalone-root body[data-shell-page="login"] .input:focus,
html.is-standalone-root body[data-shell-page="register"] .input:focus{
  border-color:#111827 !important;
  box-shadow:0 0 0 4px rgba(17,24,39,.06) !important;
}
html.is-standalone-root body[data-shell-page="login"] .actions,
html.is-standalone-root body[data-shell-page="register"] .actions{
  width:min(292px, 100%) !important;
  margin:28px auto 0 !important;
  gap:22px !important;
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary,
html.is-standalone-root body[data-shell-page="register"] .btn-primary{
  height:50px !important;
  border-radius:999px !important;
  border:none !important;
  background:#111827 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(17,24,39,.16) !important;
  transform:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .btn-primary:hover,
html.is-standalone-root body[data-shell-page="register"] .btn-primary:hover{
  transform:none !important;
  box-shadow:0 10px 24px rgba(17,24,39,.16) !important;
}
html.is-standalone-root body[data-shell-page="login"] .btn-ghost,
html.is-standalone-root body[data-shell-page="register"] .btn-ghost{
  height:auto !important;
  min-height:unset !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#111827 !important;
  font-size:15px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .msg,
html.is-standalone-root body[data-shell-page="register"] .msg{
  width:min(292px, 100%) !important;
  margin:14px auto 0 !important;
  min-height:18px !important;
  text-align:center !important;
}
html.is-standalone-root body[data-shell-page="login"] .foot-links,
html.is-standalone-root body[data-shell-page="register"] .foot-links{
  display:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .referral-hint,
html.is-standalone-root body[data-shell-page="register"] .referral-hint{
  width:min(292px, 100%) !important;
  margin:0 auto 14px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background:rgba(17,24,39,.05) !important;
  color:#111827 !important;
}
html.is-standalone-root body[data-shell-page="login"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"]::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="login"] > .container::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"] > .container::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap::-webkit-scrollbar,
html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap::-webkit-scrollbar{
  display:none !important;
}
.pwa-auth-chrome{
  position:fixed !important;
  left:14px !important;
  right:auto !important;
  top:calc(var(--pwa-safe-top) + 10px) !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 !important;
  pointer-events:none !important;
}
.pwa-auth-close{
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  color:#111 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.pwa-auth-close svg{
  width:20px !important;
  height:20px !important;
}
@media (max-height: 760px){
  html.is-standalone-root body[data-shell-page="login"] > .container > .auth-wrap,
  html.is-standalone-root body[data-shell-page="register"] > .container > .auth-wrap{
    padding:calc(var(--pwa-safe-top) + 28px) 20px calc(var(--pwa-safe-bottom) + 14px) !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .title,
  html.is-standalone-root body[data-shell-page="register"] .title{
    font-size:28px !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .subtitle,
  html.is-standalone-root body[data-shell-page="register"] .subtitle{
    margin-bottom:24px !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .field,
  html.is-standalone-root body[data-shell-page="register"] .field{
    margin-bottom:12px !important;
  }
  html.is-standalone-root body[data-shell-page="login"] .actions,
  html.is-standalone-root body[data-shell-page="register"] .actions{
    margin-top:24px !important;
    gap:18px !important;
  }
}

/* === auth input refine + safari install flow === */
html.is-standalone-root body[data-shell-page="login"] .field,
html.is-standalone-root body[data-shell-page="register"] .field{
  width:min(292px, 100%) !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  min-height:auto !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .input,
html.is-standalone-root body[data-shell-page="register"] .input{
  width:100% !important;
  height:48px !important;
  padding:0 15px !important;
  border-radius:15px !important;
  border:1px solid #d8deea !important;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 10px 22px rgba(15,23,42,.04) !important;
  color:#111827 !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
html.is-standalone-root body[data-shell-page="login"] .input:focus,
html.is-standalone-root body[data-shell-page="register"] .input:focus{
  border-color:#8fb2f5 !important;
  background:#ffffff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98), 0 0 0 4px rgba(92,152,255,.10), 0 12px 24px rgba(15,23,42,.05) !important;
}
html.is-standalone-root body[data-shell-page="login"] .input::placeholder,
html.is-standalone-root body[data-shell-page="register"] .input::placeholder{
  color:#a1a9b7 !important;
}

.pwa-install-sheet{
  left:14px;
  right:14px;
  bottom:calc(14px + var(--pwa-safe-bottom));
  padding:20px 16px 16px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,251,255,.98) 0%, rgba(240,246,255,.98) 100%);
  color:#111827;
  border:1px solid rgba(133,163,214,.18);
  box-shadow:0 20px 44px rgba(70,96,140,.16);
}
.pwa-install-sheet__intro{
  width:100%;
  text-align:center;
}
.pwa-install-sheet__title{
  font-size:18px;
  color:#111827;
  text-align:center;
}
.pwa-install-sheet__desc{
  margin:8px 0 0;
  color:#667085;
  font-size:13px;
  line-height:1.7;
  text-align:center;
}
.pwa-install-close{
  background:rgba(255,255,255,.72);
  color:#111827;
  border:1px solid rgba(133,163,214,.18);
  backdrop-filter:blur(8px);
}
.pwa-install-flow{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:14px 14px 10px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(250,252,255,.62) 100%);
  border:1px solid rgba(133,163,214,.14);
}
.pwa-install-step{
  display:grid;
  grid-template-columns:32px 1fr;
  column-gap:12px;
  align-items:flex-start;
}
.pwa-install-step__num{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#111827;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
}
.pwa-install-step__body{
  padding:2px 0 0;
}
.pwa-install-step__title{
  font-size:14px;
  font-weight:800;
  color:#111827;
  line-height:1.45;
}
.pwa-install-step__meta{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#667085;
  font-size:13px;
  line-height:1.55;
}
.pwa-install-sheet__top{
  position:relative;
  justify-content:center;
}
.pwa-install-close{
  position:absolute;
  right:0;
  top:0;
}
.pwa-install-iconbox{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(17,24,39,.06);
  color:#111827;
}
.pwa-install-iconbox svg{
  width:18px;
  height:18px;
}
.pwa-install-flowline{
  width:2px;
  height:18px;
  margin:8px 0 8px 15px;
  background:linear-gradient(180deg, rgba(85,124,188,.28) 0%, rgba(85,124,188,.08) 100%);
  border-radius:999px;
}
@media (min-width: 981px){
  .pwa-install-sheet{
    width:min(440px, calc(100vw - 28px));
  }
}

/* ===== 2026-03 modal + install hint refinements ===== */
html.pwa-scroll-lock,
html.pwa-scroll-lock body{
  overscroll-behavior:none !important;
}

html.is-standalone-root .pwa-tabbar{
  transition:transform .22s ease, opacity .18s ease;
}
html.is-standalone-root.pwa-modal-active .pwa-tabbar,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar{
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(calc(100% + var(--pwa-safe-bottom) + 22px)) !important;
}
html.is-standalone-root.pwa-modal-active,
html.is-standalone-root body.pwa-modal-active{
  overscroll-behavior:none !important;
}

.pwa-install-backdrop{
  --pwa-install-overlay-alpha: 1;
  position:fixed;
  inset:0;
  z-index:10045;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 14px calc(12px + env(safe-area-inset-bottom));
  background:rgba(9, 15, 25, calc(.24 * var(--pwa-install-overlay-alpha)));
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.pwa-install-backdrop.is-show{
  opacity:1;
  pointer-events:auto;
}
.pwa-install-backdrop .pwa-install-sheet{
  position:relative;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:min(100%, 460px);
  margin:0 auto;
  padding:14px 18px 18px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(226,236,249,.98) 0%, rgba(212,226,246,.98) 100%) !important;
  color:#111827 !important;
  border:1px solid rgba(111,145,198,.22) !important;
  box-shadow:0 26px 64px rgba(23, 40, 73, .22) !important;
  transform:translateY(110%);
  opacity:1 !important;
  pointer-events:auto !important;
  transition:transform .24s ease;
}
.pwa-install-backdrop.is-show .pwa-install-sheet{
  transform:translateY(0);
}
.pwa-install-sheet.is-dragging{
  transition:none !important;
}
.pwa-install-sheet__handle{
  width:42px;
  height:5px;
  border-radius:999px;
  background:rgba(17,24,39,.18);
  margin:2px auto 12px;
}
.pwa-install-sheet__top{
  display:block !important;
}
.pwa-install-sheet__intro,
.pwa-install-sheet__title,
.pwa-install-sheet__desc{
  width:100%;
  text-align:center !important;
}
.pwa-install-sheet__title{
  margin:0;
  font-size:18px;
  font-weight:800;
  color:#0f172a !important;
}
.pwa-install-sheet__desc{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.75;
  color:#5f6f88 !important;
}
.pwa-install-flow{
  margin-top:16px;
  padding:16px 14px 12px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(245,249,255,.62) 100%);
  border:1px solid rgba(111,145,198,.16);
}
.pwa-install-step{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
}
.pwa-install-step__num{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#0f172a;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
}
.pwa-install-step__body{
  width:100%;
  padding:0 !important;
}
.pwa-install-step__title,
.pwa-install-step__meta,
.pwa-install-step__iconline{
  width:100%;
  text-align:center !important;
}
.pwa-install-step__title{
  font-size:14px;
  line-height:1.5;
  font-weight:800;
  color:#0f172a;
}
.pwa-install-step__iconline{
  margin-top:2px;
}
.pwa-install-step__meta{
  margin-top:0 !important;
  display:block !important;
  font-size:12px;
  line-height:1.7;
  color:#607089;
}
.pwa-install-iconbox{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(15,23,42,.065);
  color:#0f172a;
}
.pwa-install-iconbox svg{
  width:19px;
  height:19px;
}
.pwa-install-flowline{
  width:2px;
  height:18px;
  margin:10px auto;
  background:linear-gradient(180deg, rgba(84,119,175,.34) 0%, rgba(84,119,175,.10) 100%);
  border-radius:999px;
}
.pwa-install-close{
  display:none !important;
}

@media (min-width: 981px){
  .pwa-install-backdrop .pwa-install-sheet{
    width:min(440px, calc(100vw - 28px));
  }
}
html.is-standalone-root .pwa-appbar{ z-index:80 !important; }
html.is-standalone-root .pwa-tabbar{ z-index:81 !important; }


/* ===== 2026-03-14 modal/tabbar/browser install hotfix ===== */
html.is-standalone-root .pwa-tabbar{opacity:1 !important;pointer-events:auto !important;transform:none !important;}
html.is-standalone-root.pwa-modal-active .pwa-tabbar,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar{opacity:1 !important;pointer-events:auto !important;transform:none !important;}
html.is-standalone-root .pwa-appbar{z-index:10020 !important;}
html.is-standalone-root .pwa-tabbar{z-index:10021 !important;}
.video-modal,.modal-mask,.qr-modal-mask,.feedback-mask,.success-mask,.swal2-container,[role="dialog"][open]{z-index:10060 !important;}
.pwa-install-backdrop{background:rgba(8,12,20,.42) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}
.pwa-install-backdrop .pwa-install-sheet{background:linear-gradient(180deg, rgba(216,228,245,.99) 0%, rgba(200,217,240,.995) 100%) !important;border-color:rgba(92,122,171,.22) !important;box-shadow:0 28px 72px rgba(14,24,43,.24) !important;}
.pwa-install-flow{background:linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(242,247,255,.68) 100%) !important;border-color:rgba(92,122,171,.14) !important;}
.pwa-install-step__title,.pwa-install-step__meta,.pwa-install-step__iconline{text-align:center !important;}
.pwa-install-step__iconline{display:flex !important;justify-content:center !important;align-items:center !important;}
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main{padding-bottom:calc(var(--pwa-tabbar-offset) + 18px) !important;}


/* ===== 2026-03-14 record pages + modal parity hotfix ===== */
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main{
  padding-bottom:calc(var(--pwa-tabbar-offset) + 4px) !important;
}
html.is-standalone-root body[data-shell-page="user-orders"] > main .page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main .page{
  padding-bottom:8px !important;
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-offset) - 8px);
}

html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  inset:0 !important;
  padding:24px !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(12,12,12,.42) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
  z-index:10060 !important;
  box-sizing:border-box !important;
  min-height:100vh !important;
  min-height:100dvh !important;
}
html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask{display:none !important;}
html.is-standalone-root .video-modal.show,
html.is-standalone-root .modal-mask.show{display:flex !important;}
html.is-standalone-root .video-modal.show,
html.is-standalone-root .modal-mask.show,
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  opacity:1 !important;
  pointer-events:auto !important;
}
html.is-standalone-root .video-box,
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  width:min(92vw,390px) !important;
  border-radius:28px !important;
  margin:auto !important;
  max-height:calc(100dvh - 48px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 40px 100px rgba(0,0,0,.18) !important;
}
html.is-standalone-root .video-box{
  background:#000 !important;
  transform:translateY(18px) scale(.92);
  transition:.32s cubic-bezier(.2,.8,.2,1);
}
html.is-standalone-root .video-modal.show .video-box{
  transform:translateY(0) scale(1) !important;
}
html.is-standalone-root .video-close{
  display:none !important;
}
html.is-standalone-root .video-progress{
  left:14px !important;
  right:14px !important;
  bottom:12px !important;
}
html.is-standalone-root .video-play-icon{
  width:64px !important;
  height:64px !important;
  background:rgba(0,0,0,.34) !important;
}

html.is-standalone-root .pwa-appbar{z-index:10020 !important;}
html.is-standalone-root .pwa-tabbar{z-index:10021 !important;}
html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask,
html.is-standalone-root .swal2-container,
html.is-standalone-root [role="dialog"][open]{z-index:10060 !important;}

.pwa-install-backdrop{
  background:rgba(233,238,245,.92) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.pwa-install-backdrop .pwa-install-sheet{
  background:linear-gradient(180deg, rgba(206,221,243,.995) 0%, rgba(191,210,237,.995) 100%) !important;
  border-color:rgba(92,122,171,.18) !important;
  box-shadow:0 24px 56px rgba(16,28,48,.18) !important;
}
.pwa-install-flow{
  background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(244,248,255,.78) 100%) !important;
}

@media (max-width:760px){
  html.is-standalone-root .video-modal,
  html.is-standalone-root .modal-mask,
  html.is-standalone-root .qr-modal-mask,
  html.is-standalone-root .feedback-mask,
  html.is-standalone-root .success-mask{
    padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom)) !important;
  }
  html.is-standalone-root .video-box,
  html.is-standalone-root .qr-modal-card,
  html.is-standalone-root .feedback-card,
  html.is-standalone-root .success-card{
    width:min(86vw,320px) !important;
    border-radius:22px !important;
    max-height:calc(100dvh - 28px) !important;
  }
}


/* ===== 2026-03-14 final record/modal/install adjustments ===== */
:root{
  --pwa-safe-bottom-ui: min(18px, max(0px, env(safe-area-inset-bottom, 0px)));
  --pwa-tabbar-h: 54px;
  --pwa-tabbar-offset: calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom-ui));
}

html.is-standalone-root .pwa-tabbar{
  bottom:0 !important;
  padding:0 0 var(--pwa-safe-bottom-ui) !important;
  background:rgba(255,255,255,.985) !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html.is-standalone-root .pwa-tabbar__inner{
  min-height:var(--pwa-tabbar-h) !important;
  align-items:center !important;
}
html.is-standalone-root .pwa-tabbar__item{
  justify-content:center !important;
  gap:2px !important;
  padding:7px 0 1px !important;
}
html.is-standalone-root .pwa-tabbar__label{
  line-height:1.08 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main{
  min-height:calc(100dvh - var(--pwa-content-top-space)) !important;
  padding-bottom:calc(var(--pwa-tabbar-offset) + 6px) !important;
}
html.is-standalone-root body[data-shell-page="user-orders"] > main .page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main .page{
  min-height:auto !important;
  padding-bottom:0 !important;
}

html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  background:rgba(239,242,247,.56) !important;
  -webkit-backdrop-filter:blur(10px) saturate(120%) !important;
  backdrop-filter:blur(10px) saturate(120%) !important;
}
html.is-standalone-root .modal-mask.show,
html.is-standalone-root .video-modal.show,
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  display:flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  width:min(92vw,390px) !important;
  border-radius:28px !important;
  box-shadow:0 24px 56px rgba(15,23,42,.14) !important;
  transform:translateY(0) scale(1) !important;
}
html.is-standalone-root .video-box{
  width:min(80vw,300px) !important;
  border-radius:20px !important;
  box-shadow:0 24px 56px rgba(15,23,42,.14) !important;
  transform:none !important;
}
html.is-standalone-root .video-modal.show .video-box,
html.is-standalone-root .qr-modal-mask.show .qr-modal-card,
html.is-standalone-root .feedback-mask.show .feedback-card,
html.is-standalone-root .success-mask.show .success-card{
  transform:translateY(0) scale(1) !important;
}

.pwa-install-backdrop{
  top:calc(72px + env(safe-area-inset-top, 0px)) !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  background:rgba(232,237,244,.40) !important;
  -webkit-backdrop-filter:blur(10px) saturate(120%) !important;
  backdrop-filter:blur(10px) saturate(120%) !important;
}
.pwa-install-backdrop .pwa-install-sheet{
  background:linear-gradient(180deg, rgba(210,223,243,.985) 0%, rgba(196,213,237,.988) 100%) !important;
  border-color:rgba(92,122,171,.18) !important;
  box-shadow:0 24px 56px rgba(16,28,48,.14) !important;
}
.pwa-install-flow{
  background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(244,248,255,.76) 100%) !important;
}
.pwa-install-step__title,
.pwa-install-step__meta,
.pwa-install-step__iconline{
  text-align:center !important;
}
.pwa-install-step__iconline{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}

/* ===== 2026-03-14 final sparse-record + modal parity fix ===== */
:root{
  --pwa-safe-top: clamp(0px, env(safe-area-inset-top, 0px), 44px);
  --pwa-safe-bottom: clamp(0px, env(safe-area-inset-bottom, 0px), 12px);
  --pwa-tabbar-h: 52px;
  --pwa-tabbar-offset: calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom));
}

html.is-standalone-root .pwa-tabbar{
  bottom:0 !important;
  padding:0 0 var(--pwa-safe-bottom) !important;
  background:rgba(255,255,255,.985) !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  box-shadow:none !important;
}
html.is-standalone-root .pwa-tabbar__inner{
  min-height:var(--pwa-tabbar-h) !important;
  align-items:center !important;
}
html.is-standalone-root .pwa-tabbar__item{
  justify-content:center !important;
  gap:2px !important;
  padding:3px 0 0 !important;
}
html.is-standalone-root .pwa-tabbar__label{
  line-height:1.06 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main.page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page{
  min-height:calc(100svh - var(--pwa-content-top-space) - var(--pwa-tabbar-offset)) !important;
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-offset)) !important;
  padding-bottom:12px !important;
}
html.is-standalone-root body[data-shell-page="user-orders"] > main.page .page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page .page{
  min-height:0 !important;
  padding-bottom:0 !important;
}

html.is-standalone-root .modal-mask,
html.is-standalone-root .video-modal,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:max(14px, env(safe-area-inset-top, 0px)) 14px max(14px, env(safe-area-inset-bottom, 0px)) !important;
  background:rgba(238,242,247,.58) !important;
  -webkit-backdrop-filter:blur(10px) saturate(108%) !important;
  backdrop-filter:blur(10px) saturate(108%) !important;
  z-index:11060 !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .modal-mask.show,
html.is-standalone-root .video-modal.show,
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  display:flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html.is-standalone-root .modal-shell,
html.is-standalone-root .video-box,
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  width:min(86vw, 320px) !important;
  margin:auto !important;
  border-radius:22px !important;
  overflow:auto !important;
  max-height:calc(100dvh - 28px) !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 28px 68px rgba(15,23,42,.16) !important;
}
html.is-standalone-root .modal{
  width:100% !important;
  border-radius:22px !important;
  padding:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
html.is-standalone-root .video-box,
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  background:#fff !important;
  transform:translateY(0) scale(1) !important;
}
html.is-standalone-root .video-box{
  overflow:hidden !important;
}
html.is-standalone-root .video-modal .video-box video,
html.is-standalone-root .modal-video video{
  max-height:70dvh !important;
  display:block !important;
}
html.is-standalone-root .modal-close,
html.is-standalone-root .video-close,
html.is-standalone-root .qr-modal-close{
  display:none !important;
}

.pwa-install-backdrop{
  top:calc(72px + env(safe-area-inset-top, 0px)) !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  background:rgba(232,237,244,.20) !important;
  -webkit-backdrop-filter:blur(8px) saturate(108%) !important;
  backdrop-filter:blur(8px) saturate(108%) !important;
}
.pwa-install-backdrop .pwa-install-sheet{
  background:linear-gradient(180deg, rgba(210,223,243,.985) 0%, rgba(196,213,237,.988) 100%) !important;
  box-shadow:0 24px 56px rgba(16,28,48,.14) !important;
}

/* ===== 2026-03-14 lock tabbar + center video + clear browser install ===== */
:root{
  --pwa-safe-bottom-lock: clamp(0px, env(safe-area-inset-bottom, 0px), 16px);
  --pwa-tabbar-h: 50px;
  --pwa-tabbar-offset: calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom-lock));
}

html.is-standalone-root .pwa-tabbar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:rgba(255,255,255,.985) !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  transform:none !important;
}
html.is-standalone-root .pwa-tabbar__inner{
  min-height:calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom-lock)) !important;
  padding:0 !important;
  margin:0 auto !important;
  align-items:stretch !important;
}
html.is-standalone-root .pwa-tabbar__item{
  min-height:calc(var(--pwa-tabbar-h) + var(--pwa-safe-bottom-lock)) !important;
  justify-content:flex-end !important;
  gap:2px !important;
  padding:6px 0 max(6px, calc(var(--pwa-safe-bottom-lock) - 2px)) !important;
}
html.is-standalone-root .pwa-tabbar__icon{
  line-height:1 !important;
}
html.is-standalone-root .pwa-tabbar__label{
  line-height:1.04 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main{
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-offset)) !important;
  padding-bottom:6px !important;
}
html.is-standalone-root body[data-shell-page="user-orders"] > main.page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main.page{
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-offset)) !important;
  padding-bottom:6px !important;
}
html.is-standalone-root body[data-shell-page="user-orders"] > main .page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main .page,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main .page{
  min-height:0 !important;
  padding-bottom:0 !important;
}

html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:max(14px, env(safe-area-inset-top, 0px)) 14px max(14px, env(safe-area-inset-bottom, 0px)) !important;
  background:rgba(236,240,246,.44) !important;
  -webkit-backdrop-filter:blur(6px) saturate(106%) !important;
  backdrop-filter:blur(6px) saturate(106%) !important;
}
html.is-standalone-root .video-modal.show,
html.is-standalone-root .modal-mask.show,
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  display:flex !important;
}
html.is-standalone-root .video-box,
html.is-standalone-root .modal-shell,
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  margin:auto !important;
  transform:none !important;
}
html.is-standalone-root .video-box{
  width:min(86vw, 320px) !important;
  max-width:320px !important;
  border-radius:22px !important;
  overflow:hidden !important;
  box-shadow:0 28px 68px rgba(15,23,42,.16) !important;
}
html.is-standalone-root .video-modal.show .video-box,
html.is-standalone-root .modal-mask.show .modal-shell,
html.is-standalone-root .qr-modal-mask.show .qr-modal-card,
html.is-standalone-root .feedback-mask.show .feedback-card,
html.is-standalone-root .success-mask.show .success-card{
  transform:none !important;
}

.pwa-install-backdrop{
  background:rgba(233,238,245,.22) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.pwa-install-backdrop .pwa-install-sheet{
  box-shadow:0 24px 56px rgba(16,28,48,.10) !important;
}


/* ===== 2026-03-14 definitive bottom-tab + modal + browser-install fix ===== */
:root{
  --pwa-tabbar-main-h-final: 52px;
  --pwa-tabbar-safe-final: clamp(0px, env(safe-area-inset-bottom, 0px), 6px);
  --pwa-tabbar-total-h-final: calc(var(--pwa-tabbar-main-h-final) + var(--pwa-tabbar-safe-final));
}

html.is-standalone-root body[data-shell-page="user-orders"],
html.is-standalone-root body[data-shell-page="user-withdrawals"],
html.is-standalone-root body[data-shell-page="user-amount-details"]{
  min-height:100dvh !important;
  min-height:100svh !important;
  display:flex !important;
  flex-direction:column !important;
}

html.is-standalone-root .pwa-tabbar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  height:var(--pwa-tabbar-total-h-final) !important;
  min-height:var(--pwa-tabbar-total-h-final) !important;
  max-height:var(--pwa-tabbar-total-h-final) !important;
  padding:0 !important;
  margin:0 !important;
  background:rgba(255,255,255,.985) !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  box-shadow:none !important;
  transform:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html.is-standalone-root .pwa-tabbar__inner{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  align-items:end !important;
  height:var(--pwa-tabbar-total-h-final) !important;
  min-height:var(--pwa-tabbar-total-h-final) !important;
  max-height:var(--pwa-tabbar-total-h-final) !important;
  margin:0 auto !important;
  padding:0 0 var(--pwa-tabbar-safe-final) !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .pwa-tabbar__item{
  min-height:var(--pwa-tabbar-main-h-final) !important;
  height:var(--pwa-tabbar-main-h-final) !important;
  align-self:end !important;
  justify-content:center !important;
  gap:2px !important;
  padding:4px 0 2px !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .pwa-tabbar__icon{
  line-height:1 !important;
}
html.is-standalone-root .pwa-tabbar__item svg{
  width:22px !important;
  height:22px !important;
}
html.is-standalone-root .pwa-tabbar__label{
  line-height:1.05 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main.page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main.page{
  flex:1 1 auto !important;
  width:100% !important;
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-final)) !important;
  padding-top:calc(var(--pwa-content-top-space) + var(--pwa-page-top-gap)) !important;
  padding-bottom:10px !important;
}

html.is-standalone-root .video-modal,
html.is-standalone-root .modal-mask,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px 14px !important;
  background:rgba(236,240,246,.28) !important;
  -webkit-backdrop-filter:blur(6px) saturate(106%) !important;
  backdrop-filter:blur(6px) saturate(106%) !important;
  z-index:11060 !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .video-modal.show,
html.is-standalone-root .modal-mask.show,
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  display:flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html.is-standalone-root .video-box,
html.is-standalone-root .modal-shell,
html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  width:min(92vw,390px) !important;
  margin:auto !important;
  border-radius:28px !important;
  max-height:calc(100dvh - 48px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 40px 100px rgba(0,0,0,.14) !important;
  transform:translateY(0) scale(1) !important;
  background:#fff !important;
}
html.is-standalone-root .video-box{
  padding:0 !important;
  overflow:hidden !important;
}
html.is-standalone-root .modal,
html.is-standalone-root .modal-card{
  width:100% !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:none !important;
}
html.is-standalone-root .modal-close,
html.is-standalone-root .video-close,
html.is-standalone-root .qr-modal-close{
  display:none !important;
}

.pwa-install-backdrop{
  top:calc(72px + env(safe-area-inset-top, 0px)) !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  background:rgba(232,237,244,.12) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}


/* ===== 2026-03-15 PWA modal parity with mobile browser ===== */
html.is-standalone-root .video-modal,
html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  position:fixed !important;
  inset:0 !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  min-height:100vh !important;
  min-height:100dvh !important;
  z-index:11060 !important;
}

html.is-standalone-root .video-modal{
  display:none !important;
  padding:24px 14px !important;
  background:rgba(0,0,0,.6) !important;
  overflow:hidden !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
html.is-standalone-root .video-modal.show{
  display:flex !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html.is-standalone-root .video-box{
  position:relative !important;
  width:min(80vw,300px) !important;
  border-radius:20px !important;
  overflow:hidden !important;
  background:#000 !important;
  margin:auto !important;
  max-height:none !important;
  box-shadow:none !important;
  transform:none !important;
}
html.is-standalone-root .video-modal .video-box video{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
html.is-standalone-root .video-close{
  display:flex !important;
  position:absolute !important;
  left:50% !important;
  top:-60px !important;
  transform:translateX(-50%) !important;
  width:48px !important;
  height:48px !important;
  border:none !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.75) !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:48px !important;
  text-align:center !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 6px 16px rgba(0,0,0,.4) !important;
}

html.is-standalone-root .qr-modal-mask,
html.is-standalone-root .feedback-mask,
html.is-standalone-root .success-mask{
  display:flex !important;
  padding:24px !important;
  background:rgba(12,12,12,.42) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:.28s ease !important;
  overscroll-behavior:contain !important;
  touch-action:none !important;
}
html.is-standalone-root .qr-modal-mask.show,
html.is-standalone-root .feedback-mask.show,
html.is-standalone-root .success-mask.show{
  opacity:1 !important;
  pointer-events:auto !important;
}

html.is-standalone-root .qr-modal-card,
html.is-standalone-root .feedback-card,
html.is-standalone-root .success-card{
  width:min(92vw,390px) !important;
  background:#fff !important;
  border-radius:28px !important;
  margin:auto !important;
  max-height:calc(100dvh - 48px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  box-shadow:0 40px 100px rgba(0,0,0,.18) !important;
  transform:translateY(18px) scale(.92) !important;
  transition:.32s cubic-bezier(.2,.8,.2,1) !important;
}
html.is-standalone-root .qr-modal-mask.show .qr-modal-card,
html.is-standalone-root .feedback-mask.show .feedback-card,
html.is-standalone-root .success-mask.show .success-card{
  transform:translateY(0) scale(1) !important;
}

@media (max-width:760px){
  html.is-standalone-root .video-modal,
  html.is-standalone-root .qr-modal-mask,
  html.is-standalone-root .feedback-mask,
  html.is-standalone-root .success-mask{
    padding:max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
  }

  html.is-standalone-root .success-card,
  html.is-standalone-root .feedback-card,
  html.is-standalone-root .qr-modal-card{
    width:min(86vw,320px) !important;
    border-radius:22px !important;
    padding:20px 16px 16px !important;
    max-height:calc(100dvh - 28px) !important;
  }

  html.is-standalone-root .success-order,
  html.is-standalone-root .feedback-box{
    margin-top:12px !important;
    padding:13px 14px !important;
    border-radius:16px !important;
    font-size:14px !important;
    line-height:1.6 !important;
    min-height:72px !important;
  }

  html.is-standalone-root .success-order small,
  html.is-standalone-root .feedback-box small{
    margin-top:6px !important;
    font-size:11px !important;
    line-height:1.55 !important;
  }

  html.is-standalone-root .success-actions,
  html.is-standalone-root .feedback-actions,
  html.is-standalone-root .qr-modal-actions{
    gap:8px !important;
    margin-top:12px !important;
  }

  html.is-standalone-root .modal-btn,
  html.is-standalone-root .feedback-btn,
  html.is-standalone-root .qr-modal-btn{
    height:44px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  html.is-standalone-root .success-ring,
  html.is-standalone-root .feedback-ring{
    width:72px !important;
    height:72px !important;
    margin:0 auto 14px !important;
  }

  html.is-standalone-root .success-ring svg,
  html.is-standalone-root .feedback-ring svg{
    width:36px !important;
    height:36px !important;
  }

  html.is-standalone-root .success-ring .mark,
  html.is-standalone-root .feedback-ring .mark{
    font-size:34px !important;
  }

  html.is-standalone-root .success-title,
  html.is-standalone-root .feedback-title,
  html.is-standalone-root .qr-modal-title{
    font-size:22px !important;
    line-height:1.12 !important;
  }

  html.is-standalone-root .success-desc,
  html.is-standalone-root .feedback-desc,
  html.is-standalone-root .qr-modal-desc,
  html.is-standalone-root .qr-modal-empty{
    font-size:13px !important;
    line-height:1.65 !important;
    min-height:auto !important;
  }

  html.is-standalone-root .qr-modal-preview{
    margin-top:12px !important;
    padding:10px !important;
    min-height:180px !important;
    border-radius:16px !important;
  }

  html.is-standalone-root .qr-modal-preview img{
    max-height:160px !important;
    border-radius:10px !important;
  }
}


/* ===== 2026-03-15 modal active: keep tabbar pinned to viewport bottom ===== */
html.is-standalone-root.pwa-modal-active,
html.is-standalone-root.pwa-modal-active body,
html.is-standalone-root body.pwa-modal-active{
  overscroll-behavior:none !important;
}

html.is-standalone-root.pwa-modal-active body.pwa-scroll-lock,
html.is-standalone-root body.pwa-modal-active.pwa-scroll-lock{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:auto !important;
  height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
}

html.is-standalone-root.pwa-modal-active .pwa-tabbar,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar{
  position:fixed !important;
  inset:auto 0 0 0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  margin:0 !important;
  transform:none !important;
}

html.is-standalone-root.pwa-modal-active .pwa-tabbar__inner,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar__inner{
  margin:0 auto !important;
}


/* ===== 2026-03-15 record pages tabbar hard-bottom final fix ===== */
:root{
  --pwa-tabbar-safe-final: env(safe-area-inset-bottom, 0px) !important;
  --pwa-tabbar-total-h-final: calc(var(--pwa-tabbar-main-h-final) + var(--pwa-tabbar-safe-final)) !important;
}

html.is-standalone-root body[data-shell-page="user-orders"],
html.is-standalone-root body[data-shell-page="user-withdrawals"],
html.is-standalone-root body[data-shell-page="user-amount-details"]{
  min-height:100svh !important;
  min-height:100dvh !important;
  background:#f2f3f5 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main.page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main.page{
  min-height:calc(100svh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-final)) !important;
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-final)) !important;
  padding-bottom:10px !important;
}

html.is-standalone-root .pwa-tabbar{
  position:fixed !important;
  inset:auto 0 0 0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  padding:0 !important;
  height:var(--pwa-tabbar-total-h-final) !important;
  min-height:var(--pwa-tabbar-total-h-final) !important;
  max-height:var(--pwa-tabbar-total-h-final) !important;
}

html.is-standalone-root .pwa-tabbar__inner{
  height:var(--pwa-tabbar-total-h-final) !important;
  min-height:var(--pwa-tabbar-total-h-final) !important;
  max-height:var(--pwa-tabbar-total-h-final) !important;
  padding:0 0 var(--pwa-tabbar-safe-final) !important;
  align-items:end !important;
}

html.is-standalone-root .pwa-tabbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--pwa-tabbar-safe-final);
  background:rgba(255,255,255,.985);
  pointer-events:none;
}

html.is-standalone-root.pwa-modal-active .pwa-tabbar,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar{
  inset:auto 0 0 0 !important;
  bottom:0 !important;
}


/* ===== 2026-03-15 universal hard-bottom tabbar lock ===== */
:root{
  --pwa-tabbar-main-h-locked: 56px;
  --pwa-safe-bottom-locked: 12px;
  --pwa-tabbar-total-h-locked: calc(var(--pwa-tabbar-main-h-locked) + var(--pwa-safe-bottom-locked));
}

html.is-standalone-root .pwa-tabbar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  inset:auto 0 0 0 !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:var(--pwa-tabbar-total-h-locked) !important;
  min-height:var(--pwa-tabbar-total-h-locked) !important;
  max-height:var(--pwa-tabbar-total-h-locked) !important;
  background:#ffffff !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  box-shadow:none !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
  z-index:10030 !important;
  overflow:hidden !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
html.is-standalone-root .pwa-tabbar::before,
html.is-standalone-root .pwa-tabbar::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--pwa-safe-bottom-locked);
  background:#ffffff;
  pointer-events:none;
}
html.is-standalone-root .pwa-tabbar__inner{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  align-items:end !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 0 var(--pwa-safe-bottom-locked) !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .pwa-tabbar__item{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:end !important;
  min-height:var(--pwa-tabbar-main-h-locked) !important;
  height:var(--pwa-tabbar-main-h-locked) !important;
  padding:6px 0 4px !important;
  gap:2px !important;
  box-sizing:border-box !important;
}
html.is-standalone-root .pwa-tabbar__icon{
  line-height:1 !important;
}
html.is-standalone-root .pwa-tabbar__item svg{
  width:22px !important;
  height:22px !important;
}
html.is-standalone-root .pwa-tabbar__label{
  line-height:1.08 !important;
}

html.is-standalone-root body.front-home > .container.front-main,
html.is-standalone-root body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root body[data-shell-page="user"] > main,
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-bottom:calc(var(--pwa-tabbar-total-h-locked) + 12px) !important;
}

html.is-standalone-root body[data-shell-page="user-orders"],
html.is-standalone-root body[data-shell-page="user-withdrawals"],
html.is-standalone-root body[data-shell-page="user-amount-details"],
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"],
html.is-standalone-root body[data-shell-page="user"],
html.is-standalone-root body[data-shell-page="buy"],
html.is-standalone-root body[data-shell-page="order"],
html.is-standalone-root body.front-home{
  min-height:100vh !important;
  min-height:100svh !important;
  min-height:100dvh !important;
}

html.is-standalone-root.pwa-modal-active .pwa-tabbar,
html.is-standalone-root body.pwa-modal-active .pwa-tabbar,
html.is-standalone-root.pwa-scroll-lock .pwa-tabbar,
html.is-standalone-root body.pwa-scroll-lock .pwa-tabbar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  inset:auto 0 0 0 !important;
  transform:none !important;
}


/* ===== 2026-03-15 record pages footer reset to global home tabbar ===== */
html.is-standalone-root body[data-shell-page="user-orders"],
html.is-standalone-root body[data-shell-page="user-withdrawals"],
html.is-standalone-root body[data-shell-page="user-amount-details"]{
  min-height:100vh !important;
  min-height:100svh !important;
  min-height:100dvh !important;
  display:flex !important;
  flex-direction:column !important;
  background:#f2f3f5 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"]::before,
html.is-standalone-root body[data-shell-page="user-orders"]::after,
html.is-standalone-root body[data-shell-page="user-withdrawals"]::before,
html.is-standalone-root body[data-shell-page="user-withdrawals"]::after,
html.is-standalone-root body[data-shell-page="user-amount-details"]::before,
html.is-standalone-root body[data-shell-page="user-amount-details"]::after{
  content:none !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] > main.page,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main.page,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main.page{
  flex:1 0 auto !important;
  width:100% !important;
  min-height:calc(100vh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-locked)) !important;
  min-height:calc(100svh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-locked)) !important;
  min-height:calc(100dvh - var(--pwa-content-top-space) - var(--pwa-tabbar-total-h-locked)) !important;
  padding-bottom:calc(var(--pwa-tabbar-total-h-locked) + 12px) !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] .pwa-tabbar,
html.is-standalone-root body[data-shell-page="user-withdrawals"] .pwa-tabbar,
html.is-standalone-root body[data-shell-page="user-amount-details"] .pwa-tabbar{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  inset:auto 0 0 0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  height:var(--pwa-tabbar-total-h-locked) !important;
  min-height:var(--pwa-tabbar-total-h-locked) !important;
  max-height:var(--pwa-tabbar-total-h-locked) !important;
  background:#ffffff !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
  box-shadow:none !important;
  transform:none !important;
  overflow:hidden !important;
  z-index:10030 !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] .pwa-tabbar::before,
html.is-standalone-root body[data-shell-page="user-orders"] .pwa-tabbar::after,
html.is-standalone-root body[data-shell-page="user-withdrawals"] .pwa-tabbar::before,
html.is-standalone-root body[data-shell-page="user-withdrawals"] .pwa-tabbar::after,
html.is-standalone-root body[data-shell-page="user-amount-details"] .pwa-tabbar::before,
html.is-standalone-root body[data-shell-page="user-amount-details"] .pwa-tabbar::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:var(--pwa-safe-bottom-locked) !important;
  background:#ffffff !important;
  pointer-events:none !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] .pwa-tabbar__inner,
html.is-standalone-root body[data-shell-page="user-withdrawals"] .pwa-tabbar__inner,
html.is-standalone-root body[data-shell-page="user-amount-details"] .pwa-tabbar__inner{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  align-items:end !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  margin:0 !important;
  padding:0 0 var(--pwa-safe-bottom-locked) !important;
  box-sizing:border-box !important;
}

html.is-standalone-root body[data-shell-page="user-orders"] .pwa-tabbar__item,
html.is-standalone-root body[data-shell-page="user-withdrawals"] .pwa-tabbar__item,
html.is-standalone-root body[data-shell-page="user-amount-details"] .pwa-tabbar__item{
  min-height:var(--pwa-tabbar-main-h-locked) !important;
  height:var(--pwa-tabbar-main-h-locked) !important;
  align-self:end !important;
}


/* ===== 2026-03-15 unified spacing + app-like motion polish ===== */
:root{
  --pwa-appbar-gap: 8px !important;
  --pwa-page-top-gap: 8px !important;
  --pwa-page-bottom-gap: 18px !important;
}

html.is-standalone-root body.front-home > .container.front-main,
html.is-standalone-root body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root body[data-shell-page="user"] > main,
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-top: calc(var(--pwa-appbar-offset) + var(--pwa-appbar-gap) + var(--pwa-page-top-gap)) !important;
  padding-bottom: calc(var(--pwa-tabbar-total-h-locked) + var(--pwa-page-bottom-gap)) !important;
}

html.is-standalone-root body[data-shell-page="order"] > .container{
  min-height: calc(100dvh - var(--pwa-appbar-offset)) !important;
  box-sizing: border-box !important;
}

html.is-standalone-root .pwa-appbar,
html.is-standalone-root .pwa-tabbar,
html.is-standalone-root body.front-home > .container.front-main,
html.is-standalone-root body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root body[data-shell-page="user"] > main,
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root body[data-shell-page="order"] > .container{
  transition: opacity .18s ease, transform .18s ease !important;
  will-change: transform, opacity;
}

html.is-standalone-root .pwa-appbar__iconbtn,
html.is-standalone-root .pwa-tabbar__item{
  -webkit-tap-highlight-color: transparent;
  transition: transform .16s ease, opacity .16s ease, color .16s ease !important;
}

html.is-standalone-root .pwa-appbar__iconbtn:active,
html.is-standalone-root .pwa-tabbar__item:active{
  transform: scale(.97);
}

html.is-standalone-root.pwa-nav-busy .pwa-appbar,
html.is-standalone-root.pwa-nav-busy .pwa-tabbar,
html.is-standalone-root.pwa-nav-busy body.front-home > .container.front-main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="user"] > main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="user-orders"] > main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root.pwa-nav-busy body[data-shell-page="order"] > .container{
  opacity: .985 !important;
  transform: translateY(1px) !important;
}

html.is-standalone-root body.front-home > .container.front-main,
html.is-standalone-root body[data-shell-page="buy"] > .buy-shell,
html.is-standalone-root body[data-shell-page="user"] > main,
html.is-standalone-root body[data-shell-page="user-orders"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals"] > main,
html.is-standalone-root body[data-shell-page="user-withdrawals-manage"] > main,
html.is-standalone-root body[data-shell-page="user-amount-details"] > main,
html.is-standalone-root body[data-shell-page="order"] > .container{
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}


.pwa-install-sheet__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:76px;
  margin:0 auto 10px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(61, 127, 255, .10);
  color:#3d6fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pwa-install-action{
  width:min(100%, 220px);
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:4px auto 0;
  padding:0 16px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg, #5c98ff 0%, #6c5cff 100%);
  box-shadow:0 16px 30px rgba(76, 98, 190, .22);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
}
.pwa-install-action[disabled]{
  opacity:.78;
}
.pwa-install-note{
  margin:12px 4px 0;
  text-align:center;
  font-size:12px;
  line-height:1.7;
  color:#6c7b93;
}
.pwa-install-sheet--android .pwa-install-flow{
  padding-top:18px;
}

/* ===== 2026-03-17 order page spacing final lock ===== */
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-top: calc(var(--pwa-appbar-offset) + var(--pwa-appbar-gap) + var(--pwa-page-top-gap)) !important;
  padding-bottom: calc(var(--pwa-tabbar-total-h-locked) + var(--pwa-page-bottom-gap)) !important;
  min-height: calc(100dvh - var(--pwa-appbar-offset)) !important;
  box-sizing: border-box !important;
}
html.is-standalone-root body[data-shell-page="order"] > .container > .order-page{
  padding-top: 10px !important;
  padding-bottom: 14px !important;
}
@media (max-width:760px){
  html.is-standalone-root body[data-shell-page="order"] > .container > .order-page{
    padding-top: 8px !important;
    padding-bottom: 12px !important;
  }
}

/* ===== 2026-03-17 order page gap exact match ===== */
html.is-standalone-root body[data-shell-page="order"] > .container{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: auto !important;
  box-sizing: border-box !important;
}
html.is-standalone-root body[data-shell-page="order"] > .container > .order-page{
  padding-top: calc(var(--pwa-content-top-space) + var(--pwa-page-top-gap)) !important;
  padding-bottom: calc(var(--pwa-tabbar-total-h-locked, var(--pwa-tabbar-offset)) + var(--pwa-page-bottom-gap)) !important;
  min-height: calc(100dvh - (var(--pwa-content-top-space) + var(--pwa-page-top-gap)) - (var(--pwa-tabbar-total-h-locked, var(--pwa-tabbar-offset)) + var(--pwa-page-bottom-gap))) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}
html.is-standalone-root body[data-shell-page="order"] > .container > .order-page > .stack-section{
  margin-top: auto !important;
  padding-top: 18px !important;
}
@media (max-width:760px){
  html.is-standalone-root body[data-shell-page="order"] > .container > .order-page > .stack-section{
    padding-top: 14px !important;
  }
}



/* ===== 2026-03-18 PWA pull to refresh ===== */
:root{
  --pwa-ptr-offset: 0px;
  --pwa-ptr-indicator-offset: 0px;
}
html.is-standalone-root.pwa-ptr-pulling body > .container,
html.is-standalone-root.pwa-ptr-pulling body > main,
html.is-standalone-root.pwa-ptr-pulling .buy-shell,
html.is-standalone-root.pwa-ptr-pulling .order-page,
html.is-standalone-root.pwa-ptr-pulling main.page,
html.is-standalone-root.pwa-ptr-pulling .container.front-main,
html.is-standalone-root.pwa-ptr-refreshing body > .container,
html.is-standalone-root.pwa-ptr-refreshing body > main,
html.is-standalone-root.pwa-ptr-refreshing .buy-shell,
html.is-standalone-root.pwa-ptr-refreshing .order-page,
html.is-standalone-root.pwa-ptr-refreshing main.page,
html.is-standalone-root.pwa-ptr-refreshing .container.front-main{
  transform:translate3d(0, var(--pwa-ptr-offset), 0) !important;
  transition:transform .18s ease !important;
  will-change:transform;
}
html.is-standalone-root .pwa-ptr{
  position:fixed;
  inset:0;
  z-index:10019;
  pointer-events:none;
}
html.is-standalone-root .pwa-ptr__indicator{
  position:fixed;
  left:50%;
  top:calc(var(--pwa-appbar-offset, 52px) + 6px);
  width:54px;
  height:54px;
  margin-left:-27px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translate3d(0, calc((var(--pwa-ptr-indicator-offset, 0px) * .72) - 108%), 0) scale(.86);
  opacity:0;
  transition:transform .18s ease, opacity .18s ease;
}
html.is-standalone-root .pwa-ptr.is-visible .pwa-ptr__indicator{
  opacity:1;
}
html.is-standalone-root .pwa-ptr__surface{
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(49,122,255,.08);
  box-shadow:0 10px 28px rgba(39,96,196,.18), 0 2px 6px rgba(20,38,80,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transform:scale(calc(.88 + (var(--pwa-ptr-progress, 0) * .16)));
  transition:transform .18s ease;
}
html.is-standalone-root .pwa-ptr__icon{
  --pwa-ptr-progress: 0;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:999px;
  border:3px solid rgba(47,124,248,.18);
  border-top-color:#2f7cf8;
  border-right-color:#6aa8ff;
  box-sizing:border-box;
  position:relative;
  transition:transform .18s ease, opacity .18s ease, border-color .18s ease;
  opacity:calc(.68 + (var(--pwa-ptr-progress) * .32));
}
html.is-standalone-root .pwa-ptr__icon::after{
  content:'';
  position:absolute;
  inset:4px;
  border-radius:999px;
  background:radial-gradient(circle at 35% 35%, rgba(123,181,255,.45), rgba(123,181,255,0) 72%);
  opacity:calc(.22 + (var(--pwa-ptr-progress) * .3));
}
html.is-standalone-root.pwa-ptr-ready .pwa-ptr__icon{
  border-top-color:#1f6eff;
  border-right-color:#1f6eff;
}
html.is-standalone-root .pwa-ptr__icon.is-spinning{
  animation:pwa-ptr-spin .72s linear infinite;
  border-top-color:#1f6eff;
  border-right-color:#1f6eff;
}
html.is-standalone-root .pwa-ptr__label{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
@keyframes pwa-ptr-spin{
  to{ transform:rotate(360deg); }
}
@media (max-width: 520px){
  html.is-standalone-root .pwa-ptr__indicator{
    width:50px;
    height:50px;
    margin-left:-25px;
  }
  html.is-standalone-root .pwa-ptr__surface{
    width:44px;
    height:44px;
  }
  html.is-standalone-root .pwa-ptr__icon{
    width:24px;
    height:24px;
    flex-basis:24px;
    border-width:2.5px;
  }
}

