.animate-pop { animation: pop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
@keyframes pop { 0% { opacity: 0; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1); } }

.animate-fade-in { animation: fadeIn 0.5s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.spinner { width: 40px; height: 40px; border: 4px solid #E5E7EB; border-top: 4px solid #1B3C73; border-radius: 50%; animation: spin 1s infinite linear; }
@keyframes spin { to { transform: rotate(360deg); } }

.nav-link { position: relative; padding-bottom: 4px; font-weight: 500; transition: color 0.3s; }
.nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: #1B3C73; transition: width 0.3s; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-thumb { background: #C99C33; border-radius: 10px; }
::-webkit-scrollbar-track { background: transparent; }
