.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 88px var(--space-4) var(--space-8);
}

.locale-form {
  position: fixed;
  inset-block-start: var(--space-4);
  inset-inline-end: var(--space-4);
  z-index: 30;
  display: inline-flex;
  gap: var(--space-1);
  padding: var(--space-1);
  border: var(--border-default);
  border-radius: var(--radius-control);
  background: var(--color-secondary-bg);
}

.locale-form button {
  min-width: 48px;
  min-height: 48px;
  border: 0;
  border-radius: 6px;
  color: var(--color-secondary-text);
  background: transparent;
  cursor: pointer;
  font-weight: 700;
}

.locale-form button[aria-pressed="true"] {
  color: #fff;
  background: var(--color-primary);
}

.compact-locale {
  position: static;
}

.compact-locale button {
  min-width: 48px;
}

.sidebar-footer > .compact-locale {
  width: 100%;
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.1);
}

.sidebar-footer > .compact-locale button {
  flex: 1 1 0;
  color: rgba(255, 255, 255, 0.82);
}

.sidebar-footer > .compact-locale button:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.sidebar-footer > .compact-locale button[aria-pressed="true"] {
  color: var(--color-primary);
  background: #fff;
}

.auth-card {
  width: min(100%, 440px);
  padding: var(--space-6);
}

.auth-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: var(--space-2);
  margin-block-start: var(--space-2);
}

.auth-links a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: var(--space-2) var(--space-3);
  border: var(--border-default);
  border-radius: var(--radius-control);
  color: var(--color-primary-text);
  background: var(--color-secondary-bg);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.auth-links a:hover,
.auth-links a:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: var(--color-primary-accent);
}

.setup-card {
  width: min(100%, 1120px);
}

.setup-walkthrough-shell {
  display: grid;
  gap: var(--space-5);
}

.setup-progress {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.setup-progress button {
  display: grid;
  width: 100%;
  min-height: 72px;
  place-items: center;
  gap: 4px;
  padding: var(--space-2);
  border: var(--border-default);
  border-radius: var(--radius-control);
  color: var(--color-secondary-text);
  background: var(--color-secondary-bg);
  cursor: pointer;
}

.setup-progress button > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 999px;
  color: var(--color-secondary-text);
  background: var(--color-alternate);
}

.setup-progress button[aria-current="step"] {
  border-color: var(--color-primary);
  color: var(--color-primary-text);
  background: var(--color-primary-accent);
}

.setup-progress button[aria-current="step"] > span,
.setup-progress .is-complete button > span {
  color: #fff;
  background: var(--color-primary);
}

.setup-progress button:disabled { cursor: not-allowed; opacity: .58; }
.setup-walkthrough > fieldset { display: grid; gap: var(--space-5); }
.setup-walkthrough > fieldset[hidden] { display: none; }
.setup-step-intro { margin: calc(var(--space-2) * -1) 0 0; color: var(--color-secondary-text); }
.setup-step-actions { display: flex; justify-content: flex-end; gap: var(--space-2); border-block-start: var(--border-default); padding-block-start: var(--space-4); }
.setup-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.setup-feature-card { display: grid; grid-template-columns: 22px 40px minmax(0,1fr); min-height: 112px; align-items: center; gap: var(--space-3); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-secondary-bg); cursor: pointer; }
.setup-feature-card > input { width: 20px; height: 20px; min-height: 0; margin: 0; accent-color: var(--color-primary); }
.setup-feature-card > span:last-child { display: grid; min-width: 0; gap: var(--space-1); }
.setup-feature-card small { color: var(--color-secondary-text); line-height: 1.45; }
.setup-feature-card:has(input:checked) { border-color: var(--color-primary); background: var(--color-primary-accent); }
.setup-feature-card:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.setup-feature-status { min-height: 24px; margin: 0; color: var(--color-secondary-text); }
.setup-review { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); margin: 0; }
.setup-review > div { min-width: 0; padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); background: var(--color-secondary-bg); }
.setup-review dt { margin-block-end: var(--space-2); font-weight: 800; }
.setup-review dd { margin: 0; color: var(--color-secondary-text); overflow-wrap: anywhere; }
.setup-review dd + dd { margin-block-start: 4px; }

@media (max-width: 700px) {
  .setup-card { padding: var(--space-4); }
  .setup-progress { grid-template-columns: repeat(5, minmax(44px, 1fr)); overflow-x: auto; padding-block-end: var(--space-2); }
  .setup-progress button { min-height: 52px; }
  .setup-progress strong { display: none; }
  .setup-feature-grid,.setup-review { grid-template-columns: 1fr; }
  .setup-step-actions { padding-block-start: var(--space-4); }
  .setup-step-actions .button { flex: 1 1 0; }
}

.auth-brand {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-block-end: var(--space-6);
}

.auth-brand strong,
.auth-brand span {
  display: block;
}

.auth-brand strong {
  font-size: 18px;
  line-height: 26px;
}

.auth-brand span {
  color: var(--color-secondary-text);
}

.form-stack,
.responsive-form {
  display: grid;
  gap: var(--space-5);
}

.responsive-form fieldset {
  min-width: 0;
  margin: 0;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-card);
}

.responsive-form legend {
  padding-inline: var(--space-2);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.field {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
  color: var(--color-primary-text);
  font-weight: 600;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  padding-inline: var(--space-3);
  border: var(--border-default);
  border-radius: var(--radius-control);
  color: var(--color-primary-text);
  background: var(--color-secondary-bg);
}

.field textarea {
  min-height: 112px;
  padding-block: var(--space-3);
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--color-primary);
  outline: 0;
  box-shadow: var(--focus-ring);
}

.searchable-select {
  position: relative;
  min-width: 0;
  width: 100%;
  font-weight: 400;
}

.searchable-select-input {
  width: 100%;
  min-height: 48px;
  padding-inline: var(--space-3) 44px;
  border: var(--border-default);
  border-radius: var(--radius-control);
  color: var(--color-primary-text);
  background-color: var(--color-secondary-bg);
  padding-inline-end: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-secondary-text) 50%), linear-gradient(135deg, var(--color-secondary-text) 50%, transparent 50%);
  background-position: calc(100% - 19px) 21px, calc(100% - 14px) 21px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

[dir="rtl"] .searchable-select-input {
  padding-inline-start: 44px;
  padding-inline-end: var(--space-3);
  background-position: 19px 21px, 14px 21px;
}

.searchable-select-input:focus,
.searchable-select.is-open .searchable-select-input {
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

.searchable-select > select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.searchable-select-list {
  position: absolute;
  inset-block-start: calc(100% + 6px);
  inset-inline: 0;
  z-index: 120;
  max-height: min(320px, var(--searchable-select-available, 45vh));
  padding: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: var(--border-default);
  border-radius: var(--radius-control);
  background: var(--color-secondary-bg);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
}

.searchable-select.drop-up .searchable-select-list {
  inset-block-start: auto;
  inset-block-end: calc(100% + 6px);
}

.searchable-select-option,
.searchable-select-empty {
  min-height: 48px;
  padding: 11px 12px;
  border-radius: 7px;
  overflow-wrap: anywhere;
}

.searchable-select-option {
  cursor: pointer;
}

.searchable-select-option:hover,
.searchable-select-option.is-active {
  color: var(--color-primary-text);
  background: var(--color-primary-bg);
}

.searchable-select-option[aria-selected="true"] {
  color: var(--color-primary);
  font-weight: 700;
}

.searchable-select-empty {
  color: var(--color-secondary-text);
}

.field-wide { grid-column: 1 / -1; }
.check-field { display: flex; min-height: 48px; align-items: center; gap: var(--space-3); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); font-weight: 600; }
.check-field input { width: 22px; height: 22px; }
.heading-actions, .receipt-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.field small {
  color: var(--color-secondary-text);
  font-size: 12px;
  font-weight: 400;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-3);
}

.button,
.icon-text-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-4);
  border-radius: var(--radius-control);
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
}

.primary-button {
  border: 1px solid var(--color-primary);
  color: #fff;
  background: var(--color-primary);
}

.primary-button:hover {
  background: #4338ca;
}

.secondary-button,
.icon-text-button {
  border: var(--border-default);
  color: var(--color-primary-text);
  background: var(--color-secondary-bg);
}

.inline-form {
  display: inline;
}

.app-bar-subtitle {
  margin: 0;
  color: var(--color-secondary-text);
  font-size: 12px;
  line-height: 16px;
}

.app-global-search {
  display: flex;
  width: clamp(180px, 24vw, 360px);
  min-width: 0;
  height: 48px;
  flex: 0 1 360px;
  align-items: center;
  margin: 0;
}

.app-global-search input,
.user-chip {
  height: 48px;
  box-sizing: border-box;
  border: var(--border-default);
  border-radius: var(--radius-control);
  color: var(--color-secondary-text);
  background: var(--color-secondary-bg);
}

.app-global-search input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding-inline: var(--space-3);
  appearance: none;
}

.user-chip {
  display: none;
  min-width: 0;
  min-height: 48px;
  max-width: 180px;
  align-items: center;
  padding-inline: var(--space-4);
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-alert {
  margin-block-end: var(--space-5);
  padding: var(--space-4);
  border-radius: var(--radius-control);
}

.app-alert ul {
  margin-block-end: 0;
}

.error-alert {
  border: 1px solid rgba(220, 38, 38, 0.25);
  color: #991b1b;
  background: rgba(220, 38, 38, 0.08);
}

.success-alert {
  border: 1px solid rgba(22, 163, 74, 0.25);
  color: #166534;
  background: rgba(22, 163, 74, 0.08);
}

.quick-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}

.quick-card {
  display: flex;
  min-height: 88px;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-control);
  text-decoration: none;
}

.quick-card:hover {
  border-color: var(--color-primary);
}

