/* Valenzo POS v247: one classic table-sales workspace for tablet and desktop. */

.pos-v247-shell {
  --v247-background: #f4f1eb;
  --v247-surface: #fffdfa;
  --v247-panel: #ffffff;
  --v247-panel-raised: #f7f5f1;
  --v247-border: rgba(35, 29, 22, 0.12);
  --v247-border-strong: rgba(161, 113, 35, 0.35);
  --v247-text: #17191f;
  --v247-muted: #6f716f;
  --v247-gold: #c79235;
  --v247-gold-bright: #f5c66d;
  --v247-gold-soft: #fff1ce;
  --v247-gold-ink: #201507;
  --v247-header-background: #090e14;
  --v247-header-raised: #121922;
  --v247-header-text: #f8f4ea;
  --v247-header-muted: #aeb5bc;
  --v247-search-background: #f7f7f7;
  --v247-product-background: #f7f5f2;
  --v247-blue: #1769d2;
  --v247-green: #18864d;
  --v247-red: #d63733;
  --v247-orange: #cf7a16;
  --v247-shadow: 0 16px 42px rgba(20, 16, 10, 0.08);
  --v247-font: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-family: var(--v247-font);
}

html[data-valenzo-theme="light"] .pos-v247-shell {
  --v247-background: #f4f1eb;
  --v247-surface: #fffdfa;
  --v247-panel: #ffffff;
  --v247-panel-raised: #f7f5f1;
  --v247-border: rgba(35, 29, 22, 0.12);
  --v247-border-strong: rgba(161, 113, 35, 0.35);
  --v247-text: #17191f;
  --v247-muted: #6f716f;
  --v247-gold: #c79235;
  --v247-gold-soft: #fff1ce;
  --v247-header-background: #090e14;
  --v247-header-text: #f8f4ea;
  --v247-search-background: #f7f7f7;
}

