/* ================================================================
   Auth Pages — Login / Register / User Center
   ================================================================ */
.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:100px 20px 60px;background:linear-gradient(135deg,#f5f7fa 0%,#e4e8f0 100%)}
.auth-card{display:flex;max-width:900px;width:100%;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.auth-left{flex:1;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:60px 40px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.auth-left::before{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
.auth-left h2{font-size:28px;margin-bottom:16px;position:relative;z-index:1}
.auth-left p{font-size:15px;line-height:1.8;opacity:.9;position:relative;z-index:1}
.auth-left .welcome-icon{font-size:64px;margin-bottom:24px;position:relative;z-index:1}
.auth-left .benefits{list-style:none;padding:0;margin:20px 0 0;position:relative;z-index:1}
.auth-left .benefits li{padding:6px 0;font-size:14px;display:flex;align-items:center;gap:8px}
.auth-right{flex:1;background:#fff;padding:50px 40px;display:flex;flex-direction:column;justify-content:center}
.auth-right h3{font-size:24px;color:#333;margin-bottom:6px}
.auth-right .subtitle{color:#999;font-size:14px;margin-bottom:30px}
.auth-right .form-group{margin-bottom:20px}
.auth-right .form-group label{display:block;font-size:14px;color:#555;margin-bottom:8px;font-weight:500}
.auth-right .form-group input[type="text"],
.auth-right .form-group input[type="password"],
.auth-right .form-group input[type="email"],
.auth-right .form-group input[type="tel"]{width:100%;padding:12px 16px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s;background:#fafafa;box-sizing:border-box}
.auth-right .form-group input:focus{outline:none;border-color:#667eea;background:#fff}
.auth-right .form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.auth-right .form-row label{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;cursor:pointer}
.auth-right .form-row label input[type="checkbox"]{accent-color:#667eea}
.auth-right .form-row a{font-size:13px;color:#667eea;text-decoration:none}
.auth-right .form-row a:hover{text-decoration:underline}
.btn-auth{width:100%;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-auth:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}
.btn-auth:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}
.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:#999}
.auth-switch a{color:#667eea;text-decoration:none;font-weight:500}
.auth-switch a:hover{text-decoration:underline}
.social-login-wrap{margin-top:24px;text-align:center}
.social-login-wrap p{font-size:13px;color:#999;margin-bottom:16px;position:relative}
.social-login-wrap p::before,.social-login-wrap p::after{content:'';position:absolute;top:50%;width:30%;height:1px;background:#e0e0e0}
.social-login-wrap p::before{left:0}
.social-login-wrap p::after{right:0}
.social-icons{display:flex;gap:16px;justify-content:center}
.social-icons a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f5f5f5;transition:all .3s;text-decoration:none}
.social-icons a:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.social-icons .qq-icon:hover{background:#12b7f5;color:#fff}
.social-icons .wx-icon:hover{background:#07c160;color:#fff}

@media(max-width:768px){
  .auth-page{padding:70px 14px 40px}
  .auth-card{flex-direction:column;border-radius:12px}
  .auth-left{padding:32px 24px;border-radius:12px 12px 0 0}
  .auth-left h2{font-size:22px}
  .auth-left .welcome-icon{font-size:44px}
  .auth-left p,.auth-left .benefits li{font-size:13px}
  .auth-right{padding:28px 24px;max-height:none}
  .auth-right h3{font-size:20px}
  .auth-right .form-group input{padding:10px 14px;font-size:14px}
  .btn-auth{padding:12px;font-size:15px}
  .social-icons a{width:40px;height:40px;font-size:18px}
}
