.content-wrapper {
    background: f4f4f4 !important;
}

.sidebar-collapse .main-sidebar,
.sidebar-collapse .main-sidebar::before {
    margin-left: -280px !important;
}

.main-sidebar,
.main-sidebar::before {
    transition: margin-left 0.3s ease-in-out, width 0.3s ease-in-out;
    width: 280px !important;
}

body:not(.sidebar-mini-md) .content-wrapper,
body:not(.sidebar-mini-md) .main-footer,
body:not(.sidebar-mini-md) .main-header {
    transition: margin-left 0.3s ease-in-out;
    margin-left: 280px !important;
}

body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini) .content-wrapper,
body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini)
    .content-wrapper::before,
body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini) .main-footer,
body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini)
    .main-footer::before,
body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini) .main-header,
body.sidebar-collapse:not(.sidebar-mini-md):not(.sidebar-mini)
    .main-header::before {
    margin-left: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
        "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
        "Noto Color Emoji" !important;
}

label,
p,
a,
li,
input,
button,
span {
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
        "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
        "Noto Color Emoji" !important;
}

input,
select,
select span {
    font-size: 14px !important;
}

.form-group label {
    font-size: 14px !important;
}

.nav-item {
    margin: 5px 0 !important;
}

.nav-item i {
    margin-right: 5px !important;
    color: #929aac;
}

.brand-link {
    background: none !important;
    border: none !important;
}

.main-sidebar {
    background: #2b303b !important;
    box-shadow: none !important;
}

.nav-sidebar .nav-link > .right:nth-child(2),
.nav-sidebar .nav-link > p > .right:nth-child(2) {
    right: 1rem !important;
}

.nav-link.active:not(.member-info) {
    background: none !important;
    color: #fff !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.card {
    width: 100%;
    border-radius: 8px !important;
    box-shadow: 0 0 0 1px #8c8c8c26 !important;
    overflow: hidden;
}

.card .card-footer {
    background-color: #fff !important;
    border-top: 1px solid #e6e6e6 !important;
}

.pull-right {
    float: right !important;
}

.form-group div.col-10 {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
}

.form-group .col-form-label {
    font-weight: 500 !important;
    text-align: right;
}

table {
    font-size: 14px !important;
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
        "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
        "Noto Color Emoji" !important;
}

table th {
    border-top: 0 !important;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 500;
}

table .select2-container--focus,
table .select2-container--open {
    min-width: 280px;
}

.card-content table input:focus {
    min-width: 100px !important;
}

table textarea:focus {
    min-width: 200px !important;
    min-height: 150px !important;
}

table input {
    min-height: 42px;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    padding-left: 5px;
}
table select {
    min-height: 42px;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    padding-left: 5px;
}

/* table textarea {
    min-width: 280px;
} */

table input[type="checkbox"] {
    width: 30px;
}

table
    .select2-container--default
    .select2-selection--single
    .select2-selection__rendered {
    white-space: nowrap !important;
}

#snackbar {
    position: fixed;
    z-index: 1;
    right: 5%;
    top: 100px;
    font-size: 17px;
}

.tab-custom-non-active {
    border-color: transparent !important;
    border-top: 3px solid transparent !important;
    cursor: pointer;
}

.tab-custom-active {
    border-color: #dee2e6 #dee2e6 #fff !important;
    border-top: 3px solid #007bff !important;
    cursor: pointer;
}
.nav-tabs.nav-item > .active {
    border-color: #dee2e6 #dee2e6 #fff !important;
    border-top: 3px solid #007bff !important;
    cursor: pointer;
}

.select2-selection--single.is-invalid {
    border-color: #dc3545 !important;
}
.select2-selection--single {
    height: calc(2.25rem + 2px) !important;
    font-size: 14px !important;
}

.dataTables_scrollBody {
    max-height: calc(100vh - 370px) !important;
}

.btn {
    font-weight: 500 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    transition: 0.15s ease-in-out !important;
}

td.action .btn {
    height: 20px !important;
    font-size: 10px !important;
    padding: 2px 10px !important;
}

/* Style V2 */

.layout-navbar-fixed .wrapper .main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.layout-navbar-fixed .wrapper .content-wrapper {
    margin-top: 4rem !important;
}

.elevation-2 {
    box-shadow: none !important;
}

.nav-sidebar .nav-link p {
    display: inline !important;
    margin: 0;
}

select:focus,
.dropdown-toggle:focus,
.dropdown-toggle:active {
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Paksa dropdown di navbar tetap floating saat mobile */
@media (max-width: 767.98px) {
    .nav-top-item {
        padding: 3.5px 10px !important;
    }
    /* sesuaikan breakpoint dengan navbar-expand-* yang kamu pakai */
    .navbar-nav .nav-item.dropdown {
        position: relative; /* parent jadi anchor positioning */
    }
    .navbar-nav .dropdown-menu {
        position: absolute !important; /* override rule bootstrap */
        float: none !important;
        top: 100%;
        right: 0; /* atau right: 0; kalau mau nempel kanan */
        z-index: 2000; /* di atas elemen lain */
        margin-top: 0.5rem;
    }
}

.saveBackButton.g-2.g-lg-0:has(.btn),
.saveBackButton:has(.btn-success):has(.btn-secondary),
.card-body .saveBackButton:last-child:has(.btn) {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    background: transparent !important;
    border-top: none !important;
    padding: 0 !important;
    margin: initial !important;
    z-index: auto !important;
    box-shadow: none !important;
    border-radius: initial !important;
}

@media (max-width: 576px) {
    .saveBackButton.g-2.g-lg-0:has(.btn),
    .saveBackButton:has(.btn-success):has(.btn-secondary),
    .card-body .saveBackButton:last-child:has(.btn) {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: white !important;
        border-top: 1px solid #e6e6e6 !important;
        padding: 15px 20px !important;
        margin: 0 !important;
        z-index: 1000 !important;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1) !important;
        border-radius: 0 !important;
    }
}

.nav-top-item .nav-link {
    color: #444 !important;
}

.nav-v3 {
    border: 1px solid #d9d9d9;
    border-radius: 50%;
    height: 36px;
    min-width: 36px;
    max-width: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #444;
}

.nav-v3:hover {
    background-color: transparent !important;
    border: 1px solid oklch(62.3% 0.214 259.815);
}

.nav-v2 {
    border: 1px solid #d9d9d9;
    border-radius: 2rem;
    height: 36px;
    min-width: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #444;
}

.nav-v2:hover {
    background-color: transparent !important;
    border: 1px solid oklch(62.3% 0.214 259.815);
}

.nav-v2 .dropdown-item {
    color: #444 !important;
}

.nav-v2 .dropdown-item:hover {
    background-color: transparent !important;
}

.avatar-dropdown {
    position: relative;
    box-shadow: none;
    padding: 0.5rem 0 !important;
}

.avatar-dropdown .dropdown-arrow-icon {
    border: 1px solid #fff;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    background: #e4e6eb;
    border-radius: 50%;
    bottom: 1px;
    right: 4px;
}

.avatar-dropdown img {
    border: 2px solid #929aac92;
    box-shadow: none;
}
