body.native-passenger,body[data-role=driver]{overflow-x:hidden}
body.native-passenger :is(input,textarea,select),body[data-role=driver] :is(input,textarea,select){font-size:16px}
body.keyboard-open :is(.native-bottom-nav,.suite-tabbar){display:none!important}
body.native-passenger.keyboard-open .ride-planner-layout{top:var(--app-viewport-top,0px);height:var(--app-visible-height,100dvh)!important;grid-template-rows:minmax(95px,25%) minmax(0,1fr)!important}
body.native-passenger.keyboard-open .ride-planner-layout .native-planner-sheet>h1{font-size:20px;margin:5px 12px 14px}
body.native-passenger.keyboard-open .ride-plan-scroll{scroll-padding:15px;overflow-y:auto}
body.native-passenger.keyboard-open .topbar{top:var(--app-viewport-top,0px)}
body.native-passenger.keyboard-open .content{padding-bottom:18px!important}
body.native-passenger.keyboard-open .native-active-layout{top:var(--app-viewport-top,0px);bottom:auto;height:var(--app-visible-height,100dvh);grid-template-rows:25% minmax(0,1fr)}
body.formula-driver.formula-home.keyboard-open .suite-content{top:calc(72px + var(--app-viewport-top,0px));bottom:auto;height:calc(var(--app-visible-height,100dvh) - 72px);padding:0}
body.formula-driver.formula-home.keyboard-open #screen[data-trip-panel]{grid-template-rows:minmax(70px,18%) minmax(0,1fr)}
body.formula-driver.keyboard-open .topbar{top:var(--app-viewport-top,0px)}
body.formula-driver.keyboard-open .driver-panel-scroll{scroll-padding:12px}
body.formula-driver.keyboard-open .driver-panel-actions{padding-bottom:8px}
body.formula-driver.keyboard-open .suite-content:not(:has(.driver-bottom-panel)){padding-bottom:24px}
body.keyboard-open .chat-form{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
body.keyboard-open .chat-form input{flex:1;min-width:0}
body.keyboard-open .chat-form button{flex-shrink:0}
/* Keep the Google canvas stable while the keyboard changes the visible area. */
@media(max-width:899px){
body.native-passenger.input-editing .ride-planner-layout{top:var(--app-viewport-top,0px);height:var(--app-visible-height,100dvh)!important;display:block!important;overflow:hidden}
body.native-passenger.input-editing .ride-planner-layout>.native-map{position:absolute!important;top:0!important;left:0;right:0;bottom:auto!important;height:var(--stable-map-height,420px)!important;width:100%}
body.native-passenger.input-editing .ride-planner-layout>.native-planner-sheet{position:absolute;top:clamp(100px,calc(var(--app-visible-height,100dvh)*.25),210px);bottom:0;height:auto;left:0;right:0;z-index:20}
body.native-passenger.input-editing .native-bottom-nav{display:none!important}
}
