@charset "UTF-8";
/* ============================================================
   登录 / 注册 / 重置密码 页面专用样式
   「白色商务极简 · 黑白灰」风格
   ------------------------------------------------------------
   设计基准：
     · 纯黑白灰体系，主色仅用中性灰阶（#111 / #6b7280 / #e5e7eb / #fafafa）
     · 左侧品牌区（深色营造对比）+ 右侧表单卡片区（白底）
     · LOGO 直接读取后台 $Setting.web_logo，不使用参考图中的第三方 LOGO
     · 作用域严格限定在 .bwm-auth 前缀内，不影响会员中心等其它页面
   ============================================================ */

/* ---------- 设计令牌 ---------- */
.bwm-auth {
  --bwm-ink: #111318;          /* 主文字 */
  --bwm-ink-2: #4b5563;        /* 次级文字 */
  --bwm-ink-3: #9ca3af;        /* 弱化文字 / placeholder */
  --bwm-line: #e5e7eb;         /* 描边 */
  --bwm-line-strong: #d1d5db;  /* 强调描边 */
  --bwm-surface: #ffffff;      /* 卡片底 */
  --bwm-surface-2: #fafafa;    /* 次级底 */
  --bwm-surface-3: #f3f4f6;    /* 输入框底 */
  --bwm-dark: #0f1115;         /* 品牌区深色底 */
  --bwm-radius-card: 14px;
  --bwm-radius-ctl: 9px;
  --bwm-shadow-card: 0 1px 2px rgba(17, 19, 24, .04), 0 12px 32px -8px rgba(17, 19, 24, .10);
  --bwm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
              "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 页面骨架：左右两栏 ---------- */
.bwm-auth.bwm-auth-page {
  display: flex;
  align-items: stretch;
  min-height: 100vh;
  margin: 0;
  font-family: var(--bwm-font);
  color: var(--bwm-ink);
  background: var(--bwm-surface-2);
  -webkit-font-smoothing: antialiased;
}

/* 页面淡入 */
.bwm-auth .bwm-col-left,
.bwm-auth .bwm-col-right {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .38s ease, transform .38s ease;
}
.bwm-auth.bwm-ready .bwm-col-left,
.bwm-auth.bwm-ready .bwm-col-right {
  opacity: 1;
  transform: none;
}
.bwm-auth.bwm-leaving .bwm-col-left,
.bwm-auth.bwm-leaving .bwm-col-right {
  opacity: 0;
  transform: translateY(-4px);
}
@media (prefers-reduced-motion: reduce) {
  .bwm-auth .bwm-col-left,
  .bwm-auth .bwm-col-right { transition: none; opacity: 1; transform: none; }
}

/* ============================================================
   左栏：品牌展示区（深色 + 商务背景图）
   ============================================================ */
.bwm-auth .bwm-col-left {
  position: relative;
  flex: 0 0 46%;
  max-width: 46%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px 56px 36px;
  overflow: hidden;
  background-color: var(--bwm-dark);
  /* 商务背景图：地球夜景 / 云层星空 */
  background-image: url(../img/auth-panel-bg.jpg);
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
  color: #fff;
  isolation: isolate;
}

/* 深色蒙版：压暗背景图并做上下渐变，保证白色文字始终可读 */
.bwm-auth .bwm-grid-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(8, 10, 14, .86) 0%, rgba(8, 10, 14, .58) 42%, rgba(8, 10, 14, .82) 100%),
    radial-gradient(ellipse 85% 60% at 26% 38%, rgba(8, 10, 14, .70) 0%, rgba(8, 10, 14, .18) 72%);
  pointer-events: none;
}
/* 顶部微光 */
.bwm-auth .bwm-glow {
  position: absolute;
  top: -18%;
  left: -10%;
  width: 70%;
  height: 62%;
  z-index: 0;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .07), transparent 68%);
  pointer-events: none;
}

