@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=DM+Mono:ital,wght@0,400;0,500&display=swap');:root,
:root[data-theme='dark'] {
  color-scheme: dark;
  font-family: "Avenir Next", "Segoe UI", sans-serif;
  --pos-bg: #0f1728;
  --pos-bg-top: #172133;
  --pos-bg-bottom: #0b1321;
  --pos-surface: rgba(22, 31, 48, 0.86);
  --pos-surface-strong: rgba(24, 34, 53, 0.96);
  --pos-surface-soft: rgba(36, 47, 69, 0.82);
  --pos-surface-elevated: rgba(28, 39, 58, 0.92);
  --pos-surface-muted: rgba(17, 25, 40, 0.72);
  --pos-border: rgba(121, 140, 175, 0.24);
  --pos-border-strong: rgba(59, 130, 246, 0.34);
  --pos-text: #f4f7fb;
  --pos-text-muted: #b2bdd2;
  --pos-heading: #f8fbff;
  --pos-brand-start: #1fc7de;
  --pos-brand-end: #2454f4;
  --pos-accent: #2f6dff;
  --pos-accent-strong: #1a9cff;
  --pos-accent-soft: rgba(47, 109, 255, 0.16);
  --pos-cta-start: #1f5eff;
  --pos-cta-end: #1b92ff;
  --pos-success: #4ade80;
  --pos-success-soft: rgba(74, 222, 128, 0.14);
  --pos-danger: #f87171;
  --pos-shadow: 0 24px 64px rgba(3, 8, 20, 0.36);
  --pos-backdrop-blur: 18px;
}

:root[data-theme='light'] {
  color-scheme: light;
  --pos-bg: #f4efe6;
  --pos-bg-top: #faf7f1;
  --pos-bg-bottom: #f1eadf;
  --pos-surface: rgba(255, 251, 245, 0.88);
  --pos-surface-strong: rgba(255, 252, 248, 0.96);
  --pos-surface-soft: rgba(248, 243, 235, 0.9);
  --pos-surface-elevated: rgba(255, 255, 253, 0.96);
  --pos-surface-muted: rgba(245, 239, 230, 0.92);
  --pos-border: rgba(126, 109, 87, 0.14);
  --pos-border-strong: rgba(87, 118, 88, 0.28);
  --pos-text: #242522;
  --pos-text-muted: #6f716a;
  --pos-heading: #1f231f;
  --pos-brand-start: #8fa587;
  --pos-brand-end: #54705b;
  --pos-accent: #6d876d;
  --pos-accent-strong: #577456;
  --pos-accent-soft: rgba(109, 135, 109, 0.12);
  --pos-cta-start: #c98a37;
  --pos-cta-end: #d99a43;
  --pos-success: #577456;
  --pos-success-soft: rgba(87, 116, 86, 0.12);
  --pos-danger: #c46551;
  --pos-shadow: 0 20px 48px rgba(126, 109, 87, 0.12);
  --pos-backdrop-blur: 12px;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    color-scheme: light;
    --pos-bg: #f4efe6;
    --pos-bg-top: #faf7f1;
    --pos-bg-bottom: #f1eadf;
    --pos-surface: rgba(255, 251, 245, 0.88);
    --pos-surface-strong: rgba(255, 252, 248, 0.96);
    --pos-surface-soft: rgba(248, 243, 235, 0.9);
    --pos-surface-elevated: rgba(255, 255, 253, 0.96);
    --pos-surface-muted: rgba(245, 239, 230, 0.92);
    --pos-border: rgba(126, 109, 87, 0.14);
    --pos-border-strong: rgba(87, 118, 88, 0.28);
    --pos-text: #242522;
    --pos-text-muted: #6f716a;
    --pos-heading: #1f231f;
    --pos-brand-start: #8fa587;
    --pos-brand-end: #54705b;
    --pos-accent: #6d876d;
    --pos-accent-strong: #577456;
    --pos-accent-soft: rgba(109, 135, 109, 0.12);
    --pos-cta-start: #c98a37;
    --pos-cta-end: #d99a43;
    --pos-success: #577456;
    --pos-success-soft: rgba(87, 116, 86, 0.12);
    --pos-danger: #c46551;
    --pos-shadow: 0 20px 48px rgba(126, 109, 87, 0.12);
    --pos-backdrop-blur: 12px;
  }
}

* {
  box-sizing: border-box;
}

html,
body,
#root {
  min-height: 100%;
}

body {
  margin: 0;
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--pos-brand-start) 18%, transparent), transparent 28%),
    radial-gradient(circle at top right, color-mix(in srgb, var(--pos-brand-end) 16%, transparent), transparent 24%),
    linear-gradient(180deg, var(--pos-bg-top) 0%, var(--pos-bg) 48%, var(--pos-bg-bottom) 100%);
  color: var(--pos-text);
}

button,
input {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

.pos-startup-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  display: grid;
  grid-template-rows: auto 1fr;
}

.pos-startup-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 82%, transparent);
  backdrop-filter: blur(var(--pos-backdrop-blur));
}

.pos-startup-topbar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pos-startup-layout {
  min-height: 0;
}

.pos-startup-shell.is-signed-out .pos-startup-layout {
  display: block;
}

.pos-startup-shell.is-authenticated .pos-startup-layout {
  display: grid;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  min-height: 0;
}

.pos-startup-rail {
  padding: 20px 18px 24px;
  border-right: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-muted) 92%, transparent);
  overflow: auto;
}

.pos-startup-main {
  min-height: 0;
  overflow: auto;
  padding: 16px 20px 22px;
}

.pos-startup-shell.is-signed-out .pos-startup-main {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  padding: 12px 20px 18px;
}

.pos-startup-stage-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.pos-stage-body--startup {
  margin-top: 10px;
}

.pos-app-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
}

.pos-terminal-app-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  display: grid;
  grid-template-rows: auto 1fr;
  color-scheme: light;
  --pos-bg: #f4efe6;
  --pos-bg-top: #faf7f1;
  --pos-bg-bottom: #f1eadf;
  --pos-surface: rgba(255, 251, 245, 0.9);
  --pos-surface-strong: rgba(255, 252, 248, 0.98);
  --pos-surface-soft: rgba(248, 243, 235, 0.94);
  --pos-surface-elevated: rgba(255, 255, 253, 0.98);
  --pos-surface-muted: rgba(245, 239, 230, 0.94);
  --pos-border: rgba(126, 109, 87, 0.14);
  --pos-border-strong: rgba(87, 118, 88, 0.28);
  --pos-text: #242522;
  --pos-text-muted: #6f716a;
  --pos-heading: #1f231f;
  --pos-brand-start: #8fa587;
  --pos-brand-end: #54705b;
  --pos-accent: #6d876d;
  --pos-accent-strong: #577456;
  --pos-accent-soft: rgba(109, 135, 109, 0.12);
  --pos-cta-start: #c98a37;
  --pos-cta-end: #d99a43;
  --pos-success: #577456;
  --pos-success-soft: rgba(87, 116, 86, 0.12);
  --pos-danger: #c46551;
  --pos-shadow: 0 20px 48px rgba(126, 109, 87, 0.12);
  --pos-backdrop-blur: 12px;
  background:
    radial-gradient(circle at top center, rgba(201, 174, 137, 0.08), transparent 30%),
    linear-gradient(180deg, var(--pos-bg-top) 0%, var(--pos-bg) 52%, var(--pos-bg-bottom) 100%);
  color: var(--pos-text);
}

.pos-terminal-app-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 94%, transparent);
  backdrop-filter: blur(var(--pos-backdrop-blur));
}

.pos-terminal-app-topbar__identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.pos-terminal-app-topbar__outlet {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-right: 18px;
  border-right: 1px solid var(--pos-border);
}

.pos-terminal-app-topbar__outlet strong {
  font-size: 1.05rem;
  color: var(--pos-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pos-terminal-app-mark {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--pos-brand-start), var(--pos-brand-end));
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.pos-terminal-app-main {
  min-height: 0;
  overflow: auto;
  padding: 16px 20px 18px;
}

.pos-side-rail {
  padding: 24px 18px;
  border-right: 1px solid var(--pos-border);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent), color-mix(in srgb, var(--pos-surface-muted) 94%, transparent));
  backdrop-filter: blur(var(--pos-backdrop-blur));
}

.pos-brand-block,
.pos-feature-header,
.pos-rail-card-header,
.pos-badge-with-icon,
.pos-status-value.with-icon,
.pos-context-pill,
.pos-checklist-row,
.pos-detail-list > div,
.pos-search-field,
.pos-product-footer,
.pos-card-heading,
.pos-choice-topline,
.pos-line-controls,
.pos-action-row,
.pos-hero-metrics,
.pos-line-total {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pos-theme-toggle {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 84%, transparent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.pos-theme-toggle__button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--pos-text-muted);
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.pos-theme-toggle__button:hover {
  color: var(--pos-text);
}

.pos-theme-toggle__button.is-selected {
  background: color-mix(in srgb, var(--pos-accent-soft) 92%, var(--pos-surface-elevated));
  color: var(--pos-text);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pos-accent) 22%, transparent);
}

.pos-brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 700;
  background: linear-gradient(135deg, var(--pos-brand-start), var(--pos-brand-end));
  color: #f8fbff;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pos-brand-end) 22%, transparent);
}

.pos-eyebrow,
.pos-kicker,
.pos-surface-label,
.pos-status-label,
.pos-product-category {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pos-text-muted);
}

.pos-brand-title,
.pos-stage-title,
.pos-card h3,
.pos-product-card h4 {
  margin: 0;
  color: var(--pos-heading);
}

.pos-brand-title {
  font-size: 1.1rem;
}

.pos-nav {
  display: grid;
  gap: 8px;
  margin: 28px 0;
}

.pos-nav-link {
  padding: 12px 14px;
  border-radius: 14px;
  color: var(--pos-text-muted);
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
  border: 1px solid transparent;
}

.pos-nav-link.is-active,
.pos-nav-link:hover {
  color: var(--pos-text);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
  border-color: var(--pos-border);
}

.pos-rail-card,
.pos-card,
.pos-status-card,
.pos-choice-card,
.pos-product-card,
.pos-surface-card {
  border: 1px solid var(--pos-border);
  border-radius: 22px;
  background: var(--pos-surface);
  box-shadow: var(--pos-shadow);
}

.pos-rail-card {
  padding: 16px;
  margin-top: 14px;
}

.pos-rail-card-muted {
  background: var(--pos-surface-muted);
}

.pos-rail-list,
.pos-note-list,
.pos-screen-grid,
.pos-choice-grid,
.pos-detail-surface,
.pos-surface-card-grid,
.pos-product-grid,
.pos-basket-lines,
.pos-total-stack,
.pos-checklist {
  display: grid;
  gap: 12px;
}

.pos-rail-list-row,
.pos-stat-pair,
.pos-total-row,
.pos-basket-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.pos-note-list {
  margin: 0;
  padding-left: 18px;
  color: var(--pos-text-muted);
}

.pos-main-stage {
  padding: 22px 24px 26px;
}

.pos-command-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 18px;
}

.pos-stage-title {
  font-size: clamp(1.8rem, 2.6vw, 2.5rem);
}

.pos-stage-description {
  max-width: 860px;
  color: var(--pos-text-muted);
  margin: 8px 0 0;
}

.pos-context-cluster,
.pos-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pos-context-pill,
.pos-chip,
.pos-choice-pill,
.pos-badge-with-icon {
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
  color: var(--pos-text-muted);
}

.pos-app-shell--startup .pos-side-rail {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent), color-mix(in srgb, var(--pos-surface-muted) 94%, transparent));
}

.pos-app-shell--startup .pos-main-stage {
  padding-top: 28px;
}

.pos-side-rail--terminal {
  padding: 14px 10px 18px;
}

.pos-nav--terminal {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.pos-nav--terminal .pos-nav-link {
  min-height: 68px;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 10px 8px;
  font-size: 0.78rem;
  text-align: center;
}

.pos-nav--startup {
  margin-top: 0;
  margin-bottom: 18px;
}

.pos-chip,
.pos-choice-card,
.pos-product-card,
.pos-button,
.pos-line-controls button {
  cursor: pointer;
}

.pos-chip.is-selected,
.pos-choice-card.is-selected {
  border-color: color-mix(in srgb, var(--pos-accent) 40%, transparent);
  background: var(--pos-accent-soft);
  color: var(--pos-text);
}

.pos-status-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.pos-status-card {
  padding: 14px 16px;
}

.pos-status-value {
  margin-top: 8px;
  font-size: 1rem;
  font-weight: 600;
}

.pos-stage-body {
  margin-top: 18px;
}

.pos-stage-body--terminal {
  margin-top: 0;
}

.pos-command-header--terminal {
  padding-bottom: 12px;
}

.pos-screen-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.pos-screen-grid--launch > .pos-card--hero,
.pos-screen-grid--result > .pos-card--hero,
.pos-screen-grid--recovery > .pos-card--hero,
.pos-screen-grid--binding > .pos-card--stack,
.pos-screen-grid--shift > .pos-card--stack {
  grid-column: span 8;
}

.pos-screen-grid--launch > .pos-card--summary,
.pos-screen-grid--binding > .pos-card--detail,
.pos-screen-grid--shift > .pos-card--detail,
.pos-screen-grid--result > .pos-card--detail,
.pos-screen-grid--recovery > .pos-card--detail {
  grid-column: span 4;
}

.pos-screen-grid--launch > .pos-card,
.pos-screen-grid--result > .pos-card,
.pos-screen-grid--recovery > .pos-card {
  grid-column: span 4;
}

.pos-screen-grid--service > .pos-card--hero,
.pos-screen-grid--service-locations > .pos-card--detail:first-child,
.pos-screen-grid--catering > .pos-card--hero {
  grid-column: span 7;
}

.pos-screen-grid--service > .pos-card--detail,
.pos-screen-grid--service-locations > .pos-card--detail:last-child,
.pos-screen-grid--catering > .pos-card--detail {
  grid-column: span 5;
}

.pos-card {
  padding: 20px;
}

.pos-card--hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pos-accent-soft) 90%, transparent), color-mix(in srgb, var(--pos-surface-elevated) 76%, transparent)),
    var(--pos-surface-strong);
}

.pos-card--notice {
  border-color: var(--pos-border-strong);
}

.pos-card p,
.pos-choice-card p,
.pos-product-card p,
.pos-surface-card span,
.pos-empty-state p {
  color: var(--pos-text-muted);
  margin: 0;
}

.pos-section-intro,
.pos-startup-panel-heading,
.pos-action-bar {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.pos-section-intro-aside {
  display: flex;
  align-items: center;
}

.pos-auth-panel,
.pos-state-panel,
.pos-metric-card,
.pos-startup-summary-list,
.pos-startup-checklist,
.pos-startup-signin-grid {
  display: grid;
  gap: 14px;
}

.pos-action-row {
  flex-wrap: wrap;
  margin-top: 18px;
}

.pos-action-bar {
  flex-wrap: wrap;
  margin-top: 18px;
}

.pos-button {
  border: 0;
  border-radius: 16px;
  min-height: 52px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 160ms ease, opacity 160ms ease, background-color 160ms ease;
}

.pos-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.pos-button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.pos-button--primary {
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
  font-weight: 700;
}

.pos-button--secondary {
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
  color: var(--pos-text);
  border: 1px solid var(--pos-border);
}

.pos-button--ghost {
  background: transparent;
  color: var(--pos-text-muted);
  border: 1px solid var(--pos-border);
}

.pos-button--block {
  width: 100%;
}

.pos-auth-panel {
  margin-top: 18px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-state-panel {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-state-panel--error {
  border-color: var(--pos-border-strong);
  background: rgba(248, 113, 113, 0.1);
}

.pos-preview-badge,
.pos-service-close-alert {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-accent) 28%, var(--pos-border));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--pos-accent-soft) 88%, rgba(255, 255, 255, 0.02)), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.02);
  color: var(--pos-text);
}

.pos-preview-badge__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.pos-preview-badge__header strong,
.pos-preview-badge__header span {
  display: block;
}

.pos-preview-badge__header span,
.pos-preview-badge p {
  color: var(--pos-text-muted);
}

.pos-metric-card {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-metric-card strong {
  color: var(--pos-text);
  font-size: 1.1rem;
}

.pos-metric-card span:last-child {
  color: var(--pos-text-muted);
}

.pos-terminal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
  gap: 16px;
}

.pos-terminal-sidebar {
  display: grid;
  gap: 16px;
}

.pos-workspace-hero {
  padding: 18px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.pos-terminal-shell {
  display: grid;
  gap: 12px;
  --pos-terminal-accent: var(--pos-accent);
  --pos-terminal-accent-strong: var(--pos-accent-strong);
  --pos-terminal-accent-soft: var(--pos-accent-soft);
}

.pos-terminal-shell--cool {
  --pos-terminal-accent: #38bdf8;
  --pos-terminal-accent-strong: #0ea5e9;
  --pos-terminal-accent-soft: rgba(56, 189, 248, 0.14);
}

.pos-terminal-shell--warm {
  --pos-terminal-accent: var(--pos-accent);
  --pos-terminal-accent-strong: var(--pos-accent-strong);
  --pos-terminal-accent-soft: var(--pos-accent-soft);
}

.pos-terminal-topbar,
.pos-terminal-topbar__cluster,
.pos-terminal-topbar__actions,
.pos-terminal-discovery-card,
.pos-terminal-discovery-panel,
.pos-terminal-basket-column,
.pos-terminal-discovery-toolbar,
.pos-terminal-toolbar-actions,
.pos-terminal-status-bar,
.pos-terminal-status-bar__items,
.pos-terminal-status-bar__time,
.pos-terminal-mobile-sheet-panel,
.pos-terminal-mobile-sheet-header {
  display: grid;
  gap: 14px;
}

.pos-terminal-topbar {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  padding: 0;
}

.pos-terminal-topbar__cluster {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
}

.pos-terminal-topbar__actions {
  grid-auto-flow: column;
  align-items: center;
  justify-content: end;
  gap: 10px;
}

.pos-terminal-topbar__item {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 0 18px;
  border-left: 1px solid var(--pos-border);
}

.pos-terminal-topbar__item:first-child {
  border-left: 0;
  padding-left: 0;
}

.pos-terminal-topbar__label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pos-text-muted);
}

.pos-terminal-topbar__item strong {
  font-size: 0.96rem;
  font-weight: 700;
  color: var(--pos-heading);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pos-terminal-topbar__icon-button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--pos-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 92%, transparent);
  color: var(--pos-text-muted);
}

.pos-terminal-topbar__meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-context-pill--subtle {
  opacity: 0.86;
}

.pos-terminal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.86fr) minmax(340px, 0.9fr);
  grid-template-areas: "discovery basket";
  gap: 16px;
  align-items: start;
}

.pos-terminal-discovery-panel {
  grid-area: discovery;
}

.pos-terminal-basket-column {
  grid-area: basket;
}

.pos-terminal-basket-column {
  align-self: start;
}

.pos-terminal-discovery-card,
.pos-terminal-basket-panel {
  padding: 16px;
  border-radius: 24px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
}

.pos-terminal-discovery-toolbar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.pos-terminal-search-field,
.pos-terminal-customer-field {
  min-height: 58px;
  border-radius: 18px;
}

.pos-terminal-toolbar-actions {
  grid-auto-flow: column;
  align-items: center;
  gap: 10px;
}

.pos-terminal-toolbar-button {
  min-height: 58px;
  min-width: 58px;
  border-radius: 18px;
}

.pos-terminal-category-bar {
  --pos-category-chip-height: 44px;
  --pos-category-chip-gap: 11px;
  --pos-category-chip-radius: 15px;
  --pos-category-chip-pad-x: 16px;
  --pos-category-inactive-bg: #fffdf8;
  --pos-category-inactive-border: #e6ded3;
  --pos-category-inactive-text: #3f4348;
  --pos-category-active-bg: #e8f1e4;
  --pos-category-active-border: #b7c8b4;
  --pos-category-active-text: #35533b;

  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  margin-bottom: 2px;
}

.pos-terminal-category-bar__scroll {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--pos-category-chip-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--pos-category-chip-height);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 1px 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  touch-action: pan-x;
}

.pos-terminal-category-bar__scroll::-webkit-scrollbar {
  display: none;
}

.pos-terminal-category-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: var(--pos-category-chip-height);
  min-height: var(--pos-category-chip-height);
  padding: 0 var(--pos-category-chip-pad-x);
  border-radius: var(--pos-category-chip-radius);
  border: 1px solid var(--pos-category-inactive-border);
  background: var(--pos-category-inactive-bg);
  color: var(--pos-category-inactive-text);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.01em;
  flex: 0 0 auto;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    color 140ms ease,
    box-shadow 140ms ease;
}

.pos-terminal-category-chip.is-active {
  background: var(--pos-category-active-bg);
  border-color: var(--pos-category-active-border);
  color: var(--pos-category-active-text);
  font-weight: 600;
  box-shadow: none;
}

.pos-terminal-category-chip__icon {
  flex-shrink: 0;
  color: currentColor;
  opacity: 0.88;
}

.pos-terminal-category-chip.is-active .pos-terminal-category-chip__icon {
  opacity: 1;
}

.pos-terminal-category-chip__label {
  display: inline-block;
}

.pos-terminal-category-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: thin;
}

.pos-terminal-category-row--single-line {
  flex-wrap: nowrap;
  align-items: center;
  min-height: 44px;
  max-height: 48px;
}

