/* Digunakan untuk menyediakan gaya (stylesheet) dasar aplikasi presensi yang dipisahkan dari file Blade, meliputi font dasar, fokus input, penyembunyian elemen Alpine.js, pengaturan peta lokasi, tinggi sidebar, dan gaya cetak. */

/* Menentukan font Inter sebagai font dasar seluruh halaman. */
body {
    font-family: 'Inter', sans-serif;
}

/* Menampilkan garis fokus berwarna biru utama (#0961d9) pada input yang sedang aktif sebagai pengganti outline bawaan browser. */
.form-input-focus:focus {
    outline: none;
    box-shadow: 0 0 0 2px #0961d9;
    border-color: #0961d9;
}

/* Menyembunyikan elemen Alpine.js (x-cloak) sampai Alpine selesai dimuat agar tampilan tidak berkedip. */
[x-cloak] {
    display: none !important;
}

/* Membatasi peta lokasi Leaflet (Setting Presensi) pada stacking context sendiri agar kontrol zoom dan atribusi peta tidak tampil di atas header atau navbar saat halaman digulir. */
/* Properti isolation: isolate dilengkapi position dan z-index sebagai cadangan untuk browser lama. */
#peta-lokasi {
    position: relative;
    isolation: isolate;
    z-index: 0;
}

/* Memastikan kontainer Leaflet tetap berposisi relatif agar konteks penumpukan peta tetap berlaku. */
#peta-lokasi.leaflet-container {
    position: relative;
}

/* Menentukan tinggi sidebar (drawer) sesuai tinggi layar yang terlihat: 100vh sebagai cadangan browser lama, lalu 100dvh agar mengikuti perubahan address bar pada browser mobile sehingga bagian bawah sidebar (Profile dan Logout) tetap terjangkau. */
.h-app-sidebar {
    height: 100vh;
    height: 100dvh;
}

/* Menentukan gaya cetak untuk tombol Print PDF pada halaman Laporan; PDF dibuat melalui fitur cetak browser sehingga tidak memerlukan pustaka PDF di server. */
@media print {
    /* Menyembunyikan sidebar, header, dan elemen berkelas no-print (pencarian, filter, tombol, dan navigasi halaman) saat dicetak. */
    aside,
    main > header,
    .no-print {
        display: none !important;
    }

    /* Menghilangkan margin kiri area utama karena sidebar disembunyikan saat dicetak. */
    main {
        margin-left: 0 !important;
    }

    /* Memastikan latar halaman cetak berwarna putih. */
    body {
        background: #fff !important;
    }

    /* Memperkecil ukuran teks tabel agar muat pada halaman cetak. */
    table {
        font-size: 11px;
    }

    /* Menghilangkan garis bawah dan warna tautan agar tampil seperti teks biasa saat dicetak. */
    a {
        text-decoration: none !important;
        color: inherit !important;
    }
}