/* FUENTE NATIVA (0 Lag, Idéntica en todo el sistema) */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* EVITAR SALTOS DE LAYOUT */
/* Fuerza la barra de scroll siempre para que el contenido no "baile" al cambiar de página */
html {
    overflow-y: scroll;
}

/* UTILIDADES Y ANIMACIONES */

/* Ocultar elementos (usado en "Ver más" del Dashboard y Modales) */
.hidden-item, .hidden {
    display: none !important;
}

/* Animación de entrada suave (Fade In) - Usada en listas */
.animate-fade-in {
    animation: fadeIn 0.4s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Animación de rebote suave (Usada en globos de cumpleaños) */
.animate-bounce-slow {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateY(-5%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
    50% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
}