.bwm-auth .bwm-left-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* --- 品牌 LOGO --- */
.bwm-auth .bwm-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #fff;
  width: fit-content;
}
.bwm-auth .bwm-brand:hover { text-decoration: none; color: #fff; }
.bwm-auth .bwm-brand img {
  height: 56px;
  width: auto;
  max-width: 280px;
  object-fit: contain;
  display: block;
  /* 背景为实景照片，给 LOGO 一点投影保证辨识度 */
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .55));
}

/* --- 主文案 --- */
.bwm-auth .bwm-hero {
  margin: auto 0;
  padding: 46px 0;
  max-width: 460px;
}
.bwm-auth .bwm-hero h1 {
  margin: 0 0 20px;
  font-size: 38px;
  line-height: 1.34;
  font-weight: 700;
  letter-spacing: -.4px;
  color: #fff;
}
.bwm-auth .bwm-hero h1 .bwm-hero-hl {
  display: block;
  color: rgba(255, 255, 255, .58);
  font-weight: 600;
}
.bwm-auth .bwm-hero p {
  margin: 0 0 26px;
  font-size: 14px;
  line-height: 1.85;
  color: rgba(255, 255, 255, .62);
  max-width: 430px;
}

/* --- 标签胶囊 --- */
.bwm-auth .bwm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
}
.bwm-auth .bwm-tag {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  font-size: 12.5px;
  line-height: 1;
  color: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 100px;
  background: rgba(255, 255, 255, .04);
  white-space: nowrap;
}

/* --- 四宫格数据 --- */
.bwm-auth .bwm-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: auto;
}
.bwm-auth .bwm-stat {
  padding: 18px 16px 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px;
  background: rgba(255, 255, 255, .035);
  min-width: 0;
}
.bwm-auth .bwm-stat strong {
  display: block;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.2px;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bwm-auth .bwm-stat span {
  display: block;
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.3;
  color: rgba(255, 255, 255, .5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- 底部标语 --- */
.bwm-auth .bwm-left-foot {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 11.5px;
  letter-spacing: .3px;
  color: rgba(255, 255, 255, .34);
  text-transform: uppercase;
}

/* ============================================================
   右栏：表单区（浅色）
   ============================================================ */
.bwm-auth .bwm-col-right {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  background: var(--bwm-surface-2);
}

.bwm-auth .bwm-card {
  width: 100%;
  max-width: 428px;
  padding: 38px 40px 32px;
  background: var(--bwm-surface);
  border: 1px solid var(--bwm-line);
  border-radius: var(--bwm-radius-card);
  box-shadow: var(--bwm-shadow-card);
  box-sizing: border-box;
}

/* --- 卡片标题 --- */
.bwm-auth .bwm-card-head { margin-bottom: 22px; }
.bwm-auth .bwm-card-head h2 {
  margin: 0 0 7px;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.3px;
  color: var(--bwm-ink);
}
.bwm-auth .bwm-card-head p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--bwm-ink-3);
}

/* ============================================================
   切换条（登录 / 注册）
   ============================================================ */
.bwm-auth .bwm-switch {
  display: flex;
  gap: 4px;
  padding: 4px;
  margin-bottom: 24px;
  background: var(--bwm-surface-3);
  border-radius: 10px;
}
.bwm-auth .bwm-switch a {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  font-size: 14px;
  font-weight: 500;
  color: var(--bwm-ink-2);
  text-decoration: none;
  border-radius: 7px;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.bwm-auth .bwm-switch a:hover { color: var(--bwm-ink); text-decoration: none; }
.bwm-auth .bwm-switch a.is-active {
  background: var(--bwm-ink);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(17, 19, 24, .16);
}
.bwm-auth .bwm-switch a.is-active:hover { color: #fff; }

/* 表单内二级 Tab（邮箱登录 / 手机登录） */
.bwm-auth .bwm-subtab {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--bwm-line);
}
.bwm-auth .bwm-subtab-item {
  position: relative;
  padding: 0 0 11px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--bwm-ink-3);
  cursor: pointer;
  user-select: none;
  transition: color .16s ease;
  white-space: nowrap;
}
.bwm-auth .bwm-subtab-item:hover { color: var(--bwm-ink-2); }
.bwm-auth .bwm-subtab-item.is-active { color: var(--bwm-ink); font-weight: 600; }
.bwm-auth .bwm-subtab-item.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--bwm-ink);
  border-radius: 2px 2px 0 0;
}