/* Phase 6: customer operations and management reporting */
.heading-actions,.section-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.section-actions { margin-block-end: var(--space-4); }
.section-tabs { display: flex; overflow-x: auto; gap: var(--space-2); margin-block-end: var(--space-5); padding: var(--space-2); border: var(--border-default); border-radius: var(--radius-card); background: #fff; }
.section-tabs a { min-height: 48px; display: grid; flex: 0 0 auto; place-items: center; padding-inline: var(--space-4); border-radius: var(--radius-control); color: var(--color-secondary-text); text-decoration: none; font-weight: 700; white-space: nowrap; }
.section-tabs a[aria-current="page"] { color: #fff; background: var(--color-primary); }
.phase6-metrics,.management-metrics { margin-block-end: var(--space-5); }
.phase6-filter,.management-report-filter { grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); margin-block-end: var(--space-5); }
.phase6-filter .button,.management-report-filter .button { align-self: end; }
.phase6-record-card { overflow: hidden; }
.phase6-record-list { display: grid; min-width: 0; }
.phase6-record-row { display: grid; min-width: 0; align-items: center; gap: var(--space-3); min-height: 74px; padding: var(--space-3); border-block-end: var(--border-default); color: var(--color-primary-text); text-decoration: none; }
.phase6-record-row:last-child { border-block-end: 0; }
.phase6-record-row:hover { background: var(--color-primary-bg); }
.phase6-record-row > * { min-width: 0; overflow-wrap: anywhere; }
.phase6-record-row strong,.phase6-record-row small { display: block; }
.phase6-record-row small { margin-block-start: 3px; color: var(--color-secondary-text); }
.customer-record-row { grid-template-columns: minmax(190px,1.5fr) minmax(100px,.75fr) minmax(78px,.55fr) minmax(120px,.8fr) auto 20px; }
.group-record-row { grid-template-columns: minmax(180px,1.5fr) minmax(100px,.7fr) minmax(80px,.5fr) auto 20px; }
.zone-record-row { grid-template-columns: minmax(180px,1.5fr) minmax(90px,.65fr) minmax(80px,.5fr) minmax(80px,.5fr) auto 20px; }
.driver-record-row { grid-template-columns: minmax(190px,1.5fr) minmax(90px,.7fr) minmax(80px,.5fr) minmax(90px,.6fr) 20px; }
.expense-record-row { grid-template-columns: minmax(180px,1.4fr) minmax(110px,.8fr) minmax(90px,.55fr) minmax(110px,.65fr) auto 20px; }
.simple-record-row { grid-template-columns: minmax(72px,.5fr) minmax(90px,.7fr) auto minmax(100px,.75fr) minmax(130px,.9fr); }
.record-primary { min-width: 0; }
.detail-summary-grid { display: grid; gap: var(--space-4); margin-block-end: var(--space-5); }
.summary-card { min-width: 0; padding: var(--space-4); }
.summary-card h2 { margin: 0 0 var(--space-3); font-size: 18px; }
.summary-card dl,.delivery-job-card dl { display: grid; gap: var(--space-2); margin: 0; }
.summary-card dl > div,.delivery-job-card dl > div { display: grid; grid-template-columns: minmax(90px,.6fr) minmax(0,1fr); gap: var(--space-3); padding-block: var(--space-2); border-block-end: var(--border-default); }
.summary-card dl > div:last-child,.delivery-job-card dl > div:last-child { border-block-end: 0; }
.summary-card dt,.delivery-job-card dt { color: var(--color-secondary-text); }
.summary-card dd,.delivery-job-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.phase6-detail-grid { display: grid; gap: var(--space-4); margin-block-end: var(--space-5); }
.phase6-card-list { display: grid; gap: var(--space-3); }
.mini-record { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.mini-record > div { min-width: 180px; flex: 1; }
.mini-record p { margin: var(--space-1) 0; }
.mini-record small { color: var(--color-secondary-text); }
.section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-block-end: var(--space-3); }
.section-heading h2 { margin: 0; }
.amount-in { color: var(--color-success); }
.amount-out { color: var(--color-error); }
.inline-empty { grid-column: 1/-1; }
.inline-empty span { display: block; font-size: 28px; }
.app-dialog { width: min(520px,calc(100vw - 32px)); padding: 0; border: 0; border-radius: var(--radius-card); box-shadow: 0 24px 80px rgba(15,23,42,.28); }
.app-dialog::backdrop { background: rgba(15,23,42,.55); backdrop-filter: blur(3px); }
.app-dialog form { display: grid; }
.app-dialog header,.app-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); }
.app-dialog header { border-block-end: var(--border-default); }
.app-dialog header h2 { margin: 0; font-size: 20px; }
.app-dialog header button { width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--color-primary-bg); font-size: 24px; cursor: pointer; }
.app-dialog footer { justify-content: flex-end; border-block-start: var(--border-default); }
.dialog-body { display: grid; gap: var(--space-3); padding: var(--space-4); }
.delivery-board { display: grid; gap: var(--space-4); }
.delivery-job-card { display: grid; gap: var(--space-4); padding: var(--space-4); border-block-start: 5px solid #94a3b8; }
.delivery-job-card.status-pending { border-block-start-color: #f59e0b; }
.delivery-job-card.status-assigned,.delivery-job-card.status-picked_up { border-block-start-color: #4f46e5; }
.delivery-job-card.status-out_for_delivery { border-block-start-color: #0ea5e9; }
.delivery-job-card.status-delivered { border-block-start-color: #16a34a; }
.delivery-job-card.status-cancelled { border-block-start-color: #dc2626; }
.delivery-job-card > header { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); }
.delivery-job-card h2 { margin: var(--space-1) 0; }
.eyebrow { color: var(--color-secondary-text); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.delivery-job-actions { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); padding-block-start: var(--space-3); border-block-start: var(--border-default); }
.delivery-job-actions form { display: grid; flex: 1; grid-template-columns: minmax(130px,.7fr) minmax(180px,1fr) auto; align-items: end; gap: var(--space-2); }
.record-status.pending,.record-status.booked,.record-status.submitted { color: #92400e; background: #fef3c7; }
.record-status.assigned,.record-status.confirmed,.record-status.checked_in { color: #3730a3; background: #e0e7ff; }
.record-status.picked_up,.record-status.out_for_delivery,.record-status.seated { color: #0369a1; background: #e0f2fe; }
.record-status.delivered,.record-status.completed,.record-status.approved,.record-status.available { color: #166534; background: #dcfce7; }
.record-status.cancelled,.record-status.no_show,.record-status.rejected,.record-status.voided { color: #991b1b; background: #fee2e2; }
.record-status.off_duty,.record-status.draft { color: #475569; background: #f1f5f9; }
.reservation-date-strip { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--space-3); margin-block-end: var(--space-4); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-card); background: #fff; }
.reservation-date-strip > div { display: grid; justify-items: center; gap: var(--space-1); text-align: center; }
.reservation-timeline { display: grid; gap: var(--space-3); }
.reservation-card { display: grid; grid-template-columns: 100px minmax(0,1fr); min-width: 0; overflow: hidden; }
.reservation-time { display: grid; align-content: start; justify-items: center; gap: var(--space-1); padding: var(--space-5) var(--space-3); color: #fff; background: var(--color-primary); }
.reservation-time strong { font-size: 22px; }
.reservation-time small { opacity: .85; }
.reservation-main { display: grid; min-width: 0; gap: var(--space-3); padding: var(--space-4); }
.reservation-main > header { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); }
.reservation-main h2 { margin: var(--space-1) 0 0; font-size: 20px; }
.reservation-facts { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.reservation-facts span { min-height: 36px; display: inline-flex; align-items: center; padding-inline: var(--space-3); border-radius: 999px; background: var(--color-primary-bg); }
.reservation-notes { margin: 0; color: var(--color-secondary-text); }
.reservation-actions { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); padding-block-start: var(--space-3); border-block-start: var(--border-default); }
.reservation-actions form { display: grid; flex: 1; grid-template-columns: minmax(130px,.7fr) minmax(180px,1fr) auto; align-items: end; gap: var(--space-2); }
.attachment-summary { display: flex; align-items: center; gap: var(--space-3); margin-block-start: var(--space-4); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.attachment-summary > span { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border-radius: var(--radius-control); color: var(--color-primary); background: var(--color-primary-accent); font-size: 22px; }
.attachment-summary > div { min-width: 0; flex: 1; }
.attachment-summary strong,.attachment-summary small { display: block; overflow-wrap: anywhere; }
.attachment-summary small { color: var(--color-secondary-text); }
.workflow-card { margin-block: var(--space-5); }
.workflow-actions { display: grid; gap: var(--space-3); }
.workflow-actions form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: var(--space-3); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.workflow-actions form > input[type="hidden"] + .button { grid-column: 1/-1; justify-self: end; }
.file-field input { padding: var(--space-2); }
.report-tabs { margin-block-end: var(--space-5); }
.management-metrics { grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); }
.report-table-card { margin-block-end: var(--space-5); }
.report-table-card h2 { margin-block-start: 0; }
.report-table-wrap { max-width: 100%; overflow-x: auto; }
.report-table-card table.report-table { display: table; width: 100%; min-width: 680px; border-collapse: collapse; }
.report-table-card .report-table th,.report-table-card .report-table td { padding: var(--space-3); border-block-end: var(--border-default); text-align: start; vertical-align: top; }
.report-table-card .report-table th { color: var(--color-secondary-text); background: var(--color-primary-bg); font-size: 12px; text-transform: uppercase; }
.report-table-card .report-table td:not(:first-child),.report-table-card .report-table th:not(:first-child) { text-align: end; }
.report-assumption { margin-block-end: var(--space-5); }
.print-report-header { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--space-5); margin-block-end: var(--space-6); padding-block-end: var(--space-4); border-block-end: 2px solid #111827; }
.print-report-header > div { display: flex; align-items: center; gap: var(--space-3); }
.print-report-header h1 { margin: 0; }
.print-report-header p { margin: var(--space-1) 0 0; }
.print-report-header dl { display: grid; gap: var(--space-2); margin: 0; }
.print-report-header dl > div { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: var(--space-3); }
.print-report-header dt { color: var(--color-secondary-text); }
.print-report-header dd { margin: 0; font-weight: 700; }

@media (min-width: 768px) {
  .detail-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .phase6-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .delivery-board { grid-template-columns: repeat(2,minmax(280px,1fr)); }
}

@media (max-width: 767px) {
  html,body { max-width: 100%; overflow-x: clip; }
  .shell-main,.page { min-width: 0; max-width: 100%; }
  .heading-actions { width: 100%; justify-content: stretch; }
  .heading-actions .button { flex: 1 1 auto; }
  .phase6-record-row { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
  .phase6-record-row > :nth-child(n+3):not(b) { grid-column: 1/-1; }
  .phase6-record-row > b { grid-column: 2; grid-row: 1/3; }
  .reservation-card { grid-template-columns: 76px minmax(0,1fr); }
  .reservation-time { padding-inline: var(--space-2); }
  .reservation-actions form,.delivery-job-actions form,.workflow-actions form { grid-template-columns: 1fr; }
  .reservation-actions form .button,.delivery-job-actions form .button { width: 100%; }
  .attachment-summary { align-items: flex-start; }
  .attachment-summary .button { width: 100%; flex: 1 1 100%; }
  .order-type { grid-template-columns: 1fr; }
  .report-table > .report-row { min-width: 620px; }
}

@media print {
  .management-report-filter,.report-tabs,.section-tabs,.heading-actions,.workflow-card { display: none !important; }
  .print-report-header { display: flex; }
  .management-metrics { grid-template-columns: repeat(4,1fr) !important; }
  .report-table-card { break-inside: avoid; margin-block-end: 5mm; padding: 0; border: 0; }
  .report-table-wrap { overflow: visible; }
  .report-table { min-width: 0; font-size: 8.5pt; }
  .report-table th,.report-table td { padding: 2.2mm; }
  .report-table th { color: #000; background: #eee !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Phase 13 customer-service surfaces */
.phase13-waitlist-list,.phase13-ledger-grid,.phase13-action-grid{display:grid;gap:var(--space-4,1rem)}
.phase13-waitlist-row{display:grid;grid-template-columns:minmax(5rem,.65fr) minmax(12rem,2fr) minmax(6rem,.7fr) minmax(6rem,.7fr) minmax(7rem,.8fr) auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-color,#dde2ea)}
.phase13-waitlist-row:last-child{border-bottom:0}.phase13-waitlist-row>div{min-width:0}.phase13-waitlist-row small{display:block;color:var(--text-muted,#687386);margin-top:.25rem}.phase13-waitlist-row .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}
.phase13-ledger-grid,.phase13-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-block:1rem}.phase13-action-grid>.panel{align-self:start}.pos-loyalty-field{margin-block:.75rem}
@media(max-width:900px){.phase13-waitlist-row{grid-template-columns:minmax(0,1fr) auto}.phase13-waitlist-row>.row-actions{grid-column:1/-1;justify-content:stretch}.phase13-waitlist-row>.row-actions .button{flex:1}.phase13-ledger-grid,.phase13-action-grid{grid-template-columns:1fr}}
.integration-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-block:1rem}.integration-card{display:grid;gap:1rem}.integration-card .panel-header,.notification-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.integration-card small,.notification-row small{display:block;color:var(--text-muted,#687386);margin-top:.3rem}.notification-list{display:grid}.notification-row{padding:1rem 0;border-bottom:1px solid var(--border-color,#dde2ea)}.notification-row:last-child{border-bottom:0}.notification-row>div{flex:1;min-width:0}.notification-row p{margin:.35rem 0}.notification-dot{width:.75rem;height:.75rem;border-radius:999px;background:#6b7280;margin-top:.35rem;flex:0 0 auto}.severity-warning .notification-dot{background:#f59e0b}.severity-critical .notification-dot{background:#dc2626}.feature-list{display:grid;gap:.75rem;padding-inline-start:1.25rem}

.customer-display-page{min-height:100dvh;margin:0;background:var(--color-app-bg);color:var(--color-text);overflow-x:hidden}.customer-display-shell{width:min(100%,100rem);min-height:100dvh;margin-inline:auto;padding:clamp(1rem,2.5vw,2.5rem);display:grid;grid-template-rows:auto 1fr auto;gap:clamp(1rem,2vw,2rem)}.customer-display-brand{display:flex;align-items:center;gap:1rem;padding-block-end:1rem;border-block-end:var(--border-default)}.customer-display-brand>div{display:grid;min-width:0}.customer-display-brand strong{font-size:clamp(1rem,2vw,1.4rem)}.customer-display-brand small{color:var(--color-text-muted)}.customer-display-live{margin-inline-start:auto;padding:.55rem .85rem;border-radius:var(--radius-pill);background:var(--color-success-soft);color:var(--color-success-text);font-weight:700}.customer-display-live.is-offline{background:var(--color-warning-soft);color:var(--color-warning-text)}.customer-display-stage{min-height:0;display:grid}.customer-display-idle,.customer-display-complete{place-self:center;display:grid;justify-items:center;text-align:center;gap:1rem;max-width:60rem}.customer-display-idle p,.customer-display-complete p{margin:0;color:var(--color-primary);font-size:clamp(1.1rem,3vw,2rem);font-weight:700}.customer-display-idle h1,.customer-display-complete h1{margin:0;font-size:clamp(2.5rem,8vw,6.5rem);line-height:1.04}.customer-display-idle span{font-size:clamp(1rem,2.4vw,1.6rem);color:var(--color-text-muted)}.customer-display-order{width:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);grid-template-rows:auto 1fr;gap:clamp(1rem,3vw,3rem)}.customer-display-order>header{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-block-end:1rem;border-block-end:var(--border-default)}.customer-display-order>header>div{display:grid;gap:.25rem}.customer-display-order>header span{color:var(--color-text-muted)}.customer-display-order>header strong{font-size:clamp(1.4rem,3vw,2rem)}.customer-display-status{padding:.6rem .9rem;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary)!important;font-weight:700}.customer-display-lines{min-width:0;max-height:65dvh;overflow:auto;display:grid;align-content:start}.customer-display-lines article{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:start;gap:1rem;padding:clamp(.9rem,2vw,1.4rem) 0;border-block-end:var(--border-default)}.customer-display-lines article>span,.customer-display-lines article>strong{font-size:clamp(1.1rem,2.3vw,1.55rem)}.customer-display-lines article>div{display:grid;min-width:0;gap:.3rem}.customer-display-lines article>div strong{font-size:clamp(1.15rem,2.5vw,1.7rem);overflow-wrap:anywhere}.customer-display-lines article small{color:var(--color-text-muted);font-size:clamp(.9rem,1.6vw,1.1rem);overflow-wrap:anywhere}.customer-display-summary{align-self:start;display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem);border:var(--border-default);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.customer-display-summary>div{display:flex;justify-content:space-between;gap:1rem;font-size:clamp(1rem,2vw,1.35rem)}.customer-display-summary .customer-display-total{display:flex;margin-block-start:.5rem;padding-block-start:1.25rem;border-block-start:var(--border-default);font-weight:800}.customer-display-summary .customer-display-total strong{font-size:clamp(1.7rem,4vw,3rem);color:var(--color-primary)}.customer-display-check{display:grid;width:clamp(5rem,12vw,9rem);aspect-ratio:1;place-items:center;border-radius:50%;background:var(--color-success-soft);color:var(--color-success-text);font-size:clamp(2.5rem,7vw,5rem);font-weight:900}.customer-display-complete>[data-display-complete-total]{font-size:clamp(2rem,6vw,4.5rem);color:var(--color-primary)}.customer-display-complete small{font-size:clamp(1rem,2.5vw,1.5rem);color:var(--color-text-muted)}.customer-display-shell>footer{display:flex;justify-content:space-between;gap:1rem;padding-block-start:1rem;border-block-start:var(--border-default);color:var(--color-text-muted);font-size:.9rem}
@media(max-width:767px){.customer-display-order{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.customer-display-order>header{grid-column:1}.customer-display-lines{max-height:none}.customer-display-shell>footer{display:grid;text-align:center}.customer-display-lines article{grid-template-columns:3rem minmax(0,1fr) auto}.customer-display-brand .brand-mark{width:42px;height:42px}}
.report-catalog-filter{grid-template-columns:minmax(18rem,2fr) repeat(3,minmax(10rem,1fr)) auto}.report-export-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}.advanced-report{padding:0;overflow:hidden}.advanced-report-scroll{overflow:auto;max-width:100%}.advanced-report table{border-collapse:collapse;width:100%;min-width:760px}.advanced-report th,.advanced-report td{padding:.8rem 1rem;border-bottom:1px solid var(--border-color,#dde2ea);text-align:start;white-space:nowrap}.advanced-report th{position:sticky;top:0;background:var(--surface,#fff);z-index:1}.advanced-report tbody tr:nth-child(even){background:rgba(100,116,139,.045)}.dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem}.dashboard-chart{min-width:0}.bar-row{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(5rem,2fr) auto;align-items:center;gap:.75rem;padding:.45rem 0}.bar-row i{height:.65rem;border-radius:999px;background:linear-gradient(to right,var(--primary,#5046e5) var(--bar),rgba(100,116,139,.14) var(--bar));min-width:0}.dashboard-intelligence{margin-top:1rem}.data-freshness{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--muted);font-size:.875rem;margin:.75rem 0 0}.bar-list{display:block}
.accounting-report-context{display:grid;grid-template-columns:minmax(16rem,.75fr) minmax(20rem,1.25fr);gap:var(--space-5);align-items:start;margin-block:var(--space-4)}.accounting-report-context p{margin:.4rem 0 0}.accounting-report-context dl{display:grid;gap:.55rem;margin:0}.accounting-report-context dl>div{display:grid;grid-template-columns:minmax(5rem,.3fr) minmax(0,1fr);gap:var(--space-3)}.accounting-report-context dt{font-weight:800}.accounting-report-context dd{min-width:0;margin:0;overflow-wrap:anywhere}.accounting-report-metrics{margin-block:var(--space-4)}.accounting-report-table td:first-child,.accounting-report-table th:first-child{position:sticky;inset-inline-start:0;background:var(--color-secondary-bg);box-shadow:1px 0 var(--color-stroke);z-index:1}.accounting-report-table thead th:first-child{z-index:3}.report-schedule{margin-block-start:var(--space-5)}.report-schedule>p{color:var(--color-secondary-text)}.muted-value{color:var(--color-secondary-text)}
.accounting-print-document{display:grid;gap:6mm;color:#111}.accounting-print-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(70mm,.8fr);gap:8mm;padding-block-end:5mm;border-block-end:1.5px solid #111}.accounting-print-brand{display:flex;align-items:center;gap:4mm}.accounting-print-brand p,.accounting-print-brand h1{margin:0}.accounting-print-brand p{font-size:10pt;font-weight:700}.accounting-print-brand h1{margin-top:2mm;font-size:19pt;line-height:1.15}.accounting-print-header dl{display:grid;gap:1.5mm;margin:0}.accounting-print-header dl>div{display:grid;grid-template-columns:24mm minmax(0,1fr);gap:3mm}.accounting-print-header dt{color:#555;font-weight:700}.accounting-print-header dd{margin:0;font-weight:700}.accounting-print-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(32mm,1fr));gap:3mm}.accounting-print-totals>div{display:grid;gap:1mm;padding:3mm;border:1px solid #bbb;border-radius:2mm}.accounting-print-totals span{font-size:8pt;color:#555}.accounting-print-totals strong{font-size:12pt}.accounting-print-footer{display:none}
@media(max-width:900px){.report-catalog-filter,.dashboard-chart-grid{grid-template-columns:1fr}.advanced-report-scroll{margin-inline:-1rem;width:calc(100% + 2rem)}.bar-row{grid-template-columns:minmax(6rem,1fr) minmax(4rem,1.5fr) auto}}
@media(max-width:900px){.accounting-report-context{grid-template-columns:1fr}.accounting-report-context dl>div{grid-template-columns:6rem minmax(0,1fr)}}
@media(max-width:520px){.accounting-report-context{padding:var(--space-3);gap:var(--space-3)}.accounting-report-context dl>div{grid-template-columns:1fr;gap:.1rem}.accounting-report-table td:first-child,.accounting-report-table th:first-child{position:static;box-shadow:none}}
@media print{.accounting-report-document .print-page{display:block!important;min-height:0!important}.accounting-report-document .skip-link{display:none!important}html,body,body.print-document{height:auto!important;min-height:0!important}.skip-link,.advanced-report-scroll~*,.print-page>.skip-link{display:none!important}.print-page{display:block!important;min-height:0!important}.advanced-report-scroll{overflow:visible!important;margin:0!important;width:auto!important}.advanced-report{overflow:visible!important;border:0!important;padding:0!important}.advanced-report table{min-width:0;font-size:7.5pt;table-layout:auto}.advanced-report thead{display:table-header-group}.advanced-report th{position:static!important}.advanced-report tr{break-inside:avoid}.advanced-report th,.advanced-report td{padding:1.6mm;white-space:normal;overflow-wrap:anywhere}.accounting-report-table td:first-child,.accounting-report-table th:first-child{position:static;box-shadow:none}.report-export-actions{display:none!important}.accounting-report-context{grid-template-columns:1fr;gap:2mm;margin:0;padding:3mm;border:1px solid #aaa;background:#fff!important;color:#111!important;break-inside:avoid}.accounting-report-context p{margin-top:1mm}.accounting-report-context dl{gap:1mm}.accounting-print-footer{display:flex;justify-content:space-between;padding-top:3mm;border-top:1px solid #bbb;font-size:8pt}}

.sidebar-utility { width: 100%; justify-content: flex-start; border-color: rgba(255,255,255,.28); color: #fff; background: transparent; text-decoration: none; }
.sidebar-utility:hover { background: rgba(255,255,255,.12); }
.connectivity-banner { position: sticky; inset-block-start: 72px; z-index: 24; margin-block-end: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-warning); border-radius: var(--radius-control); background: #fff7ed; font-weight: 700; }
.toast-region { position: fixed; inset-block-start: 76px; inset-inline-end: var(--space-4); z-index: 90; display: grid; width: min(360px,calc(100vw - 32px)); gap: var(--space-2); }
.app-toast { padding: var(--space-3) var(--space-4); border: var(--border-default); border-inline-start: 4px solid var(--color-info); border-radius: var(--radius-control); background: #fff; box-shadow: var(--shadow-card); }
.app-toast.success-toast { border-inline-start-color: var(--color-success); }
.app-toast.error-toast { border-inline-start-color: var(--color-error); }
.global-loading { position: fixed; inset: 0; z-index: 100; display: grid; place-content: center; gap: var(--space-3); color: #fff; background: rgba(17,24,39,.68); font-size: 18px; font-weight: 700; }
.spinner { width: 28px; height: 28px; margin-inline: auto; border: 3px solid rgba(255,255,255,.45); border-block-start-color: currentColor; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.settings-tabs { position: sticky; inset-block-start: 64px; z-index: 20; margin-block-end: var(--space-4); background: var(--color-primary-bg); }
.settings-panel { margin-block-end: var(--space-5); scroll-margin-block-start: 132px; }
.settings-panel h3 { margin-block: var(--space-6) var(--space-3); }
.settings-table { display: grid; min-width: 760px; overflow: hidden; border: var(--border-default); border-radius: var(--radius-control); }
.settings-panel:has(.settings-table) { overflow-x: auto; }
.business-logo-control { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: var(--space-4); margin-block-end: var(--space-5); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); background: var(--color-primary-bg); }
.business-logo-preview { display: grid; width: 112px; height: 112px; place-items: center; overflow: hidden; border: var(--border-default); border-radius: var(--radius-control); background: #fff; }
.business-logo-preview img { width: 100%; height: 100%; padding: var(--space-2); object-fit: contain; }
.business-logo-fields { display: grid; min-width: 0; gap: var(--space-3); }
.business-logo-fields small { color: var(--color-secondary-text); line-height: 1.45; }
.theme-gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: var(--space-3); min-width: 0; margin: 0; padding: 0; border: 0; }
.theme-choice { position: relative; display: grid; grid-template-columns: 84px minmax(0,1fr) 24px; min-width: 0; min-height: 140px; align-items: center; gap: var(--space-3); padding: var(--space-3); overflow: hidden; border: var(--border-default); border-radius: var(--radius-card); background: var(--color-secondary-bg); cursor: pointer; transition: border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease; }
.theme-choice:hover { border-color: var(--color-primary); transform: translateY(-1px); }
.feature-control-group { display: grid; gap: var(--space-3); }
.feature-control-group + .feature-control-group { margin-block-start: var(--space-5); }
.feature-control-group h3 { margin: 0; }
.feature-control-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: var(--space-3); }
.feature-control-card { display: grid; grid-template-columns: 22px 40px minmax(0,1fr) 42px; min-height: 112px; align-items: center; gap: var(--space-3); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); color: var(--color-primary-text); background: var(--color-secondary-bg); text-align: start; }
label.feature-control-card { cursor: pointer; }
.feature-control-card > input[type="checkbox"] { width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; accent-color: var(--color-primary); }
.feature-control-card:has(> input:focus-visible) { box-shadow: var(--focus-ring); }
.feature-control-card:has(> input:checked) { border-color: var(--color-primary); background: var(--color-primary-accent); }
.feature-control-card:has(> input:disabled) { cursor: not-allowed; opacity: .72; }
.feature-control-card.is-locked { grid-template-columns: 40px minmax(0,1fr) auto; background: var(--color-alternate); }
.feature-control-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: var(--radius-control); color: var(--color-primary); background: var(--color-primary-accent); font-size: 20px; font-weight: 800; }
.feature-control-copy { display: grid; min-width: 0; gap: var(--space-1); }
.feature-control-copy strong,.feature-control-copy small { overflow-wrap: anywhere; }
.feature-control-copy small { color: var(--color-secondary-text); line-height: 1.45; }
.feature-dependency { color: var(--color-primary-text) !important; font-weight: 700; }
.feature-switch { position: relative; width: 42px; height: 24px; border-radius: 999px; background: var(--color-alternate); box-shadow: inset 0 0 0 1px var(--color-stroke); }
.feature-switch::after { content: ""; position: absolute; inset-block-start: 4px; inset-inline-start: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--color-secondary-text); transition: transform 160ms ease,background-color 160ms ease; }
.feature-control-card:has(> input:checked) .feature-switch { background: var(--color-primary); }
.feature-control-card:has(> input:checked) .feature-switch::after { background: #fff; transform: translateX(18px); }
html[dir="rtl"] .feature-control-card:has(> input:checked) .feature-switch::after { transform: translateX(-18px); }

.settings-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
  padding-block-start: var(--space-5);
  border-block-start: 2px solid var(--color-danger);
}
.settings-danger-zone h3,.settings-danger-zone p { margin: 0; }
.settings-danger-zone p { margin-block-start: var(--space-1); color: var(--color-secondary-text); }
.reset-review { display: grid; max-width: 980px; gap: var(--space-5); margin-inline: auto; }
.reset-review > .error-alert { display: grid; gap: var(--space-1); }
.reset-impact-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: var(--space-3); }
.reset-impact-grid > div { display: grid; min-width: 0; gap: var(--space-1); padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); background: var(--color-alternate); }
.reset-impact-grid strong { font-size: 24px; line-height: 1.2; }
.reset-impact-grid span { color: var(--color-secondary-text); overflow-wrap: anywhere; }
.reset-safety-list { padding: var(--space-5); border-radius: var(--radius-card); background: var(--color-alternate); }
.reset-safety-list h2 { margin-block-start: 0; }
.reset-safety-list ol { display: grid; gap: var(--space-2); margin-block-end: 0; padding-inline-start: 24px; }
.reset-confirm-form { padding-block-start: var(--space-5); border-block-start: var(--border-default); }
.reset-acknowledgment { align-items: flex-start; padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); }

@media (max-width: 760px) {
  .settings-danger-zone { align-items: stretch; flex-direction: column; }
  .settings-danger-zone .button { width: 100%; }
  .reset-impact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-logo-control { grid-template-columns: 1fr; }
  .business-logo-preview { width: 96px; height: 96px; }
}
.theme-choice:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.theme-choice:has(input:checked) { border-color: var(--color-primary); box-shadow: inset 0 0 0 1px var(--color-primary); }
.theme-choice > input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.theme-preview { position: relative; display: grid; grid-template-columns: 18px 1fr; grid-template-rows: 16px 1fr; inline-size: 84px; block-size: 72px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--preview-1) 20%,#d4d4d8); border-radius: 8px; background: var(--preview-bg); box-shadow: 0 5px 12px rgba(15,23,42,.10); }
.theme-preview i { grid-row: 1/-1; background: var(--preview-1); }
.theme-preview b { background: #fff; border-block-end: 1px solid color-mix(in srgb,var(--preview-1) 12%,#e4e4e7); }
.theme-preview em { margin: 8px; border-radius: 4px; background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.10); }
.theme-preview small { position: absolute; inset-inline-end: 8px; inset-block-end: 8px; inline-size: 22px; block-size: 8px; border-radius: 3px; background: var(--preview-2); }
.theme-preview::after { content:""; position:absolute; inset-inline-start:27px; inset-block-end:11px; inline-size:20px; block-size:4px; border-radius:2px; background:var(--preview-3); }
.theme-choice-copy { min-width: 0; }
.theme-choice-copy strong,.theme-choice-copy small { display: block; }
.theme-choice-copy strong { margin-block-end: var(--space-1); font-size: 15px; }
.theme-choice-copy small { color: var(--color-secondary-text); line-height: 18px; }
.theme-selected-mark { display: grid; inline-size: 24px; block-size: 24px; place-items: center; align-self: start; border: var(--border-default); border-radius: 50%; color: transparent; background: var(--color-secondary-bg); font-weight: 800; }
.theme-choice:has(input:checked) .theme-selected-mark { border-color: var(--color-primary); color: #fff; background: var(--color-primary); }
.settings-table-head,.settings-table-row { display: grid; grid-template-columns: minmax(150px,1.4fr) repeat(4,minmax(110px,1fr)); gap: var(--space-2); align-items: center; padding: var(--space-2); }
.settings-table-head { color: var(--color-secondary-text); background: var(--color-primary-bg); font-weight: 700; }
.settings-table-row { border-block-start: var(--border-default); }
.settings-table-row input,.settings-table-row select { width: 100%; min-height: 48px; padding: var(--space-2); border: var(--border-default); border-radius: var(--radius-control); }
.template-editor { display: grid; gap: var(--space-3); min-width: 0; }
.backup-list { display: grid; gap: var(--space-2); margin-block: var(--space-4); }
.backup-list > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2); border-block-end: var(--border-default); }
.backup-list span { overflow: hidden; text-overflow: ellipsis; }
.inline-form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); }
.inline-form .field { flex: 1 1 240px; }
.help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.shortcut-list { display: grid; gap: var(--space-3); }
kbd { min-width: 40px; padding: 4px 8px; border: var(--border-default); border-block-end-width: 3px; border-radius: 6px; background: #fff; font: 700 13px ui-monospace,monospace; }
.command-palette { width: min(620px,calc(100vw - 32px)); }
.command-palette > div { padding: var(--space-4); }
.command-palette header { padding: 0 0 var(--space-3); }
.command-palette nav { display: grid; gap: var(--space-2); margin-block-start: var(--space-3); }
.command-palette nav a { min-height: 48px; padding: var(--space-3); border-radius: var(--radius-control); text-decoration: none; }
.command-palette nav a:hover,.command-palette nav a:focus-visible { background: var(--color-primary-accent); }
@media (max-width: 767px) { .settings-table { min-width: 680px; } .help-grid { grid-template-columns: 1fr; } .app-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; border-radius: 0; } }
  border-color: rgba(79, 70, 229, 0.45);
  background: var(--color-primary-accent);
}

.quick-icon,
.activity-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: var(--radius-control);
  color: var(--color-primary);
  background: var(--color-primary-accent);
  font-size: 24px;
  line-height: 1;
}

.quick-card strong,
.quick-card small {
  display: block;
}

.quick-card small {
  margin-block-start: var(--space-1);
  color: var(--color-secondary-text);
}

.activity-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.activity-list li {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
}

.activity-list strong,
.activity-list span {
  display: block;
}

.activity-list span,
.activity-list time {
  color: var(--color-secondary-text);
  font-size: 12px;
}

.activity-list .activity-icon {
  position: relative;
  color: var(--color-primary);
  font-size: 0;
}

.activity-list .activity-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 17px;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: translate(-50%, -58%) rotate(45deg);
  transform-origin: center;
}

.text-link {
  color: var(--color-primary);
  font-weight: 600;
}

.data-surface {
  overflow: hidden;
}

.table-scroll {
  display: none;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: var(--space-3) var(--space-4);
  border-block-end: var(--border-default);
  text-align: start;
  white-space: nowrap;
}

th {
  color: var(--color-secondary-text);
  background: #fbfbfd;
  font-size: 12px;
}

.mobile-data-list {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
}

.mobile-data-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-control);
}

.mobile-data-card div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
}

.mobile-data-card span {
  color: var(--color-secondary-text);
}

.mobile-data-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: end;
}

.permission-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}

.permission-option {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  min-height: 64px;
  align-items: center;
  padding: var(--space-2) var(--space-3);
  border: var(--border-default);
  border-radius: var(--radius-control);
}

.permission-option input {
  width: 20px;
  height: 20px;
  justify-self: center;
}

.permission-option strong,
.permission-option small {
  display: block;
}

.permission-option small {
  color: var(--color-secondary-text);
}

.state-card {
  max-width: 560px;
  margin-inline: auto;
  padding: var(--space-8);
  text-align: center;
}

.state-code {
  color: var(--color-error);
  font-size: 48px;
  line-height: 56px;
  font-weight: 700;
}

.catalog-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); margin-block-end: var(--space-4); }
.catalog-stat { display: flex; min-height: 96px; align-items: center; gap: var(--space-3); padding: var(--space-4); }
.catalog-stat > span, .tax-mark { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border-radius: var(--radius-control); color: var(--color-primary); background: var(--color-primary-accent); font-size: 22px; }
.catalog-stat strong, .catalog-stat small { display: block; }
.catalog-stat strong { font-size: 24px; line-height: 30px; }
.catalog-stat small, .catalog-card small { color: var(--color-secondary-text); }
.catalog-section { margin-block-end: var(--space-4); }
.catalog-tabs { display: flex; gap: var(--space-2); margin-block-end: var(--space-4); padding: var(--space-1); overflow-x: auto; border: var(--border-default); border-radius: var(--radius-control); background: var(--color-secondary-bg); }
.catalog-tabs a { min-width: 132px; min-height: 48px; display: grid; place-items: center; padding-inline: var(--space-4); border-radius: calc(var(--radius-control) - 2px); color: var(--color-secondary-text); font-weight: 700; text-decoration: none; white-space: nowrap; }
.catalog-tabs a[aria-current="page"] { color: var(--color-primary); background: var(--color-primary-accent); box-shadow: inset 0 -2px 0 var(--color-primary); }
.catalog-tool-tabs { margin-block-start: calc(var(--space-2) * -1); padding-block-start: var(--space-3); }
.catalog-tool-tabs a { min-width: max-content; }
.catalog-card-image { inline-size: 64px; block-size: 64px; flex: 0 0 64px; object-fit: cover; border-radius: var(--radius-control); background: var(--color-secondary-bg); }
.product-image { inline-size: 100%; block-size: 88px; object-fit: cover; border-radius: calc(var(--radius-control) - 2px); }
.product-tile.is-unavailable,
.product-tile.is-unavailable:hover {
  border-color: #d1d5db;
  border-block-start-color: #9ca3af;
  color: #6b7280;
  background: #f3f4f6;
  box-shadow: none;
  cursor: not-allowed;
  filter: grayscale(1);
  opacity: .78;
}
.product-tile.is-unavailable .product-image,
.product-tile.is-unavailable .product-monogram { filter: grayscale(1); }
.product-tile.is-unavailable .product-price,
.product-tile.is-unavailable small { color: #6b7280; }
.product-unavailable { position: absolute; inset-block-start: var(--space-2); inset-inline-end: var(--space-2); width: max-content; max-width: calc(100% - (2 * var(--space-2))); padding: 3px var(--space-2); overflow: hidden; border: 1px solid #d1d5db; border-radius: 999px; color: #374151; background: rgba(243,244,246,.94); font-size: var(--text-xs); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.pos-availability-link { margin: var(--space-3); }
.pos-availability-panel { margin: var(--space-3); padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.pos-availability-panel summary { display: flex; min-height: 48px; align-items: center; cursor: pointer; font-weight: 800; }
.pos-availability-row { display: grid; grid-template-columns: minmax(120px,1fr) minmax(150px,220px) auto; gap: var(--space-2); align-items: center; padding-block: var(--space-2); border-block-end: var(--border-default); }
@media (max-width: 520px) { .pos-availability-row { grid-template-columns: 1fr; } }
.catalog-cards, .compact-record-list { display: grid; gap: var(--space-2); }
.record-list { display:grid; min-width:0; overflow:hidden; }
.record-list > h2 { padding:var(--space-4) var(--space-4) var(--space-2); margin:0; }
.record-row { display:grid; grid-template-columns:minmax(180px,1.5fr) minmax(100px,.7fr) minmax(120px,.8fr) auto; align-items:center; gap:var(--space-3); min-width:0; min-height:64px; padding:var(--space-3) var(--space-4); border-block-end:var(--border-default); }
.record-row:last-child { border-block-end:0; }
.record-row > * { min-width:0; overflow-wrap:anywhere; }
.record-row div > strong,.record-row div > small { display:block; }
.record-row div > small { margin-block-start:3px; color:var(--color-secondary-text); }
.record-row-link { color:var(--color-primary-text); text-decoration:none; }
.record-row-link:hover { background:var(--color-primary-bg); }
.inline-actions,.touch-actions { display:flex; flex-wrap:wrap; gap:var(--space-2); align-items:center; }
.denomination-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:var(--space-3); }
.audit-json { margin:0; max-width:100%; padding:var(--space-3); overflow:auto; border-radius:var(--radius-control); background:var(--color-primary-bg); white-space:pre-wrap; overflow-wrap:anywhere; }
.catalog-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: var(--space-3); min-height: 76px; padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.catalog-card-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: var(--radius-control); color: var(--color-primary); background: var(--color-primary-accent); font-size: 22px; }
.catalog-card strong, .catalog-card small { display: block; }
.catalog-card-end { display: flex; align-items: center; gap: var(--space-3); }
.record-status { display: inline-flex; min-height: 28px; align-items: center; padding-inline: var(--space-2); border-radius: 999px; font-size: 12px; font-weight: 700; }
.record-status.active { color: var(--color-success); background: rgba(22,163,74,.12); }
.record-status.inactive { color: var(--color-secondary-text); background: var(--color-primary-bg); }
.catalog-two-column { display: grid; gap: var(--space-4); }
.compact-record-list { min-width: 0; }
.compact-record-list article { display: grid; grid-template-columns: minmax(120px,1.5fr) minmax(90px,1fr) minmax(90px,.8fr); align-items: center; gap: var(--space-3); min-width: 0; min-height: 56px; padding: var(--space-2) var(--space-3); overflow: hidden; border: var(--border-default); border-radius: var(--radius-control); }
.compact-record-list article > * { min-width: 0; overflow-wrap: anywhere; }
.catalog-record-list article { grid-template-columns: 36px minmax(140px,1fr) minmax(120px,auto) auto; }
.color-dot { width: 20px; height: 20px; justify-self: center; border-radius: 50%; background: var(--category-color); }
.inline-empty { margin: 0; padding: var(--space-5); color: var(--color-secondary-text); text-align: center; }
.pos-mobile-switch { display: none; }

.pos-workspace {
  --pos-cart-width: clamp(300px, 30vw, 420px);
  display: grid;
  grid-template-columns: minmax(320px, 1fr) var(--pos-cart-width);
  align-items: start;
  max-width: 100%;
  overflow-x: auto;
  gap: var(--space-4);
  padding-block-end: var(--space-2);
  overscroll-behavior-inline: contain;
}
.pos-workspace::after { content: ""; grid-column: 2; grid-row: 1; width: var(--pos-cart-width); }
.pos-products { grid-column: 1; grid-row: 1; }
.pos-products, .pos-cart { min-width: 0; padding: var(--space-4); }
.pos-products {
  display: flex;
  height: calc(100dvh - var(--app-bar-height) - (2 * var(--space-6)));
  max-height: calc(100dvh - var(--app-bar-height) - (2 * var(--space-6)));
  flex-direction: column;
  gap: var(--space-4);
  overflow: hidden;
}
.pos-toolbar {
  position: static;
  display: grid;
  width: 100%;
  flex: 0 0 auto;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-radius: var(--radius-card);
  background: rgba(255,255,255,.97);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(12px);
}
.pos-workspace.pos-toolbar-ready .pos-products { gap: 0; padding-block-start: var(--pos-toolbar-space); }
.pos-workspace.pos-toolbar-ready .pos-toolbar {
  position: fixed;
  inset-block-start: var(--pos-toolbar-block-start);
  left: var(--pos-toolbar-left);
  z-index: 7;
  width: var(--pos-toolbar-width);
}
html[dir="rtl"] .pos-workspace.pos-toolbar-ready .pos-toolbar { inset-inline-start: auto; right: auto; }
.pos-search input { width: 100%; min-height: 52px; padding-inline: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); background: var(--color-primary-bg); }
.category-tabs { display: flex; overflow-x: auto; gap: var(--space-2); padding-block-end: var(--space-3); }
.category-chip { min-height: 48px; flex: 0 0 auto; padding-inline: var(--space-4); border: var(--border-default); border-radius: 999px; background: #fff; cursor: pointer; font-weight: 700; }
.category-chip.selected { border-color: var(--color-primary); color: #fff; background: var(--color-primary); }
.product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 208px; min-height: 0; flex: 1 1 auto; align-content: start; overflow-y: auto; overscroll-behavior: contain; gap: var(--space-3); padding-inline-end: var(--space-1); }
.product-tile { position: relative; display: grid; height: 100%; min-height: 0; align-content: start; overflow: hidden; gap: var(--space-1); padding: var(--space-3); border: var(--border-default); border-block-start: 4px solid var(--category-color); border-radius: var(--radius-card); color: var(--color-primary-text); background: #fff; cursor: pointer; text-align: start; }
.product-tile:hover { border-color: var(--color-primary); box-shadow: var(--shadow-card); }
.product-monogram { display: grid; width: 44px; height: 44px; place-items: center; margin-block-end: var(--space-2); border-radius: var(--radius-control); color: var(--category-color); background: var(--color-primary-bg); font-size: 20px; font-weight: 800; }
.product-tile strong { display: -webkit-box; min-height: 2.5em; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.25; }
.product-tile small { color: var(--color-secondary-text); }
.product-price { align-self: end; margin-block-start: auto; color: var(--color-primary); font-weight: 800; white-space: nowrap; }
.pos-cart {
  position: fixed;
  inset-block-start: calc(var(--app-bar-height) + var(--space-6));
  inset-inline-end: max(var(--space-4), calc((100vw - 1440px) / 2 + var(--space-6)));
  z-index: 6;
  width: var(--pos-cart-width);
  max-height: calc(100dvh - var(--app-bar-height) - (2 * var(--space-6)));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.pos-cart-head { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); padding-block-end: var(--space-3); border-block-end: var(--border-default); }
.pos-cart-head h2 { margin: 0; font-size: 20px; }
.pos-cart-head span { color: var(--color-secondary-text); }
.pos-cart > .app-alert { margin: var(--space-3) 0 0; }
.clear-cart { min-width: 48px; min-height: 48px; border: 0; color: var(--color-error); background: transparent; cursor: pointer; font-weight: 700; }
.cart-items { display: grid; gap: var(--space-2); max-height: 360px; overflow-y: auto; padding-block: var(--space-3); }
.cart-empty { display: grid; min-height: 150px; place-items: center; align-content: center; gap: var(--space-2); color: var(--color-secondary-text); text-align: center; }
.cart-empty > span { font-size: 32px; }
.cart-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: var(--space-2); padding: var(--space-2); border: var(--border-default); border-radius: var(--radius-control); }
.cart-row strong, .cart-row small { display: block; }
.cart-row small { color: var(--color-secondary-text); }
.cart-item-info { min-width: 0; min-height: 48px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: start; }
.quantity-controls { display: grid; grid-template-columns: 48px 32px 48px; align-items: center; text-align: center; }
.quantity-controls button { width: 48px; height: 48px; border: var(--border-default); border-radius: var(--radius-control); background: #fff; cursor: pointer; font-size: 22px; }
.order-fields { display: grid; gap: var(--space-3); }
.pos-add-customer { min-height: 48px; padding: var(--space-2) 0; border: 0; background: transparent; cursor: pointer; text-align: start; }
.pos-context-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.pos-order-details { padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
.pos-order-details summary { display: flex; min-height: 48px; align-items: center; cursor: pointer; font-weight: 800; }
.pos-order-details .form-grid { margin-block-start: var(--space-3); }
.order-type { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-2); margin: 0; padding: 0; border: 0; }
.payment-method { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); margin: 0; padding: 0; border: 0; }
.order-type legend, .payment-method legend { grid-column: 1/-1; margin-block-end: var(--space-1); font-weight: 700; }
.order-type label, .payment-method label { position: relative; }
.order-type input, .payment-method input { position: absolute; opacity: 0; }
.order-type span, .payment-method span { display: grid; min-height: 48px; place-items: center; padding: var(--space-2); border: var(--border-default); border-radius: var(--radius-control); cursor: pointer; font-weight: 700; text-align: center; }
.order-type input:checked + span, .payment-method input:checked + span { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-accent); }
.cart-totals { display: grid; gap: var(--space-2); margin-block: var(--space-4); padding-block: var(--space-4); border-block: var(--border-default); }
.cart-totals div, .receipt-totals div { display: flex; justify-content: space-between; gap: var(--space-3); }
.pos-connection-strip { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-end: var(--space-3); color: var(--color-success); font-size: 12px; font-weight: 700; }
.pos-connection-strip span { padding: 5px 8px; border-radius: 999px; background: rgba(22,163,74,.1); }
.pos-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.pos-action-grid .checkout-button { grid-column: 1/-1; }
.pos-shortcuts { display: block; margin-block-start: var(--space-2); color: var(--color-secondary-text); text-align: center; }
#item-customizer { width: min(720px,calc(100vw - 32px)); max-height: min(860px,calc(100dvh - 32px)); overflow: auto; }
#item-customizer > form > .form-grid,#custom-modifiers { padding: var(--space-4); }
#custom-modifiers { display: grid; gap: var(--space-3); padding-block-end: 0; }
#custom-modifiers:empty { display: none; }
.grand-total, .receipt-total { padding-block-start: var(--space-2); font-size: 18px; }
.checkout-button { width: 100%; margin-block-start: var(--space-4); }
.button:disabled, button:disabled { cursor: not-allowed; opacity: .52; }
.danger-button { border: 1px solid var(--color-error); color: #fff; background: var(--color-error); }
.danger-button:hover { background: #b91c1c; }

/* Phase 3 operations, order history, and reports */
.operations-section { margin-block-start: var(--space-6); }
.shift-live { padding: var(--space-5); }
.shift-live-head { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--space-4); padding-block-end: var(--space-5); border-block-end: var(--border-default); }
.shift-live-head h2 { margin: var(--space-2) 0 0; }
.shift-live-head p { margin: 0; color: var(--color-secondary-text); }
.status-badge { display: inline-flex; align-items: center; gap: var(--space-2); color: #166534; font-weight: 700; }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-success); box-shadow: 0 0 0 4px rgba(22,163,74,.12); }
.shift-float { min-width: 164px; padding: var(--space-3); border-radius: var(--radius-control); background: var(--color-primary-accent); }
.shift-float span,.shift-float strong { display: block; }
.shift-float span { color: var(--color-secondary-text); font-size: 12px; }
.shift-float strong { margin-block-start: var(--space-1); font-size: 20px; }
.shift-actions-grid { display: grid; gap: var(--space-4); margin-block-start: var(--space-5); }
.compact-operation-form { align-content: start; padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-card); }
.compact-operation-form h3,.compact-operation-form p { margin: 0; }
.compact-operation-form p { color: var(--color-secondary-text); }
.danger-operation { border-color: rgba(220,38,38,.25); background: rgba(220,38,38,.035); }
.movement-preview { margin-block-start: var(--space-5); }
.movement-preview h3 { margin-block-end: var(--space-3); }
.movement-preview > div { display: grid; grid-template-columns: minmax(100px,.5fr) minmax(0,1fr) auto; gap: var(--space-3); padding: var(--space-3); border-block-start: var(--border-default); }
.movement-preview > div span { color: var(--color-secondary-text); overflow-wrap: anywhere; }
.operations-list { display: grid; }
.operations-list article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: var(--space-4); padding-block: var(--space-3); border-block-end: var(--border-default); }
.operations-list article:last-child { border-block-end: 0; }
.operations-list strong,.operations-list small { display: block; }
.operations-list small { color: var(--color-secondary-text); }
.amount-stack { text-align: end; }
.open-shift-card { text-align: center; }
.open-shift-card > div:first-child { display: grid; justify-items: center; }
.open-shift-card form { max-width: 720px; margin: var(--space-5) auto 0; text-align: start; }
.operation-icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: var(--radius-card); color: var(--color-primary); background: var(--color-primary-accent); font-size: 28px; }

.filter-bar { display: grid; gap: var(--space-3); align-items: end; margin-block-end: var(--space-5); padding: var(--space-4); }
.filter-bar .button { width: 100%; }
.order-list { display: grid; }
.order-row { display: grid; grid-template-columns: 110px minmax(0,1fr) auto auto 20px; align-items: center; gap: var(--space-4); min-height: 76px; padding-block: var(--space-3); border-block-end: var(--border-default); color: var(--color-primary-text); text-decoration: none; }
.order-row:last-child { border-block-end: 0; }
.order-row:hover { color: var(--color-primary); background: var(--color-primary-bg); }
.order-row strong,.order-row small { display: block; }
.order-row small { color: var(--color-secondary-text); }
.order-total { text-align: end; }
.row-chevron { color: var(--color-secondary-text); font-size: 28px; }
.record-status { display: inline-flex; width: max-content; min-height: 28px; align-items: center; padding-inline: var(--space-2); border-radius: 999px; color: var(--color-secondary-text); background: var(--color-primary-bg); font-size: 12px; font-weight: 700; }
.record-status.paid,.record-status.active { color: #166534; background: rgba(22,163,74,.1); }
.record-status.refunded { color: #92400e; background: rgba(245,158,11,.14); }
.record-status.voided,.record-status.inactive { color: #991b1b; background: rgba(220,38,38,.1); }
.order-detail-grid { display: grid; gap: var(--space-5); }
.order-detail-main { padding: var(--space-5); }
.detail-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); padding-block-end: var(--space-4); border-block-end: var(--border-default); }
.detail-summary span,.detail-summary strong { display: block; }
.detail-summary span { margin-block-end: var(--space-1); color: var(--color-secondary-text); font-size: 12px; }
.order-detail-side { display: grid; align-content: start; gap: var(--space-4); }
.reversal-card,.audit-timeline { padding: var(--space-5); }
.reversal-card h2 { margin-block: var(--space-3) var(--space-2); }
.reversal-card > strong { display: block; font-size: 24px; }
.reversal-card > small { color: var(--color-secondary-text); }
.audit-timeline h2 { margin-block-start: 0; }
.audit-timeline > div { display: flex; align-items: center; gap: var(--space-3); padding-block: var(--space-2); }
.audit-timeline .activity-icon { width: 40px; height: 40px; }
.audit-timeline p,.audit-timeline strong,.audit-timeline small { display: block; margin: 0; }
.audit-timeline small { color: var(--color-secondary-text); }

.report-metrics { margin-block-end: var(--space-5); }
.report-grid { display: grid; min-width: 0; gap: var(--space-5); }
.report-grid > .panel { min-width: 0; }
.report-table { display: grid; width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.report-table > .report-row { min-width: 620px; }
.report-row { display: grid; grid-template-columns: minmax(140px,1.5fr) repeat(2,minmax(90px,1fr)); min-width: 0; gap: var(--space-3); padding: var(--space-3) var(--space-2); border-block-end: var(--border-default); }
.report-row:has(> :nth-child(4)) { grid-template-columns: minmax(140px,1.5fr) repeat(3,minmax(90px,1fr)); }
.report-row:has(> :nth-child(5)) { grid-template-columns: minmax(140px,1.5fr) repeat(4,minmax(78px,1fr)); }
.report-row > * { min-width: 0; overflow-wrap: anywhere; }
.tax-report .report-row { grid-template-columns: minmax(80px,.7fr) minmax(100px,1fr) repeat(2,minmax(90px,.8fr)); min-width: 420px; }
.report-row > :not(:first-child) { text-align: end; }
.report-head { position: sticky; inset-block-start: 0; z-index: 1; color: var(--color-secondary-text); background: var(--color-primary-bg); font-size: 12px; font-weight: 700; }
.shift-report { margin-block-start: var(--space-5); }
.shift-report-list { display: grid; gap: var(--space-3); }
.shift-report-list article { padding: var(--space-4); border: var(--border-default); border-radius: var(--radius-control); }
.shift-report-title { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); }
.shift-report-title strong,.shift-report-title small { display: block; }
.shift-report-title small { color: var(--color-secondary-text); }
.shift-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); margin-block-start: var(--space-4); }
.shift-values div { padding: var(--space-2); border-radius: 6px; background: var(--color-primary-bg); }
.shift-values span,.shift-values strong { display: block; }
.shift-values span { color: var(--color-secondary-text); font-size: 11px; }

