/* Casa Pizza HOTFIX84 — demo polish: hidden scrollbars + responsive cashier workspace. */

/* Keep scrolling functional, but remove native scrollbar chrome across the app. */
html, body, * {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
*::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
html, body { max-width: 100%; }

/* Manager sidebar: never create the ugly horizontal scrollbar from long Armenian labels. */
.sidebar { overflow: hidden !important; }
.sidebar nav {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
}
.sidebar nav a {
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}
.sidebar nav a > span {
  flex: 0 0 28px !important;
  width: 28px !important;
}

/* Cashier: floor is visually fitted into its panel instead of forcing page scrollbars. */
.cashier-floor-panel .canvas-scroll {
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cashier-canvas.floor-canvas {
  flex: 0 0 auto;
  transform-origin: 0 0;
}

@media (min-width: 1181px) and (min-height: 720px) {
  body.cashier-page.cashier-restaurant-active { overflow: hidden !important; }
  body.cashier-page.cashier-restaurant-active .cashier-shell {
    height: 100vh;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0,1fr);
    overflow: hidden;
  }
  body.cashier-page.cashier-restaurant-active .cashier-topbar {
    position: relative;
    top: auto;
    min-height: 72px;
    height: 72px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-logo {
    height: 52px;
    width: 122px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-workspace-tabs {
    min-height: 48px;
    padding-top: 6px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-grid {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 10px 12px 12px;
    gap: 12px;
    grid-template-columns: minmax(0,1fr) minmax(320px,360px);
  }
  body.cashier-page.cashier-restaurant-active .cashier-left {
    min-height: 0;
    height: 100%;
    grid-template-rows: auto auto minmax(0,1fr);
    gap: 10px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-right {
    position: static;
    top: auto;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    grid-template-rows: minmax(150px,.85fr) minmax(170px,1.1fr) auto;
    gap: 10px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-finance-summary {
    padding: 10px 12px;
    gap: 10px;
    grid-template-columns: minmax(210px,1fr) auto auto;
  }
  body.cashier-page.cashier-restaurant-active .cashier-summary-copy h2 { font-size: 16px; margin: 0; }
  body.cashier-page.cashier-restaurant-active .cashier-summary-metrics {
    grid-template-columns: repeat(3,112px);
    gap: 7px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-summary-metrics article { padding: 7px 9px; }
  body.cashier-page.cashier-restaurant-active .cashier-summary-metrics strong { font-size: 15px; margin-top: 2px; }
  body.cashier-page.cashier-restaurant-active .waiting-panel .panel-head { min-height: 50px; padding: 9px 12px; }
  body.cashier-page.cashier-restaurant-active .waiting-list { padding: 8px 11px 5px; }
  body.cashier-page.cashier-restaurant-active .waiting-card { min-width: 150px; padding: 8px 10px; }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel {
    min-height: 0;
    height: 100%;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
  }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel .panel-head {
    min-height: 42px;
    padding: 8px 11px;
  }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel .canvas-scroll {
    min-height: 0;
    height: 100%;
    padding: 10px !important;
  }
  body.cashier-page.cashier-restaurant-active .request-list,
  body.cashier-page.cashier-restaurant-active .orders-list {
    min-height: 0;
    max-height: none;
    overflow-y: auto;
  }
  body.cashier-page.cashier-restaurant-active .alert-panel,
  body.cashier-page.cashier-restaurant-active .orders-panel {
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
  }
}

@media (max-width: 1180px) {
  .cashier-canvas.floor-canvas { margin: 0 auto; }
  .cashier-topbar { align-items: center !important; }
}

@media (max-width: 780px) {
  .topbar, .cashier-topbar { gap: 8px !important; }
  .topbar .top-actions, .cashier-topbar .top-actions {
    max-width: 100%;
    justify-content: flex-end;
  }
  .cashier-topbar .cashier-heading { min-width: 0; }
  .cashier-topbar .cashier-heading h1 { overflow-wrap: anywhere; }
  .cashier-floor-panel .canvas-scroll { padding: 8px !important; }
}

/* 2026-08-17: desktop cashier uses natural document height.
   Never squeeze the restaurant floor just to fit one short browser viewport. */
@media (min-width: 1181px) {
  body.cashier-page.cashier-restaurant-active { overflow-y: auto !important; overflow-x: hidden !important; }
  body.cashier-page.cashier-restaurant-active .cashier-shell {
    height: auto !important;
    min-height: 100vh !important;
    display: block !important;
    overflow: visible !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-topbar {
    position: sticky !important;
    z-index: 80 !important;
    top: 0 !important;
    min-height: 84px !important;
    height: auto !important;
    padding: 11px 20px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-logo {
    width: 145px !important;
    height: 62px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-workspace-tabs {
    min-height: 52px !important;
    padding-top: 8px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-grid {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 16px !important;
    gap: 14px !important;
    grid-template-columns: minmax(0,1fr) 390px !important;
    align-items: start !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-left {
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: none !important;
    gap: 14px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-right {
    position: sticky !important;
    top: 100px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    grid-template-rows: none !important;
    gap: 14px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-finance-summary {
    padding: 14px 16px !important;
    gap: 12px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-summary-copy h2 { font-size: 18px !important; }
  body.cashier-page.cashier-restaurant-active .cashier-summary-metrics {
    grid-template-columns: repeat(3, minmax(118px,1fr)) !important;
    gap: 8px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-summary-metrics article { padding: 10px 12px !important; }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel .panel-head {
    min-height: 48px !important;
    padding: 10px 14px !important;
  }
  body.cashier-page.cashier-restaurant-active .cashier-floor-panel .canvas-scroll {
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    overflow: hidden !important;
  }
  body.cashier-page.cashier-restaurant-active .alert-panel,
  body.cashier-page.cashier-restaurant-active .orders-panel {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    display: block !important;
  }
  body.cashier-page.cashier-restaurant-active .request-list,
  body.cashier-page.cashier-restaurant-active .orders-list {
    min-height: 0 !important;
    max-height: 330px !important;
    overflow-y: auto !important;
  }
}

/* Keep Manager navigation scrollable without showing a nested scrollbar. */
.sidebar nav{scrollbar-width:none!important;-ms-overflow-style:none!important}
.sidebar nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
