#mobile-nav-backdrop,.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:10040;background:rgba(0,0,0,.45);pointer-events:none;-webkit-tap-highlight-color:transparent}#mobile-nav-backdrop.is-open,.mobile-nav-backdrop.is-open,html.is-mobile-nav-open #mobile-nav-backdrop,html.is-mobile-nav-open .mobile-nav-backdrop{display:block!important;pointer-events:auto!important;visibility:visible!important}@media (max-width:900px){#mobile-menu-btn,.nav-toggle,.site-nav__toggle,[data-mobile-nav-toggle]{position:relative;z-index:10060!important;pointer-events:auto!important;touch-action:manipulation;min-width:48px;min-height:48px;-webkit-tap-highlight-color:transparent}#mobile-menu.is-open,.nav-m.is-open,.site-nav__mobile.is-mobile-nav-panel-open,.site-nav__mobile.is-open,[data-mobile-nav-panel].is-open{display:flex!important;flex-direction:column!important;visibility:visible!important;pointer-events:auto!important;position:fixed!important;left:0!important;right:0!important;top:var(--site-nav-h,4.35rem)!important;max-height:min(70vh,calc(100dvh - 5rem))!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;z-index:10050!important}#mobile-menu a,.nav-m a,.site-nav__mobile a,[data-mobile-nav-panel] a,[data-mobile-nav-panel] button{pointer-events:auto!important;position:relative;z-index:10051;min-height:48px;touch-action:manipulation}body.is-mobile-nav-open .site-nav,body.is-mobile-nav-open .top,body.is-mobile-nav-open header.top,body.nav-open .site-nav,body.nav-open .top,body.nav-open header.top{z-index:10055!important}body.is-mobile-nav-open,body.nav-open{touch-action:auto!important}}@media (max-width:900px){
body[data-page=business] #bizNavToggle,body[data-page=business] .cc-menu-toggle,body[data-page=business] .desk-bar__menu-btn,
body[data-page=admin] #adminNavToggle,body[data-page=admin] .cc-menu-toggle,body[data-page=admin] .admin-nav-toggle,
body[data-page=users] #usersNavToggle,body[data-page=shop] #shopNavToggle,body[data-page=manuals] .cc-menu-toggle,body[data-page=manuals] [data-shell-menu],body.cc-body .cc-menu-toggle,body.cc-body [data-shell-menu]{
display:inline-flex!important;z-index:10070!important;pointer-events:auto!important;min-width:48px!important;min-height:48px!important;touch-action:manipulation;visibility:visible!important;opacity:1!important}
body[data-page=business] #bizRail,body[data-page=business] .cc-rail,
body[data-page=admin] #adminNavDrawer,body[data-page=admin] .cc-rail,
body[data-page=users] #usersRail,body[data-page=users] .cc-rail,
body[data-page=shop] .cc-rail,body[data-page=manuals] .cc-rail,
body.cc-body .cc-rail{
position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(300px,86vw)!important;max-width:min(300px,86vw)!important;height:auto!important;max-height:none!important;z-index:10060!important;pointer-events:auto!important;visibility:visible!important;transform:translate3d(-105%,0,0)!important;transition:transform .2s ease!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
body[data-page=business].cc-nav-open #bizRail,body[data-page=business].cc-nav-open .cc-rail,body[data-page=business].is-mobile-nav-open #bizRail,body[data-page=business].is-mobile-nav-open .cc-rail,body[data-page=business] #bizRail.is-open,
body[data-page=admin].admin-nav-open #adminNavDrawer,body[data-page=admin].admin-nav-open .cc-rail,body[data-page=admin].is-mobile-nav-open .cc-rail,body[data-page=admin] #adminNavDrawer.is-open,
body[data-page=users].cc-nav-open #usersRail,body[data-page=users].is-mobile-nav-open #usersRail,body[data-page=users] #usersRail.is-open,
body[data-page=shop].cc-nav-open .cc-rail,body[data-page=shop].is-mobile-nav-open .cc-rail,body[data-page=shop] .cc-rail.is-open,
body[data-page=manuals].cc-nav-open .cc-rail,body[data-page=manuals].is-mobile-nav-open .cc-rail,
body.cc-body.cc-nav-open .cc-rail,body.cc-body.admin-nav-open .cc-rail,body.cc-body.is-mobile-nav-open .cc-rail,body.cc-body .cc-rail.is-open{
transform:translate3d(0,0,0)!important;pointer-events:auto!important;visibility:visible!important;z-index:10060!important}
body[data-page=business] #bizRail .cc-rail__item,body[data-page=business] #bizRail a,body[data-page=business] #bizRail button,body[data-page=business].cc-nav-open #bizRail .cc-rail__item,body[data-page=business].is-mobile-nav-open #bizRail .cc-rail__item,
body[data-page=admin] .cc-rail .cc-rail__item,body[data-page=admin] .cc-rail a,body[data-page=admin] .cc-rail button{
pointer-events:auto!important;min-height:48px!important;touch-action:manipulation!important;position:relative;z-index:10061!important}
body[data-page=business] #bizNavBackdrop,body[data-page=business] .cc-backdrop,body[data-page=admin] .cc-backdrop,body[data-page=admin] #adminNavBackdrop,body[data-page=users] #usersNavBackdrop,body[data-page=users] .cc-backdrop,body[data-page=shop] .cc-backdrop,body[data-page=manuals] .cc-backdrop{z-index:10040!important}
body[data-page=business].cc-nav-open #bizNavBackdrop:not([hidden]),body[data-page=business].is-mobile-nav-open #bizNavBackdrop:not([hidden]),
body[data-page=admin].admin-nav-open .cc-backdrop:not([hidden]),body[data-page=admin].is-mobile-nav-open .cc-backdrop:not([hidden]),
body[data-page=users].cc-nav-open #usersNavBackdrop:not([hidden]),body[data-page=users].is-mobile-nav-open .cc-backdrop:not([hidden]),
body[data-page=shop].cc-nav-open .cc-backdrop:not([hidden]),body[data-page=manuals].cc-nav-open .cc-backdrop:not([hidden]),
body.cc-body.cc-nav-open .cc-backdrop:not([hidden]),body.cc-body.admin-nav-open .cc-backdrop:not([hidden]),body.cc-body.is-mobile-nav-open .cc-backdrop:not([hidden]){
display:block!important;pointer-events:auto!important;visibility:visible!important;z-index:10040!important;top:0!important;right:0!important;bottom:0!important;left:min(300px,86vw)!important;width:auto!important;inset:auto 0 0 min(300px,86vw)!important}
body[data-page=business].cc-nav-open,body[data-page=business].is-mobile-nav-open,body[data-page=admin].admin-nav-open,body[data-page=admin].is-mobile-nav-open,body[data-page=users].cc-nav-open,body[data-page=users].is-mobile-nav-open,body[data-page=shop].cc-nav-open,body[data-page=manuals].cc-nav-open{touch-action:auto!important}
/* Desk-bar / top bar above dim backdrop so Menu/notify stay tappable when drawer is open */
body[data-page=business].cc-nav-open .desk-bar,body[data-page=business].is-mobile-nav-open .desk-bar,
body[data-page=admin].admin-nav-open .desk-bar,body[data-page=admin].is-mobile-nav-open .desk-bar,
body.cc-body.cc-nav-open .desk-bar,body.cc-body.admin-nav-open .desk-bar,body.cc-body.is-mobile-nav-open .desk-bar,
body.cc-body.cc-nav-open .cc-top,body.cc-body.is-mobile-nav-open .cc-top,body.cc-body.admin-nav-open .cc-top{
z-index:10065!important;overflow:visible!important;position:relative!important}
/* Notify panel — fixed so it is never clipped by desk-bar overflow */
.biz-notify__panel:not([hidden]),#bizNotifyPanel:not([hidden]),#adminNotifyPanel:not([hidden]){
position:fixed!important;z-index:10075!important;pointer-events:auto!important;visibility:visible!important;
top:max(3.75rem,calc(env(safe-area-inset-top,0px) + 3.25rem))!important;
right:max(.5rem,env(safe-area-inset-right,0px))!important;left:auto!important;
width:min(20.5rem,calc(100vw - 1rem))!important;max-height:min(70dvh,24rem)!important;
display:flex!important;flex-direction:column!important}
.biz-notify__panel[hidden],#bizNotifyPanel[hidden],#adminNotifyPanel[hidden]{
display:none!important;pointer-events:none!important;visibility:hidden!important}
.desk-bar,.desk-bar__actions,.biz-notify{overflow:visible!important}
}