.receipt-actions { max-width: 640px; justify-content: flex-end; margin: 0 auto var(--space-4); }
.receipt { width: min(100%,640px); margin-inline: auto; padding: var(--space-6); }
.receipt header { display: grid; place-items: center; text-align: center; }
.receipt-logo { width: 76px; height: 76px; object-fit: contain; }
.receipt header h1 { margin: var(--space-3) 0 0; }
.receipt header p { margin: var(--space-1) 0 var(--space-5); color: var(--color-secondary-text); }
.receipt-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); padding-block: var(--space-4); border-block: 1px dashed var(--color-alternate); }
.receipt-meta span, .receipt-meta strong { display: block; }
.receipt-meta span { color: var(--color-secondary-text); font-size: 12px; }
.receipt-lines { display: grid; gap: var(--space-3); padding-block: var(--space-5); }
.receipt-line { display: flex; justify-content: space-between; gap: var(--space-4); }
.receipt-line small { display: block; color: var(--color-secondary-text); }
.receipt-totals { display: grid; gap: var(--space-2); padding-block: var(--space-4); border-block: 1px dashed var(--color-alternate); }
.receipt footer { padding-block-start: var(--space-5); text-align: center; }
.receipt footer p { margin: 0; font-size: 18px; font-weight: 700; }
.receipt footer small { color: var(--color-secondary-text); }

