/* login.css */
body {
    background: #496CEA;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.login-card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* 标题自动换行间距优化 */
#subjectStrong {
    line-height: 1.5;          /* 增加行高，多行更宽松 */
}

.captcha-img {
    cursor: pointer;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    width: 100%;
    height: auto;
    max-height: 38px;      /* 限制最大高度，防止过高 */
    object-fit: contain;
}

/* 将错误提示改为绝对定位，避免撑高父容器 */
#verifyCode ~ .invalid-feedback {
    position: absolute;
    bottom: -22px;         /* 根据实际情况调整 */
    left: 0;
    width: 100%;
    font-size: 80%;
}

.btn-login {
    background-color: #496CEA;
    border-color: #496CEA;
}

.btn-login:hover {
    background-color: #3a5bd9;
    border-color: #3a5bd9;
}

.background-side {
	background: url('../assets/img/logo.png') center/cover no-repeat;
}

.notice-modal-dialog {
    max-width: 350px;
    width: 90%; /* 在小屏幕上自适应 */
    margin: 1.75rem auto; /* 确保水平居中 */
}

.student-photo {
    max-width: 120px;
    border: 1px solid #EEEEEE;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* 优化移动端表单区域宽度 */
@media (max-width: 767.98px) {
    .container {
        padding-left: 6px !important;
        padding-right: 6px !important; /* 减小容器左右内边距，让出更多宽度 */
    }
}
