.pos-shell { display: grid; gap: 20px; }
.pos-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 4px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }
.pos-tabs button { flex: 0 0 auto; min-height: 42px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); box-shadow: none; }
.pos-tabs button.active { background: var(--primary); color: var(--button-text, #071817); font-weight: 800; }
.pos-tab-groups { display: grid; grid-template-columns: 1.2fr .8fr 1.4fr; gap: 10px; }
.pos-tab-groups > section { min-width: 0; }
.pos-tab-groups > section > span { display: block; margin: 0 0 5px 8px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pos-location { display: grid; grid-template-columns: auto minmax(220px, 360px); gap: 12px; align-items: center; justify-content: end; }
.pos-notice, .pos-warning { padding: 14px 16px; border-radius: 12px; }
.pos-notice { border: 1px solid var(--primary-strong); background: rgba(36,219,199,.1); }
.pos-warning { border: 1px solid #d9a441; background: rgba(217,164,65,.12); }
.pos-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .8fr); gap: 18px; align-items: start; }
.pos-products, .pos-cart { min-width: 0; }
.pos-toolbar { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr); gap: 12px; margin-bottom: 18px; }
.pos-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.pos-product { display: grid; gap: 7px; min-height: 118px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--card-strong); color: var(--text); text-align: start; box-shadow: none; }
.pos-product:hover:not(:disabled) { border-color: var(--primary-strong); transform: translateY(-1px); }
.pos-product span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.pos-cart { position: sticky; top: 18px; }
.pos-cart-lines { display: grid; gap: 10px; margin: 16px 0; }
.pos-cart-line { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 10px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.pos-cart-line small { display: block; margin-top: 4px; color: var(--muted); overflow-wrap: anywhere; }
.pos-quantity { display: flex; align-items: center; gap: 8px; }
.pos-quantity button { width: 34px; height: 34px; padding: 0; border-radius: 50%; }
.pos-discount { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 110px; align-items: center; gap: 10px; font-size: 12px; }
.pos-totals { display: grid; gap: 8px; padding: 14px 0; border-block: 1px solid var(--line); }
.pos-totals div { display: flex; justify-content: space-between; gap: 16px; }
.pos-totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.pos-total { font-size: 21px; font-weight: 800; }
.pos-checkout { display: grid; gap: 12px; margin-top: 16px; }
.pos-change { display: flex; justify-content: space-between; padding: 12px 14px; border-radius: 10px; background: rgba(36,219,199,.08); }
.pos-complete { min-height: 54px; font-size: 16px; }
.pos-value-summary, .pos-inline { display: flex; gap: 12px; align-items: center; }
.pos-value-summary { justify-content: space-between; padding: 12px 14px; border-radius: 10px; background: rgba(36,219,199,.08); }
.pos-split-toggle { display: flex; align-items: center; gap: 8px; }
.pos-split-toggle input[type="checkbox"] { width: 18px !important; min-width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.pos-split-toggle, .pos-split-toggle span { white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.pos-payment-list, .pos-held-list, .pos-offer-list, .pos-shift-list, .pos-bundles { display: grid; gap: 10px; }
.pos-payment-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 11px; }
.pos-payment-row > button { grid-column: 1 / -1; }
.pos-bundles { margin-top: 18px; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); }
.pos-bundles h4 { grid-column: 1 / -1; margin: 0; }
.pos-held-list article, .pos-offer-list article, .pos-shift-list article { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.pos-held-list article > div, .pos-offer-list article > div { display: grid; gap: 4px; min-width: 0; }
.pos-held-list small, .pos-offer-list small { color: var(--muted); }
.pos-manage-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: start; }
.pos-big-number { margin: 10px 0; font-size: clamp(28px,5vw,46px); font-weight: 850; }
.pos-success { padding: 18px 20px; border: 1px solid var(--primary-strong); border-radius: 14px; background: rgba(36,219,199,.1); }
.pos-success h3, .pos-success p { margin: 5px 0; }
.pos-recent { min-width: 0; }
.pos-receipts-grid, .pos-register-grid, .pos-replenishment-grid { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 18px; align-items: start; }
.pos-receipt-list, .pos-stack, .pos-correction-form, .pos-correction-controls { display: grid; gap: 12px; }
.pos-receipt-list { margin-top: 16px; max-height: 620px; overflow: auto; }
.pos-receipt-choice { display: grid; gap: 5px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--card-strong); color: var(--text); text-align: start; box-shadow: none; }
.pos-receipt-choice.active { border-color: var(--primary-strong); background: rgba(36,219,199,.08); }
.pos-receipt-choice span, .pos-replenishment-line span { color: var(--muted); font-size: 12px; }
.pos-correction-form fieldset { display: grid; gap: 10px; margin: 18px 0; padding: 0; border: 0; }
.pos-return-line, .pos-replenishment-line { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(120px, .8fr) minmax(105px, .45fr) minmax(170px, .8fr); gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--line); border-radius: 11px; }
.pos-replenishment-line { grid-template-columns: minmax(0, 1fr) minmax(120px, .32fr); }
.pos-replenishment-line > label:first-child { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; column-gap: 9px; }
.pos-replenishment-line > label:first-child input[type="checkbox"] { grid-row: 1 / 3; width: 18px !important; min-width: 18px; height: 18px; margin: 0; }
.pos-replenishment-line > label:first-child strong,
.pos-replenishment-line > label:first-child small { grid-column: 2; }
.pos-replenishment-line > span { grid-column: 1; }
.pos-replenishment-line > label:last-child { grid-column: 2; grid-row: 1 / 3; }
.pos-replenishment-line small { display: block; margin-top: 4px; color: var(--muted); }
.pos-correction-record { padding: 10px 12px; border-radius: 9px; background: rgba(36,219,199,.08); }
.pos-stack { margin-top: 16px; }
.pos-devices { display: grid; gap: 18px; }
.pos-device-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pos-device-card { display: grid; align-content: start; gap: 12px; }
.pos-device-card .sheet-card-header { align-items: center; }
.pos-device-card [role="status"] { min-height: 1.4em; color: var(--muted); }
@media (max-width: 1100px) { .pos-tab-groups { grid-template-columns: 1fr; } }
@media (max-width: 980px) { .pos-grid { grid-template-columns: 1fr; } .pos-cart { position: static; } }
@media (max-width: 800px) { .pos-receipts-grid, .pos-register-grid, .pos-replenishment-grid, .pos-device-grid, .pos-manage-grid { grid-template-columns: 1fr; } .pos-return-line, .pos-replenishment-line { grid-template-columns: 1fr 1fr; align-items: start; } .pos-payment-row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pos-location, .pos-toolbar { grid-template-columns: 1fr; justify-content: stretch; } .pos-product-grid { grid-template-columns: 1fr 1fr; } .pos-product { min-height: 132px; padding: 12px; } .pos-cart-line { grid-template-columns: minmax(0, 1fr) auto; } .pos-cart-line > strong { justify-self: end; } .pos-cart-line > .ghost-button { justify-self: end; } .pos-return-line, .pos-replenishment-line, .pos-payment-row { grid-template-columns: 1fr; } .pos-held-list article { align-items: stretch; flex-direction: column; } }
@media (max-width: 600px) {
  .pos-replenishment-line > label:first-child,
  .pos-replenishment-line > span,
  .pos-replenishment-line > label:last-child { grid-column: 1; grid-row: auto; }
}
@media (max-width: 390px) { .pos-product-grid { grid-template-columns: 1fr; } }