/* ============================================================
   表单控件
   ============================================================ */
.bwm-auth .bwm-field { margin-bottom: 16px; }

.bwm-auth .bwm-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--bwm-ink-2);
}
.bwm-auth .bwm-label a {
  font-size: 12.5px;
  font-weight: 400;
  color: var(--bwm-ink-2);
  text-decoration: none;
  transition: color .16s ease;
}
.bwm-auth .bwm-label a:hover { color: var(--bwm-ink); text-decoration: underline; }

.bwm-auth .bwm-input,
.bwm-auth .bwm-select {
  display: block;
  width: 100%;
  height: 44px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 14px;
  line-height: 44px;
  color: var(--bwm-ink);
  background: var(--bwm-surface);
  border: 1px solid var(--bwm-line-strong);
  border-radius: var(--bwm-radius-ctl);
  box-sizing: border-box;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
  -webkit-appearance: none;
  appearance: none;
}
.bwm-auth textarea.bwm-input {
  height: auto;
  min-height: 84px;
  line-height: 1.6;
  padding: 11px 14px;
  resize: vertical;
}
.bwm-auth .bwm-input::placeholder { color: var(--bwm-ink-3); }
.bwm-auth .bwm-input:hover { border-color: #b8bec7; }
.bwm-auth .bwm-input:focus {
  border-color: var(--bwm-ink);
  box-shadow: 0 0 0 3px rgba(17, 19, 24, .08);
}
.bwm-auth .bwm-input:disabled,
.bwm-auth .bwm-input[readonly] {
  background: var(--bwm-surface-3);
  color: var(--bwm-ink-2);
  cursor: not-allowed;
}

/* 输入框 + 按钮组合（验证码 / 国家码） */
.bwm-auth .bwm-input-group {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.bwm-auth .bwm-input-group .bwm-input { flex: 1 1 auto; min-width: 0; }
.bwm-auth .bwm-input-group .bwm-btn-code { flex: 0 0 auto; width: auto; min-width: 104px; padding: 0 14px; }

/* ============================================================
   国家码下拉（手机号 / 区号）
   ------------------------------------------------------------
   此前只定义了 .custom-dropdown-selection，遗漏了列表面板
   .custom-dropdown-list，导致展开时：
     · 239 个选项以裸 <ul> 形式铺在页面上（无背景、无边框）
     · position 为 static，无法作为浮层定位
     · 无 max-height / 滚动，页面被撑到 4600px 以上
     · 保留 disc 项目符号、无 hover 反馈
   以下补齐完整浮层样式。
   ============================================================ */
.bwm-auth .bwm-input-group .custom-dropdown { flex: 0 0 auto; position: relative; }

.bwm-auth .custom-dropdown-selection {
  height: 44px;
  min-width: 92px;
  padding: 0 30px 0 12px;
  display: flex;
  align-items: center;
  font-size: 13.5px;
  color: var(--bwm-ink-2);
  border: 1px solid var(--bwm-line-strong);
  border-radius: var(--bwm-radius-ctl);
  background: var(--bwm-surface);
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  position: relative;
  transition: border-color .16s ease, box-shadow .16s ease;
}

/* 右侧小箭头 */
.bwm-auth .custom-dropdown-selection::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-right: 1.6px solid var(--bwm-ink-3);
  border-bottom: 1.6px solid var(--bwm-ink-3);
  transform: rotate(45deg);
  transition: transform .18s ease;
  pointer-events: none;
}
.bwm-auth .custom-dropdown.is-open .custom-dropdown-selection {
  border-color: var(--bwm-ink);
  box-shadow: 0 0 0 3px rgba(17, 19, 24, .07);
}
.bwm-auth .custom-dropdown.is-open .custom-dropdown-selection::after {
  transform: rotate(-135deg);
  margin-top: -1px;
}

/* --- 浮层列表 --- */
.bwm-auth .custom-dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 40;
  display: none;
  min-width: 232px;
  max-height: 268px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 6px 0 0;
  padding: 6px;
  list-style: none;
  background: var(--bwm-surface);
  border: 1px solid var(--bwm-line);
  border-radius: 11px;
  box-shadow: 0 12px 32px rgba(15, 17, 21, .16), 0 2px 8px rgba(15, 17, 21, .08);
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.bwm-auth .custom-dropdown.is-open .custom-dropdown-list { display: block; }

/* 细滚动条 */
.bwm-auth .custom-dropdown-list::-webkit-scrollbar { width: 8px; }
.bwm-auth .custom-dropdown-list::-webkit-scrollbar-track { background: transparent; }
.bwm-auth .custom-dropdown-list::-webkit-scrollbar-thumb {
  background: #d7dbe0;
  border-radius: 4px;
  border: 2px solid var(--bwm-surface);
}
.bwm-auth .custom-dropdown-list::-webkit-scrollbar-thumb:hover { background: #c2c7ce; }

/* --- 选项 --- */
.bwm-auth .custom-dropdown-list li {
  padding: 8px 11px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--bwm-ink-2);
  border-radius: 7px;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .12s ease, color .12s ease;
}
.bwm-auth .custom-dropdown-list li:hover { background: var(--bwm-surface-3); color: var(--bwm-ink); }
.bwm-auth .custom-dropdown-list li[aria-selected="true"] {
  background: var(--bwm-dark);
  color: #fff;
  font-weight: 600;
}

/* 下拉展开时抬升父级层级，避免被后续表单项/提交按钮遮盖 */
.bwm-auth .bwm-card .dd-parent-open { position: relative; z-index: 20; }

/* 图形验证码 */
.bwm-auth .bwm-captcha-row {
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.bwm-auth .bwm-captcha-row .bwm-input { flex: 1 1 auto; min-width: 0; }
.bwm-auth .bwm-captcha-img {
  flex: 0 0 auto;
  width: 118px;
  height: 44px;
  border: 1px solid var(--bwm-line-strong);
  border-radius: var(--bwm-radius-ctl);
  overflow: hidden;
  background: var(--bwm-surface-3);
  cursor: pointer;
  display: block;
}
.bwm-auth .bwm-captcha-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 复选框 */
.bwm-auth .bwm-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bwm-ink-2);
  cursor: pointer;
  user-select: none;
  line-height: 1.5;
}
.bwm-auth .bwm-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #111318;
  cursor: pointer;
}
.bwm-auth .bwm-check a { color: var(--bwm-ink); text-decoration: underline; }

