/* 认证类页面(登录 / 修改密码)共享样式层。
   依赖 redesign/styles.css 提供的 CSS 变量与 .btn/.field/.cbx 等基础类,
   使用前请确保页面已先引入 styles.css。
   ⚠️ login.html 与 change_password.html 复用同一套 .login-* 结构与类名,
      样式务必集中在此,不要再写回单个页面的内联 <style>(否则会出现某页样式缺失、
      图标 SVG 无尺寸被撑爆等问题)。 */

body { background:var(--bg); }
.login-wrap { display:grid; grid-template-columns:1.05fr 1fr; min-height:100vh; }
.login-brand { background:var(--ink); color:#fff; padding:44px 52px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.login-brand::after { content:''; position:absolute; right:-120px; bottom:-120px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(50,87,232,.28), transparent 70%); }
.lb-top { display:flex; align-items:center; gap:13px; position:relative; z-index:1; }
.lb-logo { width:42px; height:42px; border-radius:11px; background:var(--primary); display:grid; place-items:center; font-weight:800; font-size:20px; }
.lb-top b { display:block; font-size:16px; font-weight:700; letter-spacing:.2px; }
.lb-top span { font-size:12px; color:var(--ink-text); }
.lb-mid { margin-top:auto; margin-bottom:auto; position:relative; z-index:1; padding:40px 0; }
.lb-mid h1 { font-size:40px; font-weight:800; line-height:1.18; }
.lb-mid p { color:var(--ink-text); font-size:15px; margin-top:18px; max-width:380px; line-height:1.7; }
.lb-stats { display:flex; gap:30px; margin-top:40px; }
.lb-stat b { display:block; font-size:16px; font-weight:700; }
.lb-stat span { font-size:12px; color:var(--ink-text); margin-top:4px; }
.lb-foot { font-size:12px; color:var(--ink-text-dim); position:relative; z-index:1; }
.login-form-side { display:grid; place-items:center; padding:40px; }
.login-card { width:100%; max-width:380px; }
.lc-head { margin-bottom:30px; }
.lc-head h2 { font-size:27px; font-weight:800; }
.lc-head p { color:var(--text-2); font-size:14px; margin-top:6px; }
.login-input { display:flex; align-items:center; gap:10px; height:48px; padding:0 14px; border:1px solid var(--border-strong); border-radius:var(--r); background:var(--surface); transition:border .14s, box-shadow .14s; }
.login-input:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
.login-input svg { width:18px; height:18px; color:var(--text-3); flex-shrink:0; }
.login-input input { flex:1; border:none; outline:none; background:none; font-family:inherit; font-size:14.5px; color:var(--text); }
.pwd-toggle { border:none; background:none; cursor:pointer; padding:4px; color:var(--text-3); display:grid; place-items:center; }
.pwd-toggle:hover { color:var(--text); }
.login-flash { padding:11px 14px; border-radius:var(--r-sm); font-size:13.5px; font-weight:500; }
.login-flash.is-error { background:var(--red-soft); color:var(--red); }
.login-flash.is-ok { background:var(--green-soft); color:var(--green); }
/* 手机端:左侧品牌面板隐藏后,卡片顶部补一个紧凑品牌锚点 */
.login-mobile-brand { display:none; }
@media (max-width:880px){
  .login-wrap{ grid-template-columns:1fr; }
  .login-brand{ display:none; }
  .login-mobile-brand { display:flex; align-items:center; gap:12px; margin-bottom:34px; }
  .login-mobile-brand .lb-logo { color:#fff; }
  .login-mobile-brand b { display:block; font-size:16px; font-weight:700; }
  .login-mobile-brand span { font-size:12px; color:var(--text-3); }
}
