/* Animation styles */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Progress step animations */
.progress-step.active {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}

.progress-line.active {
    background: linear-gradient(to right, #3B82F6, #3B82F6);
    background-size: 200% 100%;
    background-position: left bottom;
    animation: lineFill 0.5s ease-in forwards;
}

@keyframes lineFill {
    0% { background-position: right bottom; }
    100% { background-position: left bottom; }
}