/* ========================================================
   SIRESIK Custom Overrides
   ======================================================== */

/* 1. Cegah preloader Able Pro menutupi layar / stuck loading */
.loader-bg {
    display: none !important;
}

/* 2. Hilangkan border abu-abu berlebih pada tombol aksi bulat */
.avtar.btn-pc-default:hover,
.avtar.btn-pc-default:focus {
    border-color: transparent !important;
}

/* 3. Perbaiki tabel pada datatable card */
.card.table-card .table-responsive {
    overflow-x: auto;
}

/* 4. Perataan Vertikal (Middle Align) Icon Menu & Teks Sidebar */
.pc-sidebar .pc-navbar .pc-link {
    display: flex !important;
    align-items: center !important;
}

.pc-sidebar .pc-navbar .pc-micon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

.pc-sidebar .pc-navbar .pc-micon i,
.pc-sidebar .pc-navbar .pc-micon svg {
    vertical-align: middle !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pc-sidebar .pc-navbar .pc-micon [class*="fa-"],
.pc-sidebar .pc-navbar .pc-micon i.fa,
.pc-sidebar .pc-navbar .pc-micon i.fas,
.pc-sidebar .pc-navbar .pc-micon i.far,
.pc-sidebar .pc-navbar .pc-micon i.fab,
.pc-sidebar .pc-navbar .pc-micon i.fad {
    font-size: 18px !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pc-sidebar .pc-navbar .pc-mtext {
    flex-grow: 1 !important;
    display: inline-block !important;
    line-height: 1.5 !important;
}

.pc-sidebar .pc-navbar .pc-link .pc-arrow {
    margin-left: auto !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 2 !important;
}

.pc-sidebar .pc-navbar .pc-link .pc-badge {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 1 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.pc-sidebar .pc-navbar .pc-link .pc-badge ~ .pc-arrow,
.pc-sidebar .pc-navbar .pc-link .pc-arrow ~ .pc-badge {
    margin-left: 8px !important;
}

/* 5. Perataan Icon di Dalam Komponen Avatar (.avtar) */
.avtar i,
.avtar svg {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
}

.avtar [class*="fa-"] {
    line-height: 1 !important;
    vertical-align: 0 !important;
}

/* SPA Navigation Loading Bar */
@keyframes indeterminate {
    0% {
        transform: translateX(-100%);
        width: 40%;
    }
    50% {
        width: 60%;
    }
    100% {
        transform: translateX(250%);
        width: 40%;
    }
}

#nprogress .bar,
.livewire-progress-bar {
    background: #4680ff !important;
    height: 3px !important;
    z-index: 99999 !important;
}

#nprogress .peg {
    box-shadow:
        0 0 10px #4680ff,
        0 0 5px #4680ff !important;
}

/* 6. Sidebar Menu Scrollable & SimpleBar */
.pc-sidebar .navbar-content {
    height: calc(100vh - 74px) !important;
    max-height: calc(100vh - 74px) !important;
    position: relative;
}

/* Pastikan wrapper internal SimpleBar selalu dapat di-scroll saat konten melebihi layar */
.pc-sidebar .navbar-content .simplebar-content-wrapper {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Fallback native scrolling jika SimpleBar belum aktif atau sedang proses morph */
.pc-sidebar .navbar-content:not([data-simplebar="init"]) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.pc-sidebar .navbar-content:not([data-simplebar="init"])::-webkit-scrollbar {
    width: 5px;
}

.pc-sidebar
    .navbar-content:not([data-simplebar="init"])::-webkit-scrollbar-track {
    background: transparent;
}

.pc-sidebar
    .navbar-content:not([data-simplebar="init"])::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
}

.pc-sidebar
    .navbar-content:not(
        [data-simplebar="init"]
    )::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.4);
}

[data-pc-theme="dark"]
    .pc-sidebar
    .navbar-content:not([data-simplebar="init"]) {
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

[data-pc-theme="dark"]
    .pc-sidebar
    .navbar-content:not([data-simplebar="init"])::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
}

[data-pc-theme="dark"]
    .pc-sidebar
    .navbar-content:not(
        [data-simplebar="init"]
    )::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
}

/* 7. Sidebar Collapse Styling */
.pc-sidebar.pc-sidebar-hide {
    width: 0 !important;
    overflow: hidden !important;
    border-right: none !important;
    box-shadow: none !important;
}

.pc-sidebar.pc-sidebar-hide ~ .pc-header {
    left: 0 !important;
}

.pc-sidebar.pc-sidebar-hide ~ .pc-container,
.pc-sidebar.pc-sidebar-hide ~ .pc-footer {
    margin-left: 0 !important;
}

/* 8. Fixed Footer Layout */
.pc-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 280px !important;
    right: 0 !important;
    margin: 0 !important;
    z-index: 1020 !important;
    padding: 12px 0 !important;
    background: var(
        --pc-header-background,
        rgba(var(--bs-body-bg-rgb), 0.85)
    ) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--bs-border-color) !important;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.03) !important;
    transition:
        left 0.2s ease,
        right 0.2s ease !important;
}

.pc-sidebar.pc-sidebar-hide ~ .pc-footer {
    left: 0 !important;
    margin-left: 0 !important;
}

@media (max-width: 1024px) {
    .pc-footer {
        left: 0 !important;
        margin-left: 0 !important;
    }

    .pc-container .pc-content {
        padding-bottom: 90px !important;
    }
}

.pc-container .pc-content {
    padding-bottom: 75px !important;
}

/* 9. SweetAlert2 Custom Styling for Able Pro */
.swal2-container {
    z-index: 99999 !important;
}

.swal2-popup {
    border-radius: 12px !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    padding: 1.75rem !important;
}

.swal2-title {
    color: var(--pc-heading-color, var(--bs-heading-color)) !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
}

.swal2-html-container {
    color: var(--bs-body-color) !important;
    font-size: 0.95rem !important;
    margin-top: 0.5rem !important;
}

.swal2-actions {
    margin-top: 1.5rem !important;
    gap: 8px !important;
}
