.overlay {
    /* Overlay styling */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(211, 211, 211, 0.8);
    display: flex;
    /* Light gray overlay */
    justify-content: center;
    align-items: center;
    z-index: 1050;
    display: none;
    /* Ensure it appears above other content and initially hidden */
}

.wave-spinner {
    /* Spinner container */
    display: flex;
    justify-content: center;
    align-items: center;
}

.wave-ball {
    /* Individual balls */
    width: 12px;
    height: 12px;
    margin: 0 5px;
    background-color: #007bff;
    border-radius: 50%;
    animation: bounce 1.2s infinite ease-in-out;
}

.wave-ball:nth-child(1) {
    /* Create the wave effect by staggering animations */
    animation-delay: 0s;
}

.wave-ball:nth-child(2) {
    animation-delay: 0.2s;
}

.wave-ball:nth-child(3) {
    animation-delay: 0.4s;
}

.wave-ball:nth-child(4) {
    animation-delay: 0.6s;
}

.wave-ball:nth-child(5) {
    animation-delay: 0.8s;
}

@keyframes bounce {

    /* Bounce animation */
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
    }
}

.error-label {
    color: red;
    font-size: 0.9rem;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.overlay.show {
    display: flex;
}