.pos-terminal-category-row--single-line .pos-terminal-category-tab {
  flex: 0 0 auto;
}

.pos-terminal-category-tab.is-selected,
.pos-terminal-product-card.pos-product-card:hover,
.pos-terminal-product-card:focus-visible {
  transform: none;
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 38%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 85%, rgba(255, 255, 255, 0.03));
}

.pos-terminal-category-tab.is-selected {
  color: var(--pos-accent-strong);
}

.pos-terminal-action-bar {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.pos-terminal-context-stack {
  display: grid;
  gap: 10px;
}

.pos-terminal-sale-context-row {
  flex-wrap: wrap;
}

.pos-terminal-context-field select {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--pos-text);
}

.pos-terminal-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}

.pos-terminal-action-status {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.pos-terminal-action-link {
  min-height: 44px;
  padding: 0 14px;
}

.pos-terminal-product-grid {
  grid-template-columns: repeat(auto-fill, 188px);
  grid-auto-rows: 228px;
  width: 100%;
  justify-content: start;
  align-items: stretch;
  align-content: start;
}

.pos-terminal-product-grid--compact {
  grid-template-columns: repeat(auto-fill, 150px);
  grid-auto-rows: 144px;
  width: 100%;
  justify-content: start;
  align-items: stretch;
  align-content: start;
}

.pos-terminal-product-grid--image,
.pos-terminal-product-grid--hybrid {
  grid-template-columns: repeat(auto-fill, 188px);
  grid-auto-rows: 228px;
  width: 100%;
  justify-content: start;
  align-items: stretch;
  align-content: start;
}

.pos-terminal-product-grid--description {
  grid-template-columns: repeat(auto-fill, 180px);
  grid-auto-rows: 172px;
  width: 100%;
  justify-content: start;
  align-items: stretch;
  align-content: start;
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-grid--hybrid,
.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-grid--image {
  grid-template-columns: repeat(auto-fill, 170px);
  grid-auto-rows: 206px;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-product-grid--compact,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-product-grid--compact {
  grid-template-columns: repeat(auto-fill, 146px);
  grid-auto-rows: 140px;
}

.pos-terminal-discovery-card .pos-preview-badge {
  margin-bottom: 2px;
}

.pos-terminal-product-sections {
  display: grid;
  gap: 18px;
  align-content: start;
  justify-items: stretch;
}

.pos-terminal-product-sections--all {
  gap: 0;
}

.pos-terminal-product-section {
  display: grid;
  gap: 12px;
  min-height: 0;
  align-content: start;
  justify-items: stretch;
  width: 100%;
}

.pos-terminal-product-grid--all {
  width: 100%;
  align-content: start;
}

.pos-terminal-product-section__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  width: 100%;
}

.pos-terminal-product-section__header h3 {
  margin: 0;
  font-size: 1.05rem;
  color: var(--pos-heading);
}

.pos-terminal-product-section__header span {
  color: var(--pos-accent-strong);
  font-size: 0.95rem;
}

.pos-terminal-product-card {
  position: relative;
  min-height: 0;
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--pos-surface-strong) 98%, transparent);
  transition: transform 140ms ease, border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.pos-terminal-product-card:active:not(:disabled) {
  transform: translateY(1px);
}

.pos-terminal-product-card:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.pos-terminal-product-card--low {
  border-color: rgba(201, 138, 55, 0.22);
}

.pos-terminal-product-card--unavailable {
  border-color: rgba(196, 101, 81, 0.22);
}

.pos-terminal-product-card--compact {
  width: 150px;
  max-width: 150px;
  height: 144px;
  min-height: 144px;
  max-height: 144px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 10px;
  overflow: hidden;
}

.pos-terminal-product-card--image,
.pos-terminal-product-card--hybrid {
  width: 188px;
  max-width: 188px;
  height: 228px;
  min-height: 228px;
  max-height: 228px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 0 0 12px;
  overflow: hidden;
}

.pos-terminal-product-card--description {
  width: 180px;
  max-width: 180px;
  height: 172px;
  min-height: 172px;
  max-height: 172px;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: 12px;
  overflow: hidden;
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-card--hybrid,
.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-card--image {
  width: 170px;
  max-width: 170px;
  height: 206px;
  min-height: 206px;
  max-height: 206px;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-product-card--compact,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-product-card--compact {
  width: 146px;
  max-width: 146px;
  height: 140px;
  min-height: 140px;
  max-height: 140px;
}

.pos-terminal-product-topline,
.pos-terminal-product-footer,
.pos-terminal-basket-line-main,
.pos-terminal-basket-line-actions,
.pos-terminal-paybar,
.pos-terminal-mobile-paybar,
.pos-terminal-mobile-sheet {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pos-terminal-product-topline,
.pos-terminal-product-footer,
.pos-terminal-basket-line-main,
.pos-terminal-basket-line-actions,
.pos-terminal-paybar {
  justify-content: space-between;
}

.pos-terminal-product-body {
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
  padding: 0;
  min-height: 0;
  min-width: 0;
  overflow: visible;
  align-content: start;
}

.pos-terminal-product-card--image .pos-terminal-product-body,
.pos-terminal-product-card--hybrid .pos-terminal-product-body {
  padding: 0 12px 4px;
  min-height: 0;
}

.pos-terminal-product-card--compact .pos-terminal-product-body,
.pos-terminal-product-card--description .pos-terminal-product-body {
  padding: 0;
  min-height: 0;
}

.pos-terminal-product-body h4,
.pos-terminal-product-title {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.24;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: calc(1.24em * 2);
  white-space: normal;
  text-overflow: initial;
}

.pos-terminal-product-card--compact .pos-terminal-product-body h4,
.pos-terminal-product-card--compact .pos-terminal-product-title {
  font-size: 0.92rem;
  -webkit-line-clamp: 2;
}

.pos-terminal-product-card--image .pos-terminal-product-body h4,
.pos-terminal-product-card--hybrid .pos-terminal-product-body h4,
.pos-terminal-product-card--image .pos-terminal-product-title,
.pos-terminal-product-card--hybrid .pos-terminal-product-title {
  -webkit-line-clamp: 2;
}

.pos-terminal-product-card--description .pos-terminal-product-body h4,
.pos-terminal-product-card--description .pos-terminal-product-title {
  -webkit-line-clamp: 2;
}

.pos-terminal-product-body p,
.pos-terminal-product-description {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pos-terminal-product-description--compact {
  -webkit-line-clamp: 1;
}

.pos-terminal-product-card--image .pos-terminal-product-description,
.pos-terminal-product-card--hybrid .pos-terminal-product-description {
  -webkit-line-clamp: 1;
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-description,
.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-product-description,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-product-description {
  display: none;
}

.pos-terminal-product-media {
  position: relative;
  min-height: 78px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--pos-accent-soft) 90%, #fff), transparent 45%),
    linear-gradient(135deg, rgba(123, 156, 120, 0.28), rgba(227, 216, 198, 0.18));
}

.pos-terminal-product-media--hero {
  min-height: 84px;
  max-height: 84px;
}

.pos-terminal-product-media--summary {
  min-height: 64px;
  max-height: 64px;
  border-radius: 14px;
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-media--summary,
.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-media--hero {
  min-height: 76px;
  max-height: 76px;
}

.pos-terminal-product-media--compact-card {
  min-height: 52px;
  max-height: 52px;
  border-radius: 14px;
  margin: 0 0 2px;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-product-media--compact-card,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-product-media--compact-card {
  min-height: 48px;
  max-height: 48px;
}

.pos-terminal-product-grid > .pos-terminal-product-card {
  align-self: start;
}

.pos-terminal-product-media__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pos-terminal-product-media__initials {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--pos-accent-strong);
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 10px 24px rgba(126, 109, 87, 0.12);
}

.pos-terminal-product-status-pills {
  position: absolute;
  right: 6px;
  bottom: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  max-width: calc(100% - 12px);
  pointer-events: none;
}

.pos-terminal-product-card--compact > .pos-terminal-product-status-pills {
  right: 8px;
  bottom: 8px;
  z-index: 1;
}

.pos-terminal-availability {
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 0.7rem;
  border: 1px solid var(--pos-border);
}

.pos-terminal-availability--pill {
  padding: 2px 6px;
  font-size: 0.62rem;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 2px 8px rgba(58, 47, 38, 0.1);
  backdrop-filter: blur(6px);
}

.pos-terminal-product-topline {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 6px;
}

.pos-terminal-product-footer {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  padding: 0 12px;
  min-height: 28px;
  margin-top: auto;
  align-items: flex-end;
  flex-shrink: 0;
}

.pos-terminal-product-card--image .pos-terminal-product-footer,
.pos-terminal-product-card--hybrid .pos-terminal-product-footer {
  padding: 0 12px;
}

.pos-terminal-product-card--compact .pos-terminal-product-footer,
.pos-terminal-product-card--description .pos-terminal-product-footer {
  padding: 0;
}

.pos-terminal-product-price strong {
  font-size: 1rem;
  color: var(--pos-heading);
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-product-price strong,
.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-product-price strong,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-product-price strong {
  font-size: 0.92rem;
}

.pos-terminal-availability--ready {
  color: var(--pos-badge-text, var(--pos-accent-strong));
  border-color: var(--pos-badge-border, rgba(87, 116, 86, 0.2));
  background: var(--pos-badge-bg, rgba(87, 116, 86, 0.08));
}

.pos-terminal-availability--options {
  color: var(--pos-accent-strong);
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 24%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 72%, transparent);
}

.pos-terminal-availability--required {
  color: #a16207;
  border-color: rgba(217, 154, 67, 0.34);
  background: rgba(217, 154, 67, 0.12);
}

.pos-terminal-availability--low {
  color: #b07a2f;
  border-color: rgba(201, 138, 55, 0.24);
  background: rgba(201, 138, 55, 0.1);
}

.pos-terminal-availability--unavailable {
  color: #b55d4b;
  border-color: rgba(196, 101, 81, 0.22);
  background: rgba(196, 101, 81, 0.08);
}

.pos-terminal-product-price {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.pos-terminal-product-price strong {
  color: var(--pos-heading);
}

.pos-terminal-basket-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  gap: 0;
  overflow: hidden;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-basket-panel,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-basket-panel {
  padding: 12px;
  border-radius: 20px;
}

.pos-terminal-basket-panel__header {
  flex-shrink: 0;
  display: grid;
  gap: 10px;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-basket-panel__header,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-basket-panel__header {
  gap: 8px;
}

.pos-terminal-basket-panel__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pos-terminal-basket-panel__footer {
  flex-shrink: 0;
  display: grid;
  gap: 8px;
}

.pos-terminal-basket-heading-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pos-terminal-basket-utility,
.pos-terminal-basket-icon-button {
  min-height: 42px;
}

.pos-terminal-basket-icon-button {
  min-width: 42px;
  padding: 0;
}

.pos-terminal-basket-panel .pos-card-heading h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.1;
  white-space: nowrap;
}

.pos-terminal-basket-lines-shell {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pos-terminal-basket-scroll {
  display: grid;
  gap: 10px;
  align-content: start;
  overflow: auto;
}

.pos-terminal-basket-lines {
  display: grid;
  gap: 0;
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}

.pos-terminal-basket-line {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  grid-template-areas: 'qty info price controls';
  column-gap: 10px;
  row-gap: 4px;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--pos-border) 72%, transparent);
  border-radius: 0;
  background: transparent;
}

.pos-terminal-basket-line--stacked {
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-areas:
    'qty info'
    'qty price'
    'qty controls';
  row-gap: 6px;
}

.pos-terminal-basket-quantity-badge {
  grid-area: qty;
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-bottom: 0;
  border-radius: 7px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 82%, transparent);
  color: var(--pos-heading);
  font-weight: 700;
  font-size: 0.78rem;
  align-self: start;
  margin-top: 1px;
}

.pos-terminal-basket-line-info {
  grid-area: info;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}

.pos-terminal-basket-line-title {
  display: block;
  width: 100%;
  min-width: 0;
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.25;
  color: var(--pos-heading);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pos-terminal-basket-line-meta {
  display: block;
  width: 100%;
  min-width: 0;
  color: var(--pos-text-muted);
  font-size: 0.76rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre-line;
}

.pos-terminal-basket-line-price {
  grid-area: price;
  justify-self: end;
  align-self: start;
  margin-top: 1px;
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.25;
  color: var(--pos-heading);
  white-space: nowrap;
}

.pos-terminal-basket-line--stacked .pos-terminal-basket-line-price {
  justify-self: start;
}

.pos-terminal-basket-line-controls {
  grid-area: controls;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
}

.pos-terminal-basket-line-controls--stacked {
  justify-self: start;
  flex-wrap: wrap;
}

.pos-terminal-basket-line-copy {
  min-width: 0;
}

.pos-terminal-basket-line-copy p {
  margin: 2px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.pos-terminal-basket-line-actions {
  position: relative;
  z-index: 2;
  justify-content: space-between;
  margin-top: 0;
  padding-left: 30px;
  align-items: center;
}

.pos-terminal-basket-line-main {
  align-items: start;
}

.pos-terminal-basket-line-leading {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.pos-terminal-basket-line-leading strong,
.pos-terminal-basket-line-total {
  color: var(--pos-heading);
  line-height: 1.2;
}

.pos-terminal-basket-line-leading strong {
  font-size: 0.95rem;
}

.pos-terminal-basket-line-total {
  font-size: 0.92rem;
  white-space: nowrap;
}

.pos-terminal-basket-line-detail {
  padding-left: 30px;
}

.pos-terminal-basket-line-detail p {
  white-space: pre-line;
}

.pos-terminal-line-tools {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.pos-terminal-sale-tools {
  display: flex;
  justify-content: flex-start;
}

.pos-terminal-basket-footer {
  display: grid;
  gap: 10px;
}

.pos-terminal-payment-summary {
  display: grid;
  gap: 8px;
  padding: 12px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 70%, transparent);
  background: transparent;
}

.pos-terminal-recovery-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--pos-accent) 22%, var(--pos-border));
  border-radius: 18px;
  background: color-mix(in srgb, var(--pos-accent-soft) 82%, var(--pos-surface-soft));
}

.pos-terminal-recovery-banner__copy {
  display: grid;
  gap: 3px;
}

.pos-terminal-recovery-banner__copy p {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.9rem;
}

.pos-terminal-recovery-banner__actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.pos-terminal-basket-panel .pos-empty-state {
  padding: 12px 0;
  border-radius: 18px;
}

.pos-terminal-basket-panel .pos-empty-state strong {
  font-size: 1rem;
}

.pos-terminal-basket-panel .pos-empty-state p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
}

.pos-terminal-inline-remove {
  border: 1px solid var(--pos-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text-muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  white-space: nowrap;
}

.pos-terminal-inline-edit {
  border: 0;
  background: transparent;
  color: var(--pos-accent-strong);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  font-weight: 700;
}

.pos-terminal-total-stack {
  gap: 6px;
}

.pos-terminal-payment-panel {
  gap: 8px;
}

.pos-terminal-payment-panel__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.pos-terminal-payment-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-terminal-payment-hint strong {
  color: var(--pos-heading);
  font-size: 0.95rem;
}

.pos-terminal-paybar {
  display: grid;
  gap: 8px;
  margin-top: 0;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 70%, transparent);
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-paybar,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-paybar {
  gap: 6px;
  padding-top: 6px;
}

.pos-terminal-paybar-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pos-terminal-pay-button {
  width: 100%;
  min-height: 56px;
  justify-content: space-between;
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  box-shadow: 0 14px 28px rgba(201, 138, 55, 0.22);
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-pay-button,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-pay-button {
  min-height: 50px;
}

.pos-terminal-pay-button strong {
  font-size: 1rem;
}

.pos-terminal-line-controls {
  gap: 6px;
}

.pos-terminal-line-controls button {
  width: 24px;
  height: 24px;
  border-radius: 8px;
}

.pos-terminal-line-controls span {
  min-width: 10px;
  text-align: center;
  font-size: 0.84rem;
  color: var(--pos-heading);
}

.pos-total-row {
  min-height: 20px;
}

.pos-total-row span,
.pos-total-row strong {
  font-size: 0.88rem;
}

.pos-total-row--emphasis span {
  color: var(--pos-heading);
  font-weight: 700;
}

.pos-total-row--emphasis strong {
  font-size: 1.55rem;
  line-height: 1;
}

.pos-terminal-empty-state strong {
  color: var(--pos-text);
}

.pos-terminal-status-bar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 12px 14px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 94%, transparent);
  position: sticky;
  bottom: 0;
  z-index: 2;
}

.pos-terminal-status-bar__items {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: center;
  justify-content: start;
}

.pos-terminal-status-bar__time {
  grid-auto-flow: column;
  align-items: center;
  justify-content: end;
}

.pos-terminal-mobile-summary-button,
.pos-terminal-mobile-paybar,
.pos-terminal-mobile-sheet,
.pos-terminal-mobile-basket-trigger {
  display: none;
}

.pos-terminal-mobile-paybar {
  position: sticky;
  bottom: 10px;
  z-index: 10;
  padding: 12px;
  border-radius: 22px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
  box-shadow: var(--pos-shadow);
  justify-content: space-between;
}

.pos-terminal-mobile-paybar .pos-button {
  flex: 1;
  min-height: 58px;
}

.pos-terminal-mobile-sheet {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
}

.pos-terminal-mobile-sheet.is-open {
  pointer-events: auto;
}

.pos-terminal-mobile-sheet-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(3, 8, 20, 0.72);
  opacity: 0;
  transition: opacity 180ms ease;
}

.pos-terminal-mobile-sheet-panel {
  position: absolute;
  inset: auto 0 0 0;
  max-height: 92vh;
  padding: 14px 14px 18px;
  border-radius: 26px 26px 0 0;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  transform: translateY(100%);
  transition: transform 180ms ease;
  overflow: auto;
}

.pos-terminal-mobile-sheet.is-open .pos-terminal-mobile-sheet-backdrop {
  opacity: 1;
}

.pos-terminal-mobile-sheet.is-open .pos-terminal-mobile-sheet-panel {
  transform: translateY(0);
}

.pos-terminal-drawer {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
}

.pos-terminal-drawer.is-open {
  pointer-events: auto;
}

.pos-terminal-drawer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 23, 40, 0.42);
}

.pos-terminal-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(460px, 100vw);
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 10px;
  padding: 16px;
  border-left: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: -16px 0 42px rgba(15, 23, 40, 0.16);
}

.pos-terminal-drawer__panel--compact {
  width: min(520px, 46vw);
  gap: 8px;
  padding: 14px 16px;
}

.pos-terminal-drawer__header,
.pos-terminal-drawer__content,
.pos-terminal-drawer__summary,
.pos-terminal-drawer__group,
.pos-terminal-drawer__field,
.pos-terminal-drawer__summary-card {
  display: grid;
  gap: 12px;
}

.pos-terminal-drawer__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pos-terminal-drawer__header h3 {
  margin: 0;
  color: var(--pos-heading);
  font-size: 1.4rem;
}

.pos-terminal-drawer__header--compact h3 {
  font-size: 1.15rem;
  line-height: 1.15;
}

.pos-terminal-drawer__subtitle {
  margin: 4px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.82rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.pos-terminal-drawer__toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--pos-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-terminal-drawer__price-qty {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.pos-terminal-drawer__price-qty--total {
  justify-items: end;
  text-align: right;
}

.pos-terminal-drawer__price-qty-label {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pos-text-muted);
}

.pos-terminal-drawer__price-qty strong {
  font-size: 0.98rem;
  color: var(--pos-heading);
}

.pos-terminal-drawer__qty-controls {
  min-height: 36px;
}

.pos-terminal-drawer__item-nav {
  display: grid;
  gap: 8px;
}

.pos-terminal-drawer__item-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.pos-terminal-drawer__item-tab {
  flex: 0 0 auto;
  min-height: 40px;
}

.pos-terminal-drawer__apply-all {
  justify-self: start;
  min-height: 40px;
  padding-inline: 12px;
}

.pos-terminal-drawer__header p {
  margin: 0;
}

.pos-terminal-drawer__close {
  min-width: 42px;
  min-height: 42px;
  padding: 0;
}

.pos-terminal-drawer__content {
  align-content: start;
  overflow: auto;
  padding-right: 4px;
  min-height: 0;
}

.pos-terminal-drawer__content--compact {
  display: grid;
  gap: 10px;
}

.pos-terminal-drawer__group {
  gap: 6px;
}

.pos-terminal-drawer__summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-drawer__quantity {
  justify-items: end;
}

.pos-terminal-drawer__group-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.pos-terminal-drawer__group-header span {
  color: var(--pos-text-muted);
  font-size: 0.85rem;
}

.pos-terminal-drawer__options {
  display: grid;
  gap: 8px;
}

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

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

.pos-terminal-drawer__options--stack {
  grid-template-columns: minmax(0, 1fr);
}

.pos-terminal-drawer__option {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  text-align: left;
}

.pos-terminal-drawer__options--grid-2 .pos-terminal-drawer__option,
.pos-terminal-drawer__options--grid-3 .pos-terminal-drawer__option {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-height: 48px;
}

.pos-terminal-drawer__options--grid-2 .pos-terminal-drawer__option strong,
.pos-terminal-drawer__options--grid-3 .pos-terminal-drawer__option strong {
  font-size: 0.78rem;
}

.pos-terminal-drawer__option span {
  min-width: 0;
  flex: 1;
}

.pos-terminal-drawer__option strong {
  font-size: 0.84rem;
  color: var(--pos-text-muted);
}

.pos-terminal-drawer__option.is-selected {
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 34%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 86%, transparent);
}

