body {
    min-height: 100vh;
    background: #f5f5f7;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #0f172a;
}

/* Hero (lado esquerdo) */
.hero-bg {
    background: radial-gradient(circle at top left, #4f46e5, #111827);
    color: #f9fafb;
}

/* Card do formulário */
.card-form {
    border-radius: 1.25rem;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
    border: 1px solid rgba(15, 23, 42, 0.04);
}

/* Ajustes compactos de formulário */
.card-form label {
    font-size: 0.85rem;
    margin-bottom: 2px;
    font-weight: 500;
    color: #111827;
}

.card-form .form-control {
    padding: 6px 10px;
    font-size: 0.9rem;
    border-radius: 0.55rem;
}

.card-form .form-control:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.25);
}

/* Espaçamento mais enxuto entre campos */
.card-form .form-group,
.card-form .mb-3,
.card-form .mb-4 {
    margin-bottom: 0.65rem !important;
}

/* Botão principal */
.btn-primary {
    border-radius: 999px;
    padding-inline: 1.6rem;
    padding-block: 0.55rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

/* Mensagem de erro */
.alert-danger {
    border-radius: 0.75rem;
}

/* Responsividade */
@media (max-width: 991.98px) {
    .hero-bg {
        min-height: 40vh;
        padding: 2.5rem 1.8rem !important;
        text-align: center;
    }
    .hero-bg .text-start {
        text-align: center !important;
    }
    .hero-bg h1 {
        font-size: 2rem;
    }
    .hero-bg p.lead {
        font-size: 0.95rem;
    }
    .card-form {
        margin-top: -2rem;
    }
}

@media (max-width: 575.98px) {
    .card-form {
        border-radius: 1rem;
        box-shadow: 0 10px 30px rgba(15, 23, 42, 0.2);
    }
    .card-form .card-body {
        padding: 1.1rem 1.2rem !important;
    }
    .btn-primary {
        width: 100%;
        justify-content: center;
    }
}
