/* Q auth shell — theme tokens only; no Google Fonts; scoped to body.q-auth-body */
body.q-auth-body{
  --q-auth-font:"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --q-auth-display:Georgia,"Songti SC","Noto Serif SC",serif;
  margin:0;
  min-height:100%;
  font-family:var(--q-auth-font);
  color:var(--q-auth-text,#f4f4f5);
  background:
    radial-gradient(900px 420px at 12% -10%, color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg,#c9a227)) 20%, transparent), transparent 55%),
    radial-gradient(640px 360px at 92% 8%, color-mix(in srgb, var(--q-primary,#c9a227) 10%, transparent), transparent 52%),
    linear-gradient(180deg, color-mix(in srgb, var(--q-auth-bg,var(--q-body-bg,#0b0d10)) 92%, #fff 8%) 0%, var(--q-auth-bg,var(--q-body-bg,#0b0d10)) 48%, color-mix(in srgb, var(--q-auth-bg,var(--q-body-bg,#0b0d10)) 88%, #000) 100%);
  -webkit-font-smoothing:antialiased;
}

body.q-auth-body *,
body.q-auth-body *::before,
body.q-auth-body *::after{box-sizing:border-box}

body.q-auth-body a{
  color:var(--q-auth-accent,var(--q-button-bg,#c9a227));
  text-decoration:none;
}
body.q-auth-body a:hover{
  color:var(--q-button-hover-bg,var(--q-auth-accent));
}

/* Hide leftover parent chrome if any */
body.q-auth-body .return-home,
body.q-auth-body .loginimage,
body.q-auth-body .expend-container{display:none!important}

.q-auth{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px 16px 40px;
}
.q-auth-shell{width:min(420px,100%)}

.q-auth-brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.q-auth-brand-mark{display:flex;flex-direction:column;gap:4px}
.q-auth-brand-mark a{color:inherit}
.q-auth-brand-mark strong,
.q-auth-brand-mark .q-auth-logo-text{
  font-family:var(--q-auth-display);
  font-size:28px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.1;
  color:var(--q-title,var(--q-auth-text,#f7efd2));
}
.q-auth-brand-mark img{
  display:block;
  max-height:42px;
  width:auto;
}
.q-auth-brand-mark span{
  font-size:12px;
  color:var(--q-auth-muted,var(--q-muted));
  letter-spacing:.1em;
}
.q-auth-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border:1px solid color-mix(in srgb, var(--q-auth-line,var(--q-border)) 85%, transparent);
  border-radius:999px;
  color:var(--q-auth-muted,var(--q-muted))!important;
  font-size:13px;
  background:color-mix(in srgb, var(--q-auth-card,var(--q-card-bg)) 55%, transparent);
}
.q-auth-back:hover{
  border-color:color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 55%, transparent);
  color:var(--q-auth-text)!important;
}

.q-auth-card{
  position:relative;
  padding:28px 24px 22px;
  border-radius:18px;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff 5%, transparent), transparent 30%),
    var(--q-auth-card,var(--q-card-bg,#16181d));
  border:1px solid color-mix(in srgb, var(--q-auth-line,var(--q-border)) 90%, transparent);
  box-shadow:
    0 1px 0 color-mix(in srgb, #fff 6%, transparent) inset,
    0 22px 48px var(--q-shadow,rgba(0,0,0,.4));
  overflow:hidden;
}
.q-auth-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--q-auth-accent,var(--q-button-bg)), transparent);
}

.q-auth-kicker{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--q-auth-accent,var(--q-button-bg,#c9a227));
}
.q-auth-title{
  margin:0 0 6px;
  font-family:var(--q-auth-display);
  font-size:30px;
  font-weight:700;
  color:var(--q-title,var(--q-auth-text));
  letter-spacing:.01em;
}
.q-auth-desc{
  margin:0 0 20px;
  font-size:14px;
  line-height:1.55;
  color:var(--q-auth-muted,var(--q-muted));
}

.q-auth .loginform{margin:0}
.q-auth .input-item,
.q-auth-field{
  position:relative;
  margin:0 0 12px;
}
.q-auth .input-item > i,
.q-auth .input-item .icon{display:none!important}

.q-auth-field label,
.q-auth .q-auth-label{
  display:block;
  margin:0 0 6px;
  font-size:12px;
  color:var(--q-auth-muted,var(--q-muted));
}

.q-auth .input-control,
.q-auth input[type="text"],
.q-auth input[type="email"],
.q-auth input[type="password"]{
  width:100%;
  height:46px;
  padding:0 14px!important;
  border-radius:12px!important;
  border:1px solid color-mix(in srgb, var(--q-auth-line,var(--q-border)) 90%, transparent)!important;
  background:var(--q-auth-input,var(--q-input-bg,#1c1f26))!important;
  color:var(--q-auth-text)!important;
  font:inherit;
  font-size:15px!important;
  outline:none;
  box-shadow:none!important;
}
.q-auth .input-control::placeholder{color:color-mix(in srgb, var(--q-auth-muted) 70%, transparent)}
.q-auth .input-control:focus{
  border-color:color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 70%, transparent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 18%, transparent)!important;
}

.q-auth .input-item:has(.captcha-clk2),
.q-auth .input-item:has(.captcha-clk),
.q-auth .input-item:has(.captcha-sms-clk){
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
}
.q-auth .input-item:has(.captcha-clk2) .q-auth-label,
.q-auth .input-item:has(.captcha-clk) .q-auth-label,
.q-auth .input-item:has(.captcha-sms-clk) .q-auth-label{
  flex:1 1 100%;
  margin:0;
}
.q-auth .input-item:has(.captcha-clk2) .input-control,
.q-auth .input-item:has(.captcha-clk) .input-control,
.q-auth .input-item:has(.captcha-sms-clk) .input-control{
  flex:1 1 auto;
  min-width:0;
}
.q-auth .captcha-clk2,
.q-auth .captcha-clk,
.q-auth .captcha-sms-clk{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:108px;
  height:46px;
  padding:0 12px!important;
  border:1px solid color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 42%, transparent)!important;
  border-radius:12px!important;
  background:color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 14%, transparent)!important;
  color:var(--q-auth-accent,var(--q-button-bg))!important;
  font-size:13px!important;
  font-weight:600;
  cursor:pointer;
  position:static!important;
  right:auto!important;
  top:auto!important;
  line-height:1!important;
}
.q-auth .captcha-clk2:hover,
.q-auth .captcha-clk:hover{
  background:color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 22%, transparent)!important;
}
.q-auth .captcha-clk2 img,
.q-auth .captcha-img{
  display:block;
  height:34px;
  width:auto;
  border-radius:6px;
}

/* Readable tips — kill parent 8px */
body.q-auth-body .sign-tips2,
body.q-auth-body .sign-tip,
body.q-auth-body .sign-tips,
body.q-auth-body .sign-tips2.q-login-tip{
  display:none;
  margin:0 0 14px!important;
  padding:11px 12px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,107,107,.35)!important;
  background:rgba(255,80,80,.14)!important;
  color:#ffc9c9!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:600!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
body.q-auth-body .sign-tips2.is-show,
body.q-auth-body .sign-tips2.q-login-tip.is-show{display:block!important}
body.q-auth-body .sign-tips2.is-ok,
body.q-auth-body .sign-tips2.q-login-tip.is-ok{
  border-color:rgba(62,207,142,.35)!important;
  background:rgba(62,207,142,.12)!important;
  color:#b7f0d3!important;
}

.q-auth .input-submit{margin:4px 0 0}
.q-auth .submit,
.q-auth .btn.login-loader,
.q-auth .btn.register-loader,
.q-auth .btn.pass-loader,
.q-auth .btn.reset-loader,
.q-auth .btn.mobile-loader{
  width:100%!important;
  height:48px!important;
  margin:0!important;
  border:0!important;
  border-radius:13px!important;
  color:var(--q-auth-accent-text,var(--q-button-text,#1a1408))!important;
  font:inherit!important;
  font-size:16px!important;
  font-weight:750!important;
  letter-spacing:.04em;
  cursor:pointer;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff 28%, transparent), transparent 42%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 88%, #fff),
      var(--q-auth-accent,var(--q-button-bg)) 52%,
      color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 72%, #000))!important;
  box-shadow:
    0 1px 0 color-mix(in srgb, #fff 28%, transparent) inset,
    0 10px 20px color-mix(in srgb, var(--q-auth-accent,var(--q-button-bg)) 22%, transparent)!important;
  transition:filter .12s ease, background .12s ease;
}
.q-auth .submit:hover,
.q-auth .btn:hover{
  filter:brightness(1.04);
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff 28%, transparent), transparent 42%),
    var(--q-button-hover-bg,var(--q-auth-accent))!important;
  color:var(--q-button-hover-text,var(--q-auth-accent-text))!important;
}
.q-auth .submit:active{transform:translateY(1px)}

.q-auth .safe,
.q-auth-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px 16px;
  margin-top:16px;
  font-size:13px;
}
.q-auth .safe a,
.q-auth-links a{color:var(--q-auth-muted,var(--q-muted))!important}
.q-auth .safe a:hover,
.q-auth-links a:hover{color:var(--q-auth-accent,var(--q-button-bg))!important}
.q-auth .safe .left,
.q-auth .safe .right{float:none!important}

.q-auth .form-policy{
  margin:10px 0 0;
  font-size:12px;
  color:var(--q-auth-muted);
  line-height:1.45;
}
.q-auth .form-policy a{color:var(--q-auth-accent)}

.q-auth .socialLogin,
.q-auth .login-social,
.q-auth .erphp-social-login{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid color-mix(in srgb, var(--q-auth-line,var(--q-border)) 70%, transparent);
}

.q-auth-foot{
  margin-top:18px;
  text-align:center;
  font-size:12px;
  color:color-mix(in srgb, var(--q-auth-muted) 75%, transparent);
}

.q-auth .regSuccess{
  padding:14px;
  border-radius:12px;
  background:rgba(255,80,80,.12);
  border:1px solid rgba(255,107,107,.3);
  color:#ffc9c9;
  font-size:14px;
  line-height:1.5;
}

@media (max-width:560px){
  .q-auth-title{font-size:26px}
  .q-auth-card{padding:24px 18px 18px}
}
