/* lms-auth.css
 * 登录/注册/找回密码页样式（layout_auth.php）
 * 参照 AdminLTE 3 pages/examples/login-v2.html
 */
.login-page {
    background-color: #e9ecef;
    background-image:
        /*linear-gradient(105deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.85) 45%, rgba(255,255,255,.55) 100%),*/
        url("../../portal/assets/img/login_right.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.login-box {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}
.login-logo {
    text-align: center;
    margin-bottom: 1.25rem;
    font-size: 1.8rem;
}
.login-logo a {
    color: #495057;
    text-decoration: none;
}
.login-logo a:hover {
    color: #007bff;
}

/* 卡片：悬浮阴影 + 圆角 */
.login-page .card.card-outline {
    border-top: 0;
    border-radius: .6rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
    backdrop-filter: blur(2px);
    overflow: hidden;
}
.card-outline .card-header {
    background-color: transparent;
    border-bottom: 0;
    padding: 1.5rem 2rem .5rem;
}
.card-outline .card-header a {
    color: #495057;
    text-decoration: none;
}
.card-outline .card-header a:hover {
    color: #007bff;
}
.login-card-body {
    padding: 1rem 2rem 1.75rem;
}

/* 输入框带图标 */
.input-group-text {
    background-color: #f4f6f9;
    border-right: 0;
    color: #6c757d;
}
.form-control + .input-group-append .input-group-text,
.input-group-prepend .input-group-text + .form-control {
    border-left: 0;
}
.form-control:focus + .input-group-append .input-group-text,
.input-group-prepend .input-group-text + .form-control:focus {
    border-color: #80bdff;
}
.login-card-body .form-control {
    border-left: 0;
    background-color: #f4f6f9;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.login-card-body .form-control:focus {
    background-color: #fff;
    box-shadow: none;
}

/* 登录按钮：渐变 + hover 上浮 */
.lms-btn-login {
    background-image: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
    border: 0;
    border-radius: .4rem;
    font-weight: 600;
    letter-spacing: .15em;
    box-shadow: 0 .25rem .6rem rgba(0, 95, 214, .3);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.lms-btn-login:hover,
.lms-btn-login:focus {
    filter: brightness(1.06);
    transform: translateY(-1px);
    box-shadow: 0 .4rem .9rem rgba(0, 95, 214, .4);
}
.lms-btn-login:active {
    transform: translateY(0);
}

/* 登录方式 tab（短信登录开关） */
.login-card-body .nav-tabs {
    border-bottom: 1px solid #dee2e6;
}
.login-card-body .nav-tabs .nav-link {
    border: 0;
    color: #6c757d;
    font-weight: 500;
    padding: .5rem .75rem;
}
.login-card-body .nav-tabs .nav-link:hover {
    color: #007bff;
    border-color: transparent;
}
.login-card-body .nav-tabs .nav-link.active,
.login-card-body .nav-tabs .nav-link.active:hover,
.login-card-body .nav-tabs .nav-link.active:focus {
    color: #007bff;
    border-bottom: 2px solid #007bff;
    border-top-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    background: transparent;
    cursor: pointer;
}

/* 验证码图片：与输入框同行等高，按比例完整显示（避免 object-fit:cover 裁切导致看不全） */
.captcha-img {
    cursor: pointer;
    border: 0;
    border-radius: 0 .25rem .25rem 0;
    height: calc(1.5em + .75rem + 2px); /* 与输入框等高 */
    width: auto;          /* 按比例自适应，保证验证码完整可见 */
    max-width: 140px;
    display: block;
    margin: -4px -5px; /* 抵消 append 的 padding，贴边 */
}
.captcha-img:hover {
    filter: brightness(.96);
}

/* 底部链接 */
.login-links a {
    color: #007bff;
    text-decoration: none;
    font-size: .9rem;
}
.login-links a:hover {
    text-decoration: underline;
}

/* 记住我 */
.icheck-bootstrap label {
    font-size: .9rem;
    color: #6c757d;
    cursor: pointer;
}

/* 第三方登录 */
.social-auth-links {
    margin-top: 1rem;
}
.social-auth-links .btn {
    margin-bottom: .5rem;
}
.login-sns a {
    cursor: pointer;
}
.login-sns img {
    width: 28px;
}

/* 注册/找回密码 */
.register-box-msg,
.login-box-msg,
.recover-box-msg {
    text-align: center;
    padding: 0 1rem 1rem;
    color: #6c757d;
}

/* 错误提示 */
.alert-login-error {
    margin-bottom: 1rem;
}

/* 移动端适配 */
@media (max-width: 576px) {
    .login-box {
        max-width: 100%;
    }
    .login-card-body {
        padding: 1rem 1.25rem 1.5rem;
    }
}