.pos-terminal-drawer__option.is-selected strong {
  color: var(--pos-heading);
}

.pos-terminal-drawer__field span {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--pos-heading);
}

.pos-terminal-drawer__field textarea {
  width: 100%;
  border: 1px solid var(--pos-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  resize: vertical;
}

.pos-terminal-drawer__field--compact {
  gap: 6px;
}

.pos-terminal-drawer__field--compact textarea {
  min-height: 64px;
}

.pos-terminal-drawer__summary-card {
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 20%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 76%, var(--pos-surface-soft));
}

.pos-terminal-drawer__summary-card strong {
  color: var(--pos-heading);
}

.pos-terminal-drawer__footer {
  display: grid;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 72%, transparent);
}

.pos-terminal-drawer__footer--compact {
  gap: 6px;
}

.pos-terminal-drawer__footer-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.pos-terminal-drawer__footer-actions .pos-button--primary {
  justify-self: end;
}

.pos-terminal-drawer__validation {
  margin: 0;
  color: var(--pos-danger);
  font-size: 0.84rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet {
  position: fixed;
  inset: 0;
  z-index: 46;
  pointer-events: none;
}

.pos-terminal-payment-sheet.is-open {
  pointer-events: auto;
}

.pos-terminal-payment-sheet__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 23, 40, 0.48);
}

.pos-terminal-payment-sheet__panel {
  position: absolute;
  inset: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--pos-border);
  border-radius: 28px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: var(--pos-shadow);
  max-height: calc(100dvh - 36px);
  overflow: hidden;
}

.pos-terminal-payment-sheet__header,
.pos-terminal-payment-sheet__layout,
.pos-terminal-payment-sheet__summary,
.pos-terminal-payment-sheet__main,
.pos-terminal-payment-sheet__tenders,
.pos-terminal-payment-sheet__tender-panel,
.pos-terminal-payment-sheet__body,
.pos-terminal-payment-sheet__line-list,
.pos-terminal-payment-sheet__field-grid {
  display: grid;
  gap: 12px;
}

.pos-terminal-payment-sheet__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pos-terminal-payment-sheet__header h3,
.pos-terminal-payment-sheet__panel-header h3,
.pos-terminal-payment-sheet__sale-card h3 {
  margin: 0;
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__header p,
.pos-terminal-payment-sheet__panel-header p,
.pos-terminal-payment-sheet__sale-card p {
  margin: 0;
}

.pos-terminal-payment-sheet__close {
  min-width: 42px;
  min-height: 42px;
  padding: 0;
}

.pos-terminal-payment-sheet__layout {
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.pos-terminal-payment-sheet__cash-stage {
  display: grid;
  gap: 10px;
  flex: 0 0 auto;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__layout {
  flex: 0 0 auto;
  overflow: visible;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__summary {
  max-height: min(24vh, 200px);
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__main {
  gap: 8px;
}

.pos-terminal-payment-sheet__other-payment-options {
  border: 1px dashed var(--pos-border);
  border-radius: 14px;
  padding: 8px 12px;
  background: color-mix(in srgb, var(--pos-surface-soft) 72%, transparent);
}

.pos-terminal-payment-sheet__other-payment-options summary {
  cursor: pointer;
  color: var(--pos-text-muted);
  font-size: 0.82rem;
  font-weight: 600;
  list-style: none;
}

.pos-terminal-payment-sheet__other-payment-options summary::-webkit-details-marker {
  display: none;
}

.pos-terminal-payment-sheet__other-payment-options[open] summary {
  margin-bottom: 8px;
}

.pos-terminal-payment-sheet__tenders--inline {
  flex: 0 0 auto;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__tenders--inline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__tender {
  min-height: 44px;
  padding: 8px 10px;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__header .pos-kicker {
  display: none;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__status-badges {
  margin-top: 4px;
}

.pos-terminal-payment-sheet--cash-active .pos-terminal-payment-sheet__footer {
  flex: 0 0 auto;
  margin-top: auto;
}

.pos-terminal-payment-sheet__summary,
.pos-terminal-payment-sheet__main,
.pos-terminal-payment-sheet__tender-panel {
  min-height: 0;
}

.pos-terminal-payment-sheet__sale-card,
.pos-terminal-payment-sheet__tender-panel {
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 92%, transparent);
}

.pos-terminal-payment-sheet__sale-card h3 {
  font-size: 2rem;
  line-height: 1;
}

.pos-terminal-payment-sheet__line-list {
  align-content: start;
  padding: 12px 16px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-payment-sheet__line {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--pos-border) 72%, transparent);
}

.pos-terminal-payment-sheet__line:last-child {
  border-bottom: 0;
}

.pos-terminal-payment-sheet__line strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__line p,
.pos-terminal-payment-sheet__more-lines {
  color: var(--pos-text-muted);
  font-size: 0.86rem;
}

.pos-terminal-payment-sheet__tenders {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pos-terminal-payment-sheet__tender {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 72px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  text-align: left;
}

.pos-terminal-payment-sheet__tender.is-selected {
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 36%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 86%, transparent);
}

.pos-terminal-payment-sheet__tender:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.pos-terminal-payment-sheet__tender strong {
  display: block;
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__tender p {
  margin: 2px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__disabled-tenders {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px dashed var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 72%, transparent);
}

.pos-terminal-payment-sheet__disabled-tender-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pos-terminal-payment-sheet__panel-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
}

.pos-terminal-payment-sheet__body {
  align-content: start;
}

.pos-terminal-payment-sheet__field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pos-terminal-payment-sheet__field-grid .pos-search-field {
  min-height: 56px;
  display: grid;
  gap: 6px;
  align-items: center;
}

.pos-terminal-payment-sheet__field-grid .pos-search-field span {
  font-size: 0.8rem;
  color: var(--pos-text-muted);
}

.pos-terminal-payment-sheet__field-grid input {
  border: 0;
  background: transparent;
  color: var(--pos-text);
  padding: 0;
}

.pos-terminal-mobile-sheet-header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pos-terminal-mobile-close {
  min-width: 52px;
  padding: 0;
}

.pos-terminal-basket-panel--mobile {
  position: static;
  top: auto;
}

.pos-terminal-payment-panel,
.pos-payment-method-grid,
.pos-payment-summary-panel,
.pos-payment-summary-panel__hero,
.pos-payment-method-card,
.pos-payment-method-card__header,
.pos-payment-method-card__copy,
.pos-payment-state-card,
.pos-payment-state-card__header,
.pos-receipt-success-grid,
.pos-receipt-status-grid,
.pos-receipt-line-items,
.pos-receipt-detail-card,
.pos-terminal-paybar-actions {
  display: grid;
  gap: 14px;
}

.pos-payment-summary-panel {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 28%, var(--pos-border));
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--pos-terminal-accent-soft) 88%, rgba(255, 255, 255, 0.02)), rgba(255, 255, 255, 0.03)),
    var(--pos-surface-strong);
}

.pos-payment-summary-panel__hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pos-payment-summary-panel__hero h3 {
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1;
}

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

.pos-payment-method-card {
  align-content: start;
  min-height: 114px;
  padding: 14px;
  border: 1px solid var(--pos-border);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--pos-text);
  text-align: left;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.pos-payment-method-card:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 42%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 80%, rgba(255, 255, 255, 0.04));
}

.pos-payment-method-card__header {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.pos-payment-method-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.06);
  color: var(--pos-text);
}

.pos-payment-method-card__copy strong {
  color: var(--pos-text);
  font-size: 1rem;
}

.pos-payment-method-card__copy p {
  font-size: 0.86rem;
  line-height: 1.35;
}

.pos-payment-method-card.is-selected {
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 46%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 86%, rgba(255, 255, 255, 0.04));
}

.pos-payment-method-card.is-disabled {
  opacity: 0.58;
}

.pos-payment-state-card {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.035);
}

.pos-payment-state-card--ready,
.pos-payment-state-card--cash {
  border-color: rgba(52, 211, 153, 0.24);
  background: rgba(52, 211, 153, 0.09);
}

.pos-payment-state-card--waiting,
.pos-payment-state-card--processing {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.09);
}

.pos-payment-state-card--error {
  border-color: rgba(248, 113, 113, 0.28);
  background: rgba(248, 113, 113, 0.1);
}

.pos-payment-cash-input {
  min-height: 58px;
}

.pos-payment-quick-cash {
  display: flex;
  flex-wrap: wrap;
}

.pos-payment-quick-cash .pos-chip {
  width: auto;
}

.pos-terminal-paybar-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex: 1;
}

.pos-receipt-success-card {
  display: grid;
  gap: 18px;
}

.pos-receipt-success-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.9fr);
  align-items: start;
}

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

.pos-receipt-meta-list {
  margin-top: 0;
}

.pos-receipt-detail-card {
  align-content: start;
}

.pos-receipt-line-items {
  max-height: none;
}

.pos-screen-grid-result-hero {
  grid-column: span 8;
}

.pos-refund-shell,
.pos-refund-layout,
.pos-refund-list-column,
.pos-refund-detail-column,
.pos-refund-list-card,
.pos-refund-transaction-list,
.pos-refund-detail-panel,
.pos-refund-detail-grid,
.pos-recovery-shell,
.pos-recovery-layout,
.pos-recovery-list-column,
.pos-recovery-detail-column,
.pos-recovery-list-card,
.pos-recovery-card-list,
.pos-recovery-detail-panel,
.pos-recovery-timeline {
  display: grid;
  gap: 16px;
}

.pos-refund-layout {
  grid-template-columns: minmax(300px, 0.95fr) minmax(360px, 1.05fr);
  align-items: start;
}

.pos-refund-list-card,
.pos-recovery-list-card {
  padding: 20px;
}

.pos-refund-search-card {
  padding: 20px;
}

.pos-refund-search-field {
  min-height: 58px;
}

.pos-refund-transaction-card,
.pos-recovery-card {
  display: grid;
  gap: 12px;
  width: 100%;
  padding: 16px;
  text-align: left;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.035);
  color: var(--pos-text);
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.pos-refund-transaction-card:hover,
.pos-recovery-card:hover {
  transform: translateY(-1px);
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(255, 255, 255, 0.05);
}

.pos-refund-transaction-card.is-selected,
.pos-recovery-card.is-selected {
  border-color: rgba(245, 158, 11, 0.38);
  background: rgba(245, 158, 11, 0.12);
}

.pos-refund-transaction-card__topline,
.pos-recovery-card__topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.pos-refund-transaction-card__meta,
.pos-recovery-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--pos-text-muted);
  font-size: 0.9rem;
}

.pos-refund-status-row,
.pos-recovery-filter-row {
  align-items: flex-start;
}

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

.pos-refund-detail-list,
.pos-refund-confirm-list {
  margin: 0;
}

.pos-refund-line-list {
  max-height: min(32vh, 360px);
}

.pos-refund-action-row,
.pos-recovery-hero .pos-action-row {
  align-items: stretch;
}

.pos-refund-confirm-panel,
.pos-recovery-detail-panel {
  padding: 20px;
}

.pos-refund-reason-field {
  min-height: 58px;
}

.pos-recovery-hero {
  display: grid;
  gap: 14px;
}

.pos-terminal-payment-panel {
  gap: 10px;
}

.pos-terminal-basket-panel .pos-total-stack {
  gap: 8px;
}

.pos-recovery-layout {
  grid-template-columns: minmax(280px, 0.7fr) minmax(420px, 1.1fr);
  align-items: start;
}

.pos-recovery-timeline {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.pos-hero-metrics {
  gap: 16px;
  flex-wrap: wrap;
}

.pos-hero-metrics > div,
.pos-surface-card {
  display: grid;
  gap: 4px;
}

.pos-search-row {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.pos-search-field {
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.04);
}

.pos-search-field input {
  flex: 1;
  background: transparent;
  border: 0;
  color: var(--pos-text);
  outline: none;
}

.pos-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.pos-product-card {
  padding: 16px;
  text-align: left;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.pos-product-card:hover {
  transform: translateY(-2px);
  border-color: rgba(245, 158, 11, 0.38);
  background: rgba(255, 255, 255, 0.06);
}

.pos-product-topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.pos-product-card h4 {
  margin: 10px 0 6px;
}

.pos-product-footer {
  justify-content: space-between;
  margin-top: 12px;
  color: var(--pos-text-muted);
}

.pos-product-action {
  color: var(--pos-accent-strong);
  font-weight: 700;
}

.pos-basket-lines {
  max-height: 360px;
  overflow: auto;
  padding-right: 2px;
}

.pos-basket-line {
  padding: 12px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.pos-line-controls button {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.05);
  color: var(--pos-text);
}

.pos-line-total {
  flex-direction: column;
  align-items: flex-end;
}

.pos-line-total button {
  border: 0;
  background: transparent;
  color: var(--pos-text-muted);
  padding: 0;
}

.pos-inline-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.pos-inline-actions button {
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--pos-text);
  border-radius: 999px;
  padding: 6px 10px;
}

.pos-inline-actions button:disabled {
  opacity: 0.45;
}

.pos-total-row {
  color: var(--pos-text-muted);
}

.pos-total-row--emphasis {
  color: var(--pos-text);
  font-size: 1.05rem;
  padding-top: 4px;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.pos-empty-state {
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed var(--pos-border);
  background: rgba(255, 255, 255, 0.03);
  display: grid;
  justify-items: start;
  gap: 10px;
}

.pos-queue-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: rgba(245, 158, 11, 0.08);
}

.pos-queue-list {
  display: grid;
  gap: 10px;
}

.pos-queue-item {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.04);
}

.pos-queue-item-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pos-state-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid var(--pos-border);
  color: var(--pos-text-muted);
}

.pos-state-pill--pending,
.pos-state-pill--replaying {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.12);
  color: #fcd34d;
}

.pos-state-pill--completed {
  border-color: rgba(52, 211, 153, 0.32);
  background: rgba(52, 211, 153, 0.12);
  color: #86efac;
}

.pos-state-pill--failed,
.pos-state-pill--requires-operator-attention {
  border-color: rgba(248, 113, 113, 0.28);
  background: rgba(248, 113, 113, 0.12);
  color: #fca5a5;
}

.pos-choice-grid,
.pos-surface-card-grid,
.pos-detail-surface {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pos-choice-card {
  padding: 16px;
  text-align: left;
}

.pos-choice-title {
  font-weight: 700;
}

.pos-choice-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  color: var(--pos-text-muted);
  font-size: 0.9rem;
  flex-wrap: wrap;
}

.pos-detail-list {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}

.pos-detail-list > div {
  color: var(--pos-text-muted);
}

.pos-surface-card {
  padding: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.pos-checklist-row {
  align-items: flex-start;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}

.pos-checklist-row strong,
.pos-detail-list strong,
.pos-stat-pair strong,
.pos-total-row strong,
.pos-basket-line strong,
.pos-surface-card strong,
.pos-hero-metrics strong {
  color: var(--pos-text);
}

.pos-startup-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
  padding: clamp(18px, 2vw, 24px);
  border-radius: 24px;
  border: 1px solid var(--pos-border);
  background: linear-gradient(145deg, color-mix(in srgb, var(--pos-accent-soft) 90%, transparent), color-mix(in srgb, var(--pos-surface-soft) 85%, transparent));
}

.pos-startup-hero__content,
.pos-startup-hero__workspace {
  display: grid;
  gap: 12px;
}

.pos-startup-hero__content {
  min-width: 0;
  align-content: start;
}

.pos-startup-hero__title {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(1.9rem, 2.6vw, 2.7rem);
  letter-spacing: -0.03em;
  line-height: 0.96;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pos-startup-hero__description,
.pos-startup-checklist__item p,
.pos-startup-hero__workspace-meta {
  margin: 0;
  color: var(--pos-text-muted);
}

.pos-startup-hero__description {
  max-width: 58ch;
}

.pos-startup-hero__status-row {
  align-items: flex-start;
}

.pos-startup-hero__status-row .pos-state-pill {
  max-width: 100%;
}

.pos-startup-hero__workspace {
  min-width: 0;
  align-content: space-between;
  max-width: min(100%, 360px);
  justify-self: start;
  padding: clamp(18px, 2vw, 22px);
  border-radius: 22px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-startup-hero__workspace-name {
  max-width: 14ch;
  font-size: clamp(1.35rem, 1.75vw, 1.85rem);
  font-weight: 800;
  line-height: 1.02;
  overflow-wrap: anywhere;
  color: var(--pos-text);
}

.pos-startup-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  background: var(--pos-accent-soft);
  color: var(--pos-text);
  font-weight: 700;
  max-width: 100%;
  white-space: normal;
}

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

.pos-search-field--startup {
  min-height: 58px;
}

.pos-startup-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 84%, transparent);
  color: var(--pos-text-muted);
}

.pos-startup-summary-row strong {
  color: var(--pos-text);
  text-align: right;
}

.pos-entry-screen {
  display: grid;
  align-content: center;
  padding: clamp(16px, 2.5vw, 28px);
}

.pos-entry-grid {
  width: min(100%, 1180px);
  margin: 0 auto;
  align-items: stretch;
}

.pos-entry-hero {
  display: grid;
  gap: clamp(20px, 3vw, 32px);
  align-content: start;
}

.pos-entry-hero__intro {
  display: grid;
  gap: 10px;
}

.pos-entry-hero__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.85rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--pos-text);
}

.pos-entry-hero__subtitle {
  margin: 0;
  max-width: 42ch;
  color: var(--pos-text-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.pos-entry-actions {
  display: grid;
  gap: 14px;
}

.pos-entry-action-card {
  display: grid;
  gap: 10px;
  padding: 18px 20px;
  border-radius: 24px;
  border: 1px solid var(--pos-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-strong) 96%, transparent), color-mix(in srgb, var(--pos-surface) 94%, transparent));
}

.pos-entry-action-card--primary {
  border-color: color-mix(in srgb, var(--pos-accent) 28%, var(--pos-border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pos-accent-soft) 88%, transparent), color-mix(in srgb, var(--pos-surface-strong) 92%, transparent));
  box-shadow: 0 18px 40px color-mix(in srgb, var(--pos-accent) 12%, transparent);
}

.pos-entry-action-card--setup {
  border-style: dashed;
  background: color-mix(in srgb, var(--pos-surface-soft) 86%, transparent);
}

.pos-entry-action-card__icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--pos-text);
}

.pos-entry-action-card__title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.2;
  color: var(--pos-text);
}

.pos-entry-action-card__body {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.94rem;
  line-height: 1.5;
}

.pos-entry-action-card__cta {
  width: fit-content;
  min-width: min(100%, 220px);
  margin-top: 4px;
  text-decoration: none;
}

.pos-entry-setup-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: var(--pos-text);
  font-weight: 700;
  text-decoration: none;
}

.pos-entry-setup-link:hover {
  color: color-mix(in srgb, var(--pos-accent) 70%, var(--pos-text));
}

.pos-entry-preview {
  display: grid;
  align-content: center;
}

.pos-entry-preview__frame {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--pos-accent) 20%, var(--pos-border));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-strong) 96%, transparent), color-mix(in srgb, var(--pos-surface) 94%, transparent));
  box-shadow:
    0 24px 50px rgba(15, 23, 42, 0.18),
    inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent);
}

.pos-entry-preview__topbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.pos-entry-preview__badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pos-accent-soft) 90%, transparent);
  color: var(--pos-text);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pos-entry-preview__venue {
  color: var(--pos-text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.pos-entry-preview__lines {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-entry-preview__line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--pos-border) 80%, transparent);
}

.pos-entry-preview__line-copy {
  display: grid;
  gap: 2px;
}

.pos-entry-preview__line-copy strong {
  color: var(--pos-text);
  font-size: 0.98rem;
}

.pos-entry-preview__line-copy span {
  color: var(--pos-text-muted);
  font-size: 0.82rem;
}

.pos-entry-preview__line-amount {
  color: var(--pos-text);
  font-weight: 700;
  white-space: nowrap;
}

.pos-entry-preview__totals {
  display: grid;
  gap: 8px;
  padding-top: 4px;
}

.pos-entry-preview__total-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--pos-text-muted);
  font-size: 0.9rem;
}

.pos-entry-preview__total-row--grand {
  padding-top: 8px;
  border-top: 1px solid var(--pos-border);
  color: var(--pos-text);
  font-size: 1rem;
}