/* 自定义 checkbox（注册页服务条款） */
.bwm-auth .bwm-checkbox {
  position: relative;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--bwm-line-strong);
  border-radius: 4px;
  background: var(--bwm-surface);
  cursor: pointer;
  box-sizing: border-box;
  transition: background .14s ease, border-color .14s ease;
  outline: none;
}
.bwm-auth .bwm-checkbox:hover { border-color: var(--bwm-ink-2); }
.bwm-auth .bwm-checkbox:focus-visible { box-shadow: 0 0 0 3px rgba(17, 19, 24, .12); }
.bwm-auth .bwm-checkbox.checked {
  background: var(--bwm-ink);
  border-color: var(--bwm-ink);
}
.bwm-auth .bwm-checkbox.checked::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 1.5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 1.8px 1.8px 0;
  transform: rotate(42deg);
}

/* ============================================================
   按钮
   ============================================================ */
.bwm-auth .bwm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 46px;
  padding: 0 20px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--bwm-radius-ctl);
  box-sizing: border-box;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
  -webkit-appearance: none;
  appearance: none;
}
.bwm-auth .bwm-btn-primary {
  background: var(--bwm-ink);
  color: #fff;
  box-shadow: 0 1px 2px rgba(17, 19, 24, .2);
}
.bwm-auth .bwm-btn-primary:hover {
  background: #000;
  color: #fff;
  box-shadow: 0 4px 14px -2px rgba(17, 19, 24, .3);
}
.bwm-auth .bwm-btn-primary:active { background: #000; box-shadow: none; }
.bwm-auth .bwm-btn-ghost {
  background: var(--bwm-surface);
  color: var(--bwm-ink);
  border-color: var(--bwm-line-strong);
}
.bwm-auth .bwm-btn-ghost:hover {
  background: var(--bwm-surface-2);
  border-color: var(--bwm-ink-3);
  color: var(--bwm-ink);
}
.bwm-auth .bwm-btn:disabled,
.bwm-auth .bwm-btn.is-disabled {
  opacity: .5;
  cursor: not-allowed;
  box-shadow: none;
}
.bwm-auth .bwm-btn-block { width: 100%; }
.bwm-auth .bwm-btn-sm {
  height: 38px;
  font-size: 13.5px;
  font-weight: 500;
  border-radius: 8px;
}

/* 提交区 */
.bwm-auth .bwm-submit { margin-top: 22px; }

/* ============================================================
   分隔线 & 第三方登录
   ============================================================ */
.bwm-auth .bwm-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 18px;
  font-size: 12px;
  color: var(--bwm-ink-3);
  white-space: nowrap;
}
.bwm-auth .bwm-divider::before,
.bwm-auth .bwm-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--bwm-line);
}

