@keyframes fade-up {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes expandir {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes aparecer-pop {
    from { opacity: 0; transform: scale(0.96); }
    to { opacity: 1; transform: scale(1); }
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.5); }
    50% { box-shadow: 0 0 0 6px rgba(45, 212, 191, 0); }
}

@keyframes blink-soft {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

@keyframes dash-flow {
    from { background-position: 0 0; }
    to { background-position: 8px 0; }
}

.metric-card:nth-child(1) { animation-delay: 0.05s; }
.metric-card:nth-child(2) { animation-delay: 0.12s; }
.metric-card:nth-child(3) { animation-delay: 0.19s; }
.metric-card:nth-child(4) { animation-delay: 0.26s; }
