/* PDSB Portal v1.34.11 | Warranty overlay stacking fix for shared nav across Procurement, Warranty and all modules.
   Loaded last by portal_html_shell. Hide older toggles only after JS confirms readiness. */
.pdsb-mobile-topbar-v13410,
.pdsb-mobile-overlay-v13410{display:none}
@media(max-width:860px){
  body.pdsb-mobile-nav-ready :is(.mobile-menu-toggle,.mobile-nav-overlay),
  body.pdsb-mobile-nav-ready .warranty-shell :is(.warranty-mobile-toggle,.warranty-mobile-overlay),
  body.pdsb-mobile-nav-ready .warranty-mobile-topbar{display:none!important;visibility:hidden!important}
  body.pdsb-mobile-nav-ready .pdsb-mobile-topbar-v13410{
    display:flex!important;position:fixed!important;top:0;left:0;right:0;
    z-index:1004!important;min-height:calc(62px + env(safe-area-inset-top));
    padding:calc(9px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left));
    align-items:center;gap:12px;box-sizing:border-box;
    background:rgba(255,255,255,.97);color:#16365a;
    border-bottom:1px solid #d7e4f2;box-shadow:0 2px 13px rgba(18,47,80,.09);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  body.pdsb-mobile-nav-ready .pdsb-mobile-menu-v13410{
    display:flex!important;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;
    padding:10px;border:1px solid #b9cee2;border-radius:11px;
    align-items:center;justify-content:center;background:#fff;color:#173d65;
    box-shadow:0 2px 8px rgba(18,47,80,.1);cursor:pointer;
    touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
  body.pdsb-mobile-nav-ready .pdsb-mobile-menu-v13410 svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
  body.pdsb-mobile-nav-ready .pdsb-mobile-title-v13410{display:grid;min-width:0;flex:1;gap:1px}
  body.pdsb-mobile-nav-ready .pdsb-mobile-title-v13410 strong{font-size:15px;color:#173d65;line-height:1.16;letter-spacing:-.015em}
  body.pdsb-mobile-nav-ready .pdsb-mobile-title-v13410 small{font-size:11px;color:#567494;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.pdsb-mobile-nav-ready .pdsb-mobile-home-v13410{flex:none;display:flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:9px 11px;border:1px solid #d6e4f0;border-radius:11px;background:#edf4fb;color:#214c75;font-size:12px;font-weight:750;text-decoration:none}
  body.pdsb-mobile-nav-ready .pdsb-mobile-home-v13410[hidden]{display:none!important}
  body.pdsb-mobile-nav-ready .pdsb-mobile-home-v13410 svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;fill:none}
  body.pdsb-mobile-nav-ready .pdsb-mobile-overlay-v13410{display:none;position:fixed;inset:0;z-index:2107;border:0;border-radius:0;background:rgba(12,29,52,.61);padding:0}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .pdsb-mobile-overlay-v13410{display:block!important}
  /* v1.34.9 Warranty isolates its shell; remove that stacking context only on mobile
     so its sidebar can sit above the shared backdrop while page content stays below. */
  body.pdsb-mobile-nav-ready .warranty-shell{isolation:auto!important}
  body.pdsb-mobile-nav-ready .portal-sidebar{z-index:2110!important;max-height:100dvh!important;overscroll-behavior:contain}
  /* Warranty legacy rules have stronger !important selectors than the generic sidebar. */
  body.pdsb-mobile-nav-ready .app-shell.warranty-shell .portal-sidebar.sidebar.warranty-sidebar{z-index:2110!important}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .app-shell.warranty-shell .portal-sidebar.sidebar.warranty-sidebar{transform:translateX(0)!important;visibility:visible!important}
  body.pdsb-mobile-nav-ready:not(.pdsb-mobile-nav-open) .app-shell.warranty-shell .portal-sidebar.sidebar.warranty-sidebar{transform:translateX(-105%)!important;visibility:hidden!important}

  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .portal-sidebar{transform:translateX(0)!important;visibility:visible!important}
  body.pdsb-mobile-nav-ready:not(.pdsb-mobile-nav-open) .portal-sidebar{visibility:hidden!important;transform:translateX(-105%)!important}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .pdsb-mobile-topbar-v13410{z-index:2111!important;background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .pdsb-mobile-topbar-v13410 :is(.pdsb-mobile-title-v13410,.pdsb-mobile-home-v13410){visibility:hidden}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .pdsb-mobile-menu-v13410{pointer-events:auto;background:#fff;color:#173d65}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .portal-sidebar .portal-logo{margin-left:52px!important}
  body.pdsb-mobile-nav-ready :is(.pdsb-mobile-menu-v13410,.pdsb-mobile-home-v13410):focus-visible{outline:3px solid #3983c9!important;outline-offset:3px}
  body.pdsb-mobile-nav-ready .portal-main:not(.warranty-main){padding-top:calc(80px + env(safe-area-inset-top))}
  /* Warranty v1.34.9 already reserves 76 px; give it exactly the shared header clearance. */
  body.pdsb-mobile-nav-ready .warranty-shell .warranty-main.portal-main.content{padding-top:calc(80px + env(safe-area-inset-top))!important}
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open{overflow:hidden}
}
@media(max-width:380px){
  body.pdsb-mobile-nav-ready .pdsb-mobile-home-v13410{padding:10px;min-width:44px}
  body.pdsb-mobile-nav-ready .pdsb-mobile-home-v13410 span{display:none}
}
@media(min-width:861px){
  body.pdsb-mobile-nav-ready .pdsb-mobile-topbar-v13410,
  body.pdsb-mobile-nav-ready .pdsb-mobile-overlay-v13410{display:none!important}
}
@media print{
  .pdsb-mobile-topbar-v13410,.pdsb-mobile-overlay-v13410{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  body.pdsb-mobile-nav-ready .portal-sidebar{transition:none!important}
}

/* v1.34.11: Sidebar and backdrop must be siblings inside the Warranty SPA.
   Body-mounted backdrops may cover the whole #app stacking context, making
   every menu item appear dim and preventing taps, as reported on Android. */
@media(max-width:860px){
  body.pdsb-mobile-nav-ready .warranty-shell > .pdsb-mobile-overlay-v13410{
    z-index:2107!important;position:fixed!important;inset:0!important;
  }
  body.pdsb-mobile-nav-ready.pdsb-mobile-nav-open .warranty-shell > .pdsb-mobile-overlay-v13410{display:block!important}
  body.pdsb-mobile-nav-ready .warranty-shell > .portal-sidebar.warranty-sidebar{
    position:fixed!important;z-index:2110!important;
  }
}
