/* ==========================================================
   CSS APLIKASI e-UPG
   ========================================================== */

/* Kustomisasi Scrollbar agar lebih elegan */
::-webkit-scrollbar { 
  width: 8px; 
}
::-webkit-scrollbar-track { 
  background: #f1f1f1; 
}
::-webkit-scrollbar-thumb { 
  background: #888; 
  border-radius: 4px; 
}

/* Class pembantu untuk menyembunyikan elemen (SPA Navigation) */
.view-hidden { 
  display: none !important; 
}

/* Tampilan Overlay saat proses Loading */
#loading-overlay { 
  position: fixed; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background: rgba(255, 255, 255, 0.8); 
  z-index: 9999; 
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center; 
}

/* ==========================================================
   CSS KHUSUS CETAK LAPORAN (PRINT)
   ========================================================== */
@media print {
  body * { 
    visibility: hidden; 
  }
  #print-area, #print-area * { 
    visibility: visible; 
  }
  #print-area { 
    position: absolute; 
    left: 0; 
    top: 0; 
    width: 100%; 
  }
  .no-print { 
    display: none !important; 
  }
}

/* ==========================================================
   ANIMASI KHUSUS
   ========================================================== */

/* Animasi Mengambang (Floating) untuk Logo Instansi */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}
.animate-float { 
  animation: float 3s ease-in-out infinite; 
}

/* Animasi Background Lembut Berganti Warna (Untuk Halaman Login) */
@keyframes gradientSmooth {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.bg-gradient-gerak {
  background: linear-gradient(-45deg, #e0e7ff, #f3e8ff, #dcfce7, #ffedd5);
  background-size: 400% 400%;
  animation: gradientSmooth 12s ease infinite;
}