/* ============================================================
   登录 / 注册页样式
   ============================================================ */
.auth-page{display:flex;min-height:100vh;}

/* 左侧品牌区 */
.auth-brand{
  flex:1;position:relative;overflow:hidden;
  background:linear-gradient(150deg,#1b1f3b 0%,#232a5c 45%,#2f3a8f 100%);
  color:#fff;padding:64px 72px;display:flex;flex-direction:column;
}
.auth-brand::before{content:"";position:absolute;top:-160px;right:-120px;width:520px;height:520px;background:radial-gradient(circle,rgba(81,75,253,.45),transparent 65%);}
.auth-brand::after{content:"";position:absolute;bottom:-200px;left:-140px;width:520px;height:520px;background:radial-gradient(circle,rgba(41,114,233,.35),transparent 65%);}
.auth-brand .brand{font-size:20px;color:#fff;position:relative;z-index:2;}
.auth-brand .brand .logo{background:linear-gradient(135deg,#6f6bff,#4b9dff);}
/* 后台上传 Logo 后:深色侧栏里也去掉渐变底,只显示图片本身 */
.auth-brand .brand .logo.has-img{background:none;}
.auth-brand .brand .brand-sub{color:rgba(255,255,255,.55);border-left-color:rgba(255,255,255,.2);}
.auth-brand .hero{margin:auto 0;position:relative;z-index:2;}
.auth-brand .hero h2{font-size:40px;font-weight:600;line-height:1.3;letter-spacing:-.8px;margin-bottom:20px;}
.auth-brand .hero p{font-size:16px;color:rgba(255,255,255,.72);line-height:1.95;max-width:460px;}
.auth-brand .points{margin-top:36px;display:flex;flex-direction:column;gap:14px;}
.auth-brand .points .pt{display:flex;align-items:center;gap:12px;font-size:14.5px;color:rgba(255,255,255,.85);}
.auth-brand .points .pt i{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.auth-brand .foot{position:relative;z-index:2;font-size:12.5px;color:rgba(255,255,255,.45);}

/* 右侧表单区 */
.auth-form-wrap{
  width:560px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  padding:48px 40px;background:#fff;overflow-y:auto;
}
.auth-form{width:100%;max-width:400px;}
.auth-form .hd{margin-bottom:32px;}
.auth-form .hd h1{font-size:28px;font-weight:600;color:var(--text4);letter-spacing:-.5px;margin-bottom:10px;}
.auth-form .hd p{font-size:14px;color:var(--text3);}
.auth-form .hd p a{color:var(--primary);font-weight:500;}

/* 登录方式切换 */
.auth-tabs{display:flex;gap:28px;border-bottom:1px solid var(--border);margin-bottom:28px;}
.auth-tabs .t{padding:12px 2px;font-size:15px;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;}
.auth-tabs .t:hover{color:var(--text4);}
.auth-tabs .t.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500;}

/* 表单项 */
.auth-form .field{margin-bottom:22px;}
.auth-form .field > label{font-size:13.5px;}
.auth-form .input{padding:14px 16px;font-size:15px;}
.input-icon{position:relative;}
.input-icon .input{padding-left:44px;}
.input-icon > i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text3);pointer-events:none;}
.input-suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%);}
.input-suffix .btn{padding:8px 14px;font-size:13px;border-radius:8px;}
.code-row{display:flex;gap:12px;}
.code-row .input{flex:1;}

.auth-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;font-size:13.5px;}
.auth-row a{color:var(--primary);}
.auth-row a:hover{text-decoration:underline;}

.auth-submit{margin-bottom:22px;}

/* 底部协议 */
.auth-agreement{margin-top:26px;font-size:12.5px;color:var(--text3);line-height:1.8;text-align:center;}
.auth-agreement a{color:var(--primary);}

/* 密码强度 */
.pwd-strength{display:flex;gap:6px;margin-top:10px;}
.pwd-strength .bar{flex:1;height:4px;border-radius:2px;background:var(--border);transition:background .2s;}

/* 提示条 */
.auth-alert{
  display:none;align-items:center;gap:10px;padding:13px 16px;border-radius:11px;
  font-size:13.5px;line-height:1.7;margin-bottom:22px;
}
.auth-alert.show{display:flex;}
.auth-alert.err{background:var(--danger-bg);border:1px solid rgba(229,62,62,.25);color:var(--danger);}
.auth-alert.ok{background:var(--ok-bg);border:1px solid rgba(22,163,74,.25);color:var(--ok);}

/* 滑块人机校验的样式在两个页面共用,放在 base.css(设计系统)里 */

@media (max-width:1000px){
  .auth-brand{display:none;}
  .auth-form-wrap{width:100%;}
}
