/* Normalize Safari control chrome without replacing native pickers or validation. */
.login-submit,.login-field input{-webkit-appearance:none;appearance:none;-webkit-text-fill-color:currentColor}
@media(hover:none) and (pointer:coarse){
 .login-shell{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
}
html[data-color-mode] body button,
html[data-color-mode] body input[type="button"],
html[data-color-mode] body input[type="submit"],
html[data-color-mode] body input[type="reset"]{
 -webkit-appearance:none;appearance:none;-webkit-text-fill-color:currentColor;
}
html[data-color-mode] body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="color"]):not([type="range"]),
html[data-color-mode] body textarea{
 -webkit-appearance:none;appearance:none;min-width:0;max-width:100%;-webkit-text-fill-color:currentColor;
}
html[data-color-mode] body input::placeholder,
html[data-color-mode] body textarea::placeholder{
 color:var(--muted,#607075);-webkit-text-fill-color:var(--muted,#607075);opacity:.75;
}
html[data-color-mode] body select:not([multiple]):not([size]){
 -webkit-appearance:none;appearance:none;min-width:0;max-width:100%;
 padding-right:26px!important;-webkit-text-fill-color:currentColor;
 background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)!important;
 background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%!important;
 background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;
}
/* Preserve native checkbox/radio, file, color and calendar chooser behavior. */
html[data-color-mode] body input[type="date"]::-webkit-date-and-time-value,
html[data-color-mode] body input[type="month"]::-webkit-date-and-time-value{
 min-height:1.25em;text-align:left;
}
@media(max-width:720px),(hover:none) and (pointer:coarse){
 /* Include landscape and inputs inside overlays, not just main-page forms. */
 html[data-color-mode] body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="color"]):not([type="range"]),
 html[data-color-mode] body select,html[data-color-mode] body textarea{font-size:16px!important}
 html[data-color-mode] body .store-summary-orders-table td:nth-child(6) .fee-check select{font-size:16px!important}
 html[data-color-mode] body input[type="date"],html[data-color-mode] body input[type="month"]{min-height:38px!important;line-height:1.25!important}
 html[data-color-mode] body .fee-check select{min-width:66px!important;width:66px!important;max-width:100%!important;padding-right:18px!important;background-position:calc(100% - 11px) 50%,calc(100% - 6px) 50%!important}
 html[data-color-mode] body .fee-check{grid-template-columns:minmax(0,1fr) 66px!important}
}
/* Old Safari has no dvh; visualViewport also accounts for the keyboard on modern Safari. */
html body .app-dialog-layer{
 top:var(--billing-viewport-top,0px)!important;bottom:auto!important;
 height:var(--billing-viewport-height,100vh)!important;
}
html body .app-dialog-layer .app-dialog{max-height:100%!important;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
html body .room-bill-dialog[open]{
 position:fixed;top:calc(var(--billing-viewport-top,0px) + max(12px,env(safe-area-inset-top,0px)))!important;bottom:auto!important;
 margin:0 auto!important;max-width:calc(100% - max(12px,env(safe-area-inset-left,0px)) - max(12px,env(safe-area-inset-right,0px)))!important;
 max-height:calc(var(--billing-viewport-height,100vh) - max(12px,env(safe-area-inset-top,0px)) - max(12px,env(safe-area-inset-bottom,0px)))!important;
 overflow:auto;-webkit-overflow-scrolling:touch;
}
html body>header .account-popover{max-height:calc(var(--billing-viewport-height,100vh) - 72px);overflow:auto}
/* In landscape/keyboard mode optional tools scroll instead of pushing Send out of view. */
html[data-compact-viewport="true"] #internal-chat .chat-header{padding:2px 8px}
html[data-compact-viewport="true"] #internal-chat .chat-header h2{font-size:14px}
html[data-compact-viewport="true"] #internal-chat .chat-header-note{font-size:10px}
html[data-compact-viewport="true"] #internal-chat .chat-close{width:32px;height:32px;min-height:32px}
html[data-compact-viewport="true"] #internal-chat .chat-thread-header{min-height:36px;padding:2px 8px}
html[data-compact-viewport="true"] #internal-chat .chat-mute{min-height:30px;padding:3px 6px}
html[data-compact-viewport="true"] #internal-chat .chat-composer{max-height:calc(var(--billing-viewport-height,100vh) * .5);overflow-y:auto;overscroll-behavior:contain}
html[data-compact-viewport="true"] #internal-chat .chat-tools{max-height:72px}
html[data-compact-viewport="true"] #internal-chat .chat-extra-preview{max-height:48px}
@media(hover:none) and (pointer:coarse){
 #internal-chat .chat-dialog{width:calc(100% - max(12px,env(safe-area-inset-left,0px)) - max(12px,env(safe-area-inset-right,0px)))}
}
