/* Keep map controls inside the display cutout and home-indicator areas. */
html.maps-web-app{min-height:100%;background:#122642;-webkit-text-size-adjust:100%}
html.maps-web-app body{box-sizing:border-box;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
html.maps-web-app body:has(header>.map-header-edit){height:100vh;height:100dvh}
html.maps-web-app #login-view.maps-login-layout,html.maps-web-app #login-view.maps-login-layout>.form-panel{min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.maps-web-install{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:16px 0;padding:12px;border:1px solid #d7e3e6;border-radius:10px;background:#f2f7f6}
.maps-web-install p{flex:1 1 150px;font-size:13px;line-height:1.5;margin:0;color:#435b63}
.maps-web-install button{min-height:44px;padding:8px 10px;border:1px solid #a4c3b0;border-radius:7px;background:#fff;color:#28643b;font:600 13px/1.3 system-ui;cursor:pointer}
.maps-web-install[hidden],#maps-web-install[hidden],#maps-web-connection[hidden]{display:none!important}
#maps-web-install-dialog{box-sizing:border-box;width:420px;max-width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;padding:22px;border:1px solid #bdced8;border-radius:16px;background:#fff;color:#21384c;font:15px/1.6 system-ui;box-shadow:0 14px 50px #10253d30}
#maps-web-install-dialog::backdrop{background:#10223999}
#maps-web-install-dialog .maps-web-install-heading{display:flex;align-items:center;gap:12px}
#maps-web-install-dialog img{flex:none;border-radius:10px}
#maps-web-install-dialog .maps-web-install-heading p{margin:0;font-size:12px;font-weight:700;color:#427453}
#maps-web-install-dialog h2{margin:2px 0 0;font-size:20px;line-height:1.3}
#maps-web-install-dialog ol{padding-left:24px;margin:20px 0}
#maps-web-install-dialog li{padding-left:4px;margin:12px 0}
#maps-web-install-dialog .maps-web-install-note{padding:12px;background:#f2f6f8;border-radius:8px;font-size:13px;line-height:1.5}
#maps-web-install-dialog form{margin:18px 0 0}
#maps-web-install-dialog button{width:100%;min-height:44px;margin:0;border:0;border-radius:8px;background:#397b43;color:#fff;font:600 15px system-ui;cursor:pointer}
#maps-web-connection{box-sizing:border-box;flex:0 0 auto;margin:0;padding:8px 12px;background:#fff2cd;color:#684c10;font:13px/1.5 system-ui;overflow-wrap:anywhere}
@media(pointer:coarse){html.maps-web-app #login-view input:not([type=checkbox]),html.maps-web-app #login-view select{font-size:16px}}