/* === MENU SCROLL FIX 2026-08-07 === */
@media (max-width: 900px) {
  body.nav-open,
  body.is-mobile-nav-open,
  html.is-mobile-nav-open {
    overflow: hidden !important;
    touch-action: auto !important;
  }
  #mobile-menu.is-open,
  #mobile-menu.is-mobile-nav-panel-open,
  .site-nav__mobile.is-open,
  .site-nav__mobile.is-mobile-nav-panel-open,
  [data-mobile-nav-panel].is-open {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    max-height: min(75vh, calc(100dvh - var(--site-nav-h, 4.35rem) - env(safe-area-inset-top, 0px))) !important;
    min-height: 0 !important;
  }
  #mobile-menu.is-open a,
  .site-nav__mobile.is-open a,
  [data-mobile-nav-panel].is-open a {
    flex-shrink: 0 !important;
    touch-action: manipulation !important;
  }
}

/* === CLOSE CLEANUP 2026-08-08: never leave a ghost menu blocking taps === */
#mobile-menu:not(.is-open):not(.is-mobile-nav-panel-open),
.nav-m:not(.is-open):not(.is-mobile-nav-panel-open),
[data-mobile-nav-panel]:not(.is-open):not(.is-mobile-nav-panel-open){
  pointer-events:none !important;
}
html:not(.is-mobile-nav-open) #mobile-nav-backdrop:not(.is-open),
html:not(.is-mobile-nav-open) .mobile-nav-backdrop:not(.is-open){
  display:none !important;
  pointer-events:none !important;
  visibility:hidden !important;
}

/*
 * SCROLL UNLOCK 2026-08-08
 * Menu-open uses overflow:hidden on html/body. If that class or inline style sticks
 * (double-bound toggles, half-closed menu), the whole site freezes. Force scroll
 * back whenever the mobile menu is NOT open — !important beats leftover inline styles.
 * Desk app (drive-exact-live / cc-body) keeps its own overflow rules.
 */
html:not(.is-mobile-nav-open):not(.p100-login-open) {
  overflow-x: clip !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
  touch-action: auto !important;
}
body:not(.nav-open):not(.is-mobile-nav-open):not(.p100-login-open):not(.drive-exact-live):not(.cc-body):not([data-page="business"]):not([data-page="admin"]) {
  overflow-x: clip !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
  position: static !important;
  touch-action: auto !important;
  overscroll-behavior-y: auto !important;
}
/* Ghost backdrop must never cover the page when closed */
#mobile-nav-backdrop:not(.is-open)[hidden],
.mobile-nav-backdrop:not(.is-open)[hidden],
#mobile-nav-backdrop:not(.is-open),
.mobile-nav-backdrop:not(.is-open) {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  z-index: -1 !important;
}
