/* Loading Button Styles */
.loading-button {
    position: relative;
    min-width: 80px;
}

.loading-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.button-text,
.button-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
    border-color: #3b82f6;
    border-style: solid;
    border-width: 2px;
    border-bottom-color: transparent;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

#loading-overlay {
    backdrop-filter: blur(5px);
    transition: all 0.3s ease-in-out;
}

.border-primary {
    border-color: #3b82f6;
}
