/* ============================================================
   ZAI 登录/注册页样式（双主题，消费 --zai-* 变量）
   ============================================================ */
.zai-auth-body{background:var(--zai-bg);}
.zai-auth-wrap{
  min-height:calc(100vh - 64px);
  display:flex;align-items:stretch;
  background:
    radial-gradient(1200px 600px at 85% -10%, var(--zai-primary-soft), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, var(--zai-primary-soft), transparent 55%),
    var(--zai-bg);
}
.zai-auth-grid{
  width:100%;max-width:1080px;margin:0 auto;padding:40px 24px;
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;
  align-items:center;align-content:center;
}
/* 左：品牌/卖点 */
.zai-auth-brand h1{font-size:34px;line-height:1.3;font-weight:800;color:var(--zai-text);margin:0 0 16px;}
.zai-auth-brand h1 .zai-hl{color:var(--zai-primary);}
.zai-auth-brand .zai-auth-sub{font-size:16px;color:var(--zai-text-mid);line-height:1.7;margin:0 0 28px;max-width:460px;}
.zai-auth-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.zai-auth-points li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--zai-text);}
.zai-auth-points li .zai-auth-ico{
  flex:0 0 auto;width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:var(--zai-primary-soft);color:var(--zai-primary);
}
.zai-auth-points li .zai-auth-ico svg{width:18px;height:18px;}
.zai-auth-points li b{color:var(--zai-text);}
.zai-auth-points li span{color:var(--zai-text-mid);line-height:1.55;}
/* 右：表单卡片 */
.zai-auth-card{
  background:var(--zai-surface);
  border:1px solid var(--zai-border);
  border-radius:var(--zai-radius);
  box-shadow:var(--zai-shadow-l);
  padding:36px 32px;
}
.zai-auth-card h2{font-size:24px;font-weight:800;color:var(--zai-text);margin:0 0 6px;}
.zai-auth-card .zai-auth-tip{font-size:14px;color:var(--zai-text-mid);margin:0 0 24px;}
.zai-auth-tab{display:flex;background:var(--zai-bg-muted);border-radius:12px;padding:4px;margin-bottom:24px;}
.zai-auth-tab a{
  flex:1;text-align:center;padding:10px 0;border-radius:9px;
  font-size:15px;font-weight:600;color:var(--zai-text-mid);text-decoration:none;
  transition:.2s;
}
.zai-auth-tab a.on{background:var(--zai-surface);color:var(--zai-primary);box-shadow:var(--zai-shadow-s);}
/* 表单 */
.zai-field{margin-bottom:18px;}
.zai-field label{display:block;font-size:13px;font-weight:600;color:var(--zai-text);margin-bottom:8px;}
.zai-field label .zai-req{color:var(--zai-error);margin-left:2px;}
.zai-field .zai-input-box{position:relative;display:flex;align-items:center;}
.zai-field .zai-input{
  width:100%;height:46px;padding:0 14px;
  font-size:15px;color:var(--zai-text);
  background:var(--zai-bg);
  border:1px solid var(--zai-border);border-radius:10px;
  outline:none;transition:border-color .2s, box-shadow .2s;
}
.zai-field .zai-input:focus{border-color:var(--zai-primary);box-shadow:0 0 0 3px var(--zai-primary-soft);}
.zai-field .zai-input::placeholder{color:var(--zai-text-light);}
.zai-field .zai-input-ico{
  position:absolute;right:14px;width:18px;height:18px;color:var(--zai-text-light);
  pointer-events:none;
}
.zai-field-row{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 18px;}
.zai-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--zai-text-mid);cursor:pointer;}
.zai-check input{width:16px;height:16px;accent-color:var(--zai-primary);}
.zai-link{font-size:13px;color:var(--zai-primary);text-decoration:none;}
.zai-link:hover{text-decoration:underline;}
.zai-auth-submit{
  width:100%;height:48px;border:none;border-radius:11px;cursor:pointer;
  background:var(--zai-primary);color:var(--zai-on-primary);font-size:16px;font-weight:700;
  transition:background .2s, transform .05s;
}
.zai-auth-submit:hover{background:var(--zai-primary-hover);}
.zai-auth-submit:active{transform:translateY(1px);}
/* 第三方登录 */
.zai-auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0 16px;color:var(--zai-text-light);font-size:12px;}
.zai-auth-divider::before,.zai-auth-divider::after{content:"";flex:1;height:1px;background:var(--zai-border);}
.zai-auth-third{display:flex;gap:12px;justify-content:center;}
.zai-auth-third a{
  flex:1;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--zai-border);border-radius:10px;color:var(--zai-text);
  font-size:14px;font-weight:600;text-decoration:none;transition:.2s;
}
.zai-auth-third a:hover{border-color:var(--zai-primary);color:var(--zai-primary);}
.zai-auth-third a svg{width:20px;height:20px;}
.zai-auth-foot{text-align:center;font-size:13px;color:var(--zai-text-mid);margin-top:22px;}
.zai-auth-foot a{color:var(--zai-primary);font-weight:600;text-decoration:none;}
.zai-auth-foot a:hover{text-decoration:underline;}
/* 提示信息区（Discuz 错误/成功提示） */
.zai-auth-msg{display:none;margin-bottom:18px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.5;}
.zai-auth-msg.show{display:block;}
.zai-auth-msg.err{background:var(--zai-primary-soft);color:var(--zai-error);border:1px solid var(--zai-error);}
.zai-auth-msg.ok{background:var(--zai-primary-soft);color:var(--zai-success);border:1px solid var(--zai-success);}
/* 验证码/安全问答行 */
.zai-sec{margin-bottom:18px;}
/* 响应式 */
@media (max-width:820px){
  .zai-auth-grid{grid-template-columns:1fr;gap:28px;padding:24px 16px;}
  .zai-auth-brand h1{font-size:26px;}
  .zai-auth-brand .zai-auth-sub{font-size:14px;}
  .zai-auth-points{display:none;}
}
