/* =========================================================
   PRELOADER bersama: landing page (landing_page.php) & dashboard (template_apt.php).
   Logo dalam dua cincin berputar: biru (luar) & oranye (dalam, berlawanan arah).
   Dimuat lewat <link> di <head> agar sudah berlaku sejak tampilan pertama;
   hilang saat window load. Font mengikuti body halaman masing-masing.
   ========================================================= */
.apt-preloader { position: fixed; inset: 0; z-index: 2000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.1rem; background: #fff; transition: opacity .35s ease, visibility .35s ease; }
.apt-preloader.selesai { opacity: 0; visibility: hidden; }
.apt-preloader-logo { position: relative; width: 108px; height: 108px; display: flex; align-items: center; justify-content: center; }
.apt-preloader-logo::before, .apt-preloader-logo::after { content: ""; position: absolute; border-radius: 50%; border: 3px solid transparent; }
.apt-preloader-logo::before { inset: 0; border-color: #e8f0fe; border-top-color: #2563eb; border-right-color: #2563eb; animation: aptPutar 1.2s cubic-bezier(.55, .15, .45, .85) infinite; }
.apt-preloader-logo::after { inset: 9px; border-color: #fff4ec; border-bottom-color: #f76400; animation: aptPutarBalik 1.6s cubic-bezier(.55, .15, .45, .85) infinite; }
.apt-preloader-logo img { width: 54px; height: 54px; object-fit: contain; }
.apt-preloader-nama { font-weight: 700; font-size: 1rem; color: #101828; letter-spacing: -.01em; }
.apt-preloader-teks { margin-top: -.6rem; font-size: .8rem; color: #667085; }
@keyframes aptPutar { to { transform: rotate(360deg); } }
@keyframes aptPutarBalik { to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) {
    .apt-preloader-logo::before { animation-duration: 3s; }
    .apt-preloader-logo::after { animation-duration: 4s; }
}
body.apt-memuat { overflow: hidden; }

/* Animasi masuk konten halaman dashboard setelah preloader hilang (template_apt.php) */
@keyframes fadeUpContent {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}
.page-content-animate { animation: fadeUpContent .45s ease-out; }
