.console-page:is([data-page-key="cashier"], [data-page-key="tables"], [data-page-key="pos"], [data-page-key="charge-accounts"], [data-page-key="credit-account-detail"], [data-page-key="shift-handover"], [data-page-key="shift-handover-info"], [data-page-key="shift-print"], [data-page-key="table-settings"], [data-page-key="table-service-fees"]) dialog[open] {
  max-block-size: calc(100dvh - 28px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

[data-page-key="tables"] > .panel > [data-list],
[data-page-key="pos"] [data-pos-catalog],
[data-page-key="pos"] [data-pos-cart] {
  min-width: 0;
  overflow: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

[data-page-key="tables"] > .panel > [data-list] {
  max-block-size: clamp(240px, calc(100dvh - 228px), 960px);
  padding: 2px 4px 4px 2px;
}

[data-page-key="pos"] [data-pos-catalog] {
  max-block-size: clamp(235px, calc(100dvh - 208px), 780px);
}

[data-page-key="pos"] [data-pos-cart] {
  max-block-size: clamp(170px, calc(100dvh - 500px), 420px);
}

[data-page-key="pos"] .pos-tools {
  max-width: 100%;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  background: #f7f8fa;
  scrollbar-width: thin;
}

[data-page-key="pos"] .pos-tools > button { flex-shrink: 0; }

[data-page-key="tables"] [data-table-tabs] { grid-template-columns: minmax(0, 1fr); }
[data-page-key="tables"] .desk-area-tabs { min-width: 0; }

[data-page-key="tables"] :is([data-areas], [data-status-tabs]) {
  min-width: 0;
  max-inline-size: 100%;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-block: 2px 6px;
  scrollbar-width: thin;
}

[data-page-key="tables"] :is([data-areas], [data-status-tabs]) > * {
  flex-shrink: 0;
  white-space: nowrap;
}

[data-page-key="tables"] .desk-status-card { --desk-solid: #1aab5a; border-color: var(--desk-solid); }
[data-page-key="tables"] .desk-status-card[data-state="已扫码未下单"] { --desk-solid: #316eb9; }
[data-page-key="tables"] .desk-status-card[data-state="未结账"] { --desk-solid: #d8414a; }
[data-page-key="tables"] .desk-status-card[data-state="已结账"] { --desk-solid: #b46000; }
[data-page-key="tables"] .desk-status-card h3 { background: var(--desk-solid); color: #fff; }
[data-page-key="tables"] .desk-status-card h3 .status-label { background: transparent; }

.console-page:is([data-page-key="cashier"], [data-page-key="charge-accounts"], [data-page-key="credit-account-detail"], [data-page-key="shift-handover"], [data-page-key="table-settings"], [data-page-key="table-service-fees"]) .table-wrap {
  max-block-size: clamp(280px, calc(100dvh - 245px), 680px);
  overflow: auto;
  overscroll-behavior-y: contain;
}

.console-page:is([data-page-key="cashier"], [data-page-key="charge-accounts"], [data-page-key="credit-account-detail"], [data-page-key="shift-handover"], [data-page-key="table-settings"], [data-page-key="table-service-fees"]) .table-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f7f8fa;
}

[data-page-key="shift-print"] .shift-template-layout > section {
  min-width: 0;
  max-block-size: clamp(240px, calc(100dvh - 190px), 780px);
  overflow: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
}

@media (min-width: 1000px) {
  [data-page-key="pos"]:has([data-pos-catalog], [data-pos-cart]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(106px, 0.25fr) minmax(0, 1.35fr);
    grid-template-areas: 'cart operations catalog';
    align-items: start;
    gap: 14px;
  }

  [data-page-key="pos"] > .panel:has(> [data-pos-cart]) { grid-area: cart; }
  [data-page-key="pos"] > .panel:has(> [data-pos-catalog]) { grid-area: catalog; }
  [data-page-key="pos"] > .pos-tools {
    grid-area: operations;
    max-block-size: clamp(130px, calc(100dvh - 220px), 720px);
    flex-direction: column;
    align-items: stretch;
    overflow: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
  }
}
