/* v90-auth-shell.css — dmwin1.co 8 login/register clone (reference tokens) */
/* Desktop canvas: grey sides like Mine; purple only in phone column */
body.v90-auth-active{
  background:#8E919E!important;
  background-color:#8E919E!important;
  overflow-x:hidden!important;
}
body.v90-auth-active #app{
  min-height:100vh!important;
  background:#1A0B3D!important;
  width:10rem!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Park native AR095 off-screen — keep in DOM for API sync */
body.v90-auth-active .login__container.v90-native-park,
body.v90-auth-active .register__container.v90-native-park,
.v90-native-park{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:-1!important;
}

/* Kill leftover v33 chrome when shell owns the page */
body.v90-auth-active .v33-auth-hero,
body.v90-auth-active .v33-auth-logo{
  display:none!important;
}

.v90-auth-shell{
  position:fixed;
  inset:0;
  z-index:9000;
  display:flex;
  flex-direction:column;
  background:#1A0B3D;
  max-width:100%;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
}
@media (min-width:501px){
  .v90-auth-shell{
    left:50%;
    right:auto;
    width:10rem;
    max-width:10rem;
    transform:translateX(-50%);
    box-shadow:0 0 0 1px rgba(0,0,0,.25);
  }
}

/* Head — compact reference bar */
.v90-auth-head{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:1.22rem;
  min-height:1.22rem;
  padding:0 .28rem;
  box-sizing:border-box;
  background:#1A0B3D;
  z-index:2;
}
.v90-auth-back,
.v90-auth-cs,
.v90-auth-lang{
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
.v90-auth-back{
  width:.64rem;
  height:.64rem;
}
.v90-auth-back svg{width:.48rem;height:.48rem;display:block;}
.v90-auth-logo{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  max-width:58%;
}
.v90-auth-logo img{
  display:block;
  height:.84rem;
  max-height:.84rem;
  width:auto;
  max-width:4.1rem;
  object-fit:contain;
}
.v90-auth-head-right{
  display:flex;
  align-items:center;
  gap:.18rem;
  margin-left:auto;
}
.v90-auth-cs{
  width:.64rem;
  height:.64rem;
  border-radius:50%;
  background:transparent;
  color:#E5A82E;
}
.v90-auth-cs svg{width:.56rem;height:.56rem;display:block;}
.v90-auth-lang{
  gap:.08rem;
  font-size:.28rem;
  font-weight:700;
  color:#fff;
  min-height:.56rem;
}
.v90-auth-flag{
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  flex:0 0 auto;
  display:block;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}
.v90-auth-lang-label{
  line-height:1;
}

/* Hero */
.v90-auth-hero{
  position:relative;
  flex:0 0 auto;
  width:100%;
  min-height:4rem;
  margin-top:.08rem;
  overflow:hidden;
}
.v90-auth-shell--register .v90-auth-hero{min-height:3.95rem;}
.v90-auth-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  display:block;
}
.v90-auth-shell--register .v90-auth-hero-bg{object-position:center 32%;}
.v90-auth-hero-copy{
  position:relative;
  z-index:1;
  padding:.22rem .36rem .2rem;
  max-width:62%;
  box-sizing:border-box;
}
.v90-auth-title{
  margin:0 0 .06rem;
  font-size:.64rem;
  font-weight:800;
  color:#fff;
  line-height:1.15;
  letter-spacing:-.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.v90-auth-sub{
  margin:0;
  font-size:.24rem;
  font-weight:600;
  color:#fff;
  line-height:1.35;
  text-shadow:0 1px 6px rgba(0,0,0,.45);
}
.v90-auth-sub-line{display:block;}

/* Form panel */
.v90-auth-panel{
  flex:1 1 auto;
  background:#2D1B5E;
  padding:.58rem .4rem .64rem;
  box-sizing:border-box;
  min-height:0;
}

.v90-auth-pill{
  display:flex;
  align-items:center;
  gap:.12rem;
  width:100%;
  min-height:1.17333rem;
  height:1.17333rem;
  margin-bottom:.34rem;
  padding:0 .28rem;
  box-sizing:border-box;
  background:rgba(123,95,217,.28);
  border:none;
  border-radius:.58rem;
}
.v90-auth-pill-ico{
  flex:0 0 auto;
  width:.42rem;
  height:.42rem;
  color:rgba(255,255,255,.92);
  display:grid;
  place-items:center;
}
.v90-auth-pill-ico svg{width:.4rem;height:.4rem;display:block;}
.v90-auth-cc{
  flex:0 0 auto;
  color:#fff;
  font-weight:700;
  font-size:.3rem;
  padding-right:.04rem;
}
.v90-auth-input{
  flex:1 1 auto;
  min-width:0;
  border:0;
  outline:0;
  background:transparent!important;
  color:#fff!important;
  font-size:.34rem;
  font-weight:600;
  height:100%;
  padding:.12rem 0;
  caret-color:#FFD23F;
}
.v90-auth-input::placeholder{
  color:rgba(196,181,232,.72);
  font-weight:500;
}
.v90-auth-eye{
  flex:0 0 auto;
  width:.48rem;
  height:.48rem;
  border:0;
  background:transparent;
  color:rgba(196,181,232,.85);
  padding:0;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.v90-auth-eye svg{width:.36rem;height:.36rem;display:block;}

.v90-auth-forgot{
  text-align:right;
  color:#FFD23F;
  font-size:.28rem;
  font-weight:700;
  margin:.08rem 0 .36rem;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.v90-auth-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:1.17333rem;
  border:0;
  border-radius:.66667rem;
  font-size:.4rem;
  font-weight:800;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  box-sizing:border-box;
}
.v90-auth-btn-primary{
  color:#1A0B3D;
  background:linear-gradient(180deg,#FFE57A 0%,#F5C842 48%,#E5A82E 100%);
  box-shadow:0 .08rem .22rem rgba(247,211,88,.28);
  margin-top:.2rem;
}
.v90-auth-btn-secondary{
  margin-top:.28rem;
  color:#FFD23F;
  background:rgba(123,95,217,.32);
  border:none;
  box-shadow:none;
}
.v90-auth-link{
  display:block;
  width:100%;
  margin-top:.32rem;
  border:0;
  background:transparent;
  color:#fff;
  font-size:.32rem;
  font-weight:700;
  text-align:center;
  cursor:pointer;
  padding:.08rem;
}

body.v90-auth-active .v85-pwd-modal{z-index:10050;}

/*
  CRITICAL: never raise a full-screen van-overlay above the auth shell.
  A leftover overlay at z>9000 with pointer-events steals Login clicks
  (button looks fine, clicks do nothing).
*/
body.v90-auth-active .van-overlay{
  z-index:8990!important;
  pointer-events:none!important;
}

/* Toasts must be visible ABOVE shell but must NOT capture clicks */
body.v90-auth-active .van-toast,
body.v90-auth-active .van-notify,
body.v90-auth-active .van-popup.van-toast,
body.v90-auth-active .van-popup.van-notify{
  z-index:12000!important;
  pointer-events:none!important;
}

/* Real dialogs (lock account / confirm) above shell + clickable */
body.v90-auth-active .van-dialog,
html body.v90-auth-active .dialog.active,
html body.v90-auth-active .dialog.active .dialog__container,
html body.v90-auth-active .dialog.active .dialog__outside{
  z-index:12000!important;
}
html body.v90-auth-active .dialog.active{
  pointer-events:auto!important;
  visibility:visible!important;
  opacity:1!important;
}
html body.v90-auth-active .dialog.inactive,
html body.v90-auth-active .dialog.inactive .dialog__outside,
html body.v90-auth-active .dialog.inactive .dialog__container{
  pointer-events:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

.v90-auth-shell .v90-auth-error{
  display:none;
  margin:.12rem 0 .2rem;
  padding:.18rem .24rem;
  border-radius:.2rem;
  background:rgba(251,91,91,.16);
  border:1px solid rgba(251,91,91,.45);
  color:#ffb4b4;
  font-size:.3rem;
  font-weight:600;
  line-height:1.35;
}
.v90-auth-shell .v90-auth-error.is-on{display:block;}
.v90-auth-btn-primary.is-busy{
  opacity:.72;
  pointer-events:none!important;
}
.v90-auth-btn-primary.is-busy::after{
  content:'…';
  margin-left:.12rem;
}
