body { scroll-behavior: smooth; }
.card { border-radius: 0.75rem; }
.navbar-brand { letter-spacing: .3px; }

/* --- Real-time Form Validation Styles --- */
.form-control.is-valid {
    border-color: #198754; /* Green */
    background-color: #f0fff8;
}
.form-control.is-invalid {
    border-color: #dc3545; /* Red */
    background-color: #fff0f1;
}

/* Darker red for required fields that are empty */
.form-control.is-invalid-required {
    border-color: #a02834;
    background-color: #fbe9ea;
}

/* Amber/Yellow for optional fields */
.form-control.is-optional {
    border-color: #ffc107; /* Amber */
    background-color: #fffcf0;
}