@charset "utf-8";

/* ===== Lanhu design tokens (1919px canvas) ===== */
:root {
    --lh-orange: #3A90C8;
    --lh-orange-light: #E6F3FA;
    --lh-orange-border: #3A90C8;
    --lh-blue: #10568A;
    --lh-text: #333333;
    --lh-text-secondary: #666666;
    --lh-placeholder: #CCCCCC;
    --lh-input-border: #EEEEEE;
    --lh-card-bg: rgba(255, 255, 255, 0.8);
    --lh-font: "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
}

/* ===== Reset old login.css on lanhu page ===== */
body.lanhu-login-page {
    margin: 0;
    padding: 0;
    font-family: "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
    font-family: var(--lh-font);
    color: #333333;
    color: var(--lh-text);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    text-align: left;
    width: 100%;
    min-height: 100vh;
    background: #fff;
}

@media screen and (min-width: 768px) {
    body.lanhu-login-page {
        overflow: auto !important;
    }
}

#pwdLoginForm {
    /* 去掉页脚后铺满视口，中间区域垂直居中 */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #fff;
    overflow: visible;
    width: 100%;
    text-align: left;
}

.lanhu-h5-hero {
    display: none;
}

.lanhu-switch-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    padding: 0 !important;
    margin: -1px !important;
}

.lanhu-hidden-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* ===== PC Header 115px ===== */
.lanhu-header {
    background: #fff;
    height: 115px;
    flex-shrink: 0;
    width: 100%;
}

.lanhu-header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    height: 100%;
    display: flex;
    align-items: center;
}

.lanhu-logo {
    height: 44px;
    width: auto;
}

.lanhu-divider {
    width: 1px;
    height: 45px;
    margin: 0 30px;
}

.lanhu-header-title {
    font-size: 30px;
    font-weight: 500;
    color: #333333;
    color: var(--lh-text);
    flex: 1;
    line-height: 42px;
}

.lanhu-back-home {
    font-size: 14px;
    color: #10568A;
    color: var(--lh-blue);
    text-decoration: none;
}

.lanhu-back-home:hover {
    color: #3A90C8;
    color: var(--lh-orange);
    text-decoration: underline;
}

/* ===== Body & Card — 右侧登录+温馨提示 ===== */
.lanhu-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 40px;
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    background: #8ec8e8 url(../img/login/background.png) no-repeat center center;
    background-size: cover;
}

.lanhu-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-end;
    width: 100%;
    max-width: 1400px;
    height: auto;
    min-height: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    box-sizing: border-box;
    flex-shrink: 0;
    gap: 0;
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
}

/* 温馨提示 — 紧挨登录框右侧 */
.lanhu-tips {
    flex: 0 0 280px;
    width: 280px;
    max-width: 280px;
    padding: 28px 20px 28px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 0 4px 4px 0;
    box-shadow: 8px 8px 32px rgba(16, 86, 138, 0.1);
    align-self: stretch;
}

.lanhu-tips-title {
    font-size: 15px;
    font-weight: 500;
    margin: 0;
    color: var(--lh-text);
    line-height: 22px;
    letter-spacing: 0.0126px;
    padding-left: 10px;
    border-left: 3px solid var(--lh-orange);
}

.lanhu-tips-line {
    font-size: 12px;
    line-height: 20px;
    color: var(--lh-text-secondary);
    margin: 10px 0 0;
    letter-spacing: 0.02px;
}

.lanhu-tips-line:first-of-type {
    margin-top: 16px;
}

.lanhu-tips-line-multi {
    line-height: 20px;
}

/* 已移除业务系统滚动区，保留选择器避免旧缓存报错 */
.lanhu-tips-divider-img,
.lanhu-tips-system-title,
.lanhu-tips-system-box,
.lanhu-tips-system-scroll-wrap,
.lanhu-tips-system-viewport,
.lanhu-tips-system-list,
.lanhu-tips-system-decor,
.lanhu-tips-accent {
    display: none !important;
}

/* 登录面板：个人/法人统一固定高度 */
.lanhu-login-panel {
    position: relative;
    flex: 0 0 440px;
    max-width: 440px;
    width: 440px;
    height: 560px;
    min-height: 560px;
    margin: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    background: #fff url(../img/login/lanhu/panel-right-bg.png) -20px -20px no-repeat;
    background-size: 480px 600px;
    box-sizing: border-box;
    border-radius: 4px 0 0 4px;
    box-shadow: -4px 8px 32px rgba(16, 86, 138, 0.1);
}

/* ===== Login form - override login.css absolute positioning ===== */
#pwdLoginForm .Login_right_tab {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none;
    padding: 0 28px 20px 40px;
    background: transparent;
    box-sizing: border-box;
    z-index: 1;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#pwdLoginForm .layui-tab {
    margin: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* 主 Tab：选中=白底+橘色顶条，未选中=灰色 tab-bg */
#pwdLoginForm .layui-tab-title {
    border: none;
    margin: -1px 0 0 -40px;
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    height: 52px;
    width: 440px;
    max-width: 440px;
    position: relative;
    box-sizing: border-box;
}

#pwdLoginForm .layui-tab-title .tab-item {
    flex: 0 0 220px;
    width: 220px;
    height: 52px;
    line-height: 52px;
    padding: 0;
    float: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    letter-spacing: 0.015625px;
    color: var(--lh-text);
    font-weight: 400;
    text-align: center;
    background: url(../img/login/lanhu/tab-bg.png) no-repeat center;
    background-size: 220px 52px;
    position: relative;
    box-sizing: border-box;
}