.pos-entry-preview__total-row--grand strong {
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

.pos-entry-preview__tenders {
  display: grid;
  gap: 10px;
}

.pos-entry-preview__tenders-label {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pos-entry-preview__tender-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pos-entry-preview__tender {
  display: grid;
  place-items: center;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
  color: var(--pos-text);
  font-weight: 700;
}

.pos-entry-preview__tender:first-child {
  border-color: color-mix(in srgb, var(--pos-accent) 35%, var(--pos-border));
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
}

.pos-launch-light-shell.pos-entry-screen a:focus-visible,
.pos-launch-light-shell.pos-entry-screen .pos-button:focus-visible {
  outline: 2px solid var(--pos-focus-ring, color-mix(in srgb, var(--pos-accent) 35%, transparent));
  outline-offset: 2px;
}

@media (max-width: 960px) {
  .pos-entry-preview {
    order: -1;
  }

  .pos-entry-preview__tender-grid {
    grid-template-columns: 1fr;
  }
}

.pos-launch-grid,
.pos-launch-stage,
.pos-launch-panel,
.pos-launch-panel__copy,
.pos-launch-panel__section,
.pos-launch-context-banner,
.pos-launch-context-banner__copy,
.pos-launch-context-banner__stack,
.pos-launch-operator-grid,
.pos-launch-operator-card,
.pos-launch-operator-card__copy,
.pos-launch-signin-card,
.pos-launch-signin-card__header,
.pos-launch-toggle-row,
.pos-launch-pin-panel,
.pos-launch-pin-panel__meta,
.pos-launch-action-grid,
.pos-launch-email-panel,
.pos-launch-local-note,
.pos-launch-keypad,
.pos-launch-setup-grid {
  display: grid;
  gap: 14px;
}

.pos-launch-stage {
  align-content: start;
}

.pos-launch-grid {
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, 0.84fr);
  align-items: start;
}

.pos-launch-grid--single {
  grid-template-columns: minmax(0, 960px);
}

.pos-launch-entry-actions {
  display: grid;
  gap: 18px;
  margin-top: 8px;
}

.pos-launch-entry-action__helper {
  margin: 0 0 10px;
  color: var(--pos-text-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.pos-entry-screen {
  display: grid;
  align-content: center;
  padding: clamp(16px, 2.5vw, 28px);
}

.pos-entry-grid {
  width: min(100%, 1180px);
  margin: 0 auto;
  align-items: stretch;
}

.pos-entry-hero {
  display: grid;
  gap: clamp(20px, 3vw, 32px);
  align-content: start;
}

.pos-entry-hero__intro {
  display: grid;
  gap: 10px;
}

.pos-entry-hero__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.85rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--pos-text);
}

.pos-entry-hero__subtitle {
  margin: 0;
  max-width: 42ch;
  color: var(--pos-text-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.55;
}

.pos-entry-actions {
  display: grid;
  gap: 14px;
}

.pos-entry-action-card {
  display: grid;
  gap: 10px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-strong) 96%, transparent), color-mix(in srgb, var(--pos-surface) 94%, transparent));
}

.pos-entry-action-card--primary {
  border-color: color-mix(in srgb, var(--pos-accent) 28%, var(--pos-border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--pos-accent-soft) 88%, transparent), color-mix(in srgb, var(--pos-surface-strong) 92%, transparent));
  box-shadow: 0 18px 40px color-mix(in srgb, var(--pos-accent) 12%, transparent);
}

.pos-entry-action-card--setup {
  border-style: dashed;
  background: color-mix(in srgb, var(--pos-surface-soft) 86%, transparent);
}

.pos-entry-action-card__icon-row {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--pos-text);
}

.pos-entry-action-card__title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.2;
  color: var(--pos-text);
}

.pos-entry-action-card__body {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.94rem;
  line-height: 1.5;
}

.pos-entry-action-card__cta {
  width: fit-content;
  min-width: min(100%, 220px);
  margin-top: 4px;
  text-decoration: none;
}

.pos-entry-setup-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 4px;
  color: var(--pos-text);
  font-weight: 650;
  text-decoration: none;
}

.pos-entry-setup-link:hover {
  color: color-mix(in srgb, var(--pos-accent) 70%, var(--pos-text));
}

.pos-entry-preview {
  display: grid;
  align-content: center;
}

.pos-entry-preview__frame {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid var(--pos-border);
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--pos-accent-soft) 70%, transparent), transparent 55%),
    linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent), color-mix(in srgb, var(--pos-surface) 96%, transparent));
  box-shadow:
    0 24px 60px color-mix(in srgb, var(--pos-shadow, #0f172a) 16%, transparent),
    inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent);
}

.pos-entry-preview__topbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.pos-entry-preview__badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--pos-accent-soft);
  color: var(--pos-text);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pos-entry-preview__venue {
  color: var(--pos-text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.pos-entry-preview__lines {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-entry-preview__line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--pos-border) 80%, transparent);
}

.pos-entry-preview__line-copy {
  display: grid;
  gap: 2px;
}

.pos-entry-preview__line-copy strong {
  color: var(--pos-text);
  font-size: 0.98rem;
}

.pos-entry-preview__line-copy span {
  color: var(--pos-text-muted);
  font-size: 0.82rem;
}

.pos-entry-preview__line-amount {
  color: var(--pos-text);
  font-weight: 700;
  white-space: nowrap;
}

.pos-entry-preview__totals {
  display: grid;
  gap: 8px;
  padding-top: 4px;
}

.pos-entry-preview__total-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--pos-text-muted);
  font-size: 0.9rem;
}

.pos-entry-preview__total-row--grand {
  padding-top: 8px;
  border-top: 1px solid var(--pos-border);
  color: var(--pos-text);
  font-size: 1rem;
}

.pos-entry-preview__total-row--grand strong {
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

.pos-entry-preview__tenders {
  display: grid;
  gap: 10px;
}

.pos-entry-preview__tenders-label {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pos-entry-preview__tender-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.pos-entry-preview__tender {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  font-size: 0.88rem;
  font-weight: 700;
}

.pos-entry-preview__tender:first-child {
  border-color: color-mix(in srgb, var(--pos-accent) 35%, var(--pos-border));
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
}

.pos-launch-light-shell.pos-entry-screen a:focus-visible,
.pos-launch-light-shell.pos-entry-screen .pos-button:focus-visible {
  outline: 2px solid var(--pos-focus-ring, color-mix(in srgb, var(--pos-accent) 35%, transparent));
  outline-offset: 2px;
}

@media (max-width: 960px) {
  .pos-entry-preview {
    order: -1;
  }

  .pos-entry-preview__tender-grid {
    grid-template-columns: 1fr;
  }
}

.pos-launch-panel,
.pos-launch-signin-card {
  padding: 18px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--pos-surface-strong) 96%, transparent), color-mix(in srgb, var(--pos-surface) 94%, transparent));
}

.pos-launch-panel__copy h3,
.pos-launch-signin-card__header h3,
.pos-launch-context-banner__copy h3 {
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 2.15rem);
  line-height: 1;
  letter-spacing: -0.04em;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}

.pos-launch-panel__copy p,
.pos-launch-signin-card__header p,
.pos-launch-signin-card__note {
  margin: 0;
  color: var(--pos-text-muted);
}

.pos-launch-context-banner {
  grid-template-columns: 64px minmax(0, 1fr) minmax(220px, 0.62fr);
  align-items: center;
  padding: 14px 16px;
  border-radius: 22px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-launch-context-banner--warning {
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(245, 158, 11, 0.1);
}

.pos-launch-context-banner__icon,
.pos-launch-operator-card__avatar,
.pos-launch-pin-dot {
  display: grid;
  place-items: center;
}

.pos-launch-context-banner__icon,
.pos-launch-operator-card__avatar {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.pos-launch-operator-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 18px;
}

.pos-launch-context-banner__copy p {
  margin: 0;
  color: var(--pos-text-muted);
  max-width: 34ch;
}

.pos-launch-context-banner__stack {
  align-content: start;
}

.pos-launch-context-pill,
.pos-launch-setup-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text-muted);
}

.pos-launch-context-pill strong,
.pos-launch-setup-item strong {
  color: var(--pos-text);
  text-align: right;
}

.pos-launch-operator-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pos-launch-operator-card {
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  min-height: 82px;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  text-align: left;
  transition: transform 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.pos-launch-operator-card:hover,
.pos-launch-operator-card.is-selected {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--pos-accent) 42%, transparent);
  background: color-mix(in srgb, var(--pos-accent-soft) 94%, var(--pos-surface-soft));
}

.pos-launch-operator-card__avatar {
  font-size: 1.05rem;
  font-weight: 800;
}

.pos-launch-operator-card__copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.pos-launch-operator-card__role,
.pos-launch-operator-card__copy span:last-child {
  color: var(--pos-text-muted);
}

.pos-launch-operator-card__badge {
  display: inline-flex;
  width: fit-content;
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--pos-accent) 24%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-accent-soft) 88%, transparent);
  color: var(--pos-text);
  font-size: 0.72rem;
  font-weight: 700;
}

.pos-launch-operator-card__copy strong {
  font-size: 1rem;
  line-height: 1.1;
}

.pos-launch-signin-card {
  align-content: start;
  min-width: 0;
}

.pos-launch-signin-card__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pos-launch-signin-card__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.pos-launch-signin-card__header > div,
.pos-launch-context-banner__copy,
.pos-launch-panel__copy {
  min-width: 0;
}

.pos-launch-signin-card__header h3 {
  max-width: 8ch;
  font-size: clamp(1.35rem, 1.8vw, 2rem);
}

.pos-launch-toggle-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pos-launch-toggle {
  min-height: 44px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text-muted);
  font-weight: 700;
}

.pos-launch-toggle.is-selected {
  border-color: var(--pos-chip-border, rgba(245, 158, 11, 0.34));
  background: var(--pos-chip-active-bg, rgba(245, 158, 11, 0.14));
  color: var(--pos-chip-active-text, var(--pos-text));
}

.pos-launch-local-note {
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-accent) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-accent-soft) 90%, transparent);
}

.pos-launch-local-note span {
  color: var(--pos-text-muted);
}

.pos-launch-pin-panel {
  grid-template-columns: minmax(0, 1fr) 252px;
  align-items: start;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  gap: 12px;
}

.pos-launch-pin-panel__meta {
  align-content: start;
  gap: 12px;
}

.pos-launch-pin-display {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 62px;
  padding: 0 16px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 86%, transparent);
}

.pos-launch-pin-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 92%, transparent);
  background: transparent;
}

.pos-launch-pin-dot.is-filled {
  background: var(--pos-accent);
  border-color: var(--pos-accent);
}

.pos-launch-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pos-launch-action-grid--email {
  grid-template-columns: 1fr;
}

.pos-launch-keypad {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.pos-launch-keypad__key,
.pos-launch-keypad__submit {
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 86%, transparent);
  color: var(--pos-text);
  font-size: 0.98rem;
  font-weight: 800;
}

.pos-launch-keypad__key--action {
  color: var(--pos-text-muted);
  font-size: 0.85rem;
}

.pos-launch-keypad__submit {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
}

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

.pos-button--inline {
  min-height: 38px;
  padding: 0 12px;
}

.pos-launch-signin-card__note {
  font-size: 0.95rem;
}

.pos-launch-flow-status {
  display: grid;
  gap: 10px;
}

.pos-launch-flow-status__step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text-muted);
}

.pos-launch-flow-status__step span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 92%, transparent);
  background: color-mix(in srgb, var(--pos-surface-elevated) 86%, transparent);
  color: var(--pos-text);
  font-weight: 800;
}

.pos-launch-flow-status__step strong {
  font-size: 0.98rem;
  color: inherit;
}

.pos-launch-flow-status__step.is-active {
  border-color: color-mix(in srgb, var(--pos-accent) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-accent-soft) 90%, transparent);
  color: var(--pos-text);
}

.pos-launch-flow-status__step.is-active span {
  border-color: color-mix(in srgb, var(--pos-accent) 40%, transparent);
  background: linear-gradient(135deg, var(--pos-cta-start), var(--pos-cta-end));
  color: var(--pos-accent-text, #f8fbff);
}

@media (max-width: 1320px) {
  .pos-launch-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
    gap: 12px;
  }

  .pos-launch-context-banner__copy h3 {
    font-size: clamp(1.3rem, 1.9vw, 1.9rem);
  }

  .pos-launch-context-banner__copy p {
    max-width: 30ch;
  }

  .pos-launch-panel,
  .pos-launch-signin-card {
    padding: 16px;
  }
}

.pos-startup-checklist__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.03);
}

.pos-startup-checklist__icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--pos-text);
  background: var(--pos-accent-soft);
}

.pos-startup-checklist__item strong {
  display: block;
  margin-bottom: 4px;
}

.pos-startup-checklist__item--ready {
  border-color: rgba(52, 211, 153, 0.26);
}

.pos-startup-checklist__item--pending {
  border-color: rgba(245, 158, 11, 0.3);
}

.pos-startup-checklist__item--attention {
  border-color: rgba(248, 113, 113, 0.28);
}

.pos-service-close-shell,
.pos-service-close-summary-column,
.pos-service-close-methods-column,
.pos-service-close-status-column,
.pos-service-settlement-grid,
.pos-service-settlement-panel,
.pos-service-close-action-panel,
.pos-service-close-status-panel,
.pos-service-close-summary,
.pos-service-close-note {
  display: grid;
  gap: 16px;
}

.pos-service-close-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 16px;
  align-items: start;
}

.pos-service-close-summary-column,
.pos-service-close-methods-column {
  min-width: 0;
}

.pos-service-close-status-column {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pos-service-close-alert {
  margin-bottom: 16px;
}

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

.pos-service-settlement-method {
  border: 1px solid var(--pos-border);
  border-radius: 22px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--pos-text);
  text-align: left;
  display: grid;
  gap: 14px;
  box-shadow: var(--pos-shadow);
  transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.pos-service-settlement-method:hover:not(:disabled),
.pos-service-settlement-method.is-selected {
  border-color: rgba(167, 139, 250, 0.36);
  background: rgba(91, 33, 182, 0.14);
  transform: translateY(-1px);
}

.pos-service-settlement-method__topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.pos-service-settlement-method h3 {
  margin: 4px 0 0;
}

.pos-service-settlement-method--available {
  border-color: rgba(52, 211, 153, 0.28);
}

.pos-service-settlement-method--preview {
  border-color: rgba(167, 139, 250, 0.3);
}

.pos-service-settlement-method--supervisor {
  border-color: rgba(248, 113, 113, 0.28);
}

.pos-service-close-action-row {
  margin-top: 0;
}

.pos-service-close-note {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--pos-border);
  background: rgba(255, 255, 255, 0.03);
}

.pos-service-settlement-result {
  min-height: 100%;
}

.pos-service-settlement-result--preview {
  border-color: rgba(167, 139, 250, 0.28);
}

.pos-service-settlement-result--pending {
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(245, 158, 11, 0.1);
}

.pos-service-settlement-result--blocked {
  border-color: rgba(248, 113, 113, 0.34);
  background: rgba(248, 113, 113, 0.1);
}

.pos-state-pill--available {
  color: #bbf7d0;
  border-color: rgba(52, 211, 153, 0.26);
  background: rgba(52, 211, 153, 0.12);
}

.pos-state-pill--preview {
  color: #e9d5ff;
  border-color: rgba(167, 139, 250, 0.28);
  background: rgba(91, 33, 182, 0.16);
}

.pos-state-pill--supervisor,
.pos-state-pill--blocked {
  color: #fecaca;
  border-color: rgba(248, 113, 113, 0.3);
  background: rgba(248, 113, 113, 0.12);
}

.pos-state-pill--coming_soon,
.pos-state-pill--pending {
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.12);
}

.pos-screen-grid--service-detail {
  align-items: start;
}

.pos-screen-grid--service-detail > .pos-card--hero,
.pos-screen-grid--service-detail > .pos-card--detail,
.pos-screen-grid--service-detail > .pos-card {
  grid-column: span 4;
}

@media (max-width: 899px) and (orientation: portrait) {
  .pos-startup-topbar,
  .pos-startup-topbar-meta,
  .pos-startup-stage-header,
  .pos-action-bar,
  .pos-section-intro,
  .pos-startup-panel-heading {
    flex-direction: column;
  }

  .pos-startup-shell.is-authenticated .pos-startup-layout {
    grid-template-columns: 1fr;
  }

  .pos-startup-rail {
    display: none;
  }

  .pos-startup-main,
  .pos-startup-shell.is-signed-out .pos-startup-main {
    padding: 18px 16px 112px;
  }

  .pos-screen-grid,
  .pos-startup-signin-grid,
  .pos-choice-grid,
  .pos-surface-card-grid,
  .pos-detail-surface,
  .pos-service-settlement-grid,
  .pos-service-close-status-column {
    grid-template-columns: 1fr;
  }

  .pos-service-close-layout {
    grid-template-columns: 1fr;
  }

  .pos-startup-summary-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .pos-action-bar {
    position: sticky;
    bottom: 12px;
    padding: 12px;
    border-radius: 20px;
    background: rgba(9, 16, 29, 0.94);
    box-shadow: var(--pos-shadow);
  }

  .pos-button,
  .pos-context-pill,
  .pos-chip {
    width: 100%;
  }
}

@media (min-width: 900px) {
  .pos-startup-shell.is-authenticated .pos-startup-layout {
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  }
}

@media (min-width: 1200px) {
  .pos-startup-shell.is-authenticated .pos-startup-layout {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  }
}

@media (min-width: 1500px) {
  .pos-service-close-layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.86fr) minmax(300px, 0.72fr);
  }

  .pos-service-close-status-column {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1600px) {
  .pos-startup-shell.is-authenticated .pos-startup-layout {
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  }

  .pos-startup-main {
    padding: 30px 34px;
  }
}

@media (max-width: 1360px) {
  .pos-startup-hero__title,
  .pos-startup-hero__workspace-name,
  .pos-startup-hero__description {
    max-width: none;
  }
}

