/* 登录页（pages/login/index.vue scoped 复刻；el-tabs/el-input/el-button 最小复刻） */
body, div, p, h1, h2, h3, input, button, a, span, img {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
a { color: #000; text-decoration: none; }

/* 通用工具类（common.scss） */
.fx { display: flex; }
.fxc, .fx-alc { align-items: center; }
.fx-sb { justify-content: space-between; }
.fn { flex: none; }
.fa { flex: auto; }
.blk { display: block; }
.vam { vertical-align: middle; }
.tac { text-align: center; }
.bgfff { background: #fff; }
.color999 { color: #999; }
.fs12 { font-size: 12px; }
.fs14 { font-size: 14px; }
.fs22 { font-size: 22px; }
.gray { color: #606266; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mb5 { margin-bottom: 5px; }
.mb20 { margin-bottom: 20px; }
.mr10 { margin-right: 10px; }

.login-all {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(/pc/images/login/login_img_bg.png) center no-repeat;
    background-size: 100%;
}
.login-tel {
    position: absolute;
    right: 30px;
    top: 55px;
    color: #fff;
}
.login-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 730px;
    height: 600px;
    border-radius: 5px;
    overflow: hidden;
}
.login-left {
    width: 240px;
    height: 600px;
    background: linear-gradient(to bottom, #d9e9fa, #f5f6fa);
    padding: 68px 28px 28px;
}
.login-left .logo-img img {
    width: 100%;
    max-height: 88px;
    object-fit: cover;
}
.login-left .left-item {
    margin-top: 50px;
}
.login-left .left-item img {
    width: 30px;
    height: 30px;
}
.login-right {
    position: relative;
    padding: 68px 50px 28px;
}

/* el-input/el-button/el-tabs 最小复刻 */
.el-input__inner {
    width: 100%;
    height: 38px;
    line-height: 38px;
    padding: 0 15px;
    font-size: 14px;
    border: 1px solid #dcdfe6;
    border-radius: 4px;
    outline: none;
    color: #606266;
}
.el-input__inner:focus {
    border-color: var(--configColor, #409eff);
}
.el-button {
    height: 38px;
    padding: 0 20px;
    font-size: 14px;
    border-radius: 4px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: .1s;
}
.el-button--primary {
    background: var(--configColor, #409eff);
    border-color: var(--configColor, #409eff);
    color: #fff;
}
.el-button--primary:hover {
    filter: brightness(1.15);
}
.el-button--primary.is-plain {
    background: transparent;
    color: var(--configColor, #409eff);
}
.el-button--primary.is-plain:hover {
    background: var(--configColor, #409eff);
    color: #fff;
}
.el-button[disabled] {
    cursor: not-allowed;
    opacity: .6;
}
.login-tabs .el-tabs__item {
    font-size: 16px;
}
.login-tabs.el-tabs--border-card > .el-tabs__content,
.el-tabs--border-card > .el-tabs__content {
    padding: 15px 35px;
}
.el-tabs--border-card {
    border: 1px solid #dcdfe6;
    border-radius: 4px;
}
.el-tabs__header {
    background: #f5f7fa;
    border-bottom: 1px solid #e4e7ed;
}
.el-tabs__nav {
    display: flex;
}
.el-tabs__item {
    flex: 1;
    text-align: center;
    padding: 12px 0;
    color: #606266;
    cursor: pointer;
    border-right: 1px solid #e4e7ed;
}
.el-tabs__item:last-child {
    border-right: none;
}
.el-tabs__item.is-active {
    background: #fff;
    color: var(--configColor, #409eff);
}
.login-fot a {
    color: #6e86b1;
    text-decoration: underline;
}
.login-fot {
    line-height: 2;
}
.wxlogin .erweima img {
    width: 135px;
    height: 135px;
}
.wxlogin .login-wx-img img {
    width: 170px;
}
.wxlogin {
    padding: 0 20px;
}

/* 提示 toast（login.js） */
.pc-toast {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    background: rgba(0, 0, 0, .7);
    color: #fff;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 4px;
    max-width: 80%;
}

/* ===== 获取短信验证码按钮：不换行、不被挤压 ===== */
#sms-send {
    flex: none;
    white-space: nowrap;
}

/* ===== 行为验证码弹窗：全屏遮罩 + 窗口居中（对齐基线 common.scss #captcha-box） ===== */
#captcha-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
    z-index: 3001;
}
#captcha-box #tianai-captcha-parent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 460px;
    height: 320px;
}
#captcha-box #tianai-captcha-box {
    overflow: initial;
}
#captcha-box #tianai-captcha-logo {
    display: none;
}
#captcha-box #tianai-captcha,
#captcha-box #tianai-captcha-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    padding-top: 20px;
}
#captcha-box #tianai-captcha-parent #tianai-captcha-box .loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#captcha-box #tianai-captcha-slider-move-btn {
    box-shadow: 0 0 15px #c2c2c2;
}
#captcha-box #tianai-captcha.tianai-captcha-slider .slider-move-track {
    background: #cecece;
}
