/* Keep the mobile header outside the scrolling surface, including rubber-band scrolling. */
html[data-partner-layout],html[data-partner-layout] body{background:var(--bg)}
.partner-page-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px;color:var(--muted);font-size:1rem}
.nav-shade{display:none}
@media(max-width:767px){
 html[data-partner-layout]{height:100%;overflow:hidden;overscroll-behavior-y:none}
 html[data-partner-layout] body{height:100%;overflow:hidden;overscroll-behavior-y:none}
 html[data-partner-layout] #app{height:100%;height:100dvh;min-height:0;overflow:hidden}
 html[data-partner-layout] .shell{height:100%;min-height:0;display:flex;flex-direction:column}
 html[data-partner-layout] .topbar{position:relative;top:auto;flex:0 0 auto}
 html[data-partner-layout] .topbar::before{content:none}
 html[data-partner-layout] .content{flex:1 1 auto;width:100%;min-height:0;margin:0 auto;overflow-y:auto;overscroll-behavior-y:contain;background:var(--bg);scroll-padding-top:16px;scroll-padding-bottom:110px;padding-bottom:max(110px,calc(26px + env(safe-area-inset-bottom,0px)))}
 html[data-partner-layout] .auth-shell{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-top:max(40px,env(safe-area-inset-top,0px));padding-bottom:max(40px,env(safe-area-inset-bottom,0px))}
 body.modal-open .content,body:has(.sidebar.open) .content{overflow-y:hidden}
 .sidebar{z-index:72;visibility:hidden;transition:transform .22s ease,visibility 0s .22s}
 .sidebar.open{visibility:visible;transition-delay:0s}
 .nav-shade{display:block;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s .22s}
 .nav-shade.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){.sidebar,.nav-shade{transition:none}}
