/* =====================================================================
   Wincos Overrides
   ---------------------------------------------------------------------
   Berisi aturan yang sebelumnya ditulis inline di master.blade.php.
   Dipindahkan ke sini agar template bersih & aturan terpusat.
   File ini WAJIB dimuat paling akhir (setelah CSS wincos lain) supaya
   perilaku cascade tetap sama seperti saat masih inline.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Card overflow (semula di blok "DataTable Responsive")
   Dibiarkan visible agar dropdown/menu di dalam kartu tidak terpotong.
   --------------------------------------------------------------------- */
.card {
    overflow: visible !important;
}

.card-body {
    overflow: visible !important;
}

/* ---------------------------------------------------------------------
   Sidebar Logo Sizing (mencegah logo membesar akibat Vite CSS reset)
   --------------------------------------------------------------------- */
.pe-app-sidebar-logo {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
}
.pe-app-sidebar-logo img {
    max-height: 34px !important;
    width: auto !important;
    object-fit: contain !important;
}
.pe-app-sidebar-logo .pe-app-sidebar-logo-default {
    max-height: 30px !important;
}

/* ---------------------------------------------------------------------
   Reduce gap horizontal (sidebar ↔ konten) & vertikal (header ↔ konten)
   --------------------------------------------------------------------- */
.app-wrapper > .container-fluid {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

/* Card di halaman index — kurangi margin/padding agar mepet sidebar */
.app-wrapper .card {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ---------------------------------------------------------------------
   Sidebar - skema warna (semula inline "Wincos Sidebar - Simple Color Change")
   --------------------------------------------------------------------- */
.pe-app-sidebar {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 50%, #94a3b8 100%) !important;
}

.pe-app-sidebar-logo {
    background: rgba(248, 250, 252, 0.9) !important;
    border-bottom: 1px solid rgba(203, 213, 225, 0.3) !important;
}

.pe-app-sidebar-logo a {
    color: #1e293b !important;
}

.pe-nav-link {
    color: #475569 !important;
    background: rgba(248, 250, 252, 0.7) !important;
    border: 1px solid rgba(203, 213, 225, 0.3) !important;
    padding: 0.75rem 1rem !important;
}

.pe-nav-link:hover {
    background: rgba(248, 250, 252, 0.9) !important;
    color: #1e40af !important;
}

.pe-nav-link.active {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%) !important;
    color: #ffffff !important;
}

/* Submenu */
.pe-slide-menu {
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(203, 213, 225, 0.4) !important;
    border-radius: 8px !important;
    margin-top: 0.5rem !important;
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
    padding: 0.75rem 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.pe-slide-menu .pe-nav-content1 {
    color: #64748b !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 0.5rem 1.25rem !important;
    border-bottom: 2px solid rgba(203, 213, 225, 0.5) !important;
    margin-bottom: 0.5rem !important;
    background: rgba(248, 250, 252, 0.6) !important;
}

.pe-slide-menu .pe-nav-link {
    background: transparent !important;
    border: none !important;
    color: #475569 !important;
    padding: 0.6rem 1.25rem 0.6rem 1.5rem !important;
    font-size: 0.9rem !important;
    margin-bottom: 0.125rem !important;
    border-radius: 6px !important;
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
    position: relative !important;
    transition: all 0.2s ease !important;
}

.pe-slide-menu .pe-nav-link::before {
    content: '' !important;
    position: absolute !important;
    left: 0.5rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important;
    height: 60% !important;
    background: #1e40af !important;
    border-radius: 2px !important;
    transition: width 0.2s ease !important;
}

.pe-slide-menu .pe-nav-link:hover {
    background: rgba(248, 250, 252, 0.9) !important;
    color: #1e40af !important;
    padding-left: 1.75rem !important;
}

.pe-slide-menu .pe-nav-link:hover::before {
    width: 3px !important;
}

.pe-slide-menu .pe-nav-link.active {
    background: rgba(30, 64, 175, 0.1) !important;
    color: #1e40af !important;
    font-weight: 600 !important;
    padding-left: 1.75rem !important;
}

.pe-slide-menu .pe-nav-link.active::before {
    width: 3px !important;
    background: #1e40af !important;
}

/* ---------------------------------------------------------------------
   DataTables fixes (semula inline)
   --------------------------------------------------------------------- */
/* fix style text nomor outline pagination */
.pagination .page-link {
    width: unset !important;
    min-width: 2.375rem !important;
}

/* fix filter length dan search dalam satu baris */
.dataTables_wrapper .dataTables_length {
    float: left;
}

div.dataTables_wrapper .dataTables_length {
    margin-top: unset !important;
}

/* Sembunyikan panah sorting pada kolom pertama (NO) */
table.dataTable > thead > tr > th:nth-child(1).sorting::before,
table.dataTable > thead > tr > th:nth-child(1).sorting::after,
table.dataTable > thead > tr > th:nth-child(1)::before,
table.dataTable > thead > tr > th:nth-child(1)::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

table.dataTable > thead > tr > th:nth-child(1) {
    cursor: default !important;
}

/* fix paginate muncul di luar border datatable */
div.dataTables_wrapper div.dataTables_paginate {
    margin-top: 1rem !important;
    float: unset !important;
}

/* =====================================================================
   Mode ringkas untuk layar kecil / laptop (<= 1366px)
   ---------------------------------------------------------------------
   Teks sidebar & detail header memang sudah rem (ikut clamp root), tetapi
   di rentang laptop perubahannya halus. Blok ini memperkecil font & padding
   sidebar + teks profil header agar terasa menyesuaikan dan lebih kompak di
   layar kecil, TANPA mengubah tampilan di layar normal/besar (>1366px).
   Memakai !important karena template menata sidebar dgn spesifisitas tinggi.
   ===================================================================== */
@media (max-width: 1366px) {
    /* Item menu utama */
    .pe-nav-link {
        padding: 0.55rem 0.85rem !important;
    }

    .pe-nav-content {
        font-size: 0.8125rem !important;
        /* ~13px @16 root */
    }

    .pe-nav-icon {
        font-size: 1rem !important;
    }

    /* Submenu */
    .pe-slide-menu .pe-nav-link {
        font-size: 0.8125rem !important;
        padding: 0.5rem 1rem 0.5rem 1.25rem !important;
    }

    .pe-slide-menu .pe-nav-content1 {
        font-size: 0.7rem !important;
    }

    /* Teks profil di header (nama + role) */
    .app-header .header-profile-btn .d-lg-block span.fw-semibold {
        font-size: 0.8rem !important;
    }

    .app-header .header-profile-btn .d-lg-block span.text-muted {
        font-size: 0.7rem !important;
    }
}

/* Lebih agresif lagi untuk laptop kecil / tablet lebar (<= 1200px) */
@media (max-width: 1200px) {
    .pe-nav-link {
        padding: 0.5rem 0.75rem !important;
    }

    .pe-nav-content {
        font-size: 0.78rem !important;
    }

    .pe-slide-menu .pe-nav-link {
        font-size: 0.78rem !important;
    }
}