/* Phase 4 floor plan and kitchen display */
.heading-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.floor-summary { display: grid; gap: var(--space-3); margin-block-end: var(--space-5); }
.floor-area-stat { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); }
.floor-area-stat strong,.floor-area-stat small { display: block; }
.floor-area-stat small { margin-block-start: var(--space-1); color: var(--color-secondary-text); }
.floor-grid { display: grid; grid-template-columns: repeat(2,minmax(150px,1fr)); gap: var(--space-4); }
.floor-table { display: grid; min-height: 220px; align-content: start; padding: var(--space-4); border-block-start: 5px solid var(--table-status-color,#94a3b8); }
.floor-table-round { border-radius: 48px; }
.floor-table-rectangle { min-height: 190px; }
.floor-table.status-available { --table-status-color: #16a34a; }
.floor-table.status-reserved { --table-status-color: #8b5cf6; }
.floor-table.status-occupied,.floor-table.status-ordered { --table-status-color: #f59e0b; }
.floor-table.status-food_ready { --table-status-color: #0ea5e9; }
.floor-table.status-bill_requested { --table-status-color: #ef4444; }
.floor-table.status-cleaning { --table-status-color: #64748b; }
.floor-table > header,.floor-table-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.floor-table h2 { margin: var(--space-4) 0 var(--space-1); }
.floor-table p { margin: 0; color: var(--color-secondary-text); }
.floor-table > small { margin-block-start: var(--space-2); }
.table-code { font-weight: 800; }
.floor-table-actions { margin-block-start: auto; padding-block-start: var(--space-4); }
.floor-table-actions form { display: flex; flex: 1 1 100%; gap: var(--space-2); }
.floor-table-actions select { min-width: 0; flex: 1; }
.floor-grid.is-arranging .floor-table { cursor: grab; box-shadow: 0 0 0 2px var(--color-primary-accent); }
.floor-grid .floor-table.is-dragging { opacity: .45; outline: 3px dashed var(--color-primary); }
.floor-save-positions { position: sticky; inset-block-end: var(--space-4); z-index: 3; float: inline-end; margin-block-start: var(--space-4); box-shadow: var(--shadow-card); }
.dine-in-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(100px,.45fr); gap: var(--space-2); }
.kitchen-station-tabs { display: flex; overflow-x: auto; gap: var(--space-2); padding-block-end: var(--space-3); }
.kitchen-station-tabs a { text-decoration: none; }
.kitchen-station-tabs span { margin-inline-start: var(--space-1); opacity: .78; }
.station-manage-link { margin-block: var(--space-3); }
.kitchen-filter { grid-template-columns: minmax(180px,320px) auto; }
.kitchen-board { display: grid; gap: var(--space-4); }
.kitchen-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); margin-block-end: var(--space-4); }
.kitchen-summary article { display: grid; min-height: 84px; place-items: center; align-content: center; padding: var(--space-3); }
.kitchen-summary strong { font-size: 28px; color: var(--color-primary); }
.kitchen-ticket { display: grid; min-height: 320px; padding: var(--space-4); border-block-start: 5px solid var(--color-primary); }
.kitchen-ticket.delayed { border-block-start-color: var(--color-error); background: rgba(220,38,38,.025); }
.kitchen-ticket > header { display: flex; align-items: start; justify-content: space-between; gap: var(--space-3); padding-block-end: var(--space-3); border-block-end: var(--border-default); }
.kitchen-ticket > header strong,.kitchen-ticket > header span,.kitchen-ticket > header time { display: block; }
.kitchen-ticket > header > div:last-child { text-align: end; }
.ticket-number { font-size: 24px; font-weight: 800; }
.ticket-age { margin-block-start: var(--space-1); color: var(--color-secondary-text); }
.kitchen-items { display: grid; align-content: start; gap: var(--space-3); margin: 0; padding: var(--space-4) 0; list-style: none; }
.kitchen-items li { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: var(--space-2); font-size: 17px; }
.kitchen-items small { grid-column: 2; color: var(--color-secondary-text); }
.kitchen-ticket > footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-block-start: auto; padding-block-start: var(--space-3); border-block-start: var(--border-default); }
.kitchen-ticket > footer form { margin: 0; }
.record-status.new { color: #1d4ed8; background: #dbeafe; }
.record-status.accepted,.record-status.preparing,.record-status.ordered,.record-status.occupied { color: #92400e; background: #fef3c7; }
.record-status.ready,.record-status.food_ready { color: #0369a1; background: #e0f2fe; }
.record-status.served,.record-status.available { color: #166534; background: #dcfce7; }
.record-status.recalled,.record-status.reserved { color: #6d28d9; background: #ede9fe; }
.record-status.cancelled,.record-status.bill_requested { color: #991b1b; background: #fee2e2; }
.record-status.cleaning { color: #475569; background: #e2e8f0; }
.kitchen-print { width: min(100%,80mm); margin-inline: auto; padding: var(--space-5); }
.kitchen-print header { text-align: center; }
.kitchen-print header h1 { margin: 0; }
.kitchen-print header > strong { display: block; margin-block: var(--space-2); font-size: 32px; }
.kitchen-print ul { display: grid; gap: var(--space-3); padding: var(--space-4) 0; border-block: 1px dashed var(--color-alternate); list-style: none; }
.kitchen-print li { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: var(--space-2); font-size: 18px; }
.kitchen-print li small { grid-column: 2; }
.kitchen-print footer { padding-block-start: var(--space-3); text-align: center; }

.inventory-hub,
.inventory-detail-grid,
.inventory-report {
  display: grid;
  gap: var(--space-4);
}

.inventory-hub { grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); }
.inventory-hub-card {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 20px;
  align-items: center;
  gap: var(--space-3);
  min-height: 104px;
  padding: var(--space-5);
  color: var(--color-primary-text);
  text-decoration: none;
}
.inventory-hub-card > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: var(--radius-control); color: var(--color-primary); background: var(--color-primary-accent); font-size: 24px; }
.inventory-hub-card div { display: grid; gap: var(--space-1); min-width: 0; }
.inventory-hub-card small { color: var(--color-secondary-text); line-height: 1.45; }
.inventory-hub-card b { color: var(--color-secondary-text); font-size: 24px; }
[dir="rtl"] .inventory-hub-card b { transform: scaleX(-1); }

.inventory-list,.ledger-list { display: grid; width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
.inventory-row,.ledger-row {
  display: grid;
  grid-template-columns: minmax(180px,1.6fr) minmax(110px,.7fr) minmax(110px,.7fr) 20px;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  min-height: 64px;
  padding-block: var(--space-3);
  border-block-end: var(--border-default);
  color: inherit;
  text-decoration: none;
}
.inventory-row > *,.ledger-row > * { min-width: 0; overflow-wrap: anywhere; }
.inventory-row:has(> strong:last-child),
.inventory-row:has(> .text-link:last-child) {
  grid-template-columns: minmax(220px,1.5fr) minmax(110px,.55fr) minmax(140px,.7fr) minmax(130px,.65fr);
}
.inventory-row:last-child,.ledger-row:last-child { border-block-end: 0; }
.inventory-row > div,.ledger-row > div { display: grid; gap: var(--space-1); min-width: 0; }
.inventory-row small,.ledger-row small { color: var(--color-secondary-text); }
.inventory-row > .record-status { justify-self: start; }
.inventory-row > .ltr-value:last-child,
.inventory-row > .text-link:last-child {
  justify-self: end;
  overflow-wrap: normal;
  white-space: nowrap;
}
.ledger-row { grid-template-columns: minmax(180px,1.5fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(130px,1fr); }
.ledger-row .positive { color: var(--color-success); }
.ledger-row .negative { color: var(--color-danger); }

.inventory-line-editor { display: grid; min-width: 0; gap: var(--space-3); margin-block: var(--space-4); }
[data-line-list] { display: grid; gap: var(--space-3); min-width: 0; }
.inventory-line-head,.inventory-line { display: grid; grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(100px,.6fr)); gap: var(--space-3); align-items: end; min-width: 0; }
[data-repeatable-line] { grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(100px,.6fr)) 48px; }
.recipe-line { grid-template-columns: minmax(180px,1.4fr) repeat(2,minmax(100px,.6fr)) 48px; }
.inventory-row:has(> .row-actions) { grid-template-columns: minmax(220px,1.4fr) minmax(100px,.55fr) minmax(160px,.8fr) minmax(180px,auto); }
.inventory-line-head { color: var(--color-secondary-text); font-size: 13px; font-weight: 700; }
.inventory-line .field { margin: 0; }
.line-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.inline-create-form { margin-block-start: var(--space-5); padding-block-start: var(--space-4); border-block-start: var(--border-default); }
.inline-empty { margin: var(--space-4) 0; color: var(--color-secondary-text); text-align: center; }
.inventory-report .report-row { grid-template-columns: minmax(160px,1.6fr) repeat(3,minmax(100px,.8fr)); }
.line-remove-button { display: grid; width: 48px; height: 48px; place-items: center; border: var(--border-default); border-radius: var(--radius-control); color: var(--color-danger); background: var(--color-secondary-bg); font-size: 22px; cursor: pointer; }
.line-remove-button:disabled { visibility: hidden; }
.line-editor-actions,.row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.line-editor-actions small { color: var(--color-secondary-text); }
.inventory-row > .row-actions { display: flex; justify-content: flex-end; }
.row-actions form { flex: 0 0 auto; margin: 0; }
.row-actions .button { width: auto; min-width: 76px; padding-inline: var(--space-3); }
.stock-document-head,
.inventory-row.stock-document-row {
  display: grid;
  grid-template-columns: minmax(260px,1.55fr) minmax(110px,.45fr) minmax(220px,.8fr) 172px;
  align-items: center;
  gap: var(--space-3);
}
.stock-document-head {
  min-height: 40px;
  padding-block-end: var(--space-2);
  border-block-end: var(--border-default);
  color: var(--color-secondary-text);
  font-size: 13px;
  font-weight: 700;
}
.stock-document-row > .row-actions { min-width: 172px; flex-wrap: nowrap; }
.stock-document-row > .row-actions.is-empty { color: var(--color-secondary-text); }
.row-no-actions { width: 100%; text-align: center; }
.print-preview-toolbar { display: flex; justify-content: flex-end; gap: var(--space-2); margin-block-end: var(--space-4); }
.print-page { width: min(1120px,calc(100% - 32px)); margin: 24px auto; }

.sidebar-preference {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) 38px;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  min-height: 58px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: var(--radius-control);
  color: #fff;
  background: transparent;
  cursor: pointer;
  text-align: start;
}
.sidebar-preference > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.sidebar-preference strong,.sidebar-preference small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-preference:hover { background: rgba(255,255,255,.12); }
.sidebar-preference small { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 400; }
.sidebar-preference-icon { display: grid; width: 32px; height: 32px; place-items: center; color: #fff; font-size: 20px; }
.preference-switch { position: relative; width: 38px; height: 22px; border-radius: 999px; background: var(--color-alternate); transition: background-color 160ms ease; }
.sidebar .preference-switch { background: rgba(255,255,255,.3); }
.preference-switch::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(17,24,39,.24); transition: transform 160ms ease; }
.sidebar-preference.is-enabled { border-color: rgba(255,255,255,.62); background: rgba(255,255,255,.18); }
.sidebar-preference.is-enabled .preference-switch { background: #fff; }
.sidebar-preference.is-enabled .preference-switch::after { background: var(--color-primary); transform: translateX(16px); }
html[dir="rtl"] .sidebar-preference.is-enabled .preference-switch::after { transform: translateX(-16px); }
.auth-keyboard-toggle {
  position: fixed;
  inset-block-start: var(--space-4);
  inset-inline-start: var(--space-4);
  z-index: 30;
  display: grid;
  grid-template-columns: auto minmax(0,auto) 38px;
  gap: var(--space-2);
  max-width: calc(100vw - 150px);
}
.auth-keyboard-toggle.is-enabled { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-accent); }
.auth-keyboard-toggle.is-enabled .preference-switch { background: var(--color-primary); }
.auth-keyboard-toggle.is-enabled .preference-switch::after { transform: translateX(16px); }
html[dir="rtl"] .auth-keyboard-toggle.is-enabled .preference-switch::after { transform: translateX(-16px); }
.virtual-keyboard-open .auth-page { padding-block-end: calc(var(--virtual-keyboard-height,300px) + var(--space-6)); }

.virtual-keyboard {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 70;
  padding: var(--space-2) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));
  border-block-start: var(--border-default);
  background: rgba(246,247,251,.98);
  box-shadow: 0 -14px 38px rgba(17,24,39,.2);
  backdrop-filter: blur(14px);
}
.virtual-keyboard > header { display: flex; max-width: 1100px; align-items: center; justify-content: space-between; gap: var(--space-3); margin-inline: auto; padding-block-end: var(--space-2); }
.virtual-keyboard-actions { display: flex; gap: var(--space-2); }
.virtual-keyboard-actions button { min-width: 48px; min-height: 48px; border: var(--border-default); border-radius: var(--radius-control); background: #fff; cursor: pointer; font-weight: 800; }
.virtual-keyboard-keys { display: grid; max-width: 1100px; gap: 6px; margin-inline: auto; }
.virtual-keyboard-keys.is-number { max-width: 440px; }
.virtual-keyboard-row { display: flex; justify-content: center; gap: 6px; }
.virtual-key {
  min-width: 0;
  min-height: 48px;
  flex: 1 1 0;
  padding: 4px;
  border: 1px solid #d1d5db;
  border-radius: var(--radius-control);
  color: var(--color-primary-text);
  background: #fff;
  box-shadow: 0 2px 0 #d1d5db;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  touch-action: manipulation;
  user-select: none;
}
.virtual-key:active { transform: translateY(1px); box-shadow: 0 1px 0 #d1d5db; }
.virtual-key:disabled { cursor: not-allowed; opacity: .38; }
.keyboard-key-space { flex-grow: 4; }
.keyboard-key-done { color: #fff; background: var(--color-primary); box-shadow: 0 2px 0 #3730a3; }
.keyboard-key-backspace,.keyboard-key-clear,.keyboard-key-shift,.keyboard-key-layout { background: #eef0f6; }
.virtual-keyboard-open .page { padding-block-end: calc(var(--virtual-keyboard-height, 300px) + var(--space-6)); }
.virtual-keyboard-open .pos-cart { inset-block-end: calc(var(--virtual-keyboard-height, 300px) + var(--space-3)); max-height: none; }
.virtual-keyboard-open .pos-products { height: calc(100dvh - var(--app-bar-height) - var(--virtual-keyboard-height, 300px) - (2 * var(--space-6))); max-height: calc(100dvh - var(--app-bar-height) - var(--virtual-keyboard-height, 300px) - (2 * var(--space-6))); }

@media (min-width: 768px) {
  .form-grid,
  .quick-grid,
  .permission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .table-scroll {
    display: block;
  }

  .mobile-data-list {
    display: none;
  }

  .user-chip {
    display: inline-flex;
  }

  .catalog-two-column { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shift-actions-grid,.report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-filter { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .compact-report-filter { grid-template-columns: repeat(2,minmax(0,1fr)) auto; }
  .shift-values { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .floor-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .floor-grid { grid-template-columns: repeat(3,minmax(180px,1fr)); }
  .kitchen-board { grid-template-columns: repeat(2,minmax(280px,1fr)); }
  .inventory-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
}

@media (max-width: 767px) {
  .record-row { grid-template-columns:minmax(0,1fr) auto; align-items:start; padding:var(--space-3); }
  .record-row > :nth-child(n+3) { grid-column:1/-1; }
  .app-bar { min-width: 0; gap: var(--space-2); padding-inline: var(--space-2); }
  .app-bar-leading { min-width: 0; gap: var(--space-2); }
  .app-bar-leading > div { min-width: 0; }
  .app-bar-actions { min-width: 0; flex: 0 1 auto; gap: var(--space-1); }
  .app-bar-actions .user-chip {
    display: none;
  }

  .app-global-search {
    display: none;
  }

  .app-bar {
    align-items: flex-start;
  }

  .app-bar-actions {
    align-items: flex-start;
  }

  .compact-locale button {
    min-width: 48px;
  }

  .app-bar-actions .icon-text-button {
    min-width: 48px;
    max-width: 80px;
    padding-inline: var(--space-1);
  }

  .form-actions .button {
    flex: 1 1 140px;
  }

  .catalog-summary { grid-template-columns: 1fr; }
  .catalog-card { grid-template-columns: 48px minmax(0,1fr); }
  .catalog-card-end { grid-column: 1/-1; justify-content: space-between; }
  .page:has(.pos-workspace) { padding: var(--space-3) var(--space-3) 88px; }
  .pos-workspace {
    display: block;
    overflow: visible;
    padding-block-end: 0;
  }
  .pos-workspace::after { display: none; }
  .pos-mobile-switch {
    position: fixed;
    inset-inline: var(--space-3);
    inset-block-end: max(var(--space-3), env(safe-area-inset-bottom));
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--space-2);
    padding: var(--space-2);
    border: var(--border-default);
    border-radius: var(--radius-card);
    background: rgba(255,255,255,.98);
    box-shadow: 0 12px 32px rgba(17,24,39,.22);
    backdrop-filter: blur(12px);
  }
  .pos-mobile-switch button {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding-inline: var(--space-3);
    border: 1px solid transparent;
    border-radius: var(--radius-control);
    color: var(--color-secondary-text);
    background: transparent;
    cursor: pointer;
    font-weight: 700;
  }
  .pos-mobile-switch button[aria-pressed="true"] { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-accent); }
  .pos-mobile-count { display: grid; min-width: 24px; height: 24px; place-items: center; padding-inline: 6px; border-radius: 999px; color: #fff; background: var(--color-primary); font-size: 12px; }
  .pos-products, .pos-cart { width: 100%; padding: var(--space-3); }
  .pos-products { height: calc(100dvh - var(--app-bar-height) - 112px); max-height: calc(100dvh - var(--app-bar-height) - 112px); gap: var(--space-3); }
  .pos-workspace.pos-toolbar-ready .pos-products { gap: 0; padding-block-start: var(--pos-toolbar-space); }
  .pos-toolbar { padding: var(--space-3); }
  .pos-cart {
    position: fixed;
    inset-block-start: calc(var(--app-bar-height) + var(--space-3));
    inset-block-end: calc(76px + max(var(--space-3), env(safe-area-inset-bottom)));
    inset-inline: var(--space-3);
    width: auto;
    max-height: none;
    overflow-y: auto;
  }
  .pos-workspace[data-pos-view="products"] .pos-cart,
  .pos-workspace[data-pos-view="order"] .pos-products { display: none; }
  .pos-workspace[data-pos-view="products"] .pos-cart *,
  .pos-workspace[data-pos-view="order"] .pos-products * { visibility: hidden; }
  .pos-workspace[data-pos-view="order"] .pos-cart { padding-block-end: 96px; }
  .pos-workspace[data-pos-view="order"] .cart-items { max-height: none; }
  .pos-context-grid { grid-template-columns: 1fr; }
  .operations-list article { grid-template-columns: minmax(0,1fr) auto; }
  .operations-list .amount-stack { grid-column: 1/-1; display: flex; justify-content: space-between; text-align: start; }
  .movement-preview > div { grid-template-columns: minmax(0,1fr) auto; }
  .movement-preview > div span { grid-column: 1/-1; grid-row: 2; }
  .order-row { grid-template-columns: minmax(72px,.6fr) minmax(0,1fr) 20px; gap: var(--space-2); }
  .order-row .record-status { grid-column: 1; }
  .order-row .order-total { grid-column: 2; grid-row: 2; text-align: start; }
  .order-row .row-chevron { grid-column: 3; grid-row: 1/3; }
  .detail-summary { grid-template-columns: 1fr; }
  .floor-grid { grid-template-columns: repeat(2,minmax(150px,1fr)); }
  .floor-table-actions form { display: grid; grid-template-columns: 1fr; }
  .inventory-row,.ledger-row { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-2); }
  .inventory-row:has(> strong:last-child),
  .inventory-row:has(> .text-link:last-child),
  .inventory-row:has(> .row-actions) { grid-template-columns: minmax(0,1fr) auto; }
  .inventory-row > :nth-child(3),.inventory-row > :nth-child(4):not(b),.ledger-row > :nth-child(3),.ledger-row > :nth-child(4) { grid-column: 1/-1; }
  .inventory-row > .row-actions { grid-column: 1/-1; justify-content: flex-start; }
  .stock-document-head { display: none; }
  .inventory-row.stock-document-row { grid-template-columns: minmax(0,1fr) auto; }
  .stock-document-row > .row-actions { min-width: 0; }
  .inventory-workflow-actions { display: grid; width: 100%; grid-template-columns: 1fr; gap: var(--space-2); }
  .inventory-workflow-actions form { display: grid; width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr) auto; }
  .inventory-workflow-actions form input { width: 100%; min-width: 0; }
  .inventory-workflow-actions > .button { width: 100%; }
  .kitchen-ticket-actions,.kitchen-ticket-actions form { display: grid; grid-template-columns: 1fr; min-width: 0; gap: var(--space-2); }
  .kitchen-ticket-actions .button { width: 100%; }
  .stock-document-row > .row-actions.is-empty { display: none; }
  .inventory-row > .ltr-value:last-child,.inventory-row > .text-link:last-child { justify-self: start; }
  .inventory-row > b { grid-column: 2; grid-row: 1/3; }
  .inventory-line-head { display: none; }
  .inventory-line { grid-template-columns: 1fr; padding: var(--space-3); border: var(--border-default); border-radius: var(--radius-control); }
  .inventory-line .line-remove-button { justify-self: end; }
  .compact-record-list article,.catalog-record-list article { grid-template-columns: minmax(0,1fr) auto; }
  .compact-record-list article > :nth-child(n+3) { grid-column: 1/-1; }
  .catalog-card-end { flex-wrap: wrap; }
  .virtual-keyboard { padding-inline: 5px; }
  .virtual-keyboard > header { padding-inline: var(--space-1); }
  .virtual-keyboard-row { gap: 3px; }
  .virtual-key { min-height: 48px; padding-inline: 2px; font-size: 15px; }
  .virtual-keyboard-keys.is-text .virtual-keyboard-row:nth-child(2) { padding-inline: 3px; }
  .virtual-keyboard-keys.is-text .virtual-keyboard-row:nth-child(3) { padding-inline: 8px; }
  .virtual-keyboard-open .pos-mobile-switch { inset-block-end: calc(var(--virtual-keyboard-height, 300px) + var(--space-2)); }
  .virtual-keyboard-open .pos-cart { inset-block-end: calc(var(--virtual-keyboard-height, 300px) + 76px + var(--space-2)); max-height: none; }
  .virtual-keyboard-open .pos-products { height: auto; max-height: none; }
  .auth-keyboard-toggle { inset-inline-start: var(--space-2); max-width: 176px; padding-inline: var(--space-2); }
.auth-keyboard-toggle > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 767px) and (max-height: 620px) {
  .page:has(.pos-workspace) { padding-block-end: var(--space-3); overflow: visible; }
  .pos-workspace { display: flex; flex-direction: column; gap: var(--space-3); }
  .pos-mobile-switch { position: sticky; inset: auto; inset-block-start: calc(var(--app-bar-height) + var(--space-2)); order: -1; }
  .pos-products { height: auto; max-height: none; min-height: 0; overflow: visible; }
  .pos-workspace.pos-toolbar-ready .pos-products { gap: var(--space-3); padding-block-start: var(--space-3); }
  .pos-workspace.pos-toolbar-ready .pos-toolbar { position: static; width: 100%; }
  .product-grid { min-height: 208px; max-height: max(208px, 55dvh); flex: 0 0 auto; }
  .pos-workspace[data-pos-view="order"] .pos-cart { position: static; width: 100%; max-height: none; overflow: visible; }
  .pos-workspace[data-pos-view="order"] .pos-cart { padding-block-end: var(--space-3); }
}

@media (min-width: 768px) and (max-width: 959px) {
  .stock-document-head { display: none; }
  .inventory-row.stock-document-row { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-2); }
  .stock-document-row > :nth-child(3),
  .stock-document-row > .row-actions { grid-column: 1/-1; }
  .stock-document-row > .row-actions { min-width: 0; justify-content: flex-start; }
  .stock-document-row > .row-actions.is-empty { display: none; }
}

@media (max-width: 359px) {
  .app-bar-leading > .app-back-button { width: 48px; min-width: 48px; padding-inline: 0; }
  .app-back-label { display: none; }
  .app-bar-leading > div { display: none; }
}

@media (min-width: 1200px) {
  .pos-cart { inset-inline-end: max(var(--space-6), calc((100vw - var(--sidebar-width) - 1440px) / 2 + var(--space-6))); }
  .app-shell + .virtual-keyboard { inset-inline-start: var(--sidebar-width); }

  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .permission-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .order-detail-grid { grid-template-columns: minmax(0,1.65fr) minmax(320px,.75fr); align-items: start; }
  .report-filter { grid-template-columns: repeat(6,minmax(120px,1fr)) auto; }
  .compact-report-filter { grid-template-columns: repeat(2,minmax(160px,240px)) auto; }
  .floor-grid { grid-template-columns: repeat(4,minmax(190px,1fr)); }
  .kitchen-board { grid-template-columns: repeat(3,minmax(280px,1fr)); }
}

@media print {
  @page { size: A4; margin: 12mm; }
  .sidebar, .sidebar-backdrop, .app-bar, .mobile-nav, .receipt-actions, .print-action, .print-preview-toolbar, .report-filter, .virtual-keyboard { display: none !important; }
  body:has(.receipt-print-scope) .page > :not(.receipt-print-scope), .receipt-print-scope > :not(.receipt) { display: none !important; }
  .receipt-print-scope { display: block; }
  .shell-main { margin: 0 !important; }
  body,body.print-document { color: #000; background: #fff; font-size: 10pt; }
  .page,.print-page { width: 100%; max-width: none; margin: 0; padding: 0; }
  .receipt,.kitchen-print { width: var(--print-width,80mm); max-width: 100%; border: 0; box-shadow: none; }
  .receipt-logo { width: 22mm; height: 22mm; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .page-heading { margin-block-end: 8mm; }
  .page-heading h1 { font-size: 20pt; }
  .metric-grid { grid-template-columns: repeat(4,1fr) !important; break-inside: avoid; }
  .metric-card { min-height: 0; padding: 4mm; }
  .report-grid { display: block; }
  .report-grid > .panel,.shift-report { margin-block-end: 6mm; break-inside: avoid; }
  .report-table { overflow: visible; }
  .report-row,.tax-report .report-row,.inventory-report .report-row { min-width: 0; padding: 2.5mm 2mm; }
  .report-head { position: static; color: #000; background: #eee !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .card { border-color: #aaa; box-shadow: none !important; }
  a { color: #000; text-decoration: none; }
}
