@charset "UTF-8";
/* ==================== 认证三页居中卡片（登录 / 注册 / 找密码 同构） ====================
   引入位置：三页模板 css block 内最后引入（register.css / 内联样式之后）。
   加载次序：layout 中 block 早于 theme.css；与 theme.css 的竞争统一用
   .main-content.auth-page 前缀拉高特异性（theme.css 晚加载但无该前缀）。
   结构复用：登录保留 login.css 的 .modal 选择器链，注册/找密码保留
   register.css 的 .register > .content 选择器链，本文件只做
   「去左菜单居中 + 卡片外壳 + 标题/分隔线 + 位图移除 + 表单放大 + 协议行同构 + 移动端适配」。 */

/* 面包屑：与卡片同宽水平居中（去左菜单后右侧列不再是大面板） */
.main-content.auth-page .auth-crumb {
  width: 540px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0 0.6rem;
}
.main-content.auth-page .row.content {
  display: block; /* Bootstrap .row 为 display:flex flex-wrap:wrap：面包屑与卡片两子项会并排一行，
                     margin: 0 auto 在 flex 多子项中失效 → 改 block 让子项纵向堆叠，
                     卡片靠 margin auto 独立居中 */
  margin-top: 2rem;
  background: transparent;
  border-color: transparent;
}
/* theme.css 给 .main-content-right 暗面板金边（!important）→ 认证页压回透明，卡片浮于暗底 */
.main-content.auth-page .main-content-right {
  background: transparent !important;
  border-color: transparent;
}

/* 卡片外壳：登录 = 包裹 .modal 的容器；注册/找密码 = 加在 .register 上（外层包裹会
   打断 register.css/theme.css 的 .content > .register 子代链，故采用类挂载） */
.main-content.auth-page .auth-card {
  width: 540px;
  max-width: 100%;
  margin: 0 auto;
  background-color: var(--bg-panel);
  border: 1px solid rgba(212, 175, 55, 0.35); /* spec 半透明弱金线；Chrome 对 alpha<1 计算值序列化 rgba(212,175,55,0.35)，脚本断言与之对齐 */
  border-radius: 8px;
  padding: 30px 48px 34px;
  box-shadow: 0 0 30px rgba(212, 175, 55, 0.12);
}
/* 注册/找密码：register.css 的 btn-rbp.png 位图背景移除 */
.main-content.auth-page .register.auth-card {
  background-image: none !important;
}

/* 卡片标题：注册/找密码用 .auth-title；登录复用 login-bg-zh（字体族由 theme.css 提供） */
.main-content.auth-page .auth-title {
  font-family: "STKaiti", "KaiTi", "Kaiti SC", "SimSun", serif;
  color: var(--gold-light);
  font-size: 26px;
  letter-spacing: 6px;
  text-align: center;
  margin: 0 0 4px;
}
.main-content.auth-page .modal > .modal-content > .content > .login-bg-zh {
  height: auto;
  margin: 0 0 4px;
  justify-content: center;
}
.main-content.auth-page .modal > .modal-content > .content > .login-bg-zh > span {
  margin: 0;
  color: var(--gold-light);
  font-size: 26px;
  letter-spacing: 6px;
}

/* 标题下金色渐变分隔线 */
.main-content.auth-page .auth-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.6), transparent);
  margin: 0 0 18px;
}

/* 登录卡片结构矫正：login.css 的弹窗定宽 35rem×26rem / 表单 60% / 链接行 140%
   按 540px 卡片重排；外层 auth-card 已提供面板 → modal-content 透明化防双层边框 */
