/* Layout repair: keep the navigation footer outside the menu's scroll area. */
.sidebar{height:100vh;height:100dvh;overflow:hidden}
.sidebar>*{flex-shrink:0}
.sidebar>nav{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:.45rem;scroll-padding-block:.5rem}
.sidebar-foot{flex:none;margin-top:.65rem;background:transparent}
.sidebar-foot .home-screen-button{margin-top:.2rem}
.sidebar>nav a:focus-visible,.sidebar>nav summary:focus-visible{outline:2px solid #64d9cb;outline-offset:-2px}

/* The page owns vertical scrolling; narrow tables retain horizontal scrolling. */
.ui-order-table{max-height:none;height:auto;overflow-x:auto;overflow-y:visible;overscroll-behavior:auto;scrollbar-gutter:auto}
.ui-order-table thead{position:relative;top:auto;z-index:2;transform:translateY(var(--order-heading-offset,0px))}

/* Leave room for the menu when a phone is held sideways or zoom is increased. */
@media(max-height:600px){
 .sidebar{padding-top:.55rem;padding-bottom:.55rem}
 .sidebar .brand-logo{margin-bottom:.25rem;padding:.3rem}
 .sidebar .brand-logo img{max-height:65px;object-fit:contain}
 .sidebar .brand-sub{margin-bottom:.35rem}
 .sidebar .drawer-close{margin-bottom:0}
 .sidebar-foot{margin-top:.35rem;padding-top:.35rem}
 .sidebar-foot .small-text{margin-top:.2rem}
}
@media print{.ui-order-table{overflow:visible}.ui-order-table thead{display:table-header-group;transform:none}}