@media (max-width: 1180px) {
  .pos-app-shell {
    grid-template-columns: 1fr;
  }

  .pos-terminal-app-topbar,
  .pos-terminal-app-topbar__identity {
    grid-template-columns: 1fr;
  }

  .pos-terminal-app-topbar__outlet {
    padding-right: 0;
    padding-bottom: 12px;
    border-right: 0;
    border-bottom: 1px solid var(--pos-border);
  }

  .pos-side-rail {
    border-right: 0;
    border-bottom: 1px solid var(--pos-border);
  }

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

  .pos-startup-hero {
    grid-template-columns: 1fr;
  }

  .pos-terminal-topbar,
  .pos-terminal-layout {
    grid-template-columns: 1fr;
  }

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

  .pos-terminal-basket-panel {
    position: static;
  }

  .pos-service-close-layout {
    grid-template-columns: 1fr;
  }

  .pos-service-close-status-column {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1480px) {
  .pos-launch-signin-card__header,
  .pos-launch-pin-panel {
    grid-template-columns: 1fr;
  }

  .pos-launch-signin-card__header .pos-state-pill {
    justify-self: start;
  }

  .pos-launch-context-banner {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .pos-launch-context-banner__stack {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .pos-terminal-grid,
  .pos-screen-grid {
    grid-template-columns: 1fr;
  }

  .pos-terminal-app-main {
    padding: 14px 16px 18px;
  }

  .pos-screen-grid--launch > .pos-card,
  .pos-screen-grid--result > .pos-card,
  .pos-screen-grid--recovery > .pos-card,
  .pos-screen-grid--binding > .pos-card,
  .pos-screen-grid--shift > .pos-card {
    grid-column: auto;
  }

  .pos-command-header {
    flex-direction: column;
  }

  .pos-startup-signin-grid {
    grid-template-columns: 1fr;
  }

  .pos-launch-grid,
  .pos-launch-pin-panel,
  .pos-launch-context-banner,
  .pos-launch-setup-grid {
    grid-template-columns: 1fr;
  }

  .pos-launch-grid--operator-signin > .pos-launch-signin-card {
    order: -1;
  }

  .pos-launch-grid--operator-signin {
    gap: 10px;
  }

  .pos-launch-light-shell {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .pos-terminal-action-bar,
  .pos-terminal-discovery-toolbar,
  .pos-receipt-success-grid,
  .pos-receipt-status-grid,
  .pos-refund-layout,
  .pos-recovery-layout,
  .pos-service-settlement-grid {
    grid-template-columns: 1fr;
  }

  .pos-terminal-action-buttons {
    justify-content: flex-start;
  }

  .pos-terminal-basket-heading-actions {
    justify-content: flex-start;
  }

  .pos-terminal-status-bar {
    grid-template-columns: 1fr;
  }

  .pos-terminal-status-bar__items,
  .pos-terminal-status-bar__time {
    grid-auto-flow: row;
    justify-content: start;
  }
}

@media (max-width: 720px) {
  .pos-main-stage,
  .pos-side-rail {
    padding: 16px;
  }

  .pos-terminal-app-topbar {
    padding: 12px 14px;
  }

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

  .pos-product-grid,
  .pos-choice-grid,
  .pos-surface-card-grid,
  .pos-detail-surface,
  .pos-payment-method-grid,
  .pos-terminal-paybar-actions,
  .pos-refund-detail-grid,
  .pos-recovery-timeline,
  .pos-service-close-status-column {
    grid-template-columns: 1fr;
  }

  .pos-terminal-topbar__cluster,
  .pos-payment-summary-panel__hero {
    grid-template-columns: 1fr;
  }

  .pos-terminal-topbar__item {
    padding: 0;
    border-left: 0;
  }

  .pos-launch-operator-grid,
  .pos-launch-action-grid,
  .pos-launch-toggle-row {
    grid-template-columns: 1fr;
  }

  .pos-terminal-toolbar-actions {
    grid-auto-flow: row;
  }

  .pos-launch-context-banner__stack {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .pos-status-strip {
    grid-template-columns: 1fr;
  }

  .pos-context-cluster,
  .pos-chip-row,
  .pos-action-row,
  .pos-action-bar,
  .pos-section-intro,
  .pos-startup-panel-heading,
  .pos-startup-topbar-meta {
    flex-direction: column;
  }

  .pos-button,
  .pos-context-pill,
  .pos-chip {
    width: 100%;
  }

  .pos-startup-summary-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .pos-launch-signin-card__header {
    grid-template-columns: 1fr;
  }

  .pos-refund-transaction-card__topline,
  .pos-recovery-card__topline {
    flex-direction: column;
  }
}

@media (min-width: 1500px) {
  .pos-terminal-layout {
    grid-template-columns: minmax(0, 1.75fr) minmax(360px, 0.92fr);
  }

  .pos-terminal-product-grid,
  .pos-terminal-product-grid--image,
  .pos-terminal-product-grid--hybrid {
    grid-template-columns: repeat(auto-fill, 192px);
    grid-auto-rows: 220px;
  }

  .pos-terminal-product-grid--compact {
    grid-template-columns: repeat(auto-fill, 154px);
    grid-auto-rows: 136px;
  }

  .pos-terminal-product-card--image,
  .pos-terminal-product-card--hybrid {
    width: 192px;
    max-width: 192px;
  }

  .pos-terminal-product-card--compact {
    width: 154px;
    max-width: 154px;
  }

  .pos-terminal-discovery-card {
    gap: 18px;
  }
}

@media (max-width: 899px) and (orientation: portrait) {
  .pos-terminal-app-main {
    padding: 14px 14px 108px;
  }

  .pos-app-shell--tone-terminal {
    grid-template-columns: 1fr;
  }

  .pos-app-shell--tone-terminal .pos-side-rail {
    display: none;
  }

  .pos-app-shell--tone-terminal .pos-main-stage {
    padding: 14px 14px 108px;
  }

  .pos-app-shell--tone-terminal .pos-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pos-app-shell--tone-terminal .pos-command-header,
  .pos-app-shell--tone-terminal .pos-context-cluster {
    flex-direction: column;
  }

  .pos-terminal-basket-column {
    display: none;
  }

  .pos-terminal-mobile-summary-button,
  .pos-terminal-mobile-paybar,
  .pos-terminal-mobile-sheet,
  .pos-terminal-mobile-basket-trigger {
    display: flex;
  }

  .pos-terminal-mobile-summary-button {
    width: 100%;
  }

  .pos-terminal-discovery-card,
  .pos-terminal-status-bar {
    padding: 18px;
  }

  .pos-payment-summary-panel,
  .pos-payment-state-card,
  .pos-terminal-payment-panel {
    padding-left: 0;
    padding-right: 0;
  }

  .pos-terminal-mobile-sheet {
    display: block;
  }

  .pos-terminal-paybar {
    padding-bottom: 10px;
  }
}

@media (min-width: 1500px) {
  .pos-payment-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pos-receipt-success-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  }
}

body.pos-terminal-body-lock,
body.pos-terminal-body-lock #root {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

.pos-terminal-light-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  padding: 14px;
  background: #f7f3eb;
  color: #222;
}

.pos-terminal-light-shell.pos-terminal-operating-shell {
  height: 100dvh;
  max-height: 100dvh;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 12px 10px;
}

.pos-terminal-operating-shell[data-pos-density="medium"] {
  gap: 6px;
}

.pos-terminal-operating-shell[data-pos-density="compact"],
.pos-terminal-operating-shell[data-pos-density="fallback"] {
  gap: 6px;
  padding: 6px 8px 8px;
}

.pos-terminal-operating-shell {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pos-terminal-light-topbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}

.pos-terminal-session-summary,
.pos-terminal-session-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.pos-terminal-session-summary {
  flex: 1;
}

.pos-terminal-session-chips {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.pos-terminal-session-summary__identity {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.pos-terminal-session-summary__identity strong,
.pos-terminal-session-summary__identity span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pos-terminal-session-summary__identity strong {
  color: var(--pos-heading);
  font-size: 0.98rem;
}

.pos-terminal-session-summary__identity span {
  color: var(--pos-text-muted);
  font-size: 0.8rem;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-session-summary__identity span,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-session-summary__identity span {
  display: none;
}

.pos-terminal-sync-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font: inherit;
}

.pos-terminal-operating-main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pos-terminal-operating-layout.pos-terminal-layout {
  flex: 1;
  min-height: 0;
  height: 100%;
  align-items: stretch;
}

.pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-operating-layout.pos-terminal-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
  gap: 12px;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-operating-layout.pos-terminal-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.4fr);
  gap: 10px;
}

.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-operating-layout.pos-terminal-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr);
  gap: 8px;
}

.pos-terminal-operating-layout .pos-terminal-discovery-panel {
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

.pos-terminal-operating-layout .pos-terminal-basket-column {
  align-self: stretch;
  height: 100%;
  min-height: 0;
}

.pos-terminal-operating-workspace {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  gap: 8px;
  padding: 12px 14px;
}

.pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-operating-workspace,
.pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-operating-workspace {
  padding: 10px 12px;
  gap: 6px;
}

.pos-terminal-operating-workspace.pos-terminal-discovery-card {
  display: flex;
}

.pos-terminal-operating-toolbar {
  flex-shrink: 0;
}

.pos-terminal-operating-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  height: 100%;
  align-self: stretch;
}

.pos-terminal-local-report-panel {
  flex-shrink: 0;
  margin-top: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 80%, transparent);
  background: color-mix(in srgb, var(--pos-surface) 96%, transparent);
  box-shadow: none;
}

.pos-terminal-local-report-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.pos-terminal-local-report-heading strong {
  font-size: 1rem;
}

.pos-terminal-local-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
}

.pos-terminal-local-report-grid div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pos-terminal-local-report-grid span {
  color: var(--pos-text-muted);
  font-size: 0.78rem;
}

.pos-terminal-local-report-note {
  margin: 10px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.pos-terminal-local-report-status-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--pos-warning-soft, #fff7e6) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--pos-warning, #d97706) 25%, transparent);
}

.pos-terminal-local-report-status-strip div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pos-terminal-local-report-status-strip span {
  color: var(--pos-text-muted);
  font-size: 0.72rem;
}

.pos-terminal-local-report-pending-list {
  margin-top: 12px;
}

.pos-terminal-local-report-pending-list h4 {
  margin: 0 0 8px;
  font-size: 0.82rem;
}

.pos-terminal-local-report-pending-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.pos-terminal-local-report-pending-list__items li {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 80%, transparent);
  background: color-mix(in srgb, var(--pos-surface) 98%, transparent);
}

.pos-terminal-local-report-pending-list__primary {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}

.pos-terminal-local-report-pending-list__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 6px;
  color: var(--pos-text-muted);
  font-size: 0.72rem;
}

.pos-terminal-local-report-pending-list__error {
  margin: 6px 0 0;
  color: var(--pos-danger, #b42318);
  font-size: 0.72rem;
}

.pos-terminal-local-report-recovery {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--pos-info-soft, #eff6ff) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--pos-info, #2563eb) 20%, transparent);
}

.pos-terminal-local-report-recovery p {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.72rem;
  line-height: 1.4;
}

.pos-terminal-local-report-recovery p + p {
  margin-top: 6px;
}

.pos-sale-result-recovery-copy {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--pos-info, #2563eb) 20%, transparent);
  background: color-mix(in srgb, var(--pos-info-soft, #eff6ff) 70%, transparent);
}

.pos-sale-result-recovery-copy p {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.pos-sale-result-recovery-copy p + p {
  margin-top: 8px;
}

.pos-terminal-operating-sidebar .pos-terminal-basket-panel {
  flex: 1;
  min-height: 0;
}

.pos-terminal-product-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.pos-terminal-basket-action-area {
  border-top: 1px solid rgba(126, 109, 87, 0.2);
  padding-top: 10px;
}

.pos-terminal-category-row {
  margin-bottom: 4px;
}

.pos-terminal-touch-control {
  min-height: 44px;
}

.pos-terminal-product-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.pos-terminal-sync-drawer {
  position: fixed;
  inset: 0;
  z-index: 38;
}

.pos-terminal-sync-drawer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 23, 40, 0.38);
}

.pos-terminal-sync-drawer__panel {
  position: absolute;
  top: 12px;
  right: 12px;
  bottom: 12px;
  width: min(360px, calc(100vw - 24px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--pos-border);
  border-radius: 22px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: var(--pos-shadow);
}

.pos-terminal-sync-drawer__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.pos-terminal-sync-drawer__header h3 {
  margin: 2px 0 0;
  color: var(--pos-heading);
}

.pos-terminal-sync-drawer__subtitle {
  margin: 6px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.88rem;
}

.pos-terminal-sync-drawer__close {
  min-width: 42px;
  min-height: 42px;
  padding: 0;
}

.pos-terminal-sync-drawer__panel .pos-terminal-local-report-panel {
  height: 100%;
  margin-top: 0;
}

.pos-terminal-activity-drawer__content {
  display: grid;
  gap: 12px;
  align-content: start;
}

.pos-terminal-activity-card {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 80%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--pos-surface) 96%, transparent);
}

.pos-terminal-activity-card__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.pos-terminal-activity-card__header span,
.pos-terminal-activity-card p {
  color: var(--pos-text-muted);
}

.pos-terminal-catalog-banner {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(196, 101, 81, 0.35);
  background: rgba(196, 101, 81, 0.12);
  color: #7a2e1f;
}

.pos-launch-light-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  padding: 14px;
}

.pos-sale-result-light-shell {
  min-height: calc(var(--pos-app-vh, 1vh) * 100);
  padding: 14px;
}

.pos-sale-result-page-shell {
  display: flex;
  flex-direction: column;
  padding: 12px 16px 18px;
  background: color-mix(in srgb, var(--pos-surface) 96%, var(--pos-surface-soft));
}

.pos-sale-result-page {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 14px;
  width: min(1280px, 100%);
  min-height: 0;
  margin: 0 auto;
}

.pos-sale-result-page__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-success) 24%, var(--pos-border));
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--pos-success-soft) 78%, transparent),
      color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent)
    );
}

.pos-sale-result-page__heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.pos-sale-result-page__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: color-mix(in srgb, var(--pos-success) 72%, var(--pos-heading));
  background: color-mix(in srgb, var(--pos-surface-elevated) 92%, transparent);
}

.pos-sale-result-page__title {
  margin: 0;
  color: var(--pos-heading);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.15;
}

.pos-sale-result-page__subtitle {
  margin: 4px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.pos-sale-result-page__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pos-sale-result-page__badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.pos-sale-result-page__badge--neutral {
  color: var(--pos-text-muted);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-sale-result-page__badge--info {
  color: color-mix(in srgb, var(--pos-terminal-accent) 72%, var(--pos-heading));
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 24%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 72%, transparent);
}

.pos-sale-result-page__badge--success {
  color: color-mix(in srgb, var(--pos-success) 72%, var(--pos-heading));
  border-color: color-mix(in srgb, var(--pos-success) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-success-soft) 72%, transparent);
}

.pos-sale-result-page__badge--warning {
  color: color-mix(in srgb, var(--pos-warning) 72%, var(--pos-heading));
  border-color: color-mix(in srgb, var(--pos-warning) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-warning-soft, #fff7e6) 72%, transparent);
}

.pos-sale-result-page__badge--danger {
  color: color-mix(in srgb, var(--pos-danger) 72%, var(--pos-heading));
  border-color: color-mix(in srgb, var(--pos-danger) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-danger-soft, #ffecec) 72%, transparent);
}

.pos-sale-result-page__body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr);
  gap: 14px;
  flex: 1 1 auto;
  min-height: 0;
  align-items: start;
}

.pos-sale-result-page__main {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 92%, transparent);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-sale-result-paid-hero {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 24%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 76%, transparent);
}

.pos-sale-result-paid-hero__label {
  color: var(--pos-text-muted);
  font-size: 0.84rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pos-sale-result-paid-hero__amount {
  color: var(--pos-heading);
  font-size: clamp(1.8rem, 3.2vw, 2.35rem);
  line-height: 1;
}

.pos-sale-result-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.pos-sale-result-meta-grid div {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-sale-result-meta-grid dt {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pos-sale-result-meta-grid dd {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.88rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.pos-sale-result-items__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.pos-sale-result-items__header h2 {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.95rem;
}

.pos-sale-result-items__toggle {
  min-height: 34px;
  padding: 4px 8px;
  font-size: 0.82rem;
}

.pos-sale-result-line-item p {
  margin: 2px 0 0;
  font-size: 0.82rem;
}

.pos-sale-result-totals {
  display: grid;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 86%, transparent);
}

.pos-sale-result-totals__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.88rem;
}

.pos-sale-result-totals__row--emphasis {
  padding-top: 4px;
  margin-top: 2px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 82%, transparent);
  font-weight: 700;
}

.pos-sale-result-totals__row--change {
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--pos-success) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-success-soft) 72%, var(--pos-surface-elevated));
}

.pos-sale-result-page__aside {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}

.pos-sale-result-page__actions {
  display: grid;
  gap: 10px;
}

.pos-sale-result-view-receipt-btn {
  min-height: 48px;
  justify-content: center;
}

.pos-sale-result-summary-card,
.pos-sale-result-status-card {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 90%, transparent);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-sale-result-summary-card h3,
.pos-sale-result-status-card h3 {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.88rem;
}

.pos-sale-result-summary-card__list,
.pos-sale-result-status-card__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-sale-result-summary-card__list div,
.pos-sale-result-status-card__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.84rem;
}

.pos-sale-result-summary-card__list dt,
.pos-sale-result-status-card__list span {
  color: var(--pos-text-muted);
}

.pos-sale-result-summary-card__list dd,
.pos-sale-result-status-card__list strong {
  color: var(--pos-heading);
  text-align: right;
  overflow-wrap: anywhere;
}

.pos-sale-result-page__reassurance {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--pos-border) 88%, transparent);
  background: color-mix(in srgb, var(--pos-surface-soft) 84%, transparent);
}

.pos-sale-result-page__reassurance strong {
  color: var(--pos-heading);
  font-size: 0.92rem;
}

.pos-sale-result-page__reassurance span {
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-sale-result-paid-hero--page {
  margin: 0;
}

@media (max-width: 960px) {
  .pos-sale-result-page__body {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
  }

  .pos-sale-result-page__aside {
    order: -1;
  }

  .pos-sale-result-page__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pos-sale-result-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) and (max-height: 768px) {
  .pos-sale-result-page-shell {
    padding: 10px 12px 14px;
  }

  .pos-sale-result-page {
    gap: 10px;
  }

  .pos-sale-result-page__header {
    padding: 10px 12px;
  }

  .pos-sale-result-page__main {
    padding: 10px 12px;
    gap: 10px;
  }

  .pos-sale-result-paid-hero__amount {
    font-size: clamp(1.55rem, 2.8vw, 1.95rem);
  }

  .pos-sale-result-new-sale-btn {
    min-height: 48px;
    font-size: 0.98rem;
  }
}

.pos-terminal-light-shell button:focus-visible,
.pos-launch-light-shell button:focus-visible,
.pos-sale-result-light-shell button:focus-visible,
.pos-terminal-light-shell .pos-terminal-category-tab:focus-visible,
.pos-terminal-light-shell .pos-terminal-category-chip:focus-visible,
.pos-terminal-light-shell .pos-terminal-product-card:focus-visible {
  outline: 2px solid var(--pos-focus-ring, color-mix(in srgb, var(--pos-accent) 35%, transparent));
  outline-offset: 2px;
}

/* Counter POS landscape release polish */
.pos-terminal-payment-sheet__subtitle {
  margin: 4px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.88rem;
}

.pos-terminal-payment-sheet__summary {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 0;
}

.pos-terminal-payment-sheet__summary-scroll {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  gap: 12px;
  align-content: start;
}

.pos-terminal-payment-sheet__final-review {
  display: grid;
  gap: 10px;
}

.pos-terminal-payment-sheet__discount-row {
  display: grid;
  gap: 6px;
}

.pos-terminal-payment-sheet__discount-note,
.pos-terminal-payment-sheet__footer-note {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__total-hero {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 82%, transparent);
}

.pos-terminal-payment-sheet__total-hero span {
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.pos-terminal-payment-sheet__total-hero strong {
  color: var(--pos-heading);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1;
}

.pos-terminal-payment-sheet__benefits-summary {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-payment-sheet__benefits-summary-title {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.92rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__benefits-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-terminal-payment-sheet__benefits-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--pos-text-muted);
  font-size: 0.86rem;
}

.pos-terminal-payment-sheet__benefits-list strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__benefits-empty {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__remaining-hero {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 34%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-payment-sheet__remaining-hero span {
  color: var(--pos-text-muted);
  font-size: 0.92rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet__remaining-hero strong {
  color: var(--pos-heading);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  line-height: 1;
}

.pos-terminal-payment-sheet__advanced-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  flex: 0 0 auto;
}

.pos-terminal-payment-sheet__advanced-action {
  min-height: 44px;
}

.pos-terminal-payment-drawer {
  z-index: 48;
}

.pos-terminal-payment-drawer__panel {
  max-width: min(520px, 100vw);
}

.pos-terminal-payment-drawer__option {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 92%, transparent);
}

.pos-terminal-payment-drawer__option p {
  margin: 4px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-drawer__badge {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pos-surface-muted) 88%, transparent);
  color: var(--pos-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
}

.pos-terminal-payment-drawer__note {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__overview {
  display: grid;
  gap: 12px;
  flex: 0 0 auto;
}

.pos-terminal-payment-sheet--cockpit .pos-terminal-payment-sheet__layout--cockpit {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: 14px;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
}

.pos-terminal-payment-sheet--two-zone .pos-terminal-payment-sheet__layout--two-zone {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
}

.pos-terminal-payment-sheet__cockpit {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.pos-terminal-payment-sheet__cockpit-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: 10px;
  align-content: start;
  padding-right: 2px;
}

.pos-terminal-payment-sheet__cockpit-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
  padding-top: 8px;
  border-top: 1px solid var(--pos-border);
}

.pos-terminal-payment-sheet__secondary-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.pos-terminal-payment-sheet__summary--secondary {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto auto;
  gap: 6px;
  min-height: 0;
  flex: 1 1 auto;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 92%, transparent);
  background: color-mix(in srgb, var(--pos-surface-soft) 96%, var(--pos-surface-elevated));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pos-surface-elevated) 88%, transparent);
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__summary-scroll {
  gap: 6px;
  min-height: 0;
}

.pos-terminal-payment-sheet__summary-title {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pos-terminal-payment-sheet__line-list--confirmation {
  padding: 6px 8px;
  border-radius: 12px;
  gap: 0;
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__line {
  gap: 8px;
  padding: 5px 0;
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__line strong {
  font-size: 0.88rem;
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__line p,
.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__more-lines {
  font-size: 0.78rem;
  line-height: 1.25;
}

.pos-terminal-payment-sheet__final-review--compact {
  gap: 4px;
  padding-top: 2px;
}

.pos-terminal-payment-sheet__totals--compact {
  gap: 2px;
}

.pos-terminal-payment-sheet__totals--compact .pos-total-row {
  padding: 2px 0;
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__totals--compact .pos-total-row--emphasis {
  padding-top: 4px;
  margin-top: 2px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 82%, transparent);
}

.pos-terminal-payment-sheet__totals--compact .pos-total-row--emphasis strong {
  font-size: 0.98rem;
}

.pos-terminal-payment-sheet__confirmation-settlement {
  display: grid;
  gap: 4px;
  padding-top: 6px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
}

.pos-terminal-payment-sheet__tender-lines--confirmation {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__tender-line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 0;
  font-size: 0.86rem;
}

.pos-terminal-payment-sheet__confirmation-paid,
.pos-terminal-payment-sheet__confirmation-change {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  padding: 4px 8px;
  border-radius: 10px;
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__confirmation-paid {
  color: var(--pos-text-muted);
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
}

.pos-terminal-payment-sheet__confirmation-paid strong {
  color: var(--pos-heading);
  font-weight: 700;
}

.pos-terminal-payment-sheet__confirmation-change {
  border: 1px solid color-mix(in srgb, var(--pos-success) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-success-soft) 72%, var(--pos-surface-elevated));
  color: var(--pos-text-muted);
}

.pos-terminal-payment-sheet__confirmation-change strong {
  color: color-mix(in srgb, var(--pos-success) 72%, var(--pos-heading));
  font-weight: 700;
}

.pos-terminal-payment-sheet__confirmation-panel {
  padding-top: 6px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__complete-panel {
  gap: 4px;
  padding-top: 6px;
}

.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__complete-hint,
.pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__complete-ready {
  font-size: 0.8rem;
  line-height: 1.25;
}

.pos-terminal-payment-sheet__complete-button--compact {
  min-height: 42px;
  padding: 8px 12px;
  font-size: 0.92rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__mechanic-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 24%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pos-shadow) 12%, transparent);
  overflow: hidden;
}

.pos-terminal-payment-sheet__mechanic-panel-header {
  flex: 0 0 auto;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-payment-sheet__mechanic-panel-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pos-terminal-payment-sheet__mechanic-panel-footer {
  flex: 0 0 auto;
  padding-top: 8px;
  border-top: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-payment-sheet__mechanic-panel-body .pos-terminal-payment-mechanic-drawer__cash-form {
  flex: 1 1 auto;
  min-height: 0;
}

.pos-terminal-payment-sheet__remaining-anchor {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 2px solid color-mix(in srgb, var(--pos-terminal-accent) 42%, var(--pos-border));
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--pos-terminal-accent-soft) 88%, transparent),
      color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent)
    );
  box-shadow: 0 10px 28px color-mix(in srgb, var(--pos-terminal-accent) 10%, transparent);
}

.pos-terminal-payment-sheet__remaining-anchor.is-ready {
  border-color: color-mix(in srgb, var(--pos-success) 42%, var(--pos-border));
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--pos-success-soft) 82%, transparent),
      color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent)
    );
}

