/* Keyboard geometry is supplied by mobile-inputs.js, never by disabling zoom. */
button,a,input,textarea,select,label,summary,[role=button]{touch-action:manipulation}
@media(any-pointer:coarse){[data-sf-input-font]{font-size:16px!important}}
input,textarea,select,[contenteditable=true]{scroll-margin-block:16px 100px}
.sf-keyboard-open input,.sf-keyboard-open textarea,.sf-keyboard-open select,.sf-keyboard-open [contenteditable=true]{scroll-margin-block:12px}
.sf-keyboard-open textarea{max-height:max(72px,calc(var(--sf-visible-height,100dvh) - 48px));overflow-y:auto}
.sf-keyboard-open dialog[open]{top:var(--sf-visible-top,0px);bottom:auto;margin:8px auto;max-height:calc(var(--sf-visible-height,100dvh) - 16px);overflow:auto;overscroll-behavior:contain}
/* Bottom navigation must yield space to the field; restored when the keyboard closes. */
.sf-keyboard-open .nav,.sf-keyboard-open .tabbar,.sf-keyboard-open .bottom-nav,.sf-keyboard-open #bottom-nav,.sf-keyboard-open .sf-report-toolbar,.sf-keyboard-open .sf-help-footer{display:none!important}
.sf-keyboard-open .modal-backdrop{top:var(--sf-visible-top,0px);bottom:auto;height:var(--sf-visible-height,100dvh);align-items:flex-start;overflow:auto}
.sf-keyboard-open .modal-backdrop .modal{max-height:calc(var(--sf-visible-height,100dvh) - 24px);overflow:auto}
html[data-sf-practice-shell] body{position:fixed;inset-inline:0;top:var(--sf-visible-top,0px);height:var(--sf-visible-height,100svh);display:flex;flex-direction:column;overflow:hidden}
html[data-sf-practice-shell] body>header{flex-shrink:0}
html[data-sf-practice-shell] body>iframe{height:0;flex:1;min-height:0}

.sf-keyboard-open:not([data-sf-practice-shell])>body::after{content:"";display:block;height:var(--sf-keyboard-gap,0px);flex-shrink:0;pointer-events:none}

.sf-keyboard-open .modal-layer,.sf-keyboard-open .flow-overlay,.sf-keyboard-open #bulk-import-overlay,.sf-keyboard-open #mm-add-overlay,.sf-keyboard-open #om-picker-overlay,.sf-keyboard-open #persona-overlay{top:var(--sf-visible-top,0px)!important;bottom:auto!important;height:var(--sf-visible-height,100dvh);max-height:var(--sf-visible-height,100dvh);overflow:auto;align-items:flex-start}
.sf-keyboard-open .modal-layer .modal-card{max-height:calc(var(--sf-visible-height,100dvh) - 36px);overflow:auto}
.sf-keyboard-open .bottom{display:none!important}
