/* ---------- Global Utility ---------- */
.files {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    background-color: transparent;
    color: transparent;
}

.checkbox-scroll {
    border: 1px solid #ccc;
    width: 100%;
    height: 114px;
    padding-left: 8px;
    overflow-y: scroll;
}

html,
body {
    height: 100%;
}

/* ---------- HEADER & SIDEBAR (Desktop Default) ---------- */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
}

.main-header .logo {
    height: 51px;
    line-height: 51px;
}

.main-header .navbar {
    min-height: 51px;
}

.content-wrapper {
    margin-top: 52px;
    /* sesuaikan tinggi navbar */
    margin-right: 0px;
    /* sesuai lebar sidebar */
}

.container-fluid,
.box,
.row {
    margin-top: 0px !important;
    margin-bottom: 1px !important;
    margin-left: 1px !important;
    margin-right: 0px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    padding-left: 1px !important;
    padding-right: 5px !important;
}

.main-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    overflow-y: auto;
    width: 230px;
    z-index: 1000;
}

.main-footer {
    margin-left: 230px;
    padding: 10px 15px;
}

/* ---------- End of Dekstop --------------------------*/

/* ---------------- Mobile fixes only (<=768px) ---------------- */
@media (max-width: 768px) {

    /* 1) Perkecil tinggi header/navbar agar tidak menutup title form */
    .main-header .logo {
        height: 40px !important;
        line-height: 40px !important;
        /* teks/logo ter-center vertikal */
    }

    .main-header.navbar {
        min-height: 18px !important;
        height: 18px !important;
    }

    /* jika ada tombol atau icon di navbar yang lebih besar, perkecil paddingnya */
    .main-header .navbar .nav>li>a {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    /* sesuaikan content-wrapper agar tidak tertutup header mobile */
    .content-wrapper {
        margin-top: 90px !important;
        /* harus sama dengan tinggi navbar mobile */
        margin-left: 0 !important;
        /* sidebar collapse pada mobile, jadi hapus left offset */
        width: calc(100% - 1px) !important;
        box-sizing: border-box;
    }

    /* 2) Footer: center dan menempel di bawah, ontop konten (fixed) */
    .main-footer {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        margin-left: 0 !important;
        /* override desktop margin-left:230px */
        padding: 10px 15px !important;
        text-align: center !important;
        /* center konten footer */
        z-index: 1050 !important;
        /* di atas content, tapi di bawah navbar (navbar z-index 1030 di CSS Anda) */
        background: #fff;
        /* agar kontras dengan isi */
        box-shadow: 0 -1px 4px rgba(0, 0, 0, 0.06);
    }

    /* Pastikan konten tidak tertutup footer: beri padding-bottom pada wrapper/body area */
    .content-wrapper,
    .container-fluid {
        padding-bottom: 70px !important;
        /* sesuaikan dengan tinggi footer (70px aman) */
    }

    /* Jika ada modal fullscreen, jangan biarkan footer menutupi tombol modal */
    .modal.modal-fullscreen .modal-footer {
        position: sticky;
        bottom: 0;
        z-index: 1110;
        /* lebih tinggi agar tetap terlihat di atas footer fixed */
    }

    /* Perbaiki elemen lain yang mungkin menyebabkan footer teregeser (mis: overflow) */
    body,
    html {
        overflow-x: hidden !important;
    }
}

/* Tambahkan di akhir file CSS */
@media (min-width: 769px) {
    .content-wrapper {
        margin-left: 230px;
        /* sidebar lebar penuh hanya di desktop */
        width: calc(100% - 231px);
    }
}

/* ---------- Wrapper Responsive ketika Sidebar Diperkecil ---------- */

/* Jika sidebar diberi class "sidebar-collapse" (misalnya oleh AdminLTE dan sistem sejenis) */
body.sidebar-collapse .content-wrapper {
    margin-left: 0 !important;
    width: 96% !important;
    transition: all 0.3s ease-in-out;
}

/* Pastikan container di dalamnya juga menyesuaikan penuh */
body.sidebar-collapse .container-fluid,
body.sidebar-collapse .box,
body.sidebar-collapse .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 2px !important;
    padding-right: 5px !important;
}

/* Tambahan opsional agar konten tidak tertutup footer atau navbar */
body.sidebar-collapse .main-footer {
    margin-left: 0 !important;
    width: 96% !important;
}