/* REV100: navigasi HP stabil untuk Admin dan Orang Tua/Siswa. */
.main-header .mobile-nav-trigger-v100 .fa-bars {
  display: inline-block !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.main-header .mobile-nav-trigger-v100:before {
  content: none !important;
  display: none !important;
}

.main-header .mobile-logout-link-v100 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.main-header .user-menu.account-open-v100 > .dropdown-menu,
.main-header .user-menu.open > .dropdown-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 991px) {
  body:not(.login-page):not(.scan-body) .main-header {
    background: #ffffff !important;
    border-bottom: 1px solid #dbe4ef !important;
    box-shadow: 0 7px 22px rgba(15, 23, 42, .13) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .logo {
    width: 164px !important;
    padding: 0 10px !important;
    background: linear-gradient(135deg, #0b2749, #123d69) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .logo .logo-lg {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    height: 58px !important;
    color: #ffffff !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .logo img {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    object-fit: contain !important;
    border-radius: 11px !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .navbar {
    margin-left: 164px !important;
    width: calc(100% - 164px) !important;
    background: #ffffff !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .mobile-nav-trigger-v100 {
    left: 6px !important;
    top: 7px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    color: #0f4c81 !important;
    background: #edf7ff !important;
    border: 1px solid #cfe8fb !important;
    border-radius: 13px !important;
    box-shadow: 0 7px 16px rgba(15, 76, 129, .12) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .mobile-nav-trigger-v100:hover,
  body:not(.login-page):not(.scan-body) .main-header .mobile-nav-trigger-v100:focus,
  body:not(.login-page):not(.scan-body) .main-header .mobile-nav-trigger-v100[aria-expanded="true"] {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0ea5e9, #0f766e) !important;
    outline: none !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .navbar-custom-menu {
    position: absolute !important;
    right: 6px !important;
    top: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: 58px !important;
    overflow: visible !important;
    z-index: 10005 !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .navbar-custom-menu > .nav {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    height: 58px !important;
    margin: 0 !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .navbar-custom-menu > .nav > li {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    height: 58px !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100,
  body:not(.login-page):not(.scan-body) .main-header .mobile-logout-link-v100 {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 13px !important;
    border: 1px solid #dbe4ef !important;
    background: #ffffff !important;
    color: #334155 !important;
    box-shadow: 0 7px 16px rgba(15, 23, 42, .08) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100:hover,
  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100:focus,
  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100[aria-expanded="true"] {
    border-color: #7dd3fc !important;
    background: #f0f9ff !important;
    outline: none !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100 .user-image {
    float: none !important;
    width: 31px !important;
    height: 31px !important;
    margin: 0 !important;
    border: 2px solid #b9ead8 !important;
    background: #ffffff !important;
    object-fit: cover !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .mobile-logout-link-v100 {
    color: #be123c !important;
    background: #fff1f2 !important;
    border-color: #fecdd3 !important;
    font-size: 18px !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .mobile-logout-link-v100:hover,
  body:not(.login-page):not(.scan-body) .main-header .mobile-logout-link-v100:focus {
    color: #ffffff !important;
    background: linear-gradient(135deg, #ef4444, #be123c) !important;
    outline: none !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu {
    position: fixed !important;
    top: 54px !important;
    right: 8px !important;
    left: auto !important;
    width: 286px !important;
    max-width: calc(100vw - 16px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #dbe4ef !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .25) !important;
    z-index: 2147483644 !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-header {
    min-height: 150px !important;
    height: auto !important;
    padding: 18px 14px !important;
    background: linear-gradient(135deg, #0b4f48, #0f766e 55%, #0ea5e9) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-header > img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border: 3px solid rgba(255, 255, 255, .86) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-header > p {
    margin: 8px 0 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 12px !important;
    background: #f8fafc !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer:before,
  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer:after {
    content: none !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer .pull-left,
  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer .pull-right {
    float: none !important;
    width: 50% !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .user-menu > .dropdown-menu > .user-footer .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 12px !important;
  }

  body.v100-menu-open,
  body.v59-menu-open {
    overflow: hidden !important;
  }

  body.v100-menu-open .mobile-menu-overlay-v59,
  body.v59-menu-open .mobile-menu-overlay-v59 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.v100-menu-open .mobile-menu-drawer-v59,
  body.v59-menu-open .mobile-menu-drawer-v59 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .mobile-menu-fab-v59 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 420px) {
  body:not(.login-page):not(.scan-body) .main-header .logo {
    width: 150px !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .navbar {
    margin-left: 150px !important;
    width: calc(100% - 150px) !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .logo .logo-lg {
    font-size: 12px !important;
  }

  body:not(.login-page):not(.scan-body) .main-header .account-trigger-v100,
  body:not(.login-page):not(.scan-body) .main-header .mobile-logout-link-v100 {
    width: 42px !important;
    min-width: 42px !important;
  }
}

@media print {
  .mobile-logout-item-v100 {
    display: none !important;
  }
}
