[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:"";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{inset:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}

/* ===== Active sidebar menu styling ===== */

/* Submenu leaf item aktif → kotak biru */
.navbar-nav-menu .nav-menu-sub a.nav-link.active {
    background-color: var(--dx-primary, #3e6be4) !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    margin: 2px 6px 2px 2px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    padding-left: 10px !important;
}

/* Sembunyikan bullet dot pada item aktif agar rapi dalam kotak */
.navbar-nav-menu .nav-menu-sub li:has(> a.nav-link.active)::before,
.navbar-nav-menu .nav-menu-sub a.nav-link.active::before {
    display: none !important;
}

/* Parent menu trigger aktif → bold pada label teks saja (tanpa kotak) */
.navbar-nav-menu li.nav-item > a.nav-link.active .content {
    font-weight: 700 !important;
    color: #fff !important;
}

/* ===== Floating Action Buttons ===== */
.floating-actions {
    position: fixed;
    bottom: 4.5rem;
    right: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    z-index: 1050;
}

.floating-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.floating-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.floating-btn-wa {
    background-color: #25D366;
    color: #fff;
}

.floating-btn-top {
    background-color: #374151;
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.2s ease;
}

.floating-btn-top.visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* ===== Footer background fix (position:absolute needs explicit bg) ===== */
.main-footer {
    background-color: var(--dx-body-bg, #fff);
    margin-inline: 0 !important;
}

/* ===== Body background image for ALL themes in light mode ===== */
html:not([data-bs-theme="dark"]) .body-effect-img {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-image: url(../images/body-bg-light.avif);
    background-size: cover;
    background-attachment: scroll;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.15;
}

/* --- Fix SweetAlert2 always center and on top --- */
.swal2-container {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 1999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.swal2-container.swal2-backdrop-show {
  background-color: rgba(0, 0, 0, 0.55) !important;
}
.swal2-container .swal2-popup {
  background: #fff !important;
  background-color: #fff !important;
  position: relative !important;
  z-index: 1 !important;
}
[data-bs-theme="dark"] .swal2-container .swal2-popup,
html[data-theme="dark"] .swal2-container .swal2-popup {
  background: #1e2228 !important;
  background-color: #1e2228 !important;
}

/* --- Mailbox SweetAlert (Delete Email) --- */
.swal2-container.mailbox-swal-container .swal2-popup.mailbox-swal-popup {
  width: fit-content !important;
  max-width: 420px !important;
  min-width: auto !important;
  border-radius: 14px !important;
  padding: 0.85rem 1rem 0.85rem !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.22) !important;
}

.swal2-container.mailbox-swal-container .swal2-icon {
  margin: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.swal2-container.mailbox-swal-container .swal2-title,
.swal2-container.mailbox-swal-container .swal2-html-container,
.swal2-container.mailbox-swal-container .swal2-actions {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.swal2-container.mailbox-swal-container .swal2-html-container.mailbox-swal-text {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

.swal2-container.mailbox-swal-container .mailbox-swal-title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.swal2-container.mailbox-swal-container .mailbox-swal-text {
  font-size: 1rem !important;
  margin: 0 !important;
  color: #5f6b7a !important;
}

.swal2-container.mailbox-swal-container .mailbox-swal-actions {
  width: auto !important;
  margin-top: 0.9rem !important;
  gap: 0.55rem !important;
}

.swal2-container.mailbox-swal-container .mailbox-swal-btn {
  min-width: 118px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  padding: 0.52rem 0.95rem !important;
  margin: 0 !important;
}

@media (max-width: 575.98px) {
  .swal2-container.mailbox-swal-container .swal2-popup.mailbox-swal-popup {
    min-width: unset !important;
    width: calc(100vw - 1.25rem) !important;
    padding: 1rem !important;
  }

  .swal2-container.mailbox-swal-container .mailbox-swal-title {
    font-size: 1.3rem !important;
  }

  .swal2-container.mailbox-swal-container .mailbox-swal-actions {
    flex-direction: column-reverse !important;
  }

  .swal2-container.mailbox-swal-container .mailbox-swal-btn {
    width: 100% !important;
  }
}
