/* 登录容器 */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f8f9fa;
    padding: 20px;
    background-image: linear-gradient(rgba(255, 255, 255, 0.9),
                      url('https://images.unsplash.com/photo-1521791136064-7986c2920216?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80');
    background-size: cover;
    background-position: center;
}

.login-wrapper {
    width: 100%;
    max-width: 400px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    padding: 30px;
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 登录头部 */
.login-header {
    margin-bottom: 30px;
}

.login-header h1 {
    font-size: 2.5rem;
    font-weight: 700;
}

.login-header h2 {
    font-size: 1.5rem;
    color: #495057;
}

/* 登录表单 */
.login-form .form-control {
    height: 45px;
    border-radius: 5px;
    padding: 10px 15px;
}

.login-form .input-group .toggle-password {
    border-radius: 0 5px 5px 0;
}

.login-form .btn-primary {
    height: 45px;
    border-radius: 5px;
    font-weight: 500;
    background-color: #0d6efd;
    border: none;
}

/* 分隔线 */
.separator {
    display: flex;
    align-items: center;
    margin: 20px 0;
    color: #6c757d;
}

.separator::before, .separator::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #dee2e6;
}

.separator-text {
    padding: 0 10px;
}

/* 社交登录按钮 */
.social-login .btn {
    height: 45px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.social-login .bi {
    font-size: 1.2rem;
}

/* 响应式调整 */
@media (max-width: 576px) {
    .login-wrapper {
        padding: 20px;
    }

    .login-header h1 {
        font-size: 2rem;
    }

    .login-header h2 {
        font-size: 1.25rem;
    }
}