.bwm-auth .bwm-oauth {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.bwm-auth .bwm-oauth li { list-style: none; }
.bwm-auth .bwm-oauth a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--bwm-line-strong);
  border-radius: var(--bwm-radius-ctl);
  background: var(--bwm-surface);
  transition: border-color .16s ease, background .16s ease;
  overflow: hidden;
}
.bwm-auth .bwm-oauth a:hover { border-color: var(--bwm-ink-3); background: var(--bwm-surface-2); }
.bwm-auth .bwm-oauth a img { max-width: 22px; max-height: 22px; display: block; }

/* ============================================================
   扫码登录（微信）
   ============================================================ */
.bwm-auth .bwm-scan {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--bwm-line);
}
.bwm-auth .bwm-scan-qr {
  position: relative;
  width: 172px;
  height: 172px;
  margin: 0 auto 12px;
  padding: 9px;
  border: 1px solid var(--bwm-line);
  border-radius: 12px;
  background: var(--bwm-surface);
  box-sizing: border-box;
}
.bwm-auth .bwm-scan-qr img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 6px;
}
.bwm-auth .bwm-scan-hint {
  text-align: center;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--bwm-ink-3);
}
.bwm-auth .bwm-scan-hint strong { color: var(--bwm-ink); font-weight: 600; }
.bwm-auth .bwm-scan-refresh {
  display: none;
  text-align: center;
  font-size: 12.5px;
  color: var(--bwm-ink-2);
}
.bwm-auth .bwm-scan-refresh a { color: var(--bwm-ink); text-decoration: underline; cursor: pointer; }

/* ============================================================
   页脚
   ============================================================ */
.bwm-auth .bwm-card-foot {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--bwm-line);
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
  color: var(--bwm-ink-3);
}
.bwm-auth .bwm-card-foot a {
  color: var(--bwm-ink);
  font-weight: 500;
  text-decoration: none;
  transition: opacity .16s ease;
}
.bwm-auth .bwm-card-foot a:hover { text-decoration: underline; }

