/* ============================================================
   认证页新皮肤 v2：登录 / 注册 / 找回密码（PC + 手机）
   新结构使用 .auth-* 类；旧模板兼容样式一并保留
   ============================================================ */
:root{
  --qg:#0d9e63;
  --qg-deep:#077a4b;
  --qg-line:#bfe6d3;
  --grad:linear-gradient(135deg,#0d9e63 0%,#14c78a 100%);
  --ink1:#1f3d2e;
  --ink2:#5b7266;
  --ink3:#93a89c;
  --card:#ffffff;
  --bg1:#eef9f3;
  --bg2:#f7fdfb;
}
*{box-sizing:border-box;}
body{
  margin:0;
  min-height:100vh;
  background:linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 100%);
  font-family:"Microsoft YaHei","PingFang SC",-apple-system,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink1);
}
a{ color:var(--qg); text-decoration:none; }
.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 14px;
}
.auth-card{
  width:100%;
  max-width:430px;
  background:var(--card);
  border:1px solid #e5f2eb;
  border-radius:20px;
  box-shadow:0 18px 50px rgba(13,158,99,.14);
  padding:32px 34px 26px;
}
.auth-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:18px;
  font-weight:800;
  margin-bottom:6px;
}
.auth-logo{
  width:38px;height:38px;
  border-radius:12px;
  background:var(--grad);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  font-weight:800;
}
.auth-title{
  margin:10px 0 4px;
  font-size:26px;
  text-align:center;
}
.auth-sub{
  margin:0 0 20px;
  text-align:center;
  color:var(--ink2);
  font-size:14px;
}
.auth-sub a{ font-weight:600; }
.auth-form{ margin-top:4px; }
.auth-field{ margin-bottom:14px; }
.auth-label{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  color:var(--ink2);
}
.auth-input{
  width:100%;
  height:46px;
  padding:0 14px;
  font-size:14px;
  color:var(--ink1);
  background:#f7fbf9;
  border:1px solid var(--qg-line);
  border-radius:10px;
  outline:none;
}
.auth-input:focus{
  border-color:var(--qg);
  box-shadow:0 0 0 3px rgba(13,158,99,.12);
  background:#fff;
}
.auth-captcha{ display:flex; gap:10px; }
.auth-captcha .auth-input{ flex:1 1 auto; }
.auth-captcha img{
  height:46px;
  border-radius:8px;
  cursor:pointer;
}
.auth-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  color:var(--ink2);
  margin:2px 0 16px;
}
.auth-check{ display:flex; align-items:center; gap:4px; cursor:pointer; }
.auth-btn{
  display:block;
  width:100%;
  height:46px;
  border:none;
  border-radius:23px;
  background:var(--grad);
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(13,158,99,.28);
}
.auth-btn:active{ transform:translateY(1px); }
.auth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ink3);
  font-size:12px;
  margin:20px 0 12px;
}
.auth-divider::before,.auth-divider::after{
  content:"";
  height:1px;
  background:#e7f2ec;
  flex:1;
}
.oauth-row{ display:flex; gap:10px; }
.oauth-btn{
  flex:1;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:14px;
  font-weight:600;
  border:1px solid #e5f2eb;
  background:#fafdfb;
}
.oauth-wx{ color:#0a9d54; }
.oauth-qq{ color:#3f7ee8; }
.auth-foot{
  text-align:center;
  color:var(--ink3);
  font-size:13px;
  margin:18px 0 0;
}
/* 注册/找回共用 */
.auth-steps{
  display:flex;
  justify-content:center;
  gap:10px;
  margin:0 0 18px;
  padding:8px 6px;
  background:#f3faf6;
  border-radius:10px;
  font-size:12px;
  color:var(--ink3);
}
.auth-steps .on{ color:var(--qg); font-weight:700; }
.auth-note{
  font-size:12px;
  line-height:1.6;
  color:var(--ink3);
  margin:5px 0 2px;
}
.auth-agree{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--ink2);
  margin:6px 0 14px;
}
.auth-agree a{ color:var(--qg); }
/* 手机端 */
@media (max-width:520px){
  .auth-card{
    max-width:100%;
    padding:26px 20px 20px;
    border-radius:16px;
  }
  .auth-title{ font-size:23px; }
}