#pwdLoginForm .layui-tab-title .tab-item.left,
#pwdLoginForm .layui-tab-title .tab-item.right {
    float: none;
}

#pwdLoginForm .layui-tab-title .tab-item.layui-this {
    background: #fff !important;
    color: var(--lh-text) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 52px !important;
    min-width: 220px !important;
    height: 52px !important;
    text-align: center !important;
}

#pwdLoginForm .layui-tab-title .tab-item.layui-this::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 220px;
    height: 4px;
    background: url(../img/login/lanhu/tab-active-line.png) no-repeat center;
    background-size: 220px 4px;
}

#pwdLoginForm .layui-tab-brief > .layui-tab-title .layui-this,
#pwdLoginForm .layui-tab-brief > .layui-tab-more li.layui-this {
    color: var(--lh-text) !important;
    font-weight: 400 !important;
}

#pwdLoginForm .layui-tab-brief > .layui-tab-title .layui-this:after,
#pwdLoginForm .layui-tab-brief > .layui-tab-more li.layui-this:after {
    display: none !important;
    border: none !important;
}

#pwdLoginForm .layui-tab-content {
    padding: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#pwdLoginForm .layui-tab-item {
    position: relative !important;
    width: 340px;
}

#pwdLoginForm .layui-tab-item.layui-show {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    min-height: 0;
}

/* Sub mode tabs — 与下方表单同宽居中 */
.lanhu-mode-tabs {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 340px;
    height: 32px;
    margin: 14px auto 0;
    box-sizing: border-box;
    flex-shrink: 0;
}

.lanhu-mode-tabs-person {
    justify-content: space-between;
}

.lanhu-mode-tabs-person .lanhu-mode-tab:first-child {
    width: auto;
    flex-shrink: 0;
    margin: 0;
}

.lanhu-mode-tabs-person .lanhu-mode-divider {
    width: 1px;
    height: 28px;
    margin: 0;
    background: url(../img/login/lanhu/subtab-divider.png) no-repeat center;
    background-size: 1px 28px;
    flex-shrink: 0;
}

.lanhu-mode-tabs-person .lanhu-mode-tab:last-child {
    margin: 0;
}

.lanhu-mode-tab {
    font-size: 13px;
    line-height: 20px;
    color: var(--lh-text);
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
    letter-spacing: 0.015625px;
    margin-top: 0;
}

.lanhu-mode-tab.active {
    color: var(--lh-orange);
    font-weight: 500;
}

/* 法人三子 Tab — 与个人子 Tab 同级，扫码时也保留，保证二维码高度一致 */
.lanhu-mode-tabs-unit {
    width: 340px;
    justify-content: space-between;
    align-items: center;
}

.lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-pwd,
.lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-cert,
.lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-scan {
    width: auto;
    flex-shrink: 0;
    margin: 0;
}

.lanhu-mode-tabs-unit .lanhu-mode-divider,
.lanhu-mode-tabs-unit .lanhu-mode-divider:first-of-type,
.lanhu-mode-tabs-unit .lanhu-mode-divider:last-of-type {
    margin: 0;
    height: 28px;
}

.lanhu-mode-divider {
    width: 1px;
    height: 28px;
    background: url(../img/login/lanhu/subtab-divider.png) no-repeat center;
    background-size: 1px 28px;
    flex-shrink: 0;
}

/* Form fields */
#pwdLoginForm .person-pc-con,
#pwdLoginForm .unit-pc-con,
#pwdLoginForm .person-qr-con,
#pwdLoginForm .unit-qr-con {
    width: 340px;
    margin-left: 0;
    box-sizing: border-box;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#pwdLoginForm .person-pc-con > .layui-form-item:first-child,
#pwdLoginForm .unit-pc-con > .layui-form-item:first-child,
#pwdLoginForm .person-pc-con > .layui-form-item.username-show,
#pwdLoginForm .unit-pc-con > .layui-form-item#enterprise_select,
#pwdLoginForm .unit-pc-con > .layui-form-item#enterprise_username {
    margin-top: 20px;
}

#pwdLoginForm .layui-form-item {
    margin-bottom: 14px;
    width: 340px;
}

#pwdLoginForm .layui-input,
#pwdLoginForm .layui-select,
#pwdLoginForm .layui-textarea,
#pwdLoginForm select {
    height: 48px;
    line-height: 20px;
    border: 1px solid var(--lh-input-border);
    border-radius: 0;
    font-size: 14px;
    letter-spacing: 0.015625px;
    color: var(--lh-text);
    background: #fff;
    box-sizing: border-box;
    padding: 14px 11px;
}

#pwdLoginForm .layui-input::placeholder {
    color: var(--lh-placeholder);
}

#pwdLoginForm .passwords {
    position: relative;
}

#pwdLoginForm .passwords .fa-eye-slash,
#pwdLoginForm .passwords .fa-eye {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    cursor: pointer;
    font-size: 16px;
}

#pwdLoginForm .Login-item {
    position: relative;
}

#pwdLoginForm .Login-item .layui-input-inline {
    width: 100%;
    margin: 0;
    padding-right: 110px;
    box-sizing: border-box;
}

#pwdLoginForm .Login-yzm {
    position: absolute;
    right: 0;
    top: 0;
    width: 100px;
    height: 48px;
}

