.shake-animation {
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}

.is-invalid {
    border-color: #f1416c !important;
}

#date-error {
    transition: all 0.3s ease;
}

/* High contrast and premium design overrides for form fields to prevent background blending */
.form-control.form-control-solid,
.form-select.form-select-solid,
.select2-container--bootstrap5 .select2-selection.form-select-solid,
.select2-container--bootstrap5 .select2-selection--solid {
    background-color: #ffffff !important;
    border: 1px solid #d3d7e0 !important; /* High contrast border */
    color: #181c32 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

/* Hover state */
.form-control.form-control-solid:hover,
.form-select.form-select-solid:hover,
.select2-container--bootstrap5 .select2-selection.form-select-solid:hover,
.select2-container--bootstrap5 .select2-selection--solid:hover {
    border-color: #a1a5b7 !important;
    background-color: #ffffff !important;
}

/* Focus state */
.form-control.form-control-solid:focus,
.form-select.form-select-solid:focus,
.select2-container--bootstrap5.select2-container--focus .select2-selection.form-select-solid,
.select2-container--bootstrap5.select2-container--focus .select2-selection--solid,
.select2-container--bootstrap5.select2-container--open .select2-selection.form-select-solid,
.select2-container--bootstrap5.select2-container--open .select2-selection--solid {
    background-color: #ffffff !important;
    border-color: #3e97ff !important;
    box-shadow: 0 0 0 0.25rem rgba(62, 151, 255, 0.1) !important;
    color: #181c32 !important;
}

/* Ensure placeholder contrast is excellent */
.form-control.form-control-solid::placeholder {
    color: #7e8299 !important;
}