/* 注册页：服务条款勾选行 */
.bwm-auth .bwm-terms {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 18px;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--bwm-ink-2);
}
.bwm-auth .bwm-terms a { color: var(--bwm-ink); text-decoration: underline; }

/* 注册页提示条 */
.bwm-auth .bwm-notice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 20px;
  padding: 11px 13px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--bwm-ink-2);
  background: var(--bwm-surface-3);
  border-radius: 9px;
}
.bwm-auth .bwm-notice::before {
  content: "i";
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  background: var(--bwm-ink-3);
  border-radius: 50%;
}

/* 隐藏域工具类 */
.bwm-auth .bwm-hide { display: none !important; }

/* ============================================================
   Tab 面板显隐（配合 JS 的 is-active）
   ============================================================ */
.bwm-auth .bwm-pane { display: none; }
.bwm-auth .bwm-pane.is-active { display: block; }

/* ============================================================
   移动端隐藏品牌区
   ============================================================ */
.bwm-auth .bwm-only-mobile { display: none; }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1180px) {
  .bwm-auth .bwm-col-left { flex-basis: 42%; max-width: 42%; padding: 36px 40px 32px; }
  .bwm-auth .bwm-hero h1 { font-size: 32px; }
  .bwm-auth .bwm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
  .bwm-auth .bwm-col-left { display: none; }
  .bwm-auth .bwm-col-right {
    flex: 1 1 100%;
    padding: 32px 20px 40px;
    background: var(--bwm-surface-2);
  }
  .bwm-auth .bwm-only-mobile { display: flex; }
  .bwm-auth .bwm-mobile-brand {
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
  }
  .bwm-auth .bwm-mobile-brand img {
    height: 48px;
    width: auto;
    max-width: 230px;
    object-fit: contain;
  }
}

@media (max-width: 575px) {
  .bwm-auth .bwm-col-right { padding: 22px 14px 32px; align-items: flex-start; }
  .bwm-auth .bwm-card {
    max-width: 100%;
    padding: 26px 20px 24px;
    border-radius: 12px;
  }
  .bwm-auth .bwm-card-head h2 { font-size: 21px; }
  .bwm-auth .bwm-hero h1 { font-size: 27px; }
  .bwm-auth .bwm-input,
  .bwm-auth .bwm-select { height: 46px; font-size: 15px; }
  .bwm-auth .bwm-btn { height: 48px; }
  .bwm-auth .bwm-captcha-img { width: 100px; }
  .bwm-auth .bwm-input-group .bwm-btn-code { min-width: 96px; padding: 0 10px; font-size: 13px; }
}

/* 极窄屏：国家码下拉收窄 */
@media (max-width: 400px) {
  .bwm-auth .bwm-input-group .custom-dropdown-selection { min-width: 70px; padding: 0 8px; font-size: 12.5px; }
  .bwm-auth .bwm-captcha-img { width: 88px; }
}

/* ============================================================
   兼容层：覆盖主题原生 Bootstrap / app.min.css 对表单的干预
   （这些规则此前会让按钮文字偏左、输入框高度不一致）
   ============================================================ */