#pwdLoginForm .Login-yzm img,
#pwdLoginForm .kaptchaImage {
    width: 100px;
    height: 48px;
    position: static;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    display: block;
}

#pwdLoginForm .lanhu-sms-btn {
    height: 48px;
    width: 100%;
    border: 1px solid #E6F3FA;
    border: 1px solid var(--lh-orange-light);
    background: #E6F3FA;
    background: var(--lh-orange-light);
    color: #3A90C8;
    color: var(--lh-orange);
    border-radius: 0;
    cursor: pointer;
    font-size: 13px;
    padding: 0 2px;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#pwdLoginForm .lanhu-sms-btn:hover {
    background: #D4EAF6;
}

#pwdLoginForm #div-pwd-tip {
    color: var(--lh-orange);
    font-size: 14px;
    margin-bottom: 0;
}

#pwdLoginForm .loginBtnBox {
    margin-top: 28px;
    margin-bottom: 0;
}

#pwdLoginForm .bu_c {
    width: 340px !important;
    height: 48px !important;
    line-height: 20px !important;
    background: #3A90C8 !important;
    background: var(--lh-orange) !important;
    border: none;
    border-radius: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.0625px;
    cursor: pointer;
    margin: 0;
    padding: 14px 0;
}

#pwdLoginForm .bu_c:hover {
    background: #2F7FB3 !important;
}

/* Outline buttons */
#pwdLoginForm .lanhu-form-links {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 340px;
    margin: 14px 0 0;
    gap: 12px;
}

#pwdLoginForm .lanhu-btn-outline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 164px;
    height: 38px;
    border: 1px solid #3A90C8;
    border: 1px solid var(--lh-orange-border);
    background: #fff;
    color: #3A90C8 !important;
    color: var(--lh-orange) !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.0625px;
    text-decoration: none !important;
    box-sizing: border-box;
    margin: 0;
    line-height: 20px;
    padding: 8px 0;
}

#pwdLoginForm .lanhu-btn-outline:hover {
    background: #E6F3FA;
    background: var(--lh-orange-light);
    text-decoration: none !important;
}

#pwdLoginForm .goA-register,
#pwdLoginForm .goA-forgot {
    color: #3A90C8 !important;
    color: var(--lh-orange) !important;
}

/* Alternative login icons */
#pwdLoginForm .changeBox {
    padding-top: 16px;
    width: 340px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    margin: auto 0 0;
}

#pwdLoginForm .changebg {
    width: 80px;
    min-width: 0;
    flex: 1 1 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 0;
    cursor: pointer;
}

#pwdLoginForm .changebg:last-child {
    margin-right: 0;
    width: auto;
    min-width: 0;
}

#pwdLoginForm .changebg img {
    width: 32px;
    height: 32px;
    cursor: pointer;
}

#pwdLoginForm .changetitle {
    color: var(--lh-text);
    font-size: 12px;
    line-height: 16px;
    padding-top: 10px;
    margin: 0;
    text-decoration: none;
    letter-spacing: 0.0134px;
}

#pwdLoginForm .changebg a.changetitle {
    color: var(--lh-text);
}

#pwdLoginForm .change-login-type {
    display: none;
}

#pwdLoginForm .person-pc-con,
#pwdLoginForm .unit-pc-con {
    display: none;
}

#pwdLoginForm .unit-pc-con[style*="display: block"],
#pwdLoginForm .unit-pc-con[style*="display:block"],
#pwdLoginForm .person-pc-con[style*="display: block"],
#pwdLoginForm .person-pc-con[style*="display:block"],
#pwdLoginForm .person-qr-con[style*="display: block"],
#pwdLoginForm .person-qr-con[style*="display:block"],
#pwdLoginForm .unit-qr-con[style*="display: block"],
#pwdLoginForm .unit-qr-con[style*="display:block"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 auto;
    min-height: 0;
}

#pwdLoginForm .unit-pc-con .lanhu-mode-tabs-unit {
    order: 0;
}

/* 个人/法人扫码区二维码：放大并略下移 */
#pwdLoginForm .person-qr-con .vcode-con,
#pwdLoginForm .unit-qr-con .vcode-con {
    margin-top: 36px;
    margin-bottom: 0;
    flex-shrink: 0;
}

#pwdLoginForm .vcode-con {
    width: 180px;
    height: 180px;
    margin: 12px auto;
}

#pwdLoginForm .vcode-con canvas,
#pwdLoginForm .vcode-con img {
    width: 180px !important;
    height: 180px !important;
    max-width: 100%;
    max-height: 100%;
    display: block;
}

#pwdLoginForm .code_tips {
    text-align: center;
    font-size: 13px;
    color: var(--lh-text-secondary);
    margin: 8px 0 0;
    flex-shrink: 0;
}

#pwdLoginForm .code_tips-highlight {
    color: var(--lh-orange);
    text-decoration: underline;
}

#pwdLoginForm .lanhu-select-full {
    width: 340px;
    height: 42px;
}

/* ===== Footer 已移除 ===== */
.lanhu-footer {
    display: none !important;
}

.lanhu-footer-inner {
    /* 120 badge + 20 gap + 785 info */
    width: 925px;
    max-width: 96%;
    margin: 0 auto;
    text-align: left;
    height: 120px;
    font-size: 0; /* 消除 inline-block 间隙 */
}

.lanhu-footer-badge-wrap {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: middle;
    width: 120px;
    height: 120px;
    margin: 0;
    background: url(../img/login/lanhu/footer-badge-bg.png) no-repeat center;
    background-size: 120px 120px;
    text-align: center;
    line-height: 120px;
    font-size: 14px;
}