.main-content.auth-page .modal > .modal-content {
  width: 100%;
  height: auto;
  padding: 0;
  background-color: transparent;
  border-color: transparent;
  border-radius: 0;
  box-shadow: none;
}
.main-content.auth-page .modal > .modal-content > .content {
  padding: 0;
  background: transparent;
  border-color: transparent;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList {
  width: 100%;
  padding-top: 0.4rem;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .btn {
  width: 100%;
  height: 64px;
  justify-content: center;
  padding-left: 0; /* Bootstrap .btn 默认 0.75rem 左内边距 → 归零，按钮 width:100% 才能真正撑满行宽 */
  padding-right: 0;
  padding-top: 8px;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .btn > .login {
  width: 100%;
  height: 48px;
  margin-left: 0;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .but {
  width: 100%;
  justify-content: center;
  padding-right: 0;
  padding-top: 0.8rem;
}

/* 登录表单放大：行高 45→56 / label 16px / 输入框 44px 高 17px 字 / 辅助链接 15px
   （login.css .loginList > div 行高 3rem 与 label 1.2rem 反超输入框的问题一并修正） */
.main-content.auth-page .modal > .modal-content > .content > .loginList > div {
  height: 56px;
  margin-bottom: 10px; /* 行间呼吸（「挤」反馈）：各行 0 间距改为统一 10px */
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > div > span {
  font-size: 16px;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > div > .name,
.main-content.auth-page .modal > .modal-content > .content > .loginList > div > .password {
  height: 44px;
  font-size: 17px;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .but {
  height: 48px;
  font-size: 15px;
}

/* 协议行（登录）：勾选框 14px 紧贴文字、勾选框对齐输入框左缘（label 25% 列之后）、字 15px
   （压掉 login.css 的 40% 空槽 / 60% 分割 / justify-content: center——整行居中改为左缘对齐） */
.main-content.auth-page .modal > .modal-content > .content > .loginList > .regProtocol {
  height: 40px;
  margin-left: 0;
  font-size: 15px;
  gap: 6px;
  justify-content: flex-start;
  padding-left: 25%;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .regProtocol > span:first-child {
  width: auto;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .regProtocol > span:nth-child(2) {
  width: auto;
  font-size: 15px;
}
.main-content.auth-page .modal > .modal-content > .content > .loginList > .regProtocol > span > input[type="checkbox"] {
  width: 14px;
  height: 14px;
}

/* 注册/找密码：theme.css 给 .content（tab-content 容器）暗面板金边 → 透明化防双层边框；
   register.css 的 15px 内边距与 1px 幻影边框一并归零（字段区 100% 才能真满宽：444 → 442 → 410 → 440 的根因）
   特异性：register.css 链为 8 类，此处全链塞 .auth-page 类（9 类）压过 */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content {
  background: transparent;
  border: 0;
  padding: 0;
}

/* 注册/找密码表单放大：字段区 80%→100%（标签 2 行挤与协议换行的上游根因）/
   行高 60→68 行内垂直居中 / 输入 span 自适应宽（register.css 70%+10% 双约束
   把输入框挤到 160px 的根因）/ 输入框 40px 高 15px 字 / label 6em 定宽不换行 /
   按钮全行宽 56px
   特异性：register.css 链为 8 类 2 元素，此处在链中塞 .auth-page 类（9 类 2 元素）压过 */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField {
  width: 100%;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > div {
  height: 68px;
  align-items: center;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > .prompt {
  height: auto;
  padding: 10px 0;
}
/* 版署提示文字 span：register.css 定死 4.5rem 高（行底留死空间）+ 0.8rem 字，
   改随内容自适应并放大到 13px（与外层 height:auto 配合行高真正贴合文字） */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > .prompt > .prompt {
  height: auto;
  font-size: 13px;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > div > span {
  flex: 1;
  width: auto;
  margin-right: 0;
  font-size: 15px;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > div > .regLabel {
  flex: 0 0 6em; /* 20%(65.6px) 容不下「身份证姓名:」6 字(96px) → 折 2 行挤；6em 定宽一行放下 */
  width: 6em;
  margin-right: 1rem;
  font-size: 16px;
  white-space: nowrap;
}
/* 验证码行：按钮 span 不参与 flex 拉伸（input span 占满剩余） */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > .captcha > span:last-child {
  flex: 0 0 auto;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > div > span > input {
  height: 40px;
  line-height: 40px;
  font-size: 15px;
}
/* 获取验证码按钮：与输入框同高（register.css width 86% 相对 span，改 auto 随文字） */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regField > .captcha > span > .btn-cap {
  width: auto;
  height: 40px;
  font-size: 15px;
  padding: 0 14px;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regButton > button {
  width: 100%;
  height: 56px;
}

/* 协议行（注册/找密码）：80%→100% 满宽（328px 容不下 23 字 346px → 折 2 行），
   勾选框对齐字段区左缘（输入框左缘在 7rem 处，但 112+20+346 > 444 一行放不下，一行优先），
   压掉 register.css 居中，统一勾选框尺寸/字距/字号 */
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regProtocol {
  width: 100%;
  justify-content: flex-start;
  font-size: 15px;
  gap: 6px;
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regProtocol > span:first-child {
  margin-right: 0; /* register.css 0.5rem 归零：避免与 gap 6px 叠加成 12px，字距完全由 gap 统一 */
}
.main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regProtocol > span > input[type="checkbox"] {
  width: 14px;
  height: 14px;
}

/* 移动端（<768px）：解除 common.css 的 90rem 定宽，卡片撑满视口 */
@media (max-width: 768px) {
  .main > .main-bg > .main-content.auth-page {
    min-width: 0;
    max-width: 100%;
  }
  .main-content.auth-page .auth-crumb {
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
  .main-content.auth-page .auth-card {
    width: 100%;
    padding: 20px 16px;
  }
  /* 桌面协议行左缘对齐的 25% 缩进在窄屏放不下（登录 25% 后剩 258px < 内容 267px）→ 回整行居中 */
  .main-content.auth-page .modal > .modal-content > .content > .loginList > .regProtocol,
  .main > .main-bg > .main-content.auth-page > .main-content-right > .content > .register > .content > div > .regProtocol {
    justify-content: center;
    padding-left: 0;
  }
}
