
body.auth-page {
  min-height: 100vh;
  margin: 0;
  /* 勿用 overflow-x:hidden，部分浏览器会连带裁切 position:fixed 的极验悬浮层 */
  overflow-x: visible;
  background: #fff;
}
body.auth-page.fu-gt-float-open {
  overflow: visible !important;
}

body.auth-page .main-content,
body.auth-page .page-content,
body.auth-page .container-fluid.fu-auth-default {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

.fu-auth-default {
  min-height: 100vh;
}

.fu-auth-default > .row.no-gutters {
  min-height: 100vh;
}

.fu-auth-default .auth-full-bg {
  min-height: 100vh;
  height: 100%;
}

.fu-auth-default .auth-full-bg .bg-overlay {
  background-size: cover !important;
  background-position: center !important;
  opacity: 1;
}

.fu-auth-default .login_right {
  max-width: 420px;
  width: 100%;
}

.fu-auth-default .logo.text-center {
  margin-bottom: 1.25rem;
}

.fu-auth-default .logo.text-center img {
  height: var(--login-logo-height, 50px);
  max-width: var(--login-logo-max-width, 180px);
  width: auto;
  object-fit: contain;
}

.fu-auth-page,
.fu-auth-card {
  display: contents;
}
.fu-auth-form-title,
.fu-auth-form-sub {
  display: none !important;
}

.L_code { display: none !important; }

.fu-auth-default .L_code-right-form,
.fu-auth-default .L_code-login-form,
.fu-auth-default .L_code-form-content,
.fu-auth-default .tab-pane,
.fu-auth-default .form-group {
  overflow: visible !important;
}

.fu-auth-default .tab-pane,
.L_code-login-form .tab-pane {
  display: none !important;
}
.fu-auth-default .tab-pane.active,
.L_code-login-form .tab-pane.active {
  display: block !important;
}

.code_login-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
  border-bottom: 1px solid #eff2f7;
}
.code_login-tab .login-tab-item {
  padding: 10px 4px;
  cursor: pointer;
  color: #74788d;
  font-size: 15px;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.code_login-tab .login-tab-item.active {
  color: var(--fu-uc-blue, #2563eb) !important;
  border-bottom-color: var(--fu-uc-blue, #2563eb) !important;
}
.code_login-tab .login-tab-separate {
  width: 1px;
  height: 14px;
  background: #e2e8f0;
}
.text-register {
  font-size: 13px;
  color: #74788d;
  margin-bottom: 20px;
}

.fu-auth-default .form-control {
  height: var(--login-input-height, 46px);
  border-radius: var(--login-input-radius, 0.25rem);
}

/* 表单项与验证码同宽对齐（覆盖 logincode 的 flex-start） */
.fu-auth-default .form-group,
body.auth-page .L_code-login-form .form-group,
body.auth-page .form-group.JYcaptchacss {
  display: flex;
  flex-direction: column;
  align-items: stretch !important;
  width: 100%;
}
.fu-auth-default .form-group > .form-control,
.fu-auth-default .form-group > .input-group,
.fu-auth-default .form-group > .ExtremeTest_captcha,
body.auth-page .form-group > .ExtremeTest_captcha,
body.auth-page .form-group.JYcaptchacss > .ExtremeTest_captcha {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch;
}

.fu-auth-default .btn-primary {
  height: var(--login-button-height, 46px);
  font-weight: 500;
}

.fu-auth-default .input-group {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}
/* 图形验证码图片与输入框同高 */
.fu-auth-default .input-group-append,
body.auth-page .input-group-append {
  display: flex;
  align-items: stretch;
}
.fu-auth-default .input-group-append img,
body.auth-page .input-group-append img.border.pointer,
body.auth-page .form-group .input-group-append img {
  height: var(--login-input-height, 46px) !important;
  width: 120px !important;
  max-width: 120px;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 0 var(--login-input-radius, 0.25rem) var(--login-input-radius, 0.25rem) 0;
  box-sizing: border-box;
}
.fu-auth-default .input-group .btn,
body.auth-page .input-group-append .btn {
  height: var(--login-input-height, 46px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.fu-phone-code-select,
select#phoneCodeSel {
  max-width: 110px;
  flex: 0 0 110px;
  height: var(--login-input-height, 46px);
  border: 1px solid #ced4da;
  border-right: 0;
  border-radius: 0.25rem 0 0 0.25rem;
  background: #f8f9fa;
  color: #495057;
  font-size: 14px;
  padding: 0 8px;
  outline: none;
}
.fu-auth-default .input-group .form-control {
  border-radius: 0 0.25rem 0.25rem 0;
}

.fu-auth-links {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-top: 16px;
}
.fu-auth-links a { color: var(--fu-uc-blue, #2563eb); }

/* 行为验证：与输入框同宽同高，左右上下对齐 */
body.auth-page .ExtremeTest_captcha,
body.inherit.auth-page .ExtremeTest_captcha {
  position: relative;
  z-index: 30;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: var(--login-input-height, 46px) !important;
  min-height: var(--login-input-height, 46px) !important;
  max-height: var(--login-input-height, 46px) !important;
  margin: 0 0 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  box-sizing: border-box;
}
body.auth-page .ExtremeTest_captcha > .geetest_captcha,
body.auth-page .ExtremeTest_captcha .geetest_holder,
body.auth-page .ExtremeTest_captcha .geetest_btn,
body.auth-page .ExtremeTest_captcha .geetest_radar_btn,
body.auth-page .ExtremeTest_captcha .geetest_btn_click,
body.auth-page .ExtremeTest_captcha .geetest_wind {
  width: 100% !important;
  max-width: 100% !important;
  height: var(--login-input-height, 46px) !important;
  min-height: var(--login-input-height, 46px) !important;
  max-height: var(--login-input-height, 46px) !important;
  pointer-events: auto !important;
  overflow: visible !important;
  box-sizing: border-box;
}
body.auth-page .ExtremeTest_captcha .geetest_content,
body.auth-page .ExtremeTest_captcha .geetest_gradient_bar {
  height: var(--login-input-height, 46px) !important;
  max-height: var(--login-input-height, 46px) !important;
  box-sizing: border-box;
}
body.auth-page .L_code-login-form .ExtremeTest_captcha {
  height: var(--login-input-height, 46px) !important;
}
/* 拼图/弹层面板：脱离文档流，不限制高度 */
body.auth-page .ExtremeTest_captcha .geetest_float .geetest_box_wrap,
body.auth-page .geetest_float .geetest_box_wrap,
body.inherit.auth-page .ExtremeTest_captcha .geetest_float .geetest_box_wrap,
body.auth-page .geetest_panel,
body.auth-page .geetest_panel_box,
body.auth-page .geetest_popup_wrap,
body.auth-page .geetest_fullpage_click,
body.auth-page [data-fu-promoted="1"] {
  position: fixed !important;
  z-index: 100860 !important;
  max-width: none !important;
  max-height: none !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
body.auth-page .ExtremeTest_captcha .geetest_float .geetest_box_wrap *,
body.auth-page .geetest_float .geetest_box_wrap *,
body.auth-page [data-fu-promoted="1"] * {
  max-height: none !important;
}
/* 极验弹层/浮层不要被登录卡片裁切 */
body.auth-page .fu-auth-card,
body.auth-page .fu-auth-default,
body.auth-page .fu-auth-default .login_right,
body.auth-page .L_code-right-form,
body.auth-page .L_code-login-form,
body.auth-page .L_code-form-content,
body.auth-page .card,
body.auth-page .card-body,
body.auth-page .tab-pane,
body.auth-page .form-group.JYcaptchacss {
  overflow: visible !important;
}
body.auth-page .geetest_float {
  z-index: 10050 !important;
  overflow: visible !important;
}

.fu-auth-default .L_code-scan-login {
  margin-bottom: 16px;
}

/* 后台登录页显示开关 */
body.fu-hide-logo .fu-auth-default .logo {
  display: none !important;
}
body.fu-hide-brand-title .fu-auth-brand-title {
  display: none !important;
}
body.fu-hide-brand-desc .fu-auth-brand-desc {
  display: none !important;
}
body.fu-hide-form-title .fu-auth-form-title,
body.fu-hide-form-title .L_code-form-content > h1,
body.fu-hide-form-title .L_code-form-content > h2 {
  display: none !important;
}
body.fu-hide-form-sub .fu-auth-form-sub {
  display: none !important;
}
body.fu-hide-wechat .L_code-scan-login {
  display: none !important;
}
body.fu-hide-register .text-register {
  display: none !important;
}
body.fu-hide-forgot a[href="pwreset"],
body.fu-hide-forgot a[href="/pwreset"] {
  display: none !important;
}
body.fu-hide-footer-terms .fu-auth-footer-terms,
body.fu-hide-footer-terms .login-footer-terms {
  display: none !important;
}

@media (max-width: 1199.98px){
  .fu-auth-default .bglogo {
    display: none;
  }
  .fu-auth-default > .row.no-gutters {
    min-height: auto;
  }
  .fu-auth-default .auth-full-page-content {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
  .fu-auth-default .login_right {
    margin: 0 auto;
    padding: 24px 0;
  }
}