html[data-valenzo-theme="dark"] .pos-v247-shell {
  --v247-background: var(--p-070b10, #070B10);
  --v247-surface: #0c1118;
  --v247-panel: #0a0f15;
  --v247-panel-raised: #111820;
  --v247-border: rgba(190, 199, 207, 0.13);
  --v247-border-strong: rgba(233, 183, 92, 0.4);
  --v247-text: #f4f2ed;
  --v247-muted: #959ca4;
  --v247-gold: #d4a34e;
  --v247-gold-soft: #332817;
  --v247-header-background: var(--p-070b10, #070B10);
  --v247-header-text: #f7f3e9;
  --v247-search-background: #11171e;
  --v247-product-background: #121820;
  --v247-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.pos-v247-shell,
.pos-v247-shell * {
  box-sizing: border-box;
}

.pos-v247-shell :is(button), .pos-v247-shell :is(input), .pos-v247-shell :is(select) {
  min-height: 44px;
  font: inherit;
}

.pos-v247-shell :is(button, input, select, [role="button"]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--v247-gold) 78%, white);
  outline-offset: 2px;
}

.pos-v247-shell [hidden] {
  display: none !important;
}

@media (min-width: 700px) {
  .pos-v247-shell.pos-v220-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .pos-v247-shell .pos-v220-rail {
    position: relative !important;
    z-index: 40 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(7px, 0.8vw, 13px) !important;
    width: 100% !important;
    height: 88px !important;
    min-height: 88px !important;
    overflow: hidden !important;
    padding: 0 clamp(10px, 1.5vw, 26px) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    background:
      radial-gradient(circle at 8% -50%, rgba(212, 163, 78, 0.14), transparent 38%),
      linear-gradient(180deg, #0d1219 0%, var(--v247-header-background) 100%) !important;
    color: var(--v247-header-text) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
    container: v247-command / inline-size;
  }

  .pos-v247-shell .pos-v220-rail::after {
    content: none !important;
  }

  .pos-v247-shell .pos-v220-brand {
    display: flex !important;
    width: auto !important;
    height: 64px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 11px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: transparent !important;
  }

  .pos-v247-shell .pos-v220-brand-mark {
    display: grid !important;
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .pos-v247-shell .pos-v220-brand-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 7px 13px rgba(212, 163, 78, 0.22));
  }

  .pos-v247-shell .pos-v220-brand-copy :is(b), .pos-v247-shell .pos-v220-brand-copy :is(small) {
    display: block !important;
    overflow: hidden !important;
    color: var(--v247-header-text) !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .pos-v247-shell .pos-v220-brand-copy b {
    font-weight: 900 !important;
  }

  .pos-v247-shell .pos-v220-brand-copy small {
    color: var(--v247-gold-bright) !important;
    font-weight: 760 !important;
  }

  .pos-v247-shell .pos-v220-mode-indicator {
    width: auto !important;
    min-width: 64px !important;
    min-height: 52px !important;
    grid-template-columns: 28px minmax(0, auto) 7px !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 1px solid rgba(212, 163, 78, 0.36) !important;
    border-radius: 11px !important;
    background: rgba(212, 163, 78, 0.08) !important;
    color: var(--v247-header-text) !important;
  }

  .pos-v247-shell .pos-v220-mode-indicator[hidden] {
    display: none !important;
  }

  .pos-v247-shell .pos-v220-mode-icon {
    width: 28px !important;
    height: 28px !important;
    color: var(--v247-gold-bright) !important;
  }

  .pos-v247-shell .pos-v220-mode-copy b {
    font-size: 11px !important;
    line-height: 1.1 !important;
  }

  .pos-v247-shell .pos-v220-nav {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 3px !important;
    scrollbar-width: none;
  }

  .pos-v247-shell .pos-v220-nav::-webkit-scrollbar {
    display: none;
  }

  .pos-v247-shell .pos-v220-nav [data-pos-v220-target] {
    display: grid !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 52px !important;
    flex: 0 0 auto !important;
    grid-template-columns: 28px auto !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    color: var(--v247-header-text) !important;
    box-shadow: none !important;
  }

  .pos-v247-shell .pos-v220-nav [data-pos-v220-target][hidden] {
    display: none !important;
  }

  .pos-v247-shell .pos-v220-nav [data-pos-v220-target]:hover:not(:disabled) {
    border-color: rgba(212, 163, 78, 0.45) !important;
    background: rgba(212, 163, 78, 0.08) !important;
  }

  .pos-v247-shell .pos-v220-nav [data-pos-v220-target]:is(.active, .is-active, [aria-current="page"]) {
    border-color: var(--v247-gold-bright) !important;
    background: linear-gradient(135deg, #f9d98e, #d89a39) !important;
    color: var(--v247-gold-ink) !important;
    box-shadow: 0 8px 20px rgba(203, 139, 38, 0.25) !important;
  }

  .pos-v247-shell .pos-v220-nav-icon {
    width: 28px !important;
    height: 28px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: currentColor !important;
  }

  .pos-v247-shell .pos-v220-nav [data-pos-v220-target]:is(.active, .is-active, [aria-current="page"]) .pos-v220-nav-icon {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.16)) !important;
    color: currentColor !important;
  }

  .pos-v247-shell .pos-v220-nav-copy :is(b), .pos-v247-shell .pos-v220-nav-copy :is(span), .pos-v247-shell .pos-v220-nav-label {
    color: currentColor !important;
    font-size: 11px !important;
    font-weight: 780 !important;
    white-space: nowrap !important;
  }

  .pos-v247-shell .pos-v220-nav-badge {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 1px 4px !important;
    background: #dc3e37 !important;
    color: #fff !important;
    font-size: 9px !important;
  }

  .pos-v247-shell .pos-v247-utility {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
  }

  .pos-v247-shell .pos-v247-global-search {
    width: clamp(128px, 11vw, 180px);
    height: 50px;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--v247-header-muted);
  }

  .pos-v247-shell .pos-v247-global-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--v247-header-text);
    font-size: 13px;
  }

  .pos-v247-shell .pos-v247-global-search input::placeholder {
    color: var(--v247-header-muted);
  }

  .pos-v247-shell .pos-v247-user {
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding: 0 7px;
    color: var(--v247-header-text);
  }

  .pos-v247-shell .pos-v247-user-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: #27313d;
    color: #d4dae0;
    font-size: 15px;
  }

  .pos-v247-shell .pos-v247-user-copy :is(b), .pos-v247-shell .pos-v247-user-copy :is(small) {
    display: block;
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .pos-v247-shell .pos-v247-user-copy b {
    font-size: 12px;
  }

  .pos-v247-shell .pos-v247-user-copy small {
    margin-top: 2px;
    color: var(--v247-header-muted);
    font-size: 10px;
  }

  .pos-v247-shell .pos-v247-utility :is(.fast-manage), .pos-v247-shell .pos-v247-utility :is(.fast-logout), .pos-v247-shell .pos-v247-utility :is(.valenzo-language-selector) {
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: var(--v247-header-text) !important;
    box-shadow: none !important;
  }

  .pos-v247-shell .pos-v247-utility .valenzo-language-selector {
    width: 76px !important;
    padding-inline: 6px !important;
  }

  .pos-v247-shell .pos-v247-utility .valenzo-language-selector select {
    min-width: 42px !important;
    max-width: 46px !important;
  }

  .pos-v247-shell .pos-v247-menu-button {
    width: 46px !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  .pos-v247-shell .pos-v247-menu-button::before {
    color: var(--v247-header-text);
    content: "☰";
    font-size: 23px;
  }

  .pos-v247-shell .pos-v247-utility .fast-logout {
    width: 44px !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  .pos-v247-shell .pos-v247-utility .fast-logout::before {
    color: #f7b0ad;
    content: "↪";
    font-size: 20px;
  }

  .pos-v247-shell .pos-v220-stage {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--v247-background) !important;
  }

  .pos-v247-shell .pos-v220-stage > :is(.resto-shell), .pos-v247-shell .pos-v220-stage > :is(.table-workspace-v173) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales.resto-shell {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--v247-background) !important;
    color: var(--v247-text) !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales > .resto-top {
    display: none !important;
  }

  .pos-v247-shell .pos-v247-sales .resto-layout {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--v247-background) !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cats {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: clamp(12px, 1.25vw, 20px) clamp(10px, 1vw, 16px) !important;
    border: 0 !important;
    border-right: 1px solid var(--v247-border) !important;
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--v247-panel) 94%, transparent), var(--v247-panel)),
      radial-gradient(circle at 0% 100%, rgba(199, 146, 53, 0.12), transparent 42%) !important;
    color: var(--v247-text) !important;
  }

  .pos-v247-shell .pos-v247-sales .resto-cat-grid {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 9px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 2px 10px 0 !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cat {
    display: grid !important;
    width: 100% !important;
    height: auto !important;
    min-height: 62px !important;
    flex: 0 0 auto !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--v247-border) !important;
    border-radius: 11px !important;
    background: color-mix(in srgb, var(--v247-panel-raised) 86%, transparent) !important;
    color: var(--v247-text) !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cat:hover {
    border-color: var(--v247-border-strong) !important;
    background: color-mix(in srgb, var(--v247-gold-soft) 36%, var(--v247-panel-raised)) !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cat.active {
    border-color: color-mix(in srgb, var(--v247-gold) 72%, transparent) !important;
    background: linear-gradient(135deg, #f9d991, #d99a39) !important;
    color: var(--v247-gold-ink) !important;
    box-shadow: 0 10px 24px rgba(183, 121, 28, 0.2) !important;
  }

  .pos-v247-shell .pos-v247-sales .resto-cat-code {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    border-radius: 10px !important;
    background: color-mix(in srgb, var(--v247-text) 7%, transparent) !important;
    color: currentColor !important;
    font-size: 21px !important;
    line-height: 1 !important;
    text-shadow: none !important;
  }

  .pos-v247-shell .pos-v247-sales .resto-cat-name {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    font-weight: 760 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .pos-v247-shell .pos-v247-tables-shortcut {
    display: flex;
    width: 100%;
    min-height: 68px;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border: 1px solid color-mix(in srgb, var(--v247-gold) 70%, transparent);
    border-radius: 12px;
    background: color-mix(in srgb, var(--v247-gold-soft) 35%, transparent);
    color: var(--v247-gold);
    font-size: 16px;
    text-align: left;
  }

  .pos-v247-shell .pos-v247-tables-shortcut > span {
    font-size: 26px;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .fast-product-area {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-right: 1px solid var(--v247-border) !important;
    background: var(--v247-surface) !important;
    color: var(--v247-text) !important;
  }

  .pos-v247-shell .pos-v247-sales .fast-tables[aria-hidden="true"] {
    display: none !important;
  }

  .pos-v247-shell .pos-v247-catalog-toolbar {
    display: grid;
    min-width: 0;
    min-height: 76px;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px clamp(12px, 1.25vw, 20px);
    border-bottom: 1px solid var(--v247-border);
    background: var(--v247-panel);
  }

  body.pos-active .pos-v247-shell .pos-v247-catalog-toolbar .resto-search-wrap {
    display: flex !important;
    width: 100% !important;
    height: 56px !important;
    min-width: 0 !important;
    align-items: center !important;
    padding: 0 15px !important;
    border: 1px solid var(--v247-border) !important;
    border-radius: 11px !important;
    background: var(--v247-search-background) !important;
    color: var(--v247-text) !important;
    box-shadow: none !important;
    color-scheme: inherit !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-catalog-toolbar .resto-search {
    min-width: 0 !important;
    background: transparent !important;
    color: var(--v247-text) !important;
    -webkit-text-fill-color: var(--v247-text) !important;
    caret-color: var(--v247-gold) !important;
    color-scheme: inherit !important;
    font-size: clamp(14px, 1.1vw, 17px) !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-catalog-toolbar .resto-search::placeholder {
    color: var(--v247-muted) !important;
    -webkit-text-fill-color: var(--v247-muted) !important;
  }

  .pos-v247-shell .pos-v247-view-tools {
    display: flex;
    align-items: center;
    gap: 7px;
  }

  .pos-v247-shell .pos-v247-view-button {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--v247-border);
    border-radius: 11px;
    background: var(--v247-panel-raised);
    color: var(--v247-muted);
    font-size: 24px;
  }

  .pos-v247-shell .pos-v247-view-button.active {
    border-color: var(--v247-border-strong);
    background: var(--v247-gold-soft);
    color: var(--v247-gold);
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .fast-products-scroll {
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: clamp(10px, 1.2vw, 18px) clamp(12px, 1.45vw, 22px) 26px !important;
    background: var(--v247-surface) !important;
    overscroll-behavior: contain;
  }

  .pos-v247-shell .pos-v247-sales #posProductGrid.resto-product-grid {
    display: block !important;
    min-width: 0 !important;
  }

  .pos-v247-shell .pos-v247-product-groups {
    display: grid;
    gap: clamp(18px, 2vw, 28px);
  }

  .pos-v247-shell .pos-v247-product-group {
    min-width: 0;
  }

  .pos-v247-shell .pos-v247-product-group-head {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
  }

  .pos-v247-shell .pos-v247-product-group-head h2 {
    margin: 0;
    color: var(--v247-text);
    font-size: clamp(16px, 1.4vw, 22px);
    font-weight: 850;
    letter-spacing: -0.02em;
  }



  .pos-v247-shell .pos-v247-product-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 142px), 1fr));
    gap: 9px 12px;
  }

  body.pos-active .pos-v247-shell .pos-v247-product-card.resto-product {
    --v247-card-accent: var(--v247-gold);
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 82px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 5px !important;
    overflow: hidden !important;
    padding: 12px 13px 11px 20px !important;
    border: 1px solid var(--v247-border) !important;
    border-radius: 10px !important;
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--v247-card-accent) 6%, var(--v247-product-background)), var(--v247-product-background)) !important;
    color: var(--v247-text) !important;
    box-shadow: none !important;
    text-align: left !important;
    contain: layout paint style;
  }

  .pos-v247-shell .pos-v247-product-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    border-radius: 10px 0 0 10px;
    background: var(--v247-card-accent);
    content: "";
  }

  .pos-v247-shell .pos-v247-product-card:hover {
    border-color: color-mix(in srgb, var(--v247-card-accent) 54%, var(--v247-border)) !important;
    filter: brightness(1.03);
  }

  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="gold"] { --v247-card-accent: #c89236; }
  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="blue"] { --v247-card-accent: #5b9bee; }
  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="orange"] { --v247-card-accent: #ee9748; }
  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="green"] { --v247-card-accent: #50a66f; }
  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="violet"] { --v247-card-accent: #8f63dc; }
  .pos-v247-shell .pos-v247-product-card[data-pos-v247-accent="rose"] { --v247-card-accent: #dd687d; }

  body.pos-active .pos-v247-shell .pos-v247-product-card .resto-product-name {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--v247-text) !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    font-weight: 680 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-product-card .resto-product-price {
    color: color-mix(in srgb, var(--v247-gold) 92%, var(--v247-text)) !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    font-weight: 850 !important;
    text-align: left !important;
  }

  .pos-v247-shell .pos-v247-product-card .fast-product-badge {
    top: 6px !important;
    right: 7px !important;
    background: var(--v247-gold) !important;
    color: var(--v247-gold-ink) !important;
  }

  .pos-v247-shell [data-pos-v247-product-view="list"] ~ * {
    min-width: 0;
  }

  .pos-v247-shell .pos-v247-sales[data-pos-v247-product-view="list"] .pos-v247-product-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .pos-v247-shell .pos-v247-sales[data-pos-v247-product-view="list"] .pos-v247-product-card {
    min-height: 58px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cart {
    display: flex !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 0 !important;
    background: var(--v247-panel) !important;
    color: var(--v247-text) !important;
  }

  .pos-v247-shell .pos-v247-sales .resto-cart-head {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    clip-path: inset(50%) !important;
  }

  .pos-v247-shell .pos-v247-actions {
    display: grid !important;
    min-height: 124px !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
    padding: 14px 12px 10px !important;
    border-bottom: 1px solid var(--v247-border) !important;
    background: var(--v247-panel) !important;
  }

  .pos-v247-shell .pos-v247-actions > button {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 96px !important;
    grid-column: auto !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 9px 6px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: clamp(10px, 0.8vw, 13px) !important;
    font-weight: 760 !important;
    line-height: 1.18 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .pos-v247-shell .pos-v247-actions > button[hidden] {
    display: none !important;
  }

  .pos-v247-shell .pos-v247-actions > :is(.fast-undo), .pos-v247-shell .pos-v247-actions > :is(.service-bill-request), .pos-v247-shell .pos-v247-actions > :is(.ops123-table-actions) {
    min-height: 44px !important;
    flex-direction: row !important;
    gap: 6px !important;
    padding: 7px 10px !important;
    border-color: var(--v247-border-strong) !important;
    background: var(--v247-panel-raised) !important;
    color: var(--v247-text) !important;
    font-size: 11px !important;
    box-shadow: none !important;
  }


  .pos-v247-shell .pos-v247-actions > .service-bill-request {
    border-color: color-mix(in srgb, var(--v247-orange) 62%, var(--v247-border)) !important;
  }

  .pos-v247-shell .pos-v247-actions > .ops123-table-actions {
    border-color: color-mix(in srgb, var(--v247-blue) 55%, var(--v247-border)) !important;
    color: var(--v247-blue) !important;
  }


  .pos-v247-shell .pos-v247-action-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    font-size: 25px;
    font-weight: 850;
    line-height: 1;
  }

  .pos-v247-shell .pos-v247-action-label {
    display: block;
    max-width: 100%;
  }

  .pos-v247-shell .pos-v247-actions > .fast-undo {
    min-height: 44px !important;
    grid-column: span 2 !important;
    flex-direction: row !important;
    border-color: var(--v247-border) !important;
    background: var(--v247-panel-raised) !important;
    color: var(--v247-muted) !important;
  }

  .pos-v247-shell .pos-v247-actions > .service-bill-request {
    min-height: 44px !important;
    grid-column: auto !important;
    flex-direction: row !important;
    border-color: color-mix(in srgb, var(--v247-orange) 42%, var(--v247-border)) !important;
    background: color-mix(in srgb, var(--v247-orange) 9%, var(--v247-panel-raised)) !important;
    color: var(--v247-orange) !important;
  }

  .pos-v247-shell .pos-v247-order-selectors {
    display: grid;
    min-height: 70px;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--v247-border);
    background: var(--v247-panel);
  }

  .pos-v247-shell .pos-v247-order-selectors > label {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid var(--v247-border);
    border-radius: 10px;
    background: var(--v247-panel-raised);
    color: var(--v247-text);
  }

  .pos-v247-shell .pos-v247-order-selectors > label > span {
    color: var(--v247-text);
    font-size: 22px;
  }

  .pos-v247-shell .pos-v247-order-selectors > label > b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  body.pos-active .pos-v247-shell .pos-v247-order-selectors select {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 27px 0 4px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--v247-text) !important;
    font-size: clamp(12px, 1vw, 16px) !important;
    font-weight: 760 !important;
  }

  .pos-v247-shell .pos-v247-order-selectors select option {
    background: var(--v247-panel);
    color: var(--v247-text);
  }

  .pos-v247-shell .pos-v247-cart-columns {
    display: grid;
    min-height: 46px;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1fr) 116px 86px;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border-bottom: 1px solid var(--v247-border);
    color: var(--v247-muted);
    font-size: 12px;
  }

  .pos-v247-shell .pos-v247-cart-columns span:nth-child(2),
  .pos-v247-shell .pos-v247-cart-columns span:nth-child(3) {
    text-align: center;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cart-list {
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 14px !important;
    background: var(--v247-panel) !important;
    color: var(--v247-text) !important;
    overscroll-behavior: contain;
  }

  body.pos-active .pos-v247-shell .pos-v247-cart-row.resto-cart-row {
    display: grid !important;
    min-height: 72px !important;
    grid-template-columns: minmax(0, 1fr) 116px 86px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v247-border) !important;
    background: transparent !important;
    color: var(--v247-text) !important;
  }

  .pos-v247-shell .pos-v247-cart-name,
  .pos-v247-shell .pos-v247-cart-amount {
    overflow: hidden;
    color: var(--v247-text) !important;
    font-size: clamp(12px, 1vw, 15px) !important;
    font-weight: 690 !important;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .pos-v247-shell .pos-v247-cart-amount {
    text-align: center;
  }

  .pos-v247-shell .pos-v247-cart-quantity {
    display: grid;
    grid-template-columns: 34px minmax(22px, 1fr) 34px;
    align-items: center;
    gap: 5px;
    text-align: center;
  }

  body.pos-active .pos-v247-shell .pos-v247-cart-quantity .resto-qty {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid var(--v247-border) !important;
    border-radius: 8px !important;
    background: var(--v247-panel-raised) !important;
    color: var(--v247-text) !important;
    box-shadow: none !important;
    font-size: 18px !important;
  }

  .pos-v247-shell .pos-v247-cart-quantity strong {
    color: var(--v247-text);
    font-size: 14px;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .fast-cart-summary {
    display: none !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-cart-bottom {
    display: grid !important;
    min-height: 154px !important;
    flex: 0 0 auto !important;
    gap: 10px !important;
    padding: 11px 12px 13px !important;
    border: 0 !important;
    border-top: 1px solid var(--v247-border) !important;
    background: var(--v247-panel) !important;
    color: var(--v247-text) !important;
    box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.04) !important;
  }

  body.pos-active .pos-v247-shell .pos-v247-sales .resto-total {
    display: flex !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    color: var(--v247-text) !important;
    font-size: clamp(16px, 1.35vw, 23px) !important;
    font-weight: 670 !important;
  }

  .pos-v247-shell .pos-v247-pay-primary {
    display: grid;
    width: 100%;
    min-height: 76px;
    grid-template-columns: 36px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 9px;
    padding: 0 18px;
    border: 1px solid #f5cd80;
    border-radius: 11px;
    background: linear-gradient(135deg, #ffe6a9 0%, #e8a943 100%);
    color: var(--v247-gold-ink);
    box-shadow: 0 12px 28px rgba(190, 122, 25, 0.2);
    text-align: left;
  }

  .pos-v247-shell .pos-v247-pay-primary > span {
    font-size: 25px;
  }

  .pos-v247-shell .pos-v247-pay-primary > b {
    font-size: clamp(15px, 1.4vw, 22px);
    font-weight: 900;
  }

  .pos-v247-shell .pos-v247-pay-primary > strong {
    font-size: clamp(16px, 1.5vw, 23px);
    font-weight: 900;
    white-space: nowrap;
  }

  .pos-v247-shell .pos-v247-pay-primary > i {
    font-size: 33px;
    font-style: normal;
    line-height: 1;
  }

  .pos-v247-shell .pos-v247-pay-primary:disabled {
    cursor: not-allowed;
    filter: grayscale(0.65);
    opacity: 0.55;
  }

  .pos-v247-shell .pos-v247-empty {
    display: grid;
    min-height: 240px;
    place-items: center;
    color: var(--v247-muted);
    text-align: center;
  }
}

@container v247-command (max-width: 1180px) {
  .pos-v247-shell .pos-v247-user-copy,
  .pos-v247-shell .pos-v220-mode-copy {
    display: none;
  }

  .pos-v247-shell .pos-v220-mode-indicator {
    grid-template-columns: 28px 7px !important;
  }
}

@container v247-command (max-width: 1180px) {
  .pos-v247-shell .pos-v220-brand-copy,
  .pos-v247-shell .pos-v247-global-search,
  .pos-v247-shell .pos-v247-utility .valenzo-language-selector {
    display: none !important;
  }

  .pos-v247-shell .pos-v220-brand {
    width: 58px !important;
  }
}

@media (max-width: 699px) {
  .pos-v247-shell {
    --pos-v247-pane: menu;
  }

  .pos-v247-shell .mobile-cart-mode {
    --pos-v247-pane: cart;
  }

  .pos-v247-shell :is(.pos-v247-utility), .pos-v247-shell :is(.pos-v247-catalog-toolbar), .pos-v247-shell :is(.pos-v247-tables-shortcut), .pos-v247-shell :is(.pos-v247-cart-columns), .pos-v247-shell :is(.pos-v247-pay-primary) {
    display: none !important;
  }

  .pos-v247-shell .pos-v247-product-groups {
    display: contents;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pos-v247-shell *,
  .pos-v247-shell *::before,
  .pos-v247-shell *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
