/* ============================================================
   登录 / 注册页共用样式（与 theme.css 同一套设计语言）
   ============================================================ */

#loginWrap{position:fixed;inset:0;display:flex;overflow:hidden;background:#F5F7FA}

/* 左栏：单色深蓝，靠排版层级与细分隔线建立秩序 */
.lg-visual{
  position:relative;flex:1 1 auto;min-width:0;overflow:hidden;
  display:flex;align-items:center;padding:0 clamp(48px,7vw,110px);
  background:#142C46;color:#fff;
  border-right:1px solid #0D2237;
}
.lg-inner{position:relative;z-index:2;max-width:520px;padding:40px 0}

.lg-logo{display:flex;align-items:center;gap:11px;margin-bottom:clamp(44px,7vh,76px)}
.lg-logo .mark{
  width:36px;height:36px;border-radius:8px;flex-shrink:0;
  background:#2A78C8;
  display:flex;align-items:center;justify-content:center;
}
.lg-logo .mark svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lg-logo b{display:block;font-size:19px;font-weight:600;letter-spacing:1px;color:#fff;line-height:1.3}
.lg-logo span{display:block;font-size:10.5px;letter-spacing:2.4px;color:#7FA9D4;text-transform:uppercase}

.lg-inner h1{
  font-size:clamp(27px,2.4vw,36px);font-weight:600;line-height:1.45;
  letter-spacing:.5px;margin-bottom:18px;color:#F2F6FA;
}
.lg-inner h1 em{font-style:normal;color:#9CC2E8}
.lg-inner .lead{
  font-size:13.5px;line-height:1.9;color:#9DB2C8;max-width:430px;
  margin:0 0 clamp(24px,3.6vh,34px);
}

/* 功能点：细线分隔 + 序号，不用图标胶囊 */
.lg-points{
  list-style:none;counter-reset:lgp;
  margin-top:clamp(26px,4vh,40px);
  border-top:1px solid rgba(255,255,255,.14);
}
.lg-inner .lead + .lg-points{margin-top:0}
.lg-points li{
  position:relative;display:flex;align-items:baseline;gap:14px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.10);
  font-size:13px;color:#A9BDD1;line-height:1.65;
}
.lg-points li::before{
  counter-increment:lgp;content:counter(lgp,decimal-leading-zero);
  flex:0 0 24px;width:24px;font-size:11.5px;color:#6F90B4;
  font-variant-numeric:tabular-nums;letter-spacing:.5px;
}
.lg-points li i{display:none}
.lg-points li span{flex:1;min-width:0}
.lg-points li b{color:#E8F0F8;font-weight:600;font-size:13.5px}

.lg-copy{
  position:absolute;left:clamp(48px,7vw,110px);right:clamp(48px,7vw,110px);bottom:28px;z-index:2;
  font-size:11.5px;color:#6F8CA8;letter-spacing:.3px;
  border-top:1px solid rgba(255,255,255,.10);padding-top:14px;
}

/* 右栏：浅灰底 + 细边框表单卡片 */
.lg-panel{
  width:490px;flex:0 0 490px;background:#F5F7FA;
  display:flex;align-items:center;justify-content:center;
  padding:44px 52px;position:relative;overflow-y:auto;
}
.lg-panel.wide{width:560px;flex:0 0 560px;padding:36px 42px}
.lg-card{
  width:100%;max-width:376px;background:#fff;
  border:1px solid #E2E8F0;border-radius:10px;
  padding:36px 34px 32px;box-shadow:0 2px 12px rgba(20,45,75,.05);
}
.lg-panel.wide .lg-card{max-width:440px;padding:30px 32px 26px}

.lg-badge{
  display:flex;align-items:center;gap:8px;
  font-size:12px;font-weight:500;letter-spacing:1px;color:#2A78C8;
  margin-bottom:18px;
}
.lg-badge::before{content:"";width:16px;height:2px;background:#2A78C8;flex-shrink:0}
.lg-card h2{font-size:21px;font-weight:600;letter-spacing:.2px;margin-bottom:7px;color:#1C2B3C}
.lg-card .sub{font-size:12.5px;color:#8792A2;margin-bottom:26px;line-height:1.7}
.lg-field{margin-bottom:15px}
.lg-field label{display:block;font-size:12.5px;font-weight:500;color:#4A5766;margin-bottom:7px}
.lg-field label em{font-style:normal;color:#B9342A}
.lg-field input{
  width:100%;height:44px;padding:0 13px;font-size:14px;
  border:1px solid #DDE4EC;border-radius:8px;background:#fff;
  transition:border-color .16s,box-shadow .16s;
}
.lg-field input:hover{border-color:#C3D0DE}
.lg-field input:focus{outline:none;border-color:#2A78C8;box-shadow:0 0 0 3px rgba(42,120,200,.12)}
#loginWrap .lg-card button[type=submit]{
  width:100%;height:46px;margin-top:10px;font-size:14.5px;font-weight:500;
  letter-spacing:.5px;border-radius:8px;
  background:#245FA5;border:1px solid #245FA5;color:#fff;box-shadow:none;
}
#loginWrap .lg-card button[type=submit]:hover{
  background:#1B4E8C;border-color:#1B4E8C;color:#fff;box-shadow:none;transform:none;
}
.lg-foot{
  margin-top:26px;padding-top:20px;border-top:1px solid #EEF1F5;
  display:flex;align-items:center;justify-content:space-between;
  font-size:12px;color:#8792A2;
}
.lg-foot code{
  font-family:ui-monospace,Consolas,monospace;font-size:11.5px;
  background:#F4F6F9;border:1px solid #E4E8EE;border-radius:5px;padding:2px 6px;color:#515C6B
}
.lg-help{font-size:12.5px;color:#8792A2;margin-top:18px;text-align:center}
.lg-help a{color:#2A78C8;text-decoration:none;font-weight:600}
.lg-help a:hover{text-decoration:underline}

/* 注册页：两列字段 */
.rg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.rg-grid .full{grid-column:1 / -1}
.rg-err{
  display:none;font-size:12.5px;line-height:1.6;color:#B9342A;
  background:#FBEAE8;border:1px solid #F0CFCB;border-radius:8px;
  padding:9px 12px;margin:4px 0 12px;
}
.rg-err.on{display:block}
.rg-tip{
  font-size:11.5px;color:#8792A2;line-height:1.7;margin-top:14px;
  background:#F7F9FC;border:1px solid #EEF1F5;border-radius:8px;padding:11px 13px;
}
.rg-tip b{color:#0E8F6F}
.rg-terms{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:#8792A2;margin:6px 0 14px;line-height:1.6}
.rg-terms input{width:14px;height:14px;margin-top:2px;accent-color:#2A78C8;flex-shrink:0}

@media (max-width:1180px){
  .lg-visual{padding:0 46px}
  .lg-inner h1{font-size:26px}
  .lg-panel.wide{width:520px;flex:0 0 520px;padding:36px 34px}
}
@media (max-width:940px){
  .lg-visual{display:none}
  .lg-panel,.lg-panel.wide{width:100%;flex:1;padding:40px 28px}
  #loginWrap{background:#F5F7FA;overflow-y:auto;position:static;min-height:100vh}
  .lg-card,.lg-panel.wide .lg-card{max-width:420px;margin:0 auto}
}
@media (max-width:560px){
  .rg-grid{grid-template-columns:1fr}
  .lg-card,.lg-panel.wide .lg-card{padding:28px 22px}
}