.bwm-auth .bwm-card .form-group { margin-bottom: 0; }
.bwm-auth .bwm-card label { margin-bottom: 0; font-weight: 500; }
.bwm-auth .bwm-card button.bwm-btn { line-height: 1; text-align: center; }
.bwm-auth .bwm-card .invalid-feedback { display: none; font-size: 12.5px; }
.bwm-auth .bwm-card .is-invalid .bwm-input { border-color: #b91c1c; }
.bwm-auth .bwm-card .is-invalid .invalid-feedback { display: block; color: #b91c1c; margin-top: 6px; }

/* ============================================================
   旧平台迁移提示（仅注册页）
   设计：沿用黑白灰体系，靠左侧深色竖条 + 描边按钮建立层级，
        不与下方「注册」主按钮（实心深色）争夺视觉焦点。
   ============================================================ */
.bwm-auth .bwm-migrate {
  position: relative;
  margin: 0 0 20px;
  padding: 13px 14px 14px 15px;
  background: var(--bwm-surface-2);
  border: 1px solid var(--bwm-line);
  border-left: 3px solid var(--bwm-ink);
  border-radius: 10px;
  box-sizing: border-box;
}

.bwm-auth .bwm-migrate-tag {
  display: inline-block;
  margin: 0 6px 0 0;
  padding: 1px 6px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .4px;
  color: #fff;
  background: var(--bwm-ink);
  border-radius: 4px;
  vertical-align: 1px;
}

.bwm-auth .bwm-migrate-text {
  margin: 0 0 12px;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--bwm-ink-2);
}
.bwm-auth .bwm-migrate-text b {
  font-weight: 600;
  color: var(--bwm-ink);
}

.bwm-auth .bwm-migrate-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 36px;
  padding: 0 11px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
  color: var(--bwm-ink);
  text-decoration: none;
  background: var(--bwm-surface);
  border: 1px solid var(--bwm-line-strong);
  border-radius: 8px;
  box-sizing: border-box;
  transition: background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.bwm-auth .bwm-migrate-btn:hover {
  color: #fff;
  background: var(--bwm-ink);
  border-color: var(--bwm-ink);
  text-decoration: none;
  box-shadow: 0 4px 14px -4px rgba(17, 19, 24, .35);
}

.bwm-auth .bwm-migrate-host {
  margin-left: auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .1px;
  color: var(--bwm-ink-3);
  transition: color .16s ease;
}
.bwm-auth .bwm-migrate-btn:hover .bwm-migrate-host { color: rgba(255, 255, 255, .72); }

.bwm-auth .bwm-migrate-arrow {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  transition: transform .16s ease;
}
.bwm-auth .bwm-migrate-btn:hover .bwm-migrate-arrow { transform: translateX(2px); }

@media (max-width: 400px) {
  .bwm-auth .bwm-migrate { padding: 12px 12px 13px 13px; }
  .bwm-auth .bwm-migrate-host { font-size: 10.5px; letter-spacing: 0; }
}
@media (max-width: 340px) {
  .bwm-auth .bwm-migrate-btn { gap: 4px; padding: 0 9px; font-size: 12px; }
  .bwm-auth .bwm-migrate-host { display: none; }
}

/* ============================================================
   旧平台公告 —— 红色警示变体（登录页 / 注册页共用）
   ============================================================ */
.bwm-auth .bwm-migrate-alert {
  background: #fef2f2;
  border-color: #fecaca;
  border-left-color: #dc2626;
}
.bwm-auth .bwm-migrate-alert .bwm-migrate-tag { background: #dc2626; }
.bwm-auth .bwm-migrate-alert .bwm-migrate-text { color: #7f1d1d; }
.bwm-auth .bwm-migrate-alert .bwm-migrate-text b {
  font-weight: 600;
  color: #b91c1c;
}
.bwm-auth .bwm-migrate-alert .bwm-migrate-btn {
  color: #b91c1c;
  border-color: #fca5a5;
}
.bwm-auth .bwm-migrate-alert .bwm-migrate-btn:hover {
  color: #fff;
  background: #dc2626;
  border-color: #dc2626;
  box-shadow: 0 4px 14px -4px rgba(220, 38, 38, .45);
}
.bwm-auth .bwm-migrate-alert .bwm-migrate-host { color: #a15555; }
.bwm-auth .bwm-migrate-alert .bwm-migrate-btn:hover .bwm-migrate-host { color: rgba(255, 255, 255, .78); }

.bwm-auth .bwm-migrate-foot {
  margin: 9px 0 0;
  font-size: 12px;
  line-height: 1.55;
  color: #9f5f5f;
}
