/* Transparent artwork on light surfaces, with ivory artwork on dark surfaces. */
.welcome-card .dineflow-logo,
.login-card .dineflow-logo {
  display: block;
  width: min(68%, 208px);
  height: auto;
  max-height: none;
  margin: 0 auto 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  object-fit: contain;
}

#sidebar .dq-brand-wordmark {
  width: min(100%, 130px) !important;
}

.appbar .app-logo#appLogo {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 3px;
  box-sizing: border-box;
  border-radius: 0;
  background: transparent !important;
  object-fit: contain;
}

.sa-side-brand > img,
.sa-brand > img {
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}

.sa-side-brand img.bq-admin-wordmark {
  display: block;
  width: 104px;
  max-width: 100%;
  height: auto;
}

.bq-admin-login-logo {
  display: block;
  width: min(65%, 172px);
  margin-bottom: 14px;
}

.bq-display-wordmark {
  display: block;
  width: clamp(74px, 12vw, 122px);
  height: auto;
  margin-bottom: 6px;
}

/* The kitchen toolbar and horizontal rail stay in place while tickets scroll. */
#appView .main:has(#content.kitchen-mode) {
  height: 100dvh !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
}
#appView .main:has(#content.kitchen-mode) > header { flex: 0 0 auto; }
#appView #content.kitchen-mode {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  gap: 8px;
}
#content.kitchen-mode .kitchen-head {
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 6px;
}
#content.kitchen-mode #kitchenBody {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden !important;
}
#content.kitchen-mode #kitchenBody .kboard {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior: contain;
  scrollbar-width: none !important;
  padding: 0 2px 6px;
}
#content.kitchen-mode #kitchenBody .kcol {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
#content.kitchen-mode #kitchenBody .kitchen-stage-title {
  flex: 0 0 auto;
  position: static;
  padding: 8px 4px;
  text-transform: capitalize;
}
#content.kitchen-mode #kitchenBody .ticket h3 { position: static; background: transparent; }
.kitchen-column-orders,
#content.kitchen-mode .parcel-grid {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.kitchen-column-orders { flex: 1 1 auto; padding: 0 3px 4px; }
#content.kitchen-mode .parcel-tabs { flex: 0 0 auto; }
#content.kitchen-mode .parcel-grid {
  flex: 1 1 auto;
  min-width: 0;
  grid-template-columns: repeat(auto-fit, minmax(min(245px, 100%), 1fr)) !important;
  align-content: start;
  align-items: start;
}
#kitchenBody .ticket.ticket-kitchen-notice {
  border: 2px solid #a02234;
  background: #fff3f1;
}
#kitchenBody .ticket-kitchen-notice > small { color: #8a1c30; font-weight: 600; }
#kitchenBody .ticket.ticket-kitchen-edited {
  border-color: #b6762f;
  background: #fffaf1;
}
#kitchenBody .ticket.ticket-edited { border: 2px solid #b6762f; background: #fffaf1; }

.waiter-menu-footer, .waiter-manual-close { display: none; }
#modalBody #wmPreview { max-height: 40dvh; overflow-y: auto; }
@media (max-width: 820px) {
  #modal .modal-card:has(.waiter-menu-shell) {
    height: min(88dvh, 680px);
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }
  #modal .modal-card:has(.waiter-menu-shell) > #modalX {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
  }
  #modalBody:has(.waiter-menu-shell),
  #modalBody .waiter-menu-shell {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden !important;
  }
  #modalBody .waiter-menu-shell { position: relative; }
  .waiter-menu-shell > :not(.waiter-menu-layout):not(#wmMenu) { flex: 0 0 auto; }
  .waiter-menu-shell > .waiter-menu-head, .waiter-manual-picker > h2 { padding-right: 46px; }
  .waiter-manual-picker > .my-table-nav { padding-right: 46px; }
  #modalBody .waiter-menu-layout,
  #modalBody .waiter-menu-main {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0 !important;
  }
  #modalBody .waiter-menu-grid, #modalBody #wmMenu {
    flex: 1 1 auto;
    min-height: 0 !important;
    max-height: none !important;
    align-content: start;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .waiter-menu-footer {
    display: block;
    padding: 6px 0 max(2px, env(safe-area-inset-bottom));
    border-top: 1px solid #eaded6;
    background: #fffdf9;
  }
  .waiter-menu-footer #wMobileCartToggle { margin-block: 0; min-height: 44px; }
  #modalBody .waiter-menu-shell:has(.mobile-cart-open) > .search,
  #modalBody .waiter-menu-shell:has(.mobile-cart-open) > .waiter-cat-scroll,
  #modalBody .waiter-menu-shell:has(.mobile-cart-open) .waiter-menu-main,
  #modalBody .waiter-menu-shell:has(.mobile-cart-open) > .waiter-menu-footer,
  #modalBody .waiter-manual-picker.manual-cart-open > .search,
  #modalBody .waiter-manual-picker.manual-cart-open > .waiter-cat-scroll,
  #modalBody .waiter-manual-picker.manual-cart-open > #wmMenu,
  #modalBody .waiter-manual-picker.manual-cart-open > .waiter-menu-footer {
    display: none !important;
  }
  #modalBody .waiter-menu-shell .waiter-cart-panel.mobile-cart-open,
  #modalBody .waiter-manual-picker.manual-cart-open > .waiter-manual-cart {
    display: grid !important;
    position: static !important;
    inset: auto !important;
    flex: 1 1 0 !important;
    width: 100%;
    min-height: 0;
    max-height: none !important;
    margin: 0;
    padding: 0;
    overflow: hidden !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }
  #modalBody .waiter-cart-items, #modalBody #wmPreview {
    min-height: 0;
    max-height: none !important;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  #modalBody .waiter-cart-foot {
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }
  #modalBody .waiter-cart-foot > button { min-height: 44px !important; }
  .waiter-manual-cart { display: none; }
  .waiter-manual-cart > .toolbar, #wmPreview { padding: 8px 10px; }
  .waiter-manual-close { display: inline-flex; }
}

#content.kitchen-mode #kitchenBody .kboard::-webkit-scrollbar { display: none !important; }
#content.kitchen-mode #kitchenBody .kboard {
  scroll-snap-type: none;
  touch-action: pan-y;
}
@media (pointer: fine) {
  #content.kitchen-mode #kitchenBody .kboard { cursor: grab; }
  #content.kitchen-mode #kitchenBody .kboard.kitchen-dragging {
    cursor: grabbing;
    user-select: none;
  }
}
