/* Loaded after the shared brand theme: device layout must win over desktop grids. */
.kiosk-port .kiosk-order,
.pos-port .order-pane { grid-template-rows: auto auto auto minmax(80px, 1fr) auto auto auto; overflow-y: auto; }
.kiosk-port .kiosk-products { grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.kiosk-port .kiosk-menu-title input { min-width: 0; }
.production-port #app > header span { color: var(--ui-muted); }
.production-port .order.overdue { border: 2px solid #b57636; background: #fffaf0; }

@media (max-width: 1100px) and (min-width: 821px) {
  .pos-port .workspace { grid-template-columns: 82px minmax(0, 1fr) 320px; gap: 10px; }
  .pos-port .menu-pane { padding: 12px; }
  .pos-port .menu-toolbar { flex-direction: column; align-items: stretch; gap: 8px; }
  .pos-port .menu-toolbar input { width: 100%; }
}
@media (max-width: 1100px) and (min-width: 1001px) {
  .kiosk-port .kiosk-workspace { grid-template-columns: 96px minmax(0, 1fr) 340px; }
  .kiosk-port .kiosk-menu-title { flex-direction: column; align-items: stretch; gap: 8px; }
  .kiosk-port .kiosk-menu-title input { width: 100%; }
}
@media (max-width: 1000px) {
  .kiosk-port .kiosk-app { height: 100dvh; min-height: 0; overflow: hidden; }
  .kiosk-port .kiosk-workspace { grid-template-columns: 96px minmax(0, 1fr); padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .kiosk-port .kiosk-menu { padding-bottom: 20px; }
  .kiosk-port .kiosk-order { padding: 18px 18px max(18px, env(safe-area-inset-bottom)); }
}
@media (max-width: 820px) {
  .pos-port .workspace { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .pos-port .menu-pane { padding: 12px 10px; }
  .pos-port .category-rail { padding-bottom: 12px; }
  .pos-port .pos-products { grid-auto-rows: 246px; }
  .pos-port .pos-order-dock { left: 116px; }
}
@media (max-width: 700px) {
  .kiosk-port .kiosk-header { margin: 8px 8px 0; padding: 0 12px; }
  .kiosk-port .kiosk-workspace { grid-template-columns: 68px minmax(0, 1fr); gap: 8px; padding: 8px 8px calc(82px + env(safe-area-inset-bottom)); }
  .kiosk-port .kiosk-categories { padding: 10px 4px; }
  .kiosk-port .kiosk-menu { padding: 12px 8px; }
  .kiosk-port .kiosk-menu-title { top: -12px; margin: -12px -8px 12px; padding: 12px 8px; }
  .kiosk-port .kiosk-menu-title h1 { font-size: 21px; }
  .kiosk-port .kiosk-products { grid-template-columns: minmax(0, 1fr); }
  .kiosk-port .kiosk-product { grid-template-columns: 60px minmax(0, 1fr) 28px; gap: 6px; padding: 8px; min-height: 116px; border-radius: 16px; }
  .kiosk-port .product-media, .kiosk-port .product-photo { width: 60px; height: 60px; }
  .kiosk-port .product-add { width: 28px; height: 28px; }
  .kiosk-port .kiosk-product strong { font-size: 14px; overflow-wrap: anywhere; }
  .kiosk-port .kiosk-product b { font-size: 18px; }
  .kiosk-port .kiosk-cart-dock { left: 84px; }
}
@media (max-width: 560px) {
  .pos-port .pos-app { padding: 8px; gap: 8px; }
  .pos-port .pos-topbar { padding: 0 10px; gap: 6px; }
  .pos-port .pos-brand { gap: 6px; }
  .pos-port .workspace { grid-template-columns: 60px minmax(0, 1fr); gap: 8px; }
  .pos-port .category-rail { padding-inline: 4px; }
  .pos-port .pos-order-dock { left: 76px; }
  .pos-port .top-actions #productionLink, .pos-port .top-actions #reloadPosBtn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .kiosk-port .kiosk-order, .pos-port .order-pane { transition: none; }
}
