.pos-heading { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; margin-bottom:18px; }
.pos-heading h2 { margin:0 0 8px; font-size:1.65rem; color:#10243e; }
.pos-heading p { margin:0; line-height:1.6; color:#627389; }
.pos-heading .pos-eyebrow { margin-bottom:6px; color:#c2410c; font-size:.8rem; font-weight:800; }
.pos-panel { min-width:0; margin-bottom:16px; padding:22px; border:1px solid #dce5ef; border-radius:18px; background:#fff; }
.pos-panel h3 { margin:0 0 16px; color:#10243e; font-size:1.12rem; }
.pos-panel-heading { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:12px; }
.pos-panel-heading h3 { margin:0; }
.pos-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:16px; align-items:start; }
.pos-catalogue { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pos-product-search { margin-bottom:14px; }
.pos-product { display:flex; flex-direction:column; gap:14px; justify-content:space-between; padding:16px; border:1px solid #dce5ef; border-radius:12px; background:#f8fafc; }
.pos-product[data-selected="true"] { background:#fff0df; border-color:#e55e15; box-shadow:inset 0 0 0 1px #e55e15; }
.pos-product [data-pos-selected-label] { color:#9a3412; font-weight:800; }
.pos-product strong { display:block; font-size:1.08rem; overflow-wrap:anywhere; }
.pos-product span { display:block; margin-top:5px; color:#627389; }
.pos-panel .pos-product-pick { width:100%; min-height:64px; padding:0; border:0; background:transparent; text-align:left; touch-action:manipulation; }
.pos-product-pick:focus-visible { outline:3px solid #e55e15; outline-offset:4px; border-radius:5px; }
.pos-product-pick:active:not(:disabled) { color:#c2410c; }
.pos-product-icon { display:inline-block; margin-right:8px; font-style:normal; font-size:1.7rem; vertical-align:middle; }
.product-fruit-art { display:inline-block; width:1.3em; height:1.3em; vertical-align:middle; overflow:visible; }
.pos-display-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pos-display-tools .pos-pickups-open { color:#8b390d; background:#fff0df; border-color:#e88946; font-weight:800; }
.pos-display-tools .pos-pickups-open[data-pos-pickup-approvals="true"] { color:#8b220e; background:#ffe0cf; border:2px solid #cc4b20; box-shadow:0 0 0 3px #cc4b201c; }
.pos-pickup-dialog { box-sizing:border-box; width:min(900px,calc(100vw - 28px)); max-width:900px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:22px; overflow:auto; overscroll-behavior:contain; border:1px solid #d8e3ef; border-radius:20px; background:#f4f7fb; color:#10243e; box-shadow:0 18px 70px #10243e40; }
.pos-pickup-dialog::backdrop { background:#10243e99; }
.pos-pickup-dialog:not([open]) { display:none; }
.pos-pickup-dialog[open] { display:block; }
.pos-pickup-dialog.pos-pickup-fallback { position:fixed; inset:14px; z-index:180; height:fit-content; }
.pos-pickup-fallback-backdrop { position:fixed; inset:0; z-index:179; background:#10243e99; }
.pos-pickup-fallback-backdrop[hidden] { display:none; }
.pos-pickup-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.pos-pickup-header h2 { margin:0; font-size:1.4rem; }
.pos-pickup-header p { margin:0 0 5px; font-size:.8rem; font-weight:800; color:#c2410c; }
.pos-pickup-approval-summary { margin:0 0 14px; padding:12px 14px; border:1px solid #e88946; border-radius:10px; background:#fff0df; color:#8b390d; font-size:1rem; line-height:1.5; font-weight:850; overflow-wrap:anywhere; }
.pos-pickup-dialog button { min-height:44px; padding:9px 14px; border:1px solid #c8d5e5; border-radius:10px; background:#fff; color:#10243e; font:inherit; font-weight:750; cursor:pointer; touch-action:manipulation; }
.pos-pickup-dialog button:disabled { opacity:.5; cursor:wait; }
.pos-pickup-dialog button:focus-visible,.pos-pickups-open:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pos-pickup-controls { display:grid; grid-template-columns:minmax(150px,1.2fr) auto minmax(130px,1fr) minmax(150px,1.2fr); gap:10px; align-items:end; padding:14px; border:1px solid #dce5ef; border-radius:14px; background:#fff; }
.pos-pickup-controls label { display:grid; min-width:0; gap:6px; font-size:.85rem; font-weight:700; }
.pos-pickup-controls input,.pos-pickup-controls select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; margin:0; padding:8px 10px; border:1px solid #c8d5e5; border-radius:8px; background:#fff; color:#10243e; font:inherit; }
.pos-pickup-controls label:last-of-type { grid-column:1/4; }
.pos-pickup-message { margin:14px 0 8px; font-size:.9rem; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.pos-pickup-count { margin:0 0 12px; color:#60738b; font-size:.85rem; }
.pos-pickup-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pos-pickup-card { min-width:0; padding:16px; border:1px solid #d9e3ef; border-radius:14px; background:#fff; }
.pos-pickup-card.approval_pending { border:2px solid #e88946; background:#fffaf4; }
.pos-pickup-card-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.pos-pickup-card-head > div { display:grid; gap:4px; }
.pos-pickup-card-head strong { font-size:1.55rem; line-height:1.2; letter-spacing:.04em; }
.pos-pickup-card-head small { color:#66778d; font-size:.78rem; }
.pos-pickup-status { padding:6px 9px; border-radius:7px; background:#fff0df; color:#a4400d; font-size:.8rem; font-weight:800; white-space:nowrap; }
.pos-pickup-status.approval_pending { color:#fff; background:#a4400d; }
.pos-pickup-status.picked_up { color:#15764c; background:#e6f6ed; }
.pos-pickup-status.cancelled { color:#66778d; background:#edf1f6; }
.pos-pickup-items { list-style:none; margin:14px 0; padding:0; }
.pos-pickup-items li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #edf1f6; line-height:1.4; }
.pos-pickup-items li > span { overflow-wrap:anywhere; }
.pos-pickup-items li > strong { flex-shrink:0; }
.pos-pickup-multiple { padding:3px 7px; border-radius:5px; background:#ffe2bc; color:#8d330a; }
.pos-pickup-card-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.pos-pickup-card-footer > strong { font-size:1.15rem; }
.pos-pickup-dialog .pos-pickup-complete { min-width:115px; color:#fff; background:#14804f; border-color:#14804f; }
.pos-pickup-approval-help { margin:0 0 12px; color:#8b390d; font-size:.8rem; line-height:1.5; font-weight:700; }
.pos-pickup-approval-actions { display:flex; flex-wrap:wrap; gap:8px; }
.pos-pickup-dialog .pos-pickup-approve { min-width:108px; color:#fff; background:#a4400d; border-color:#a4400d; }
.pos-pickup-dialog .pos-pickup-reject { color:#9c2d25; border-color:#dba49e; }
.pos-pickup-pages { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin-top:18px; font-size:.85rem; }
.pos-pickup-pages[hidden] { display:none; }
.pos-pickup-card-footer small { font-size:.78rem; color:#66778d; }
.pos-pickup-empty { grid-column:1/-1; padding:28px 12px; text-align:center; color:#60738b; }
.pickup-sale-link { color:#60738b; line-height:1.5; }
.pickup-payment-dialog { box-sizing:border-box; width:min(520px,calc(100vw - 24px)); max-width:520px; max-height:calc(100vh - 28px); max-height:calc(100dvh - 28px); margin:auto; padding:24px; border:1px solid #d9e3ef; border-radius:20px; overflow:auto; overscroll-behavior:contain; background:#fff; color:#10243e; box-shadow:0 20px 80px #10243e50; }
.pickup-payment-dialog:not([open]) { display:none; }
.pickup-payment-dialog::backdrop { background:#10243e99; }
.pickup-payment-dialog.pickup-payment-fallback { display:block; position:fixed; inset:14px; z-index:220; height:fit-content; }
.pickup-payment-backdrop { position:fixed; inset:0; z-index:219; background:#10243e99; }
.pickup-payment-backdrop[hidden] { display:none; }
.pickup-payment-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.pickup-payment-header p { margin:0 0 5px; color:#c2410c; font-size:.8rem; font-weight:800; }
.pickup-payment-header h2 { margin:0; font-size:1.3rem; line-height:1.4; }
.pickup-payment-dialog button { min-height:46px; padding:10px 14px; border:1px solid #c8d5e5; border-radius:10px; background:#fff; color:#10243e; font:inherit; font-weight:750; cursor:pointer; touch-action:manipulation; }
.pickup-payment-dialog button:disabled { opacity:.45; cursor:default; }
.pickup-payment-dialog button:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pickup-payment-phone { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 12px; padding:12px 14px; border-radius:10px; background:#f3f6fb; color:#60738b; }
.pickup-payment-phone strong { color:#10243e; font-size:1.4rem; letter-spacing:.04em; }
.pickup-payment-items { max-height:180px; margin:0; padding:0; overflow:auto; list-style:none; }
.pickup-payment-items li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #edf1f6; }
.pickup-payment-items li span { overflow-wrap:anywhere; }
.pickup-payment-items li strong { flex-shrink:0; }
.pickup-payment-total { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:16px 0; }
.pickup-payment-total strong { color:#c2410c; font-size:1.7rem; }
.pickup-payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.pickup-payment-options button { min-height:60px; font-size:1.1rem; }
.pickup-payment-options button[aria-pressed="true"] { color:#8b390d; border-color:#e55e15; background:#fff0df; box-shadow:inset 0 0 0 1px #e55e15; }
.pickup-payment-help { margin:12px 0 18px; color:#60738b; font-size:.85rem; line-height:1.5; }
.pickup-payment-actions { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; }
.pickup-payment-dialog .pickup-payment-confirm { color:#fff; border-color:#14804f; background:#14804f; }
@media (max-width:420px) {
  .pickup-payment-dialog { padding:18px; }
  .pickup-payment-header h2 { font-size:1.1rem; }
  .pickup-payment-options { gap:7px; }
  .pickup-payment-options button { padding:10px 7px; }
}
@media (max-width:599px) {
  .pos-pickup-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:14px; border-radius:16px; }
  .pos-pickup-header { margin-bottom:12px; }
  .pos-pickup-header h2 { font-size:1.2rem; }
  .pos-pickup-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:10px; gap:8px; }
  .pos-pickup-controls label:last-of-type { grid-column:auto; }
  .pos-pickup-list { grid-template-columns:1fr; }
}
.pos-display-tools [data-pos-edit-mode][aria-pressed="true"] { color:#fff; background:#10243e; border-color:#10243e; }
.pos-display-tools [data-pos-edit-mode]:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pos-icon-feedback { margin:0 0 12px; color:#385475; line-height:1.6; }
.pos-icon-feedback p { margin:0 0 8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.pos-device-sync { margin:0 0 12px; padding:12px; border:1px solid #edc17e; border-radius:12px; color:#704515; background:#fff8ec; }
.pos-device-sync-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.pos-device-sync button,.pos-device-sync summary { min-height:44px; cursor:pointer; }
.pos-device-sync button { padding:8px 12px; border:1px solid #b8863d; border-radius:8px; background:#fff; color:#704515; font:inherit; font-weight:700; }
.pos-device-sync summary { display:flex; align-items:center; font-weight:700; }
.pos-device-record { padding:12px 0; border-top:1px solid #ead8bb; overflow-wrap:anywhere; }
.pos-device-record strong,.pos-device-record span { display:block; }
.pos-device-record p { margin:6px 0; }
.pos-heading .pos-tablet-switch { display:inline-flex; gap:9px; align-items:center; white-space:nowrap; }
.pos-switch-track { position:relative; display:inline-block; width:38px; height:23px; border-radius:20px; background:#94a3b8; }
.pos-switch-track::after { position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:#fff; content:""; }
.pos-tablet-switch[aria-checked="true"] .pos-switch-track { background:#e55e15; }
.pos-tablet-switch[aria-checked="true"] .pos-switch-track::after { left:18px; }
.pos-tablet-switch:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pos-panel .pos-icon-edit { min-height:36px; padding:5px 8px; font-size:.85rem; color:#52657d; }
.pos-icon-settings > summary { min-height:44px; cursor:pointer; font-size:1rem; font-weight:800; }
.pos-icon-settings label { display:grid; gap:7px; margin:12px 0; font-size:1rem; }
.pos-icon-settings form { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.pos-icon-actions { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; }
.pos-icon-picker-field { grid-column:1/-1; min-width:0; }
.pos-icon-picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:8px; max-height:300px; overflow-y:auto; margin-top:10px; padding:3px; }
.pos-panel .pos-icon-picker button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:80px; padding:8px 5px; font-size:.875rem; overflow-wrap:anywhere; }
.pos-icon-picker i { font-size:1.7rem; font-style:normal; line-height:1.3; }
.pos-panel .pos-icon-picker button[aria-pressed="true"] { color:#87330d; background:#fff0df; border-color:#e55e15; box-shadow:inset 0 0 0 1px #e55e15; }
.pos-icon-picker button:focus-visible { outline:3px solid #e55e15; outline-offset:2px; }
[data-pos-layout="tablet"] .pos-heading { align-items:center; gap:8px; margin-bottom:6px; }
[data-pos-layout="tablet"] .pos-heading h2 { margin:0; font-size:1.25rem; line-height:1.2; }
[data-pos-layout="tablet"] .pos-heading > div > p { display:none; }
[data-pos-layout="tablet"] .pos-display-tools { gap:6px; }
[data-pos-layout="tablet"] .pos-heading button { padding:6px 9px; }
[data-pos-layout="tablet"] .pos-icon-feedback { margin-bottom:6px; font-size:.875rem; }
#posAdminView[data-pos-layout="tablet"] { padding-top:10px; }
#posView[data-pos-layout="tablet"] .pos-heading { margin-top:0; }
@media (min-width:760px) {
  body.driver-pos-tablet .app-shell { max-width:1440px; }
  [data-pos-layout="tablet"] .pos-icon-settings:not([open]) { padding:0 8px; margin-bottom:8px; background:transparent; border-color:transparent; }
  [data-pos-layout="tablet"] .pos-layout > .pos-panel:first-child > p.pos-muted { display:none; }
  #posView[data-pos-layout="tablet"] .pos-layout, #posAdminView[data-pos-layout="tablet"] .pos-layout { grid-template-columns:minmax(0,1fr) minmax(280px,300px); gap:10px; }
  [data-pos-layout="tablet"] .pos-layout > .pos-panel { padding:12px; }
  [data-pos-layout="tablet"] .pos-panel-heading { margin-bottom:6px; }
  [data-pos-layout="tablet"] .pos-panel h3 { margin-bottom:10px; font-size:1rem; }
  [data-pos-layout="tablet"] .pos-panel-heading h3 { margin-bottom:0; }
  [data-pos-layout="tablet"] .pos-panel .pos-product-search { min-height:44px; margin-bottom:8px; }
  [data-pos-layout="tablet"] .pos-catalogue { grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:8px; max-height:calc(100vh - 220px); max-height:calc(100dvh - 220px); min-height:240px; overflow-y:auto; padding:3px; align-content:start; }
  [data-pos-layout="tablet"] .pos-product { padding:10px; gap:6px; }
  [data-pos-layout="tablet"] .pos-product strong { font-size:1rem; line-height:1.45; }
  [data-pos-layout="tablet"] .pos-product-icon { font-size:1.8rem; margin-right:6px; }
  [data-pos-layout="tablet"] .pos-product-pick { min-height:64px; }
  [data-pos-layout="tablet"] .pos-product span { font-size:1rem; }
  [data-pos-layout="tablet"] .pos-stepper { grid-template-columns:44px minmax(0,1fr) 44px; gap:3px; }
  [data-pos-layout="tablet"] .pos-stepper button, [data-pos-layout="tablet"] .pos-stepper input { min-height:44px; padding:5px; }
  [data-pos-layout="tablet"] .pos-checkout { position:sticky; top:90px; }
  [data-pos-layout="tablet"] .pos-checkout > .pos-lines { max-height:25vh; overflow-y:auto; }
  [data-pos-layout="tablet"] .pos-total { margin:10px 0 14px; padding:8px 0; }
}
@media (max-width:600px) { .pos-icon-settings form { grid-template-columns:1fr; } }
.pos-stepper { display:grid; grid-template-columns:46px minmax(0,1fr) 46px; gap:5px; align-items:center; }
.pos-stepper input { text-align:center; font-weight:800; font-size:1.15rem; }
.pos-stepper button { font-size:1.4rem; }
.pos-layout label,.pos-account-filters label,.pos-void-form label,.pos-manual-panel label { display:grid; gap:7px; margin-bottom:14px; font-size:.9rem; font-weight:750; color:#334155; }
.pos-panel input:not([type=checkbox]),.pos-panel select { box-sizing:border-box; min-width:0; width:100%; min-height:46px; border:1px solid #cbd5e1; border-radius:9px; padding:9px 11px; color:#10243e; background:#fff; font:inherit; }
.pos-panel button,.pos-heading button,.pos-shortcuts a { min-height:44px; padding:9px 13px; border:1px solid #cbd5e1; border-radius:9px; color:#10243e; background:#fff; font:inherit; font-weight:750; cursor:pointer; text-align:center; text-decoration:none; }
.pos-panel button:disabled,.pos-heading button:disabled { opacity:.5; cursor:not-allowed; }
.pos-panel .pos-primary { border-color:#10243e; color:#fff; background:#10243e; }
.pos-checkout .pos-primary { width:100%; min-height:52px; background:#e55e15; border-color:#e55e15; }
.pos-checkout [data-pos-check],.pos-checkout [data-pos-history-open] { width:100%; margin-top:10px; }
.pos-history-query { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:16px; }
.pos-history-query label,.pos-edit-form label { display:grid; gap:7px; font-weight:750; }
.pos-edit-form { display:grid; gap:12px; margin-top:14px; }
.pos-edit-entry { margin-top:12px; padding:12px; border:1px solid #b7cde5; border-radius:10px; background:#f6faff; }
.pos-edit-entry>summary { min-height:44px; box-sizing:border-box; display:flex; align-items:center; cursor:pointer; color:#10243e; font-weight:800; }
.pos-edit-entry>summary:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pos-edit-form button[type=submit] { background:#10243e; color:#fff; border-color:#10243e; }
.pos-history-actions { display:grid; gap:0; padding-bottom:16px; }
[data-pos-history-editor] { scroll-margin-top:90px; }
.pos-payment-choice { margin:0 0 16px; padding:0; border:0; }
.pos-payment-choice legend { margin-bottom:9px; font-weight:750; color:#334155; }
.pos-payment-choice div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.pos-payment-choice button { min-height:54px; font-size:1.1rem; }
.pos-payment-choice button[aria-pressed="true"] { background:#10243e; border-color:#10243e; color:#fff; box-shadow:0 0 0 2px #dce5ef; }
.pos-custom { margin-top:22px; padding-top:18px; border-top:1px solid #dce5ef; }
.pos-custom form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pos-custom label { margin-bottom:0; }
.pos-custom label:first-child { grid-column:1/-1; }
.pos-custom button[aria-pressed="true"] { background:#fff1f2; color:#b91c1c; border-color:#b91c1c; }
#customItemDiscount[aria-pressed="true"],#calculatorItemDiscount[aria-pressed="true"] { background:#fff1f2; color:#b91c1c; border-color:#b91c1c; }
.pos-refund-badge { color:#b91c1c; font-size:.78rem; }
.pos-service-badge { color:#175b47; font-size:.875rem; }
.pos-service-summary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:14px; padding:12px; border-radius:9px; background:#eef7f3; color:#175b47; font-size:.95rem; }
.pos-lines [data-pos-custom-remove] { display:block; min-height:36px; margin:6px 0 0 auto; padding:5px 9px; font-size:.8rem; }
.pos-refund-entry { margin-top:14px; padding:12px; border:1px solid #fed7aa; border-radius:10px; }
.pos-refund-entry>summary { display:block; cursor:pointer; color:#9a3412; font-weight:750; }
.pos-refund-form { display:grid; gap:10px; margin-top:12px; }
.pos-refund-form label { display:grid; gap:7px; font-weight:750; }
.pos-refund-form button[type=submit] { border-color:#b91c1c; color:#b91c1c; }
.pos-refund-summary { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; padding:12px; background:#fff7ed; color:#9a3412; border-radius:9px; }
.pos-refund-title { margin-top:22px !important; }
.pos-refund-row { padding:12px 0; border-top:1px solid #e5eaf0; }
.pos-refund-row p { margin:8px 0; }
.pos-lines { list-style:none; margin:0; padding:0; }
.pos-lines li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; padding:11px 0; border-bottom:1px solid #e5eaf0; font-size:.95rem; align-items:start; }
.pos-lines strong { overflow-wrap:anywhere; }
.pos-lines li span { text-align:right; }
.pos-total { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:16px 0 22px; padding:18px 0; }
.pos-total strong { font-size:2rem; color:#c2410c; }
.pos-error { min-height:1em; color:#b91c1c; line-height:1.5; overflow-wrap:anywhere; }
.pos-muted { color:#627389; font-size:.82rem; line-height:1.6; }
.pos-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:12px 0 18px; }
.pos-stats article { display:grid; gap:9px; min-width:0; border:1px solid #dce5ef; border-radius:13px; padding:18px; background:#fff; }
.pos-stats span { color:#627389; font-size:.85rem; }
.pos-stats strong { font-size:1.25rem; color:#10243e; overflow-wrap:anywhere; }
.pos-account-stats { display:block; }
.pos-account-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.pos-account-totals article { padding:14px 16px; gap:6px; }
.pos-account-totals article:first-child { background:#10263d; border-color:#10263d; }
.pos-account-totals article:first-child span,.pos-account-totals article:first-child strong { color:#fff; }
.pos-account-totals small { color:#627389; font-size:.76rem; line-height:1.5; }
.pos-account-totals article:first-child small { color:#c6d4e4; }
.pos-account-payments { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.pos-account-payment { padding:12px 16px; border:1px solid #dce5ef; border-radius:13px; background:white; }
.pos-account-payment h3 { font-size:.86rem; margin:0 0 9px; }
.pos-account-payment dl,.pos-account-breakdown dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
.pos-account-payment dt,.pos-account-breakdown dt { color:#627389; font-size:.76rem; }
.pos-account-payment dd,.pos-account-breakdown dd { margin:5px 0 0; font-size:1.02rem; font-weight:750; color:#10263d; overflow-wrap:anywhere; }
.pos-account-scope { margin:9px 2px; font-size:.75rem; }
.pos-account-breakdown { border:1px solid #dce5ef; border-radius:10px; background:#fff; padding:10px 14px; }
.pos-account-breakdown summary { cursor:pointer; font-size:.82rem; color:#405674; }
.pos-account-breakdown dl { margin-top:14px; }
.pos-account-daily { font-size:.81rem; }
.pos-account-daily th,.pos-account-daily td { padding:10px 9px; }
.pos-account-daily th[colspan] { text-align:center; background:#f6f8fb; }
.pos-account-daily th:nth-child(2) { text-align:right; }
.pos-signed-input { display:flex; gap:6px; }
.pos-signed-input input { min-width:0; }
.pos-signed-input button { flex:0 0 44px; padding:7px; }
.pos-refund-correction { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.pos-refund-correction label { flex:1; min-width:200px; margin-bottom:0; }
.pos-refund-void { background:#f6f8fb; border-radius:10px; padding:12px; }
.pos-refund-void>strong { color:#627389; }
.pos-history { border-top:1px solid #e5eaf0; padding:14px 0; }
.pos-history>summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; cursor:pointer; }
.pos-history small { color:#627389; grid-column:1/-1; }
.pos-history-fold>summary { min-height:44px; box-sizing:border-box; padding:13px 15px; border:1px solid #dce5ef; border-radius:10px; background:#f8fafc; color:#10243e; font-weight:750; cursor:pointer; }
.pos-history-fold>summary:focus-visible { outline:3px solid #e55e15; outline-offset:3px; }
.pos-history-fold:not([open]) .pos-fold-open,.pos-history-fold[open] .pos-fold-closed { display:none; }
.pos-panel .pos-sale-note { display:block; grid-column:1/-1; margin:4px 0; color:#334155; font-size:.9rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.pos-receipt-fold { border-top:0; padding:0; }
.pos-receipt-fold[open]>summary { margin-bottom:18px; }
.pos-account-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 14px; }
.pos-account-filters button { align-self:start; }
.pos-manual-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 14px; }
.pos-manual-footer { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.pos-manual-footer strong { margin-right:auto; }
.pos-manual-badge { display:inline-block; padding:6px 10px; border-radius:8px; background:#e8f2ff; color:#174777; font-size:.85rem; font-weight:700; }
.pos-manual-entry-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:8px 0; }
.pos-manual-entry-actions .pos-manual-badge { margin:0; }
.pos-panel .pos-manual-delete { min-height:44px; padding:8px 16px; border:1px solid #efb7b7; color:#b91c1c; background:#fff7f7; }
.pos-manual-delete:focus-visible { outline:3px solid #f58a40; outline-offset:2px; }
.pos-shortcuts,.pos-batch-toolbar,.pos-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.pos-batch-toolbar { padding:12px 0; }
.pos-batch-toolbar label { display:flex; align-items:center; gap:7px; }
.pos-batch-toolbar input,.pos-ledger-main>input { width:22px; height:22px; flex-shrink:0; accent-color:#e55e15; }
.pos-ledger-row { padding:18px 0; border-top:1px solid #e5eaf0; }
.pos-ledger-main { display:flex; align-items:flex-start; gap:12px; margin-bottom:9px; }
.pos-ledger-main>div { flex:1; min-width:0; }
.pos-ledger-main strong { display:block; font-size:1.02rem; }
.pos-ledger-main small { display:block; margin-top:6px; color:#627389; line-height:1.6; overflow-wrap:anywhere; }
.pos-status { padding:6px 9px; border-radius:9px; color:#334155; background:#eef2f6; font-size:.78rem; white-space:nowrap; }
.pos-void .pos-status { color:#b91c1c; background:#fef2f2; }
.pos-void-form { display:flex; gap:10px; align-items:end; margin-top:12px; }
.pos-void-form label { flex:1; margin:0; }
.pos-void-form button { color:#b91c1c; }
.pos-table-scroll { overflow-x:auto; }
.pos-table { width:100%; border-collapse:collapse; font-size:.95rem; }
.pos-table td,.pos-table th { padding:13px 12px; text-align:right; white-space:nowrap; border-bottom:1px solid #e5eaf0; }
.pos-table th:first-child,.pos-table td:first-child { text-align:left; }
.pos-item-total { display:grid; grid-template-columns:1fr auto auto; gap:15px; padding:12px 0; border-top:1px solid #e5eaf0; }
.pos-item-total small { display:block; color:#627389; font-weight:400; margin-top:5px; }
.pos-detail-title { font-weight:800; cursor:pointer; }
.pos-pagination { justify-content:center; margin-top:18px; }
#posView .pos-layout { grid-template-columns:1fr; }
#posView .pos-heading { margin-top:8px; }
#posView .pos-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) {
  .pos-layout { grid-template-columns:1fr; }
  .pos-panel { padding:16px; }
  .pos-heading { flex-wrap:wrap; }
  .pos-heading p { font-size:.9rem; }
  .pos-account-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-manual-grid { grid-template-columns:1fr; }
  .pos-manual-footer { align-items:stretch; flex-direction:column; }
  .pos-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-account-stats { display:block; }
  .pos-account-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-account-totals article:first-child { grid-column:1/-1; }
  .pos-account-payments { grid-template-columns:1fr; }
  .pos-account-payment { padding:12px; }
  .pos-stats article { padding:13px; }
  .pos-stats strong { font-size:1.1rem; }
  .pos-ledger-main { flex-wrap:wrap; }
  .pos-lines li { gap:7px; font-size:.88rem; }
  .pos-lines li span:nth-child(2) { grid-row:2; grid-column:1; text-align:left; }
  .pos-lines li span:last-child { grid-column:3; grid-row:1; }
  .pos-void-form { flex-wrap:wrap; }
  .pos-void-form label { flex-basis:100%; }
}
@media (max-width:400px) {
  .pos-catalogue { grid-template-columns:1fr; }
  .pos-product { padding:12px 9px; }
  .pos-stepper { grid-template-columns:38px minmax(0,1fr) 38px; gap:3px; }
  .pos-stepper button { padding:7px 4px; }
}

/* Immersive POS is scoped to the visible workspace, never the saved preference alone. */
body.pos-tablet-active { overflow:hidden; overscroll-behavior:none; }
body.pos-tablet-active .admin-topbar,
body.pos-tablet-active .admin-view-nav,
body.pos-tablet-active #driverApp > .topbar,
body.pos-tablet-active #driverApp > .bottom-nav,
body.pos-tablet-active #driverApp > .admin-driver-banner,
body.pos-tablet-active #driverOfflinePosStatus,
body.pos-tablet-active .app-update-banner,
body.pos-tablet-active #adminOfflinePos > .pos-device-header,
body.pos-tablet-active #driverOfflinePos > .pos-device-header { display:none !important; }
body.pos-tablet-active .app-shell { max-width:none; padding-bottom:0; box-shadow:none; }
body.pos-tablet-active [data-pos-viewport="true"] {
  display:block !important; position:fixed !important; z-index:36; top:0; right:0; bottom:0; left:0;
  box-sizing:border-box; width:100% !important; max-width:none !important; height:100vh; height:100dvh;
  margin:0 !important; padding:10px !important; padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)) !important;
  overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; background:#edf2f7; animation:none;
}
[data-pos-viewport="true"] > .pos-heading {
  position:sticky; z-index:4; top:-10px; align-items:center; min-height:52px; padding:7px 0;
  margin-bottom:8px; background:#edf2f7;
}
[data-pos-viewport="true"] .pos-tablet-switch { min-height:44px; border-color:#e55e15; }
[data-pos-viewport="true"] .pos-checkout { top:66px; }
[data-pos-viewport="true"] .pos-catalogue { max-height:calc(100vh - 190px); max-height:calc(100dvh - 190px); }
[data-pos-viewport="true"] [data-pos-history-editor] { scroll-margin-top:70px; }
[data-pos-viewport="true"] .pos-display-tools { justify-content:flex-end; }
[data-pos-layout="tablet"] .pos-stepper input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
[data-pos-layout="tablet"] .pos-stepper input[type="number"]::-webkit-inner-spin-button,
[data-pos-layout="tablet"] .pos-stepper input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
@media (min-width:760px) {
  [data-pos-viewport="true"] .pos-layout { grid-template-columns:minmax(0,1fr) minmax(280px,300px); gap:10px; }
}
@media (max-width:759px) {
  [data-pos-viewport="true"] > .pos-heading { flex-wrap:wrap; top:-10px; }
  [data-pos-viewport="true"] .pos-display-tools { margin-left:auto; }
  [data-pos-viewport="true"] .pos-checkout { position:static; }
  [data-pos-viewport="true"] .pos-catalogue { max-height:60vh; max-height:60dvh; overflow-y:auto; }
}
