/* Portal Admin Sekolah v60 — keep profile dialogs above the mobile navigation dock. */
@media (max-width: 850px) {
  body.admin-modal-layer-open {
    width: 100%;
    height: 100dvh;
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.admin-modal-layer-open #groupNav.admin-mobile-dock {
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(110%) !important;
  }

  body.admin-modal-layer-open #modal {
    z-index: 2147483646 !important;
  }

  body.admin-modal-layer-open #modal.hidden {
    display: none !important;
  }

  body.admin-profile-layer-open #modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: flex;
    align-items: center !important;
    justify-content: center !important;
    padding: calc(10px + env(safe-area-inset-top)) 10px
      calc(10px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  body.admin-profile-layer-open #modal .modal-card {
    position: relative !important;
    z-index: 1 !important;
    width: min(620px, 100%) !important;
    max-width: 100% !important;
    max-height: calc(
      100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)
    ) !important;
    margin: auto !important;
    padding: 24px 18px calc(24px + env(safe-area-inset-bottom)) !important;
    border-radius: 24px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scroll-padding-bottom: calc(86px + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  body.admin-profile-layer-open
    #modal
    .modal-card:has(.admin-mobile-profile-popup) {
    width: min(430px, 100%) !important;
  }

  body.admin-profile-layer-open .admin-mobile-profile-popup,
  body.admin-profile-layer-open .admin-profile-modal {
    width: 100% !important;
    min-width: 0 !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }

  body.admin-profile-layer-open .admin-mobile-profile-popup > button {
    position: relative;
    z-index: 1;
    display: block !important;
  }

  body.admin-profile-layer-open
    .admin-mobile-profile-popup
    > .admin-profile-logout {
    margin-bottom: max(2px, env(safe-area-inset-bottom)) !important;
  }

  body.admin-profile-layer-open .admin-profile-modal form .primary {
    position: sticky;
    bottom: 0;
    z-index: 4;
    width: 100%;
    margin-top: 4px;
    box-shadow:
      0 -10px 22px rgba(255, 255, 255, 0.95),
      0 10px 24px rgba(19, 184, 137, 0.28);
  }
}

@media (max-width: 420px) {
  body.admin-profile-layer-open #modal {
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  body.admin-profile-layer-open #modal .modal-card {
    padding-right: 15px !important;
    padding-left: 15px !important;
    border-radius: 21px !important;
  }
}