.pos-terminal-payment-sheet__remaining-anchor-label {
  color: var(--pos-text-muted);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pos-terminal-payment-sheet__remaining-anchor strong {
  color: var(--pos-heading);
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  line-height: 1;
}

.pos-terminal-payment-sheet__operator-guidance {
  margin: 6px 0 0;
  color: var(--pos-heading);
  font-size: 0.98rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet__summary-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.pos-terminal-payment-sheet__summary-metric {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 92%, transparent);
}

.pos-terminal-payment-sheet__summary-metric dt {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.pos-terminal-payment-sheet__summary-metric dd {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.98rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__applied-lines {
  display: grid;
  gap: 6px;
}

.pos-terminal-payment-sheet__applied-lines-title {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pos-terminal-payment-sheet__action-groups {
  display: grid;
  gap: 8px;
}

.pos-terminal-payment-sheet__action-group-title {
  margin: 0 0 6px;
  color: var(--pos-text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pos-terminal-payment-sheet__action-tile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 72%, transparent);
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__action-tile--primary {
  min-height: 72px;
  border-width: 2px;
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 34%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--pos-terminal-accent) 8%, transparent);
}

.pos-terminal-payment-sheet__action-tile--primary.is-available:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 52%, var(--pos-border));
  transform: translateY(-1px);
}

.pos-terminal-payment-sheet__action-tile--secondary,
.pos-terminal-payment-sheet__action-tile--future {
  min-height: 64px;
  border-style: solid;
  background: color-mix(in srgb, var(--pos-surface-soft) 94%, transparent);
}

.pos-terminal-payment-sheet__action-tile--future {
  opacity: 0.82;
}

.pos-terminal-payment-sheet__action-tile-status {
  color: var(--pos-text-muted);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.pos-terminal-payment-sheet__complete-panel {
  display: grid;
  gap: 6px;
  flex: 0 0 auto;
  padding: 10px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-payment-sheet__complete-hint {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.88rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet__complete-ready {
  margin: 0;
  color: color-mix(in srgb, var(--pos-success) 72%, var(--pos-heading));
  font-size: 0.88rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__complete-button {
  min-height: 52px;
  font-size: 1rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet--ready .pos-terminal-payment-sheet__complete-button:not(:disabled) {
  box-shadow: 0 8px 22px color-mix(in srgb, var(--pos-terminal-accent) 24%, transparent);
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__layout--cockpit,
.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__layout--two-zone {
  grid-template-columns: 1fr;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__summary-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__action-tiles {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__summary--secondary {
  display: grid;
  flex: 0 0 auto;
  max-height: none;
  margin: 0 0 4px;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__summary--secondary .pos-terminal-payment-sheet__summary-scroll {
  max-height: 200px;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__summary {
  max-height: none;
}

.pos-terminal-payment-sheet__benefit-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-terminal-payment-sheet__benefit-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--pos-terminal-accent) 24%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 70%, transparent);
  color: var(--pos-text-muted);
  font-size: 0.82rem;
}

.pos-terminal-payment-sheet__benefit-chip strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__tender-summary {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-payment-sheet__tender-summary-title {
  margin: 0;
  color: var(--pos-heading);
  font-size: 0.92rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__tender-lines {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pos-terminal-payment-sheet__tender-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--pos-text-muted);
  font-size: 0.86rem;
}

.pos-terminal-payment-sheet__tender-line strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__tender-empty {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__change-panel {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--pos-success) 28%, var(--pos-border));
  background: color-mix(in srgb, var(--pos-success-soft) 70%, transparent);
}

.pos-terminal-payment-sheet__change-panel strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__action-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.pos-terminal-payment-sheet__action-tile {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 10px 8px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
  color: var(--pos-heading);
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.pos-terminal-payment-sheet__action-tile.is-preview {
  border-style: dashed;
}

.pos-terminal-payment-sheet__action-tile:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.pos-terminal-payment-sheet__action-tile strong {
  font-size: 0.82rem;
}

.pos-terminal-payment-sheet__action-tile-note {
  color: var(--pos-text-muted);
  font-size: 0.68rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet__overview-note {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.86rem;
}

.pos-terminal-payment-mechanic-drawer {
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
}

.pos-terminal-payment-mechanic-drawer.is-open {
  pointer-events: auto;
}

.pos-terminal-payment-mechanic-drawer__backdrop {
  background: rgba(15, 23, 40, 0.34);
}

.pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-sheet__layout,
.pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-sheet__footer--cockpit {
  pointer-events: none;
}

.pos-terminal-payment-mechanic-drawer .pos-terminal-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  bottom: 0;
  height: 100%;
  width: min(480px, 46%);
  max-width: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -16px 0 42px rgba(15, 23, 40, 0.18);
}

.pos-terminal-payment-mechanic-drawer__panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pos-terminal-payment-mechanic-drawer__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  gap: 12px;
}

.pos-terminal-payment-mechanic-drawer__cash-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  gap: clamp(8px, 1.2vh, 12px);
}

.pos-terminal-payment-mechanic-drawer__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: clamp(8px, 1.2vh, 12px);
  align-content: start;
  padding-right: 2px;
}

.pos-terminal-payment-mechanic-drawer__inline-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 8px;
  flex: 0 0 auto;
  position: sticky;
  bottom: 0;
  margin-top: auto;
  padding-top: clamp(8px, 1vh, 12px);
  border-top: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  z-index: 1;
}

.pos-terminal-payment-mechanic-drawer__shell {
  display: grid;
  gap: 10px;
}

.pos-terminal-payment-mechanic-drawer__context-metric {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-payment-mechanic-drawer__context-metric strong {
  color: var(--pos-heading);
}

.pos-terminal-payment-sheet__quick-amounts--four-up {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pos-terminal-payment-sheet__action-tile.is-launch {
  opacity: 1;
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 30%, var(--pos-border));
}

.pos-terminal-payment-sheet__action-tile--secondary.is-launch,
.pos-terminal-payment-sheet__action-tile--primary.is-launch {
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 28%, var(--pos-surface-elevated));
}

.pos-terminal-payment-sheet__action-tile.is-launch .pos-terminal-payment-sheet__action-tile-status {
  color: color-mix(in srgb, var(--pos-terminal-accent) 72%, var(--pos-heading));
}

.pos-terminal-payment-mechanic-drawer__panel .pos-terminal-drawer__header--compact {
  position: sticky;
  top: 0;
  z-index: 2;
  padding-bottom: 4px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-payment-mechanic-drawer__result-grid {
  display: grid;
  gap: 8px;
}

.pos-terminal-payment-mechanic-drawer__footer .pos-terminal-drawer__footer-actions {
  display: flex;
  justify-content: end;
  gap: 8px;
  width: 100%;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__advanced-actions {
  grid-template-columns: 1fr;
}

.pos-terminal-payment-sheet__cash-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pos-terminal-payment-sheet__body--cash {
  display: grid;
  gap: 14px;
}

.pos-terminal-payment-sheet__cash-metric {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
}

.pos-terminal-payment-sheet__cash-metric--due strong {
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
}

.pos-terminal-payment-sheet__cash-received-block {
  display: grid;
  gap: 10px;
}

.pos-terminal-payment-sheet__cash-received-heading {
  margin: 0;
  color: var(--pos-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.pos-terminal-payment-sheet__cash-received-entry {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--pos-terminal-accent) 28%, var(--pos-border));
  border-radius: 18px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--pos-shadow) 16%, transparent);
}

.pos-terminal-payment-sheet__cash-stage .pos-terminal-payment-sheet__numpad {
  margin-top: 0;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-terminal-payment-sheet__cash-received-field {
  display: block;
  margin: 0;
}

.pos-terminal-payment-sheet__cash-received-input {
  width: 100%;
  min-height: clamp(56px, 9vh, 72px);
  padding: 12px 16px;
  border: none;
  background: transparent;
  color: var(--pos-heading);
  font-size: clamp(1.85rem, 3.6vw, 2.45rem);
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
}

.pos-terminal-payment-sheet__cash-received-input::placeholder {
  color: color-mix(in srgb, var(--pos-text-muted) 72%, transparent);
}

.pos-terminal-payment-sheet__cash-received-input:focus {
  outline: none;
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 42%, transparent);
}

.pos-terminal-payment-sheet__cash-received-entry .pos-terminal-payment-sheet__numpad {
  margin: 0;
  padding: 10px;
  border-radius: 0;
  background: color-mix(in srgb, var(--pos-surface-soft) 88%, transparent);
}

.pos-terminal-payment-sheet__cash-outcome {
  display: grid;
  gap: 10px;
}

.pos-terminal-payment-sheet__cash-metric--change strong,
.pos-terminal-payment-sheet__cash-metric--remaining strong {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.pos-terminal-payment-sheet__cash-metric--remaining {
  border-color: color-mix(in srgb, #fbbf24 36%, var(--pos-border));
  background: color-mix(in srgb, #fbbf24 10%, var(--pos-surface-soft));
}

.pos-terminal-payment-sheet__cash-metric strong.is-warning {
  color: color-mix(in srgb, #fbbf24 82%, var(--pos-heading));
}

.pos-terminal-payment-sheet__cash-metric span {
  color: var(--pos-text-muted);
  font-size: 0.82rem;
}

.pos-terminal-payment-sheet__cash-metric strong {
  color: var(--pos-heading);
  font-size: 1.2rem;
}

.pos-terminal-payment-sheet__cash-metric strong.is-positive {
  color: color-mix(in srgb, #34d399 78%, var(--pos-heading));
}

.pos-terminal-payment-sheet__quick-amounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pos-terminal-payment-sheet__quick-amount {
  display: grid;
  gap: 2px;
  min-height: 52px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-soft) 90%, transparent);
  color: var(--pos-text);
  text-align: left;
}

.pos-terminal-payment-sheet__quick-amount.is-selected {
  border-color: color-mix(in srgb, var(--pos-terminal-accent) 36%, transparent);
  background: color-mix(in srgb, var(--pos-terminal-accent-soft) 86%, transparent);
}

.pos-terminal-payment-sheet__quick-amount span {
  color: var(--pos-text-muted);
  font-size: 0.8rem;
}

.pos-terminal-payment-sheet__quick-amount strong {
  color: var(--pos-heading);
  font-size: 0.95rem;
}

.pos-terminal-payment-sheet__amount-field input {
  min-height: 48px;
  font-size: 1.1rem;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__cash-received-input {
  min-height: 56px;
  font-size: clamp(1.65rem, 6vw, 2rem);
}

.pos-terminal-payment-sheet--cash-active.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__layout {
  display: none;
}

.pos-terminal-payment-sheet--cash-active.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__cash-stage {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  align-content: start;
}

@media (min-width: 900px) and (max-width: 1199px) {
  .pos-terminal-payment-sheet--two-zone .pos-terminal-payment-sheet__layout--two-zone {
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
    gap: 12px;
  }

  .pos-terminal-payment-sheet__summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pos-terminal-payment-sheet__action-tile--primary {
    min-height: 68px;
  }
}

@media (min-width: 900px) and (max-height: 768px) {
  .pos-terminal-payment-sheet__remaining-anchor {
    padding: 12px 14px;
  }

  .pos-terminal-payment-sheet__remaining-anchor strong {
    font-size: clamp(1.7rem, 2.8vw, 2.1rem);
  }

  .pos-terminal-payment-sheet__action-tile--primary {
    min-height: 64px;
  }

  .pos-terminal-payment-sheet__summary--confirmation {
    padding: 8px;
    gap: 4px;
  }

  .pos-terminal-payment-sheet__summary--confirmation .pos-terminal-payment-sheet__line {
    padding: 4px 0;
  }

  .pos-terminal-payment-sheet__complete-button--compact {
    min-height: 40px;
    font-size: 0.88rem;
  }

  .pos-terminal-payment-sheet__quick-amounts--four-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pos-terminal-payment-sheet--contained .pos-terminal-payment-sheet__panel {
    inset: 10px;
    padding: 14px;
    gap: 8px;
  }
}

@media (max-height: 820px) {
  .pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-mechanic-drawer .pos-terminal-drawer__panel {
    width: min(460px, 48%);
  }

  .pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-sheet__cash-received-input {
    min-height: 52px;
    font-size: 1.75rem;
  }

  .pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-sheet__numpad-key {
    min-height: 40px;
  }

  .pos-terminal-payment-sheet--drawer-open .pos-terminal-payment-sheet__quick-amount {
    min-height: 44px;
    padding: 8px 10px;
  }
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__cash-metric--due strong,
.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__cash-metric--change strong,
.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__cash-metric--remaining strong {
  font-size: 1.35rem;
}

.pos-terminal-payment-sheet__message {
  margin: 0;
  font-size: 0.88rem;
}

.pos-terminal-payment-sheet__message--error {
  color: #f87171;
}

.pos-terminal-payment-sheet__applied-empty {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
}

.pos-terminal-payment-sheet__footer--cockpit {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 16px;
  align-items: center;
  flex: 0 0 auto;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 72%, transparent);
}

.pos-terminal-payment-sheet__footer--cockpit .pos-terminal-payment-sheet__footer-note {
  grid-column: 1 / -1;
  margin: 0;
}

.pos-terminal-payment-sheet__footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 72%, transparent);
}

.pos-terminal-payment-sheet__footer-secondary {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pos-terminal-payment-sheet__footer-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.pos-terminal-payment-sheet__footer-note {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.pos-terminal-payment-sheet.is-completing .pos-terminal-payment-sheet__panel {
  pointer-events: none;
}

.pos-terminal-payment-sheet.is-completing .pos-terminal-payment-sheet__footer-actions .pos-button--primary {
  opacity: 0.88;
}

.pos-terminal-payment-sheet__reference-field input {
  min-height: 44px;
}

.pos-terminal-payment-sheet__status-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.pos-terminal-payment-sheet__status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pos-surface-muted) 88%, transparent);
  color: var(--pos-text-muted);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.pos-terminal-payment-sheet__compact-context {
  margin: 0;
  padding: 0 2px;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.pos-terminal-payment-sheet__numpad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.pos-terminal-payment-sheet__numpad-key {
  min-height: 44px;
  border: 1px solid color-mix(in srgb, var(--pos-border) 88%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--pos-surface-elevated) 96%, transparent);
  color: var(--pos-text);
  font-size: 1rem;
  font-weight: 600;
}

.pos-terminal-payment-sheet__numpad-key--action {
  font-size: 0.86rem;
  font-weight: 700;
}

.pos-terminal-payment-sheet__numpad-key:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pos-terminal-payment-sheet.is-completing .pos-terminal-payment-sheet__numpad-key {
  opacity: 0.45;
  pointer-events: none;
}

.pos-terminal-payment-sheet.is-completing .pos-terminal-payment-sheet__footer-note {
  color: var(--pos-text-muted);
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__panel {
  inset: 0;
  border-radius: 0;
  max-height: 100dvh;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__layout {
  grid-template-columns: minmax(0, 1fr);
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__layout .pos-terminal-payment-sheet__summary {
  display: none;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__quick-amounts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__footer--cockpit {
  grid-template-columns: 1fr;
  gap: 10px;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-mechanic-drawer .pos-terminal-drawer__panel {
  top: auto;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: min(92dvh, 100%);
  border-left: 0;
  border-top: 1px solid var(--pos-border);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -16px 42px rgba(15, 23, 40, 0.16);
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__footer {
  grid-template-columns: 1fr;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__footer-actions {
  width: 100%;
}

.pos-terminal-payment-sheet--compact .pos-terminal-payment-sheet__footer-actions .pos-button--primary {
  flex: 1 1 auto;
  min-height: 48px;
}

.pos-terminal-payment-sheet--contained .pos-terminal-payment-sheet__panel {
  inset: 14px;
  max-height: calc(100dvh - 28px);
}

.pos-terminal-payment-sheet--light .pos-terminal-payment-sheet__panel {
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
}

.pos-terminal-light-topbar .pos-context-pill {
  padding: 8px 12px;
  font-size: 0.84rem;
  white-space: nowrap;
}

.pos-terminal-workspace-switch {
  min-height: 44px;
  padding: 0 16px;
  font-weight: 800;
  color: var(--pos-heading);
  text-decoration: none;
}

.pos-terminal-basket-panel .pos-empty-state {
  padding: 18px 14px;
}

.pos-terminal-basket-panel .pos-empty-state strong {
  font-size: 0.95rem;
}

.pos-launch-signin-card__badges .pos-state-pill {
  font-size: 0.68rem;
}

.pos-terminal-drawer__validation {
  padding-top: 2px;
}

@media (max-width: 860px) {
  .pos-terminal-light-topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .pos-terminal-session-summary,
  .pos-terminal-session-chips {
    flex-wrap: wrap;
  }
}

@media (max-height: 860px) {
  .pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-session-summary__identity span {
    display: none;
  }

  .pos-terminal-operating-shell[data-pos-density="medium"] .pos-terminal-basket-heading-actions .pos-terminal-basket-utility {
    display: none;
  }
}

@media (max-width: 1220px) {
  .pos-launch-grid {
    gap: 12px;
  }

  .pos-terminal-operating-layout.pos-terminal-layout {
    grid-template-columns: minmax(0, 1fr) minmax(268px, 0.36fr);
  }

  .pos-terminal-payment-sheet__layout {
    grid-template-columns: minmax(250px, 0.74fr) minmax(0, 1.26fr);
  }
}

@media (max-height: 740px) {
  .pos-terminal-light-shell.pos-terminal-operating-shell {
    padding: 6px 10px 8px;
    gap: 6px;
  }

  .pos-terminal-operating-workspace {
    padding: 10px 12px;
    gap: 6px;
  }

  .pos-terminal-category-tab,
  .pos-terminal-category-chip {
    min-height: 40px;
    max-height: 44px;
    --pos-category-chip-height: 40px;
  }

  .pos-terminal-payment-sheet--contained .pos-terminal-payment-sheet__panel {
    inset: 10px;
    padding: 14px;
    gap: 10px;
    max-height: calc(100dvh - 20px);
  }

  .pos-terminal-payment-sheet__tender {
    min-height: 64px;
    padding: 10px 12px;
  }

  .pos-terminal-payment-sheet__header h3 {
    font-size: 1.35rem;
  }

  .pos-terminal-drawer__panel--compact {
    padding: 12px 14px;
    gap: 6px;
  }

  .pos-launch-grid {
    gap: 10px;
  }

  .pos-launch-keypad__key,
  .pos-launch-keypad__submit {
    min-height: 44px;
  }
}

@media (max-width: 1280px), (max-height: 720px) {
  .pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-session-chips,
  .pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-session-chips {
    gap: 6px;
  }

  .pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-light-topbar .pos-context-pill,
  .pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-light-topbar .pos-context-pill {
    font-size: 0.78rem;
    padding: 6px 10px;
  }

  .pos-terminal-operating-shell[data-pos-density="compact"] .pos-terminal-basket-heading-actions .pos-terminal-basket-utility,
  .pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-basket-heading-actions .pos-terminal-basket-utility {
    display: none;
  }

  .pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-basket-heading-actions .pos-terminal-basket-icon-button,
  .pos-terminal-operating-shell[data-pos-density="fallback"] .pos-terminal-sale-context-pill .pos-terminal-sale-context-label {
    display: none;
  }
}

/* Portrait layout scaffold only. Full portrait UX is a separate follow-up task. */
.pos-terminal-operating-shell[data-pos-layout="portrait"] .pos-terminal-operating-main {
  overflow-y: auto;
}

.pos-terminal-operating-shell[data-pos-layout="portrait"] .pos-terminal-operating-layout {
  min-height: min(100%, 100%);
}

.pos-screen-grid-result-hero--full {
  grid-column: 1 / -1;
}

.pos-sale-result-operator-card {
  gap: 20px;
}

.pos-sale-result-operator-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.8fr);
  gap: 20px;
  align-items: start;
}

.pos-sale-result-operator-main {
  display: grid;
  gap: 14px;
}

.pos-sale-result-operator-total {
  margin: 0;
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.05;
}

.pos-sale-result-operator-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.pos-sale-result-status-stack {
  display: grid;
  gap: 4px;
}

.pos-sale-result-local-status {
  margin: 0;
  color: var(--pos-text);
  font-size: 0.95rem;
  font-weight: 600;
}

.pos-sale-result-handoff-hint {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.88rem;
}

.pos-sale-result-sync-hint {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.pos-sale-result-operator-lines {
  margin-top: 4px;
}

.pos-sale-result-more-items {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.88rem;
}

.pos-sale-result-operator-actions {
  display: grid;
  gap: 12px;
  align-content: start;
}

.pos-sale-result-new-sale-btn {
  min-height: 56px;
  font-size: 1.05rem;
  justify-content: center;
}

.pos-sale-result-details-toggle {
  justify-self: start;
}

.pos-sale-result-details-toggle-icon--open {
  transform: rotate(180deg);
}

.pos-sale-result-details-panel {
  display: grid;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 70%, transparent);
}

.pos-sale-result-receipt-breakdown {
  display: grid;
  gap: 14px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--pos-border) 70%, transparent);
}

@media (max-width: 900px) {
  .pos-sale-result-operator-layout {
    grid-template-columns: 1fr;
  }

  .pos-sale-result-operator-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pos-platform-media-defaults-link {
  max-width: 1180px;
  margin: 0 auto 12px;
  padding: 0 20px;
}

.pos-platform-media-defaults-link a {
  color: var(--pos-text-muted);
  font-size: 0.92rem;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.pos-platform-media-defaults-screen__panel {
  max-width: 1180px;
}

.pos-platform-media-defaults-screen__grid {
  display: grid;
  gap: 18px;
}

.pos-platform-media-default-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--pos-border);
  border-radius: 18px;
  background: var(--pos-surface);
}

.pos-platform-media-default-card__header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.pos-platform-media-default-card__title {
  margin: 4px 0;
  font-size: 1.15rem;
}

.pos-platform-media-default-card__copy,
.pos-platform-media-default-card__meta {
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.pos-platform-media-default-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pos-platform-media-default-card__status {
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pos-platform-media-default-card__status.is-valid {
  background: var(--pos-success-soft);
  color: var(--pos-success);
}

.pos-platform-media-default-card__status.is-invalid {
  background: color-mix(in srgb, var(--pos-danger) 16%, transparent);
  color: var(--pos-danger);
}

.pos-platform-media-default-card__preview {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 180px;
  border-radius: 16px;
  background: var(--pos-surface-muted);
  overflow: hidden;
}

.pos-platform-media-default-card__image {
  width: min(100%, 320px);
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
}

.pos-platform-media-default-card__preview-fallback {
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.pos-platform-media-default-card__fields {
  display: grid;
  gap: 12px;
}

.pos-platform-media-default-card__errors {
  margin: 0;
  padding-left: 18px;
}

.pos-platform-media-defaults-screen__snippet pre {
  margin-top: 12px;
  padding: 14px;
  overflow: auto;
  border-radius: 12px;
  background: var(--pos-surface-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

@media (min-width: 960px) {
  .pos-platform-media-defaults-screen__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.counter-service-launch-readiness {
  gap: 16px;
}

.counter-service-launch-readiness__checklist {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.counter-service-launch-readiness__row {
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--pos-surface-muted);
}

.counter-service-launch-readiness__row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.counter-service-launch-readiness__detail {
  margin: 8px 0 0;
  color: var(--pos-text-muted);
  font-size: 0.92rem;
}

.counter-service-launch-readiness__issues {
  margin: 8px 0 0;
  padding-left: 18px;
}

.pos-launch-mode-switch {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  margin: 0 0 12px;
  border-radius: 999px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-muted) 92%, transparent);
}

.pos-operator-session {
  position: relative;
  z-index: 30;
}

.pos-operator-session__trigger {
  appearance: none;
  font: inherit;
  cursor: pointer;
}

.pos-operator-session__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 280px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--pos-border);
  background: color-mix(in srgb, var(--pos-surface-elevated) 98%, transparent);
  box-shadow: 0 16px 40px rgba(15, 23, 40, 0.16);
  display: grid;
  gap: 8px;
  z-index: 40;
}

.pos-operator-session__title {
  margin: 0;
  font-weight: 650;
  color: var(--pos-text);
}

.pos-operator-session__hint {
  margin: 0;
  color: var(--pos-text-muted);
  font-size: 0.84rem;
  line-height: 1.4;
}

.pos-operator-session__error {
  margin: 0;
  color: #b42318;
  font-size: 0.84rem;
}

.pos-operator-session__action {
  justify-content: center;
  width: 100%;
}

/* Pilot P1 Kitchen Display */
.pos-kds-toolbar,.pos-kds-ticket__header,.pos-kds-ticket__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.pos-kds-toolbar{margin-bottom:16px}.pos-kds-stations{display:flex;gap:8px;flex-wrap:wrap}.pos-kds-stations button{border:1px solid #b9b1a6;background:#fff;border-radius:999px;padding:10px 16px;text-transform:capitalize;font-weight:700}.pos-kds-stations button.is-selected{background:#263a32;color:#fff;border-color:#263a32}.pos-kds-refreshed{text-align:right;color:#476257;font-weight:700}.pos-kds-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;align-items:start}.pos-kds-lane{background:#eee9e2;border-radius:18px;padding:12px;min-height:260px}.pos-kds-lane>header{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 10px}.pos-kds-lane>header h2{margin:0}.pos-kds-lane>header span{background:#fff;border-radius:999px;padding:4px 10px;font-weight:800}.pos-kds-lane__tickets{display:grid;gap:12px}.pos-kds-ticket{background:#fff;border:2px solid transparent;border-radius:15px;padding:14px;box-shadow:0 5px 16px rgba(39,31,25,.08)}.pos-kds-ticket--new{border-top-color:#d99136}.pos-kds-ticket--preparing{border-top-color:#497ba3}.pos-kds-ticket--ready{border-top-color:#3a8c68}.pos-kds-ticket__header h3{font-size:1.45rem;margin:2px 0}.pos-kds-ticket__elapsed,.pos-kds-ticket__server{display:flex;align-items:center;gap:6px;font-weight:800}.pos-kds-ticket__elapsed{font-size:1.15rem}.pos-kds-ticket__server{color:#53635d;margin:8px 0 12px}.pos-kds-ticket__items{display:grid;gap:10px}.pos-kds-line{border-top:1px solid #ded8cf;padding-top:10px}.pos-kds-line__title{display:flex;gap:10px;font-size:1.2rem}.pos-kds-line__choices,.pos-kds-line__note,.pos-kds-line__dietary{margin:5px 0}.pos-kds-line__allergen{display:flex;gap:7px;align-items:center;background:#ffe1dc;color:#8a2017;border-radius:9px;padding:9px;font-weight:900}.pos-kds-ticket__footer{margin-top:14px}.pos-kds-ticket__action{min-height:52px;min-width:132px;font-size:1rem}.pos-kds-empty{color:#756d64;text-align:center;padding:28px 10px}.pos-kds-history{margin-top:18px;background:#fff;border-radius:14px;padding:14px}.pos-kds-history__items{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pos-kds-history__items span{background:#eee9e2;border-radius:999px;padding:7px 11px}@media(max-width:900px){.pos-kds-board{grid-template-columns:1fr}.pos-kds-toolbar{align-items:flex-start;flex-direction:column}}
@media (min-width: 901px) and (max-width: 1180px){.pos-app-shell:has(.pos-kds-board){grid-template-columns:190px minmax(0,1fr)}.pos-app-shell:has(.pos-kds-board) .pos-side-rail{padding:16px 12px;border-right:1px solid var(--pos-border);border-bottom:0}.pos-app-shell:has(.pos-kds-board) .pos-kds-board{grid-template-columns:repeat(2,minmax(250px,1fr))}.pos-app-shell:has(.pos-kds-board) .pos-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 900px){.pos-app-shell:has(.pos-kds-board) .pos-side-rail{display:none}.pos-app-shell:has(.pos-kds-board){grid-template-columns:1fr}}

/* Pilot P2 waiter workspace */
.waiter-home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.waiter-home-summary>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:64px;padding:12px 16px;border:1px solid var(--pos-border);border-radius:14px;background:var(--pos-surface-elevated)}.waiter-home-summary span{color:var(--pos-text-muted);font-weight:700}.waiter-home-summary strong{font-size:1.5rem}.waiter-home-summary .is-ready{border-color:#2d7d5b;background:#e7f7ef;color:#14583e}.waiter-board{padding:16px}.waiter-board__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.waiter-board__heading h2{margin:2px 0 0}.waiter-board__tabs{display:flex;padding:4px;border-radius:12px;background:#e9e5df}.waiter-board__tabs button{min-height:44px;padding:8px 14px;border:0;border-radius:9px;background:transparent;color:var(--pos-text);font-weight:800}.waiter-board__tabs button.is-active{background:#fff;box-shadow:0 2px 8px rgba(28,24,20,.1)}.waiter-board__notice,.waiter-board__error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:11px 13px;border-radius:11px;font-weight:700}.waiter-board__notice{justify-content:flex-start;background:#fff2cf;color:#76520b}.waiter-board__error{background:#ffe4df;color:#8a2017}.waiter-board__error button{display:flex;align-items:center;gap:6px;min-height:40px;border:1px solid currentColor;border-radius:9px;background:transparent;color:inherit;font-weight:800}.waiter-board__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.waiter-table-card{display:flex;min-height:174px;flex-direction:column;align-items:stretch;gap:7px;padding:14px;border:2px solid var(--pos-border);border-radius:16px;background:#fff;color:var(--pos-text);text-align:left}.waiter-table-card--ready{border-color:#27835b;background:#e9f8ef}.waiter-table-card--preparing{border-color:#4e7f9f;background:#eef6fb}.waiter-table-card--available{border-style:dashed}.waiter-table-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.waiter-table-card__top strong{font-size:1.2rem}.waiter-table-card__top>span{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.78);font-size:.78rem;font-weight:900}.waiter-table-card__area,.waiter-table-card__meta,.waiter-table-card__waiter{color:var(--pos-text-muted);font-size:.86rem}.waiter-table-card__amount{margin-top:auto;font-size:1.35rem;font-weight:900}.waiter-table-card__action{margin-top:auto;font-weight:900}.waiter-sheet{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(20,24,22,.52)}.waiter-sheet__panel{position:relative;width:min(100%,480px);padding:22px;border-radius:22px 22px 14px 14px;background:#fff;box-shadow:0 -16px 50px rgba(0,0,0,.22)}.waiter-sheet__panel h2{margin:4px 0}.waiter-sheet__close{position:absolute;top:14px;right:14px;display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#eee9e2}.waiter-field{display:grid;gap:8px;margin:20px 0}.waiter-field>span{display:flex;align-items:center;gap:7px;font-weight:800}.waiter-field input{min-height:54px;padding:10px 14px;border:1px solid var(--pos-border);border-radius:11px;font:inherit;font-size:1.15rem}.waiter-sheet__confirm{width:100%;min-height:56px;justify-content:center}@media(max-width:600px){.waiter-home-summary{gap:6px}.waiter-home-summary>div{min-height:58px;padding:9px;flex-direction:column;align-items:flex-start}.waiter-home-summary strong{font-size:1.25rem}.waiter-board{padding:12px}.waiter-board__heading{align-items:stretch;flex-direction:column}.waiter-board__tabs button{flex:1}.waiter-board__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.waiter-table-card{min-height:160px;padding:11px}.waiter-table-card__top{flex-direction:column}.waiter-table-card__top strong{font-size:1.05rem}.waiter-sheet{padding:0}.waiter-sheet__panel{border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}}
.waiter-picker{position:fixed;inset:0;z-index:125;display:flex;justify-content:flex-end;background:rgba(20,24,22,.52)}.waiter-picker__panel{width:min(100%,620px);height:100%;overflow:auto;padding:18px;background:#f8f6f2;box-shadow:-16px 0 50px rgba(0,0,0,.2)}.waiter-picker__panel>header,.waiter-picker__config-header,.waiter-picker__total,.waiter-draft-line__title{display:flex;align-items:center;justify-content:space-between;gap:12px}.waiter-picker__panel>header button,.waiter-picker__config-header button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:#e9e5df}.waiter-picker__panel h2,.waiter-picker__panel h3{margin:3px 0}.waiter-picker__categories{display:flex;gap:8px;overflow:auto;margin:16px 0;padding-bottom:4px}.waiter-picker__categories button{min-height:46px;padding:9px 16px;border:1px solid var(--pos-border);border-radius:999px;background:#fff;font-weight:800;white-space:nowrap}.waiter-picker__categories button.is-active{background:#263a32;color:#fff}.waiter-picker__products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.waiter-picker__products button{display:flex;min-height:92px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px;border:1px solid var(--pos-border);border-radius:14px;background:#fff;text-align:left}.waiter-picker__configuration{margin-top:16px;padding:16px;border-radius:18px;background:#fff}.waiter-picker__quantity{display:flex;align-items:center;justify-content:center;gap:18px;margin:15px 0}.waiter-picker__quantity button,.waiter-draft-line__actions button{display:flex;min-width:46px;min-height:46px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--pos-border);border-radius:10px;background:#fff}.waiter-picker__quantity strong{font-size:1.35rem}.waiter-picker__group{margin:14px 0;padding:10px;border:1px solid var(--pos-border);border-radius:12px}.waiter-picker__group legend{padding:0 5px;font-weight:900}.waiter-picker__group>div{display:flex;flex-wrap:wrap;gap:8px}.waiter-picker__group button{min-height:46px;padding:8px 12px;border:1px solid var(--pos-border);border-radius:10px;background:#f8f6f2;font-weight:700}.waiter-picker__group button.is-selected{border-color:#263a32;background:#263a32;color:#fff}.waiter-picker__allergy{display:flex;align-items:center;gap:7px;padding:9px;border-radius:9px;background:#ffe1dc;color:#8a2017;font-weight:900}.waiter-picker__issue{color:#8a2017;font-weight:800}.waiter-picker textarea{min-height:70px;padding:10px;border:1px solid var(--pos-border);border-radius:10px;font:inherit}.waiter-picker__total{margin:16px 0}.waiter-picker__total strong{font-size:1.3rem}.waiter-picker__add{width:100%;min-height:56px;justify-content:center}.waiter-draft-round__items{display:grid;gap:10px}.waiter-draft-line{padding:13px;border:1px solid var(--pos-border);border-radius:13px;background:#fff}.waiter-draft-line__title>div{display:grid;gap:3px}.waiter-draft-line__title span{color:var(--pos-text-muted);font-size:.82rem;text-transform:capitalize}.waiter-draft-line__actions{display:flex;gap:8px;margin-top:10px}.waiter-draft-line__actions button:last-child{margin-left:auto;padding:8px 12px;color:#8a2017}@media(max-width:600px){.waiter-picker__panel{padding:14px 12px calc(18px + env(safe-area-inset-bottom))}.waiter-picker__products{grid-template-columns:repeat(2,minmax(0,1fr))}.waiter-picker__configuration{padding:13px}.waiter-draft-line__actions button:last-child{font-size:0;width:46px;padding:0}.waiter-draft-line__actions button:last-child svg{width:18px}}
.waiter-rounds__list{display:grid;gap:12px}.waiter-round{padding:13px;border:1px solid var(--pos-border);border-radius:14px;background:#f8f6f2}.waiter-round h4{margin:0 0 10px;font-size:1.05rem}.waiter-round__stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.waiter-round-station{padding:12px;border:2px solid transparent;border-radius:12px;background:#fff}.waiter-round-station--ready{border-color:#27835b;background:#e9f8ef}.waiter-round-station__heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.waiter-round-station__item{display:grid;gap:5px;margin:6px 0}.waiter-round-station__item strong{display:flex;align-items:center;gap:5px;color:#8a2017}.waiter-round-station .pos-button{min-height:48px;margin-top:10px}.waiter-transfer-sheet__locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.waiter-transfer-sheet__locations button{display:flex;min-height:76px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:11px;border:1px solid var(--pos-border);border-radius:12px;background:#fff;text-align:left}.waiter-transfer-sheet__locations button:disabled{opacity:.55}.waiter-transfer-sheet__locations span{color:var(--pos-text-muted);font-size:.84rem}.waiter-transfer-sheet__confirm{padding:13px;border-radius:12px;background:#eef6fb}.waiter-transfer-sheet__confirm .pos-button{width:100%;min-height:52px;justify-content:center}@media(max-width:600px){.waiter-round__stations,.waiter-transfer-sheet__locations{grid-template-columns:1fr}}
.waiter-table-card--needs-attention{border-color:#c53b2c;background:#fff0ed}.waiter-workspace-actions{position:sticky;top:132px;z-index:35;padding:9px;border:1px solid var(--pos-border);border-radius:14px;background:color-mix(in srgb,var(--pos-surface-elevated) 96%,transparent);backdrop-filter:blur(12px)}@media(max-width:700px){.waiter-workspace-actions{top:auto;right:10px;bottom:10px;left:10px;flex-wrap:nowrap;overflow-x:auto;margin-right:0!important;margin-left:0!important}.waiter-workspace-actions .pos-button{min-width:max-content;min-height:50px}}

/* Table Service device launch */
.hospitality-pin-entry{display:grid;min-height:calc(var(--pos-app-vh,1vh)*100);place-items:center;padding:24px;background:radial-gradient(circle at top left,color-mix(in srgb,var(--pos-accent) 10%,transparent),transparent 42%)}.hospitality-pin-entry__card{display:grid;width:min(100%,430px);gap:20px;padding:28px;border:1px solid var(--pos-border);border-radius:28px;background:var(--pos-surface-elevated);box-shadow:0 24px 70px rgba(15,23,40,.14)}.hospitality-pin-entry__context{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding-bottom:16px;border-bottom:1px solid var(--pos-border)}.hospitality-pin-entry__context span,.hospitality-pin-entry__context small{color:var(--pos-text-muted)}.hospitality-pin-entry__context strong{grid-row:1/3;grid-column:2;align-self:center}.hospitality-pin-entry__copy h1{margin:4px 0 8px;font-size:clamp(1.8rem,6vw,2.5rem)}.hospitality-pin-entry__copy p{margin:0;color:var(--pos-text-muted)}.hospitality-pin-entry__dots{display:flex;justify-content:center;gap:12px;min-height:18px}.hospitality-pin-entry__dots span{width:14px;height:14px;border:2px solid var(--pos-border-strong);border-radius:50%;background:transparent}.hospitality-pin-entry__dots span.is-filled{border-color:var(--pos-accent);background:var(--pos-accent)}.hospitality-pin-entry__keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hospitality-pin-entry__keypad button{display:grid;min-height:64px;place-items:center;border:1px solid var(--pos-border);border-radius:16px;background:var(--pos-surface);color:var(--pos-text);font:inherit;font-size:1.25rem;font-weight:800}.hospitality-pin-entry__keypad button:active{transform:scale(.98);background:var(--pos-surface-muted)}.hospitality-pin-entry__error{margin:0;padding:10px 12px;border-radius:10px;background:#ffe4df;color:#8a2017;font-weight:750}.hospitality-pin-entry__submit{width:100%;min-height:58px;justify-content:center}@media(max-width:520px){.hospitality-pin-entry{align-items:stretch;padding:0}.hospitality-pin-entry__card{width:100%;min-height:calc(var(--pos-app-vh,1vh)*100);align-content:center;border:0;border-radius:0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:none}.hospitality-pin-entry__keypad button{min-height:60px}}

/* Dedicated Table Service and KDS operating shell */
.hospitality-shell{min-height:calc(var(--pos-app-vh,1vh)*100);background:var(--pos-background,#f4f1eb);color:var(--pos-text)}.hospitality-shell__topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:72px;padding:10px 22px;border-bottom:1px solid var(--pos-border);background:color-mix(in srgb,var(--pos-surface-elevated) 96%,transparent);backdrop-filter:blur(14px)}.hospitality-shell__brand{display:flex;align-items:center;gap:10px}.hospitality-shell__brand div{display:grid}.hospitality-shell__brand small{color:var(--pos-text-muted)}.hospitality-shell__mark{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--pos-accent,#263a32);color:#fff;font-weight:900}.hospitality-shell__context{display:flex;align-items:center;justify-content:flex-end;gap:8px;overflow:auto}.hospitality-shell__context span{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:var(--pos-surface-muted);font-size:.86rem;font-weight:750;white-space:nowrap}.hospitality-shell__operator{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--pos-border);border-radius:12px;background:var(--pos-surface);font:inherit;font-weight:800}.hospitality-shell__nav{position:sticky;top:72px;z-index:45;display:flex;gap:6px;padding:8px 22px;border-bottom:1px solid var(--pos-border);background:var(--pos-surface-elevated)}.hospitality-shell__nav a{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px;border-radius:11px;color:var(--pos-text);font-weight:800;text-decoration:none}.hospitality-shell__nav a.active{background:var(--pos-accent,#263a32);color:#fff}.hospitality-shell__main{width:min(100%,1500px);margin:0 auto;padding:22px}.hospitality-shell__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.hospitality-shell__heading h1{margin:3px 0 6px;font-size:clamp(1.7rem,3vw,2.5rem)}.hospitality-shell__heading p{margin:0;color:var(--pos-text-muted)}.hospitality-shell__body{min-width:0}.hospitality-shell__primary{position:sticky;bottom:12px}@media(max-width:700px){.hospitality-shell__topbar{grid-template-columns:1fr auto;padding:8px 12px}.hospitality-shell__context{grid-column:1/-1;grid-row:2;justify-content:flex-start}.hospitality-shell__brand small{display:none}.hospitality-shell__operator{font-size:0}.hospitality-shell__operator svg{width:20px}.hospitality-shell__nav{top:116px;padding:6px 12px}.hospitality-shell__nav a{flex:1;justify-content:center}.hospitality-shell__main{padding:14px 10px 90px}.hospitality-shell__heading{align-items:flex-start;flex-direction:column}.hospitality-shell__heading>div{width:100%}}


.pos-box-office-shell {
  --bo-canvas: #faf8f4;
  --bo-card: #ffffff;
  --bo-warm: #fefcfa;
  --bo-ink: #1c1a17;
  --bo-ink-2: #7a7368;
  --bo-ink-3: #9b9388;
  --bo-sage: #6d876d;
  --bo-sage-dark: #577456;
  --bo-sage-light: #8fa587;
  --bo-sage-muted: #e8efe8;
  --bo-amber: #c98a37;
  --bo-amber-hi: #d99a43;
  --bo-amber-muted: #fdf3e3;
  --bo-border: #e8e2d9;
  --bo-sold: #d9d4ce;
  --bo-danger: #c0392b;
  --bo-display: 'DM Serif Display', Georgia, serif;
  --bo-sans: 'DM Sans', 'Avenir Next', 'Segoe UI', sans-serif;
  --bo-mono: 'DM Mono', 'Courier New', monospace;
  height: 100dvh;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: var(--bo-canvas);
  color: var(--bo-ink);
  font-family: var(--bo-sans);
  -webkit-font-smoothing: antialiased;
}

.pos-box-office-shell * { box-sizing: border-box; }

.pos-box-office-chrome {
  height: 56px;
  background: #fff;
  border-bottom: 1px solid var(--bo-border);
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 16px;
  flex-shrink: 0;
}

.pos-box-office-chrome__title {
  flex: 1;
  min-width: 0;
}

.pos-box-office-chrome__title strong {
  display: block;
  font-family: var(--bo-display);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--bo-ink);
}

.pos-box-office-chrome__title span {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bo-ink-2);
  margin-top: 1px;
}

.pos-box-office-chrome__status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bo-ink-2);
}

.pos-box-office-chrome__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bo-sage);
}

.pos-box-office-mode-bar {
  height: 48px;
  background: #fefcfa;
  border-bottom: 1px solid var(--bo-border);
  display: flex;
  align-items: stretch;
  padding: 0 16px;
  gap: 4px;
  flex-shrink: 0;
}

.pos-box-office-mode-bar__tab {
  padding: 0 20px;
  height: 100%;
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bo-ink-2);
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-family: inherit;
}

.pos-box-office-mode-bar__tab.is-selected {
  color: var(--bo-sage-dark);
  border-bottom-color: var(--bo-sage);
}

.pos-box-office-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  background: var(--bo-amber-muted);
  border-bottom: 1px solid #ead5a8;
  flex-shrink: 0;
  gap: 16px;
}

.pos-box-office-banner__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--bo-amber);
  display: grid;
  place-items: center;
  color: #fff;
  flex-shrink: 0;
}

.pos-box-office-banner h1 {
  margin: 0;
  font-family: var(--bo-display);
  font-size: 16px;
  font-weight: 400;
  color: var(--bo-ink);
}

.pos-box-office-banner p {
  margin: 1px 0 0;
  font-size: 12px;
  color: var(--bo-ink-2);
}

.pos-box-office-banner__copy {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.pos-box-office-work {
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.pos-box-office-sell {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pos-box-office-lanes-page {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

.pos-box-office-lanes-page h2 {
  margin: 0 0 4px;
  font-family: var(--bo-display);
  font-size: 22px;
  font-weight: 400;
}

.pos-box-office-lanes-page > p {
  margin: 0 0 20px;
  font-size: 13px;
  color: var(--bo-ink-2);
}

.pos-box-office-lanes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.pos-box-office-lane {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 24px 22px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
}

.pos-box-office-lane:active {
  transform: translateY(0);
}

.pos-box-office-lane__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: grid;
  place-items: center;
}

.pos-box-office-lane strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
}

.pos-box-office-lane span {
  display: block;
  font-size: 12px;
  color: var(--bo-ink-2);
  margin-top: 3px;
}

.pos-box-office-workspace-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 24px 12px;
  border-bottom: 1px solid var(--bo-border);
  flex-shrink: 0;
}

.pos-box-office-workspace-head h2 {
  margin: 0;
  font-family: var(--bo-display);
  font-size: 20px;
  font-weight: 400;
}

.pos-box-office-workspace-head p {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--bo-ink-2);
}

.pos-box-office-detail {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pos-box-office-sessions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.pos-box-office-session,
.pos-box-office-choice,
.pos-box-office-find__card,
.pos-box-office-camping__group {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 14px;
  padding: 18px 20px;
  text-align: left;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

.pos-box-office-session {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-box-office-session strong {
  font-family: var(--bo-mono);
  font-size: 24px;
  font-weight: 500;
}

.pos-box-office-session span,
.pos-box-office-session em {
  font-size: 12px;
  font-style: normal;
  color: var(--bo-sage);
}

.pos-box-office-session.is-selected {
  border-color: var(--bo-amber);
  background: var(--bo-amber-muted);
}

.pos-box-office-tickets {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pos-box-office-ticket {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.pos-box-office-ticket.is-selected,
.pos-box-office-choice.is-selected,
.pos-box-office-lane.is-selected {
  border-color: var(--bo-sage);
  background: #fdfcfa;
}

.pos-box-office-ticket__copy {
  flex: 1;
  min-width: 0;
}

.pos-box-office-ticket__copy h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}

.pos-box-office-ticket__copy strong {
  display: inline-block;
  font-family: var(--bo-mono);
  font-size: 20px;
  font-weight: 500;
  color: var(--bo-amber);
  margin-right: 10px;
}

.pos-box-office-ticket__copy span,
.chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  background: var(--bo-sage-muted);
  color: var(--bo-sage-dark);
}

.pos-box-office-qty {
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto;
  height: auto;
}

.pos-box-office-qty__add,
.pos-box-office-qty__btn,
.pos-box-office-ticket__choose,
.pos-box-office-back,
.btn-secondary {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 10px;
  border: 1.5px solid var(--bo-border);
  background: #fff;
  color: var(--bo-ink);
  font: inherit;
  font-size: 20px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.pos-box-office-qty__add,
.pos-box-office-ticket__choose,
.btn-secondary {
  width: auto;
  min-width: 52px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 500;
}

.pos-box-office-qty__add:active,
.pos-box-office-qty__btn:active,
.btn-primary:active {
  transform: scale(0.95);
}

.pos-box-office-qty__value {
  font-family: var(--bo-mono);
  font-size: 20px;
  font-weight: 500;
  min-width: 28px;
  text-align: center;
}

.pos-box-office-qty--active {
  display: flex;
  border: 0;
  background: transparent;
  overflow: visible;
  height: auto;
}

.pos-box-office-basket {
  width: 320px;
  flex-shrink: 0;
  border-left: 1px solid var(--bo-border);
  background: #fefcfa;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
  padding: 0;
}

.pos-box-office-basket > header {
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--bo-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pos-box-office-basket .pos-surface-label,
.pos-box-office-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bo-ink-3);
}

.pos-box-office-basket h2 {
  margin: 0;
  font-family: var(--bo-mono);
  font-size: 11px;
  font-weight: 400;
  color: var(--bo-ink-3);
}

.pos-box-office-basket__lines {
  flex: 1;
  overflow-y: auto;
  padding: 8px 20px;
}

.pos-box-office-basket__empty {
  text-align: center;
  padding: 32px 0;
  color: var(--bo-ink-3);
  font-size: 13px;
}

.pos-box-office-basket-line {
  padding: 12px 0;
  border-bottom: 1px solid var(--bo-border);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.pos-box-office-basket-line strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.pos-box-office-basket-line p {
  margin: 3px 0 0;
  font-size: 11px;
  color: var(--bo-ink-2);
}

.pos-box-office-basket-line__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.pos-box-office-basket-line__meta span {
  font-family: var(--bo-mono);
  font-size: 14px;
}

.pos-box-office-basket-line__meta button {
  background: none;
  border: 0;
  padding: 0;
  min-width: 28px;
  min-height: 28px;
  color: var(--bo-ink-3);
  cursor: pointer;
}

.pos-box-office-basket footer {
  padding: 16px 20px;
  border-top: 1px solid var(--bo-border);
  background: #fff;
}

.pos-box-office-basket__customer {
  padding: 12px 20px;
  border-top: 1px solid var(--bo-border);
}

.pos-box-office-basket__total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.pos-box-office-basket__total-row span {
  font-size: 14px;
  font-weight: 700;
}

.pos-box-office-basket__total {
  font-family: var(--bo-mono);
  font-size: 22px;
  font-weight: 600;
}

.btn-primary,
.pos-box-office-pay,
.pos-box-office-shell .pos-button--primary {
  background: var(--bo-amber);
  color: #fff;
  border: 0;
  border-radius: 12px;
  height: 56px;
  min-height: 56px;
  width: 100%;
  font-family: var(--bo-sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
}

.btn-primary:disabled,
.pos-box-office-pay:disabled,
.pos-box-office-qty__btn:disabled,
.pos-box-office-qty__add:disabled {
  background: var(--bo-sold);
  color: var(--bo-ink-3);
  cursor: not-allowed;
}

.pos-box-office-choice-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.pos-box-office-choice {
  min-height: 52px;
}

.pos-box-office-fulfilment {
  background: var(--bo-canvas);
  border-radius: 24px 24px 0 0;
  padding: 28px;
  width: 100%;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  border: 0;
}

.pos-box-office-fulfilment h2 {
  margin: 0 0 16px;
  font-family: var(--bo-display);
  font-size: 22px;
  font-weight: 400;
}

.pos-box-office-fulfilment__fields {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.pos-box-office-fulfilment input,
.pos-box-office-camping input,
.pos-box-office-find input,
.search-field {
  width: 100%;
  height: 56px;
  min-height: 52px;
  border-radius: 14px;
  border: 1.5px solid var(--bo-border);
  padding: 0 20px;
  font: inherit;
  font-size: 16px;
  background: #fff;
  color: var(--bo-ink);
}

.pos-box-office-drawer {
  position: fixed;
  inset: 0;
  background: rgba(28, 26, 23, 0.4);
  z-index: 50;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.pos-box-office-find,
.pos-box-office-recent,
.pos-box-office-complete {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

.pos-box-office-find h2,
.pos-box-office-recent h2,
.pos-box-office-complete h1 {
  margin: 0 0 6px;
  font-family: var(--bo-display);
  font-size: 24px;
  font-weight: 400;
}

.pos-box-office-find p,
.pos-box-office-recent p {
  color: var(--bo-ink-2);
  font-size: 13px;
}

.pos-box-office-find__search {
  position: relative;
  margin: 20px 0 16px;
}

.pos-box-office-find__results,
.pos-box-office-complete__actions,
.pos-box-office-recovery {
  display: grid;
  gap: 10px;
}

.pos-box-office-find__card {
  display: flex;
  align-items: center;
  gap: 16px;
}

.pos-box-office-complete {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.pos-box-office-complete__mark {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--bo-sage);
  display: grid;
  place-items: center;
  color: #fff;
}

.pos-box-office-complete__status {
  font-family: var(--bo-mono);
  font-size: 18px;
  color: var(--bo-sage);
}

.pos-box-office-complete dl {
  width: 100%;
  max-width: 440px;
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 20px;
  text-align: left;
}

.pos-box-office-complete dt {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bo-ink-3);
}

.pos-box-office-complete dd {
  margin: 0 0 12px;
  font-weight: 600;
}

.pos-box-office-alert { color: var(--bo-danger); margin: 0; }

.pos-box-office-seats {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 16px;
  overflow: auto;
}

.pos-box-office-seats__toolbar,
.pos-box-office-seats__legend {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.pos-box-office-seats__zoom button {
  min-width: 44px;
  min-height: 44px;
  border-radius: 10px;
  border: 1.5px solid var(--bo-border);
  background: #fff;
}

.pos-box-office-seat {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border-radius: 6px;
  border: 2px solid var(--bo-sage);
  background: #fff;
  color: var(--bo-sage-dark);
  font-family: var(--bo-mono);
  font-size: 9px;
}

.pos-box-office-seat.is-selected {
  background: var(--bo-amber);
  border-color: var(--bo-amber);
  color: #fff;
}

.pos-box-office-camping,
.pos-box-office-camping__fields {
  display: grid;
  gap: 12px;
}

.pos-box-office-event-picker {
  display: grid;
  gap: 8px;
  max-height: 50vh;
  overflow: auto;
}

.pos-box-office-event__chip {
  min-height: 52px;
  border-radius: 14px;
  border: 1.5px solid var(--bo-border);
  background: #fff;
  text-align: left;
  padding: 12px 16px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.pos-box-office-event__chip.is-selected {
  border-color: var(--bo-sage);
  background: var(--bo-sage-muted);
}

.pos-box-office-sell {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.pos-box-office-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.pos-box-office-page__body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pos-box-office-workspace-foot {
  padding: 16px 24px;
  border-top: 1px solid var(--bo-border);
  background: #fff;
  flex-shrink: 0;
}

.pos-box-office-workspace-foot__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--bo-ink-2);
}

.pos-box-office-workspace-foot__meta strong {
  font-family: var(--bo-mono);
  font-size: 18px;
  color: var(--bo-ink);
}

.pos-box-office-panel {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 20px;
}

.pos-box-office-muted { color: var(--bo-ink-2); font-size: 13px; margin: 0; }
.pos-box-office-mono { font-family: var(--bo-mono); font-size: 12px; color: var(--bo-ink-3); margin: 0; }

.pos-box-office-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid var(--bo-border);
  font-size: 14px;
}

.pos-box-office-summary-row.is-total {
  border-top: 2px solid var(--bo-ink);
  padding-top: 14px;
  margin-top: 4px;
  font-weight: 700;
}

.pos-box-office-summary-row.is-total strong,
.pos-box-office-summary-row strong {
  font-family: var(--bo-mono);
  font-weight: 500;
}

.pos-box-office-pay-methods {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.pos-box-office-pay-method {
  padding: 16px 8px;
  border-radius: 14px;
  border: 2px solid var(--bo-border);
  background: #fff;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-height: 72px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
}

.pos-box-office-pay-method.is-selected {
  border-color: var(--bo-amber);
  background: var(--bo-amber-muted);
}

.pos-box-office-pay-method.is-unavailable {
  opacity: 0.55;
}

.pos-box-office-processing {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 32px;
}

.pos-box-office-processing__pulse {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--bo-sage-muted);
  border: 3px solid var(--bo-sage);
  display: grid;
  place-items: center;
  animation: pos-box-office-pulse 2s ease-in-out infinite;
}

.pos-box-office-processing__amount {
  display: block;
  font-family: var(--bo-display);
  font-size: 48px;
  font-weight: 400;
  text-align: center;
}

.pos-box-office-processing__hold {
  background: #fff;
  border: 1px solid var(--bo-border);
  border-radius: 14px;
  padding: 14px 28px;
  font-size: 13px;
  color: var(--bo-danger);
  font-weight: 500;
  max-width: 360px;
  text-align: center;
}

.pos-box-office-spin { animation: pos-box-office-spin 1s linear infinite; color: var(--bo-sage); }

.pos-box-office-progress {
  flex: 1;
  overflow-y: auto;
  padding: 32px;
  max-width: 480px;
  margin: 0 auto;
  width: 100%;
}

.pos-box-office-progress h2 {
  font-family: var(--bo-display);
  font-size: 22px;
  font-weight: 400;
  text-align: center;
  margin: 0 0 20px;
}

.pos-box-office-fulfil-step {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bo-border);
  font-size: 14px;
  font-weight: 500;
}

.pos-box-office-fulfil-step__mark {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bo-sage);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.pos-box-office-stage {
  display: inline-block;
  background: var(--bo-ink);
  color: #fff;
  padding: 8px 40px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin: 0 auto 20px;
}

.pos-box-office-section-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.pos-box-office-section-chip {
  background: var(--bo-sage-muted);
  border: 2px solid var(--bo-sage);
  border-radius: 10px;
  padding: 16px 10px;
  cursor: pointer;
  font: inherit;
  text-align: center;
}

.pos-box-office-section-chip strong {
  display: block;
  color: var(--bo-sage-dark);
}

.pos-box-office-section-chip span {
  display: block;
  font-size: 11px;
  color: var(--bo-ink-2);
  margin-top: 3px;
}

.pos-box-office-option {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 20px 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
  font: inherit;
  width: 100%;
}

.pos-box-office-option.is-selected {
  background: var(--bo-sage-muted);
  border-color: var(--bo-sage);
}

.pos-box-office-option.is-refund {
  background: #fdecea;
  border-color: var(--bo-danger);
}

.pos-box-office-option__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #f0ede9;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.pos-box-office-option.is-selected .pos-box-office-option__icon {
  background: var(--bo-sage);
  color: #fff;
}

.pos-box-office-option strong { display: block; font-size: 16px; }
.pos-box-office-option span, .pos-box-office-option p { display: block; font-size: 12px; color: var(--bo-ink-2); margin-top: 3px; }
.pos-box-office-option em {
  font-style: normal;
  font-family: var(--bo-mono);
  font-size: 18px;
  color: var(--bo-amber);
  margin-left: auto;
}

.pos-box-office-reg {
  width: 100%;
  height: 52px;
  border-radius: 12px;
  border: 1.5px solid var(--bo-border);
  padding: 0 16px;
  font-family: var(--bo-mono);
  font-size: 18px;
  letter-spacing: 0.1em;
  background: var(--bo-canvas);
}

.pos-box-office-offer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 24px;
  overflow-y: auto;
  flex: 1;
}

.pos-box-office-offer-card {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 16px;
  padding: 20px;
  display: grid;
  gap: 8px;
}

.pos-box-office-offer-card h3 { margin: 0; font-size: 16px; }
.pos-box-office-offer-card p { margin: 0; font-size: 12px; color: var(--bo-ink-2); }
.pos-box-office-offer-card strong { font-family: var(--bo-mono); color: var(--bo-amber); font-size: 18px; }

.pos-box-office-seats-layout {
  flex: 1;
  display: flex;
  min-height: 0;
  overflow: hidden;
}

.pos-box-office-seats-layout .pos-box-office-seats {
  flex: 1;
  overflow: auto;
  border: 0;
  border-radius: 0;
}

.pos-box-office-seats__row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin-bottom: 6px;
}

.pos-box-office-seats__row > span {
  width: 18px;
  font-size: 11px;
  font-family: var(--bo-mono);
  color: var(--bo-ink-3);
  text-align: center;
}

.pos-box-office-your-seats {
  width: 220px;
  border-left: 1px solid var(--bo-border);
  padding: 16px;
  overflow-y: auto;
  background: #fefcfa;
}

.pos-box-office-your-seats__item {
  padding: 8px 0;
  border-bottom: 1px solid var(--bo-border);
  font-size: 13px;
  font-weight: 600;
}

.pos-box-office-seats__legend .is-available::before,
.pos-box-office-seats__legend .is-selected::before,
.pos-box-office-seats__legend .is-sold::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  margin-right: 6px;
  vertical-align: middle;
}
.pos-box-office-seats__legend .is-available::before { background: #fff; border: 2px solid var(--bo-sage); }
.pos-box-office-seats__legend .is-selected::before { background: var(--bo-amber); }
.pos-box-office-seats__legend .is-sold::before { background: var(--bo-sold); }

.pos-box-office-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  background: var(--bo-sage-muted);
  color: var(--bo-sage-dark);
}

.pos-box-office-find__tools {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

.pos-box-office-find__card--button {
  width: 100%;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.pos-box-office-find__meta { text-align: right; }
.pos-box-office-find__meta strong { display: block; font-family: var(--bo-mono); font-size: 18px; }

.pos-box-office-actions { display: grid; gap: 8px; }

.pos-box-office-action {
  background: #fff;
  border: 1.5px solid var(--bo-border);
  border-radius: 14px;
  padding: 18px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 14px;
  font: inherit;
  text-align: left;
}

.pos-box-office-action.is-danger {
  border-color: #f5b7b1;
  background: #fdecea;
}

.pos-box-office-action p { margin: 2px 0 0; font-size: 12px; color: var(--bo-ink-2); }

.pos-box-office-customer-row { display: flex; align-items: center; gap: 12px; }

.pos-box-office-check {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  border: 2px solid var(--bo-border);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.pos-box-office-check.is-on {
  background: var(--bo-danger);
  border-color: var(--bo-danger);
}

.btn-danger {
  background: var(--bo-danger);
  color: #fff;
  border: 0;
  border-radius: 12px;
  height: 56px;
  width: 100%;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.btn-danger:disabled {
  background: var(--bo-sold);
  color: var(--bo-ink-3);
  cursor: not-allowed;
}

.pos-box-office-stay-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--bo-amber-muted);
  border: 1.5px solid #ead5a8;
  border-radius: 14px;
  padding: 16px 20px;
}

.pos-box-office-stay-banner strong {
  display: block;
  font-family: var(--bo-display);
  font-size: 20px;
  font-weight: 400;
}

.pos-box-office-stay-banner__rule {
  flex: 1;
  height: 1px;
  background: var(--bo-amber);
  opacity: 0.4;
}

.pos-box-office-basket--rail footer { margin-top: auto; }

.pos-box-office-panel select {
  width: 100%;
  height: 48px;
  border-radius: 10px;
  border: 1.5px solid var(--bo-border);
  padding: 0 14px;
  font: inherit;
  background: var(--bo-canvas);
}

@keyframes pos-box-office-pulse {
  0% { transform: scale(0.95); opacity: 1; }
  70% { transform: scale(1.05); opacity: 0.7; }
  100% { transform: scale(0.95); opacity: 1; }
}

@keyframes pos-box-office-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 1100px) {
  .pos-box-office-pay-methods,
  .pos-box-office-section-grid,
  .pos-box-office-offer-grid { grid-template-columns: 1fr 1fr; }
  .pos-box-office-seats-layout { flex-direction: column; }
  .pos-box-office-your-seats { width: 100%; border-left: 0; border-top: 1px solid var(--bo-border); }
}

@media (max-width: 1100px) {
  .pos-box-office-work { flex-direction: column; }
  .pos-box-office-basket { width: 100%; max-height: 42%; }
  .pos-box-office-lanes,
  .pos-box-office-sessions { grid-template-columns: 1fr 1fr; }
}
