/* Keep login/recovery reachable with a small screen or the onscreen keyboard. */
.ap2-auth-shell,.ap2-cloud-shell,.ap2-app-load-error{box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;align-items:safe center;padding-bottom:max(20px,env(safe-area-inset-bottom))}
.ap2-auth-card,.ap2-cloud-card{box-sizing:border-box;max-width:100%;margin:auto;overflow-wrap:anywhere}
@media(max-width:1023px){.ap2-auth-input{font-size:16px}.ap2-auth-shell,.ap2-cloud-shell{padding:16px}.ap2-auth-card,.ap2-cloud-card{padding:22px}.ap2-cloud-actions button,.ap2-auth-link{min-height:44px}}

/* The app root can be empty before login; fixed login dialogs live in body. */
html #root{min-height:100vh;overflow:visible}
html[data-mobile-safe=true] #ap22-ambient,html[data-mobile-safe=true] .ap22-landscape{display:none!important}
html[data-mobile-safe=true] body{background:#f4f7fb!important}
html[data-mobile-safe=true] #root{position:relative;z-index:1;isolation:isolate}
html[data-mobile-safe=true] .ap2-auth-shell,html[data-mobile-safe=true] .ap2-cloud-shell,html[data-mobile-safe=true] #root header,html[data-mobile-safe=true] #root nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-mobile-safe=true] .ap2-auth-shell,html[data-mobile-safe=true] .ap2-cloud-shell{background:#f4f7fb!important}
