/* ===== Login responsivo ===== */
.login-wrapper {
    display: flex;
    height: 100vh;
}

.login-brand {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #0a1454;
    color: #fff;
    padding: 1.5rem;
}

.login-brand img {
    width: 200px;
    max-width: 100%;
    margin-bottom: 1rem;
}

.login-form-panel {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f4f6f8;
    padding: 1.5rem;
}

.login-form-panel .btn-primary {
    background-color: #3ba9e8;
    border-color: #3ba9e8;
}

.login-form-panel .btn-primary:hover {
    background-color: #2f8fc7;
    border-color: #2f8fc7;
}

.login-form-panel .form-control:focus {
    border-color: #3ba9e8;
    box-shadow: 0 0 0 0.2rem rgba(59, 169, 232, 0.25);
}

/* Movil: apilar logo arriba del formulario, mas compacto */
@media (max-width: 767px) {
    .login-wrapper {
        flex-direction: column;
        height: auto;
        min-height: 100vh;
    }

    .login-brand {
        flex: none;
        padding: 1.5rem 1rem 1rem;
    }

    .login-brand img {
        width: 110px;
        margin-bottom: 0.5rem;
    }

    .login-brand p {
        font-size: 0.9rem;
        margin-bottom: 0;
    }

    .login-form-panel {
        flex: none;
        padding: 1.5rem 1rem 2rem;
    }

    .login-form-panel .card {
        width: 100% !important;
        max-width: 360px;
    }
}