.lanhu-footer-badge-img {
    width: 52px;
    height: 62px;
    vertical-align: middle;
}

.lanhu-footer-info {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: middle;
    width: 785px;
    max-width: 78%;
    height: 120px;
    margin-left: 20px;
    padding: 16px 30px;
    box-sizing: border-box;
    background: url(../img/login/lanhu/footer-text-bg.png) no-repeat;
    background-size: 100% 100%;
    font-size: 14px;
    text-align: left;
    line-height: normal;
}

.lanhu-footer-row {
    display: block;
    font-size: 14px;
    line-height: 19px;
    color: #333333;
    color: var(--lh-text);
    margin-bottom: 15px;
}

.lanhu-footer-row span,
.lanhu-footer-row a {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    margin-right: 24px;
    vertical-align: middle;
}

.lanhu-footer-row span:last-child,
.lanhu-footer-row a:last-child {
    margin-right: 0;
}

.lanhu-footer-row:last-child {
    margin-bottom: 0;
}

.lanhu-footer-row a {
    color: #333333;
    color: var(--lh-text);
    text-decoration: none;
}

.lanhu-footer-row a:hover {
    color: #3A90C8;
    color: var(--lh-orange);
    text-decoration: underline;
}

.lanhu-footer-tip {
    color: #333333;
    color: var(--lh-text);
}

/*
 * ===== PC 响应式缩放（仅 ≥768；max-width:767 移动端样式勿动） =====
 *
 * 方案：在 html 上统一 zoom，不用 transform 缩放子元素。
 * transform 缩放后布局占位不变 → 顶部留白、底部裁切、无法纵向滚动。
 * html zoom 会同步缩小布局尺寸，滚动与视觉一致。
 *
 * 设计基准：宽 1440，高 1100（115 头 + 784 中间 + 180 脚 + 余量）
 */
@media screen and (min-width: 768px) {
    html {
        --lh-zoom-w: 1;
        --lh-zoom-h: 1;
        height: auto !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
        zoom: min(var(--lh-zoom-w), var(--lh-zoom-h));
    }

    /* 覆盖 login.css 的 body{overflow:hidden}，保证 PC/平板可滚动 */
    body.lanhu-login-page {
        height: auto !important;
        min-height: 0 !important;
        overflow: auto !important;
        overflow-x: auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    #pwdLoginForm {
        min-width: 1400px;
        width: 100%;
        height: auto !important;
        min-height: 100vh !important;
        overflow: visible;
        transform: none !important;
        margin-bottom: 0 !important;
    }

    .lanhu-body {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 32px 40px;
        background-size: cover;
    }

    #pwdLoginForm .Login_right_tab {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
    }

    .lanhu-footer {
        display: none !important;
    }
}

/* 宽度不足 1440（含 iPad Pro 1024）：整页等比缩小 */
@media screen and (min-width: 768px) and (max-width: 1439px) {
    html {
        --lh-zoom-w: calc(100vw / 1440);
    }
}

/* 高度不足 900（去掉页脚后）：再按高度缩小，取宽/高较小值 */
@media screen and (min-width: 768px) and (max-height: 900px) {
    html {
        --lh-zoom-h: calc(100vh / 900);
    }
}

/*
 * 不支持 zoom 的浏览器（如 Firefox 旧版）：transform 兜底 + 负 margin 收回占位
 * 仅 PC，不影响移动端
 */
@supports not (zoom: 1) {
    @media screen and (min-width: 768px) {
        html {
            zoom: 1;
        }

        #pwdLoginForm {
            --lh-page-scale: min(var(--lh-zoom-w), var(--lh-zoom-h));
            --lh-page-h: 900px;
            transform: scale(var(--lh-page-scale)) !important;
            transform-origin: top left !important;
            margin-bottom: calc((var(--lh-page-scale) - 1) * var(--lh-page-h)) !important;
        }
    }
}

/* 不支持 CSS 变量时的基础兜底（360 兼容内核 / 旧 IE） */
.no-css-vars body.lanhu-login-page,
.no-css-vars .lanhu-header-title,
.no-css-vars .lanhu-footer-row a,
.no-css-vars .lanhu-footer-tip {
    color: #333333;
}
.no-css-vars .lanhu-back-home {
    color: #10568A;
}
.no-css-vars #pwdLoginForm .bu_c {
    background: #3A90C8 !important;
}
.no-css-vars #pwdLoginForm .lanhu-btn-outline,
.no-css-vars #pwdLoginForm .goA-register,
.no-css-vars #pwdLoginForm .goA-forgot,
.no-css-vars #pwdLoginForm .lanhu-sms-btn,
.no-css-vars #pwdLoginForm #div-pwd-tip {
    color: #3A90C8 !important;
}
.no-css-vars #pwdLoginForm .lanhu-sms-btn {
    border-color: #E6F3FA;
    background: #E6F3FA;
}
.no-css-vars #pwdLoginForm .lanhu-btn-outline {
    border-color: #3A90C8;
}

@media screen and (max-width: 1919px) {
    .lanhu-body {
        background-size: cover;
    }
}

/* 中等宽度：温馨提示略收窄，保证登录框完整 */
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .lanhu-card {
        justify-content: center;
        padding-right: 0;
        gap: 0;
    }

    .lanhu-tips {
        flex: 0 0 240px;
        width: 240px;
        max-width: 240px;
        padding: 20px 14px 20px;
    }

    .lanhu-tips-line {
        font-size: 12px;
        line-height: 18px;
    }

    .lanhu-login-panel {
        flex: 0 0 400px;
        width: 400px;
        max-width: 400px;
        height: 520px;
        min-height: 520px;
    }
}

@media screen and (max-width: 767px) {
    body.lanhu-login-page {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        text-align: left;
        background: #fff !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
    }

    #pwdLoginForm {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 100%;
        min-width: 0;
        min-height: 100vh;
        min-height: 100dvh;
        box-sizing: border-box;
        padding: max(9vw, env(safe-area-inset-top, 0px)) 4vw max(4vw, env(safe-area-inset-bottom, 0px));
        background: #fff !important;
    }

    /* 顶部插画 — 全宽展示 */
    .lanhu-h5-hero {
        display: block;
        width: 100%;
        flex-shrink: 0;
        line-height: 0;
    }

    .lanhu-h5-hero-img {
        display: block;
        width: 100%;
        height: auto;
        vertical-align: top;
    }

    .lanhu-header {
        display: none;
    }

    /* H5 默认展示账号密码登录 */
    #pwdLoginForm .person-pc-con,
    #pwdLoginForm .unit-pc-con {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        flex: 1 1 auto;
        min-height: 0;
    }

    #pwdLoginForm .person-qr-con,
    #pwdLoginForm .unit-qr-con {
        display: none !important;
    }

    /* 登录区叠在插画下方，flex 撑满剩余屏幕 */
    .lanhu-body {
        position: relative;
        flex: 1 1 auto;
        width: 100%;
        margin: -10vw 0 0;
        padding: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        background: transparent;
    }

    .lanhu-card {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
        background: transparent;
        width: 100%;
        margin: 0;
    }

    .lanhu-tips {
        display: none;
    }

    .lanhu-login-panel {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        min-height: auto;
        margin: 0;
        background: rgba(255, 255, 255, 0.8);
        box-shadow: 0 0 20px rgba(245, 128, 38, 0.1);
        border-radius: 0;
        padding-top: 2.67vw;
        padding-bottom: 2.67vw;
        overflow: visible;
        box-sizing: border-box;
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
    }

    #pwdLoginForm .Login_right_tab {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: 100% !important;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        padding: 0;
        box-sizing: border-box;
        background: transparent;
    }

    #pwdLoginForm .layui-tab {
        background: transparent;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    #pwdLoginForm .layui-tab-content {
        padding-bottom: 0;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
    }

    #pwdLoginForm .layui-tab-content > .layui-tab-item.layui-show {
        flex: 1 1 auto;
    }

    #pwdLoginForm .layui-tab-title,
    #pwdLoginForm #tags.layui-tab-title {
        margin: 0 16vw 1.6vw 17.6vw !important;
        height: auto !important;
        width: 58.4vw !important;
        max-width: 58.4vw !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        gap: 0;
        float: none;
        overflow: visible !important;
        padding: 0;
        box-sizing: border-box;
        background: transparent;
    }

    #pwdLoginForm .layui-tab-title .tab-item,
    #pwdLoginForm .layui-tab-title .tab-item.left,
    #pwdLoginForm .layui-tab-title .tab-item.right,
    #pwdLoginForm .layui-tab-title .tab-item.left.layui-this,
    #pwdLoginForm .layui-tab-title .tab-item.right.layui-this,
    #pwdLoginForm .layui-tab-title .tab-item.layui-this {
        background: transparent !important;
        flex: 0 0 auto !important;
        min-width: auto !important;
        width: auto !important;
        height: auto !important;
        line-height: 6.4vw !important;
        font-size: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center;
        float: none !important;
        color: transparent !important;
        overflow: visible !important;
    }

    #pwdLoginForm .layui-tab-title .tab-item.left.layui-this::before,
    #pwdLoginForm .layui-tab-title .tab-item.right.layui-this::before {
        top: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
    }

    /* 隐藏原始「个人用户 / 法人用户」文案，改用设计稿文案 */
    #pwdLoginForm .layui-tab-title .tab-item.left::before,
    #pwdLoginForm .layui-tab-title .tab-item.right::before {
        display: inline-block;
        font-size: 4.53vw !important;
        letter-spacing: 0.0134px;
        line-height: 6.4vw;
        color: var(--lh-text-secondary);
        font-weight: 400;
        position: static !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
    }

    #pwdLoginForm .layui-tab-title .tab-item.left::before {
        content: "个人登录";
    }

    #pwdLoginForm .layui-tab-title .tab-item.right::before {
        content: "法人登录";
    }

    #pwdLoginForm .layui-tab-title .tab-item.left.layui-this::before {
        content: "个人登录" !important;
        color: var(--lh-orange) !important;
        font-weight: 500 !important;
    }

    #pwdLoginForm .layui-tab-title .tab-item.right.layui-this::before {
        content: "法人登录" !important;
        color: var(--lh-orange) !important;
        font-weight: 500 !important;
    }

    #pwdLoginForm .layui-tab-title .tab-item:not(.layui-this)::before {
        color: var(--lh-text-secondary) !important;
        font-weight: 400 !important;
    }

    #pwdLoginForm .layui-tab-brief > .layui-tab-title .layui-this:after {
        display: block !important;
        content: "" !important;
        position: absolute;
        bottom: -1.6vw;
        left: 50%;
        transform: translateX(-50%);
        width: 16vw;
        height: 0.54vw;
        background: var(--lh-orange) !important;
        border: none !important;
        border-radius: 0;
    }

    #pwdLoginForm .layui-tab-title .tab-item {
        position: relative;
    }

    #pwdLoginForm .layui-tab-content > .layui-tab-item:not(.layui-show) {
        display: none !important;
    }

    #pwdLoginForm .layui-tab-item {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        display: none;
    }

    #pwdLoginForm .layui-tab-item.layui-show {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex: 1 1 auto;
        overflow: visible;
    }

    /* 个人子 Tab 隐藏；法人子 Tab 作为切换链接展示 */
    .lanhu-mode-tabs-person {
        display: none !important;
    }

    .lanhu-mode-tabs-unit {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 81.34vw;
        height: auto;
        margin: 2.67vw auto 0;
        order: 18;
        flex-shrink: 0;
    }

    #pwdLoginForm .unit-pc-con .lanhu-mode-tabs-unit,
    .lanhu-mode-tabs-unit {
        order: 18;
        width: 100%;
        max-width: 81.34vw;
        margin-left: auto;
        margin-right: auto;
    }

    .lanhu-mode-tabs-unit .lanhu-mode-divider,
    .lanhu-mode-tabs-unit .lanhu-unit-mode-scan {
        display: none !important;
    }

    .lanhu-mode-tabs-unit .lanhu-mode-tab.active {
        display: none !important;
    }

    .lanhu-mode-tabs-unit .lanhu-mode-tab:not(.active) {
        font-size: 4vw;
        line-height: 5.6vw;
        color: var(--lh-orange);
        margin: 0;
        letter-spacing: 0.0118px;
        text-align: center;
        cursor: pointer;
        width: 100%;
    }

    .lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-pwd,
    .lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-cert,
    .lanhu-mode-tabs-unit .lanhu-mode-tab.lanhu-unit-mode-scan {
        margin: 0;
    }

    #pwdLoginForm .layui-tab-item:has(.person-qr-con:not([style*="display: none"])) .changeBox .phoneCode {
        display: none !important;
    }

    /* 登录区块：pc 仅 jQuery show 后展示；qr 默认可见也需 flex 以支持 order 排序 */
    #pwdLoginForm .person-pc-con[style*="display: none"],
    #pwdLoginForm .person-pc-con[style*="display:none"],
    #pwdLoginForm .person-qr-con[style*="display: none"],
    #pwdLoginForm .person-qr-con[style*="display:none"],
    #pwdLoginForm .unit-pc-con[style*="display: none"],
    #pwdLoginForm .unit-pc-con[style*="display:none"],
    #pwdLoginForm .unit-qr-con[style*="display: none"],
    #pwdLoginForm .unit-qr-con[style*="display:none"] {
        display: none !important;
    }

    #pwdLoginForm .person-pc-con[style*="display: block"],
    #pwdLoginForm .person-pc-con[style*="display:block"],
    #pwdLoginForm .unit-pc-con[style*="display: block"],
    #pwdLoginForm .unit-pc-con[style*="display:block"] {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        flex: 1 1 auto;
        min-height: 0;
    }

    #pwdLoginForm .person-qr-con:not([style*="display: none"]):not([style*="display:none"]),
    #pwdLoginForm .unit-qr-con:not([style*="display: none"]):not([style*="display:none"]) {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        flex: 1 1 auto;
        width: 100%;
        justify-content: flex-start;
    }

    /* 账号登录与扫码登录互斥 */
    #pwdLoginForm .person-pc-con[style*="display: block"] ~ .person-qr-con,
    #pwdLoginForm .person-pc-con[style*="display:block"] ~ .person-qr-con,
    #pwdLoginForm .unit-pc-con[style*="display: block"] ~ .unit-qr-con,
    #pwdLoginForm .unit-pc-con[style*="display:block"] ~ .unit-qr-con {
        display: none !important;
    }

    #pwdLoginForm .person-pc-con .loginBtnBox,
    #pwdLoginForm .person-qr-con .loginBtnBox,
    #pwdLoginForm .unit-pc-con .loginBtnBox,
    #pwdLoginForm .unit-qr-con .loginBtnBox {
        order: 15;
    }

    #pwdLoginForm .person-pc-con .changeBox,
    #pwdLoginForm .person-qr-con .changeBox,
    #pwdLoginForm .unit-pc-con .changeBox,
    #pwdLoginForm .unit-qr-con .changeBox {
        order: 25;
        margin-top: 2.67vw;
        margin-bottom: 0;
    }

    #pwdLoginForm .person-pc-con .changeBox,
    #pwdLoginForm .unit-pc-con .changeBox {
        margin-top: 2.67vw;
        position: relative;
    }

    #pwdLoginForm .unit-pc-con .changeBox {
        margin-top: 5.34vw;
    }

    #pwdLoginForm .changeBox .phoneCode {
        grid-row: 1;
        grid-column: 1 / -1;
        width: 100%;
        text-align: center;
        height: auto;
        line-height: 5.6vw;
        margin-bottom: 0;
    }

    #pwdLoginForm .person-pc-con .lanhu-form-links,
    #pwdLoginForm .person-qr-con .lanhu-form-links,
    #pwdLoginForm .unit-pc-con .lanhu-form-links,
    #pwdLoginForm .unit-qr-con .lanhu-form-links {
        order: 30;
    }

    #pwdLoginForm .person-pc-con,
    #pwdLoginForm .person-qr-con,
    #pwdLoginForm .unit-pc-con,
    #pwdLoginForm .unit-qr-con {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #pwdLoginForm .person-pc-con .layui-form-item,
    #pwdLoginForm .person-pc-con .loginBtnBox,
    #pwdLoginForm .person-pc-con .changeBox,
    #pwdLoginForm .unit-pc-con .layui-form-item,
    #pwdLoginForm .unit-pc-con .loginBtnBox,
    #pwdLoginForm .unit-pc-con .changeBox,
    #pwdLoginForm .unit-pc-con .lanhu-mode-tabs-unit,
    #pwdLoginForm .person-qr-con .changeBox,
    #pwdLoginForm .unit-qr-con .changeBox {
        width: 100%;
        max-width: 81.34vw;
        margin-left: auto;
        margin-right: auto;
    }

    #pwdLoginForm .lanhu-form-links {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        flex-shrink: 0;
    }

    #pwdLoginForm .person-pc-con > .layui-form-item:first-child,
    #pwdLoginForm .unit-pc-con > .layui-form-item:first-child,
    #pwdLoginForm .person-pc-con > .layui-form-item.username-show,
    #pwdLoginForm .unit-pc-con > .layui-form-item#enterprise_select,
    #pwdLoginForm .unit-pc-con > .layui-form-item#enterprise_username {
        margin-top: 5.34vw;
    }

    #pwdLoginForm .layui-form-item {
        margin-bottom: 4vw;
    }

    #pwdLoginForm .layui-input,
    #pwdLoginForm .layui-select,
    #pwdLoginForm .layui-textarea,
    #pwdLoginForm select {
        height: auto;
        line-height: 5.87vw;
        border: 1px solid var(--lh-orange-light);
        border-radius: 0;
        padding: 3.2vw 5.07vw;
        font-size: 4.27vw;
        letter-spacing: 0.0126px;
        background: #fff;
    }

    #pwdLoginForm .layui-input::placeholder {
        color: var(--lh-placeholder);
    }

    #pwdLoginForm .passwords {
        position: relative;
    }

    #pwdLoginForm .passwords .fa-eye-slash,
    #pwdLoginForm .passwords .fa-eye {
        right: 4vw;
        top: 50%;
        transform: translateY(-50%);
    }

    #pwdLoginForm .Login-item .layui-input-inline {
        padding-right: 0;
        width: auto;
        margin: 0;
    }

    #pwdLoginForm .Login-item {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        border: 1px solid var(--lh-orange-light);
        background: #fff;
        margin-bottom: 4vw;
        min-height: 12.27vw;
    }

    #pwdLoginForm .Login-item .layui-input-inline {
        flex: 1;
        min-width: 0;
    }

    #pwdLoginForm .Login-item .layui-input {
        border: none;
        background: transparent;
        width: 100%;
    }

    #pwdLoginForm .Login-yzm {
        position: static;
        width: 28vw;
        min-width: 28vw;
        height: auto;
        flex-shrink: 0;
        display: flex;
        align-items: stretch;
        align-self: stretch;
        padding: 0;
        overflow: hidden;
        background: var(--lh-orange-light);
        border-left: 1px solid var(--lh-orange-light);
    }

    #pwdLoginForm .Login-yzm img,
    #pwdLoginForm .kaptchaImage {
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 100% !important;
        margin: 0;
        display: block;
        object-fit: fill;
        flex: 1 1 auto;
    }

    #pwdLoginForm #div-pwd-1.Login-item[style*="display: block"],
    #pwdLoginForm #div-pwd-1.Login-item[style*="display:block"],
    #pwdLoginForm #div-pwd-2.Login-item[style*="display: block"],
    #pwdLoginForm #div-pwd-2.Login-item[style*="display:block"] {
        display: flex !important;
        flex-direction: row;
        align-items: stretch;
    }

    #pwdLoginForm #div-pwd-2 .Login-yzm {
        width: 24vw;
        min-width: 24vw;
    }

    #pwdLoginForm #div-pwd-2 .lanhu-sms-btn {
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 0 1.6vw;
        font-size: 3.46vw;
        line-height: 1.2;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    #pwdLoginForm .lanhu-sms-btn {
        width: auto;
        height: auto;
        min-height: 12.27vw;
        padding: 3.2vw 3.73vw;
        font-size: 4.27vw;
        line-height: 5.87vw;
        white-space: nowrap;
        background: transparent;
        border: none;
        color: var(--lh-orange);
        letter-spacing: 0.0126px;
    }

    #pwdLoginForm .lanhu-sms-btn:hover {
        background: transparent;
    }

    #pwdLoginForm #div-pwd-tip {
        font-size: 3.73vw;
        margin-bottom: 0;
    }

    #pwdLoginForm .person-pc-con .loginBtnBox,
    #pwdLoginForm .unit-pc-con .loginBtnBox {
        margin-top: 4vw;
        margin-bottom: 0;
    }

    #pwdLoginForm .person-pc-con .loginBtnBox.layui-form-item,
    #pwdLoginForm .unit-pc-con .loginBtnBox.layui-form-item {
        margin-bottom: 0;
    }

    #pwdLoginForm .loginBtnBox {
        margin-top: 4vw;
        margin-bottom: 0;
    }

    #pwdLoginForm .bu_c {
        width: 100% !important;
        max-width: 81.34vw;
        height: auto !important;
        line-height: 5.33vw !important;
        padding: 2vw 3.2vw;
        font-size: 4vw;
        font-weight: 500;
        display: block;
        margin: 0 auto;
        border-radius: 0;
        letter-spacing: 0.0134px;
    }

    /* 忘记密码 / 注册 — 紧跟图标区下方，对齐 demo margin-top: 4.27vw */
    #pwdLoginForm .lanhu-form-links {
        position: relative;
        z-index: 2;
        display: flex !important;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-top: auto;
        margin-bottom: 0;
        padding: 2.13vw 5.33vw;
        box-sizing: border-box;
        background: rgba(255, 235, 219, 0.8);
        gap: 0;
        order: 30;
        align-self: stretch;
        flex-shrink: 0;
        visibility: visible;
    }

    #pwdLoginForm .person-pc-con .lanhu-form-links,
    #pwdLoginForm .unit-pc-con .lanhu-form-links {
        margin-top: auto;
        margin-bottom: 0;
    }

    #pwdLoginForm .person-qr-con .lanhu-form-links,
    #pwdLoginForm .unit-qr-con .lanhu-form-links {
        margin-top: auto;
    }

    #pwdLoginForm .lanhu-btn-outline {
        width: auto;
        height: auto;
        border: none;
        background: transparent;
        font-size: 3.73vw;
        line-height: 5.34vw;
        padding: 0;
        color: var(--lh-orange) !important;
        letter-spacing: 0.0125px;
    }

    #pwdLoginForm .changeBox {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        row-gap: 5.34vw;
        column-gap: 0;
        align-items: start;
        justify-items: center;
        width: 100%;
        max-width: 81.34vw;
        margin: 0 auto;
        padding-top: 0;
    }

    #pwdLoginForm .changeBox > .changebg:nth-child(1),
    #pwdLoginForm .changeBox > .changebg:nth-child(2) {
        grid-row: 2;
    }

    #pwdLoginForm .changeBox > .changebg:nth-child(1) {
        grid-column: 1;
        justify-self: center;
    }

    #pwdLoginForm .changeBox > .changebg:nth-child(2) {
        grid-column: 2;
        justify-self: center;
    }

    #pwdLoginForm .changeBox:not(:has(.phoneCode)) {
        grid-template-rows: auto;
        row-gap: 0;
    }

    #pwdLoginForm .changeBox:not(:has(.phoneCode)) > .changebg:nth-child(1),
    #pwdLoginForm .changeBox:not(:has(.phoneCode)) > .changebg:nth-child(2) {
        grid-row: 1;
    }

    #pwdLoginForm .changeBox .phoneCode img {
        display: none;
    }

    #pwdLoginForm .changeBox .phoneCode .changetitle {
        color: var(--lh-orange);
        font-size: 4vw;
        line-height: 5.6vw;
        padding-top: 0;
        letter-spacing: 0.0118px;
    }

    #pwdLoginForm .changeBox .phoneCode .changetitle br {
        display: none;
    }

    #pwdLoginForm .changebg {
        width: auto;
        min-width: 0;
        margin-right: 0;
        flex: none;
    }

    #pwdLoginForm .changeBox .changebg.phoneCode {
        flex: none;
        width: 100%;
        max-width: 100%;
    }

    #pwdLoginForm .changebg img {
        width: 9.6vw;
        height: 9.6vw;
    }

    #pwdLoginForm .changebg .changetitle {
        font-size: 3.2vw;
        line-height: 4.54vw;
        padding-top: 4vw;
        color: var(--lh-text);
        letter-spacing: 0.0134px;
        white-space: nowrap;
    }

    /* H5 隐藏微信登录 */
    #pwdLoginForm .changeBox .weChat {
        display: none !important;
    }

    #pwdLoginForm .changebg.institution {
        flex: 1;
        min-width: 0;
    }

    #pwdLoginForm .changebg.institution .changetitle {
        white-space: normal;
        text-align: center;
        font-size: 3.2vw;
        line-height: 4.54vw;
    }

    #pwdLoginForm .person-pc-con .certificate-show {
        display: none !important;
    }

    #pwdLoginForm .changebg:last-child {
        width: auto;
        min-width: 0;
    }

    #pwdLoginForm .person-qr-con .vcode-con,
    #pwdLoginForm .unit-qr-con .vcode-con {
        margin-top: 5.34vw;
        width: 53.33vw;
        height: 53.33vw;
    }

    #pwdLoginForm .person-qr-con .vcode-con canvas,
    #pwdLoginForm .unit-qr-con .vcode-con canvas,
    #pwdLoginForm .person-qr-con .vcode-con img,
    #pwdLoginForm .unit-qr-con .vcode-con img {
        width: 100% !important;
        height: 100% !important;
    }

    #pwdLoginForm .person-qr-con,
    #pwdLoginForm .unit-qr-con {
        flex: 1 1 auto;
        justify-content: flex-start;
    }

    #pwdLoginForm .code_tips {
        font-size: 3.73vw;
        color: var(--lh-text-secondary);
        margin: 3.2vw 0 0;
    }

    .lanhu-footer {
        display: none;
    }

    /* 覆盖 login.css 旧版 H5 样式 */
    #pwdLoginForm #tags,
    #pwdLoginForm #tags li {
        width: auto !important;
        overflow: visible !important;
        float: none !important;
    }

    #pwdLoginForm .layui-tab-title .tab-item.left,
    #pwdLoginForm .layui-tab-title .tab-item.right {
        float: none !important;
    }
}
