/* pos-shell.css: scoped under .pos-shell */
@font-face{font-family:"Hanken Grotesk";font-weight:400;src:url("../fonts/hanken-grotesk-400.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Hanken Grotesk";font-weight:600;src:url("../fonts/hanken-grotesk-600.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Hanken Grotesk";font-weight:700;src:url("../fonts/hanken-grotesk-700.woff2") format("woff2");font-display:swap}
@font-face{font-family:"JetBrains Mono";font-weight:500;src:url("../fonts/jetbrains-mono-500.woff2") format("woff2");font-display:swap}
@font-face{font-family:"JetBrains Mono";font-weight:600;src:url("../fonts/jetbrains-mono-600.woff2") format("woff2");font-display:swap}

.pos-shell{
  --pos-bg:#f3faff;--pos-bg-low:#e6f6ff;--pos-bg-container:#e0f0f9;--pos-bg-high:#dbebf3;--pos-bg-lowest:#ffffff;
  --pos-on-bg:#0f1d24;--pos-on-bg-variant:#3e4946;--outline:#6e7a76;--outline-variant:#bdc9c5;
  --primary:#00675a;--primary-container:#008272;--on-primary:#ffffff;--primary-fixed:#91f4e1;
  --secondary:#47636b;--secondary-container:#c7e4ef;--tertiary:#006935;--error:#ba1a1a;--error-container:#ffdad6;
  --pos-inverse-bg:#243239;--warn-bg:#fff8e1;--warn-border:#ffe082;--pos-warn-on:#7a4b00;
  --pos-blue:#0f6cbd;--pos-amber:#d97706;--pos-navy:#0d1b2a;
  --font:"Hanken Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  /* additional design-system tokens */
  --pos-bg-dim:#cddce5;--pos-bg-bright:#f3faff;--pos-bg-highest:#d5e5ed;--pos-bg-variant:#d5e5ed;--pos-bg-tint:#006b5d;
  --pos-inverse-on-bg:#e3f3fc;--inverse-primary:#75d8c5;
  --on-primary-container:#eafff9;--on-secondary:#ffffff;--on-secondary-container:#4b6770;
  --on-tertiary:#ffffff;--tertiary-container:#1e8448;--on-tertiary-container:#efffee;
  --on-error:#ffffff;--on-error-container:#93000a;
  --primary-fixed-dim:#75d8c5;--on-primary-fixed:#00201b;--on-primary-fixed-variant:#005046;
  --secondary-fixed:#cae7f2;--secondary-fixed-dim:#aecbd5;--on-secondary-fixed:#011f27;--on-secondary-fixed-variant:#304b53;
  --tertiary-fixed:#96f7af;--tertiary-fixed-dim:#7ada95;--on-tertiary-fixed:#00210c;--on-tertiary-fixed-variant:#005228;
  --background:#f3faff;--on-background:#0f1d24;
  --radius-sm:.125rem;--radius:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;
  --gutter:.75rem;--gutter-compact:.375rem;--margin:1rem;
  --space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;
  position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:var(--pos-bg);color:var(--pos-on-bg);
  font-family:var(--font);font-size:14px;line-height:18px;overflow:hidden;
}
.pos-shell *{box-sizing:border-box}
.pos-shell .mono{font-family:var(--mono)}
.pos-shell .muted{color:var(--pos-on-bg-variant)}

/* ---- top bar ---- */
.pos-topbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--primary);color:var(--on-primary)}
.pos-topbar .logo{width:40px;height:40px;border-radius:6px;background:var(--primary-container);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--primary-fixed)}
.pos-topbar .brand{font-size:20px;font-weight:700;line-height:22px}
.pos-topbar .brand-sub{border-inline-start:1px solid rgba(255,255,255,.3);padding-inline-start:12px;font-size:18px;line-height:22px;color:var(--primary-fixed)}
.pos-topbar .chip{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(0,0,0,.18);font-family:var(--mono);font-size:12px;line-height:16px}
.pos-topbar .chip i{font-size:14px;opacity:.9}
.pos-topbar .dot{width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block}
.pos-topbar .spacer{flex:1}
.pos-topbar .avatar{width:34px;height:34px;border-radius:50%;background:#064e46;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.pos-topbar .who{line-height:16px}
.pos-topbar .who b{display:block;font-size:14px}
.pos-topbar .who small{display:block;font-size:11px;opacity:.8}
.pos-topbar .lock-btn{border:0;background:none;color:#fff;cursor:pointer;font-size:16px;padding:4px}

/* ---- module tabs ---- */
.pos-tabs{display:flex;align-items:stretch;background:var(--pos-bg-lowest);border-bottom:1px solid var(--outline-variant)}
.pos-tabs .tab{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;min-width:0;padding:10px 12px;border:0;background:none;color:var(--pos-on-bg-variant);cursor:pointer;font:600 15px/20px var(--font);border-bottom:3px solid transparent}
.pos-tabs .tab i{font-size:15px;opacity:.7}
.pos-tabs .tab .lbl{text-align:center;white-space:normal}
.pos-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--pos-bg-low)}
.pos-tabs .tab.active i{opacity:1}
.pos-tabs .badge{min-width:24px;padding:2px 7px;border-radius:12px;background:var(--pos-blue);color:#fff;font-size:12px;line-height:16px;font-weight:700;text-align:center}
.pos-tabs .badge.warn{background:#f59e0b}
.pos-tabs .sync{display:flex;align-items:center;gap:10px;padding:0 16px;font-size:13px;line-height:17px;color:var(--pos-on-bg-variant)}
.pos-tabs .sync button{border:0;background:none;color:var(--pos-on-bg-variant);cursor:pointer;font-size:18px}

.pos-body{flex:1;overflow:auto;padding:16px}

/* ---- footer ---- */
.pos-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:8px 16px;background:#000;color:#94a3b8;font:500 11px/16px var(--mono)}
.pos-footer .lbl{color:#94a3b8}
.pos-footer .val{color:#e2e8f0}
.pos-footer .ok{color:#4ade80}

/* ---- cards, buttons, inputs ---- */
.pos-card{background:var(--pos-bg-lowest);border:1px solid var(--outline-variant);border-radius:8px;padding:16px}
.pos-card h4{margin:0 0 12px;font:600 12px/16px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-card .card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pos-card .card-head h4{margin:0}
.pos-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border:1px solid var(--outline-variant);border-radius:6px;background:var(--pos-bg-lowest);color:var(--pos-on-bg);font:600 14px/18px var(--font);cursor:pointer}
.pos-btn:hover{background:var(--pos-bg-low)}
.pos-btn[disabled]{opacity:.45;cursor:not-allowed}
.pos-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.pos-btn.danger{color:var(--error);border-color:var(--error)}
.pos-btn.wide{width:100%;background:var(--pos-bg-high)}
.pos-input{width:100%;padding:10px 12px;border:1px solid var(--outline-variant);border-radius:6px;font:400 14px/18px var(--font);background:#fff;color:var(--pos-on-bg)}
.pos-input:focus{outline:2px solid var(--primary);border-color:var(--primary)}
.pos-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font:500 11px/16px var(--font)}
.pos-pill.green{background:#d1fae5;color:#065f46}
.pos-pill.blue{background:#dbeafe;color:#1e40af}
.pos-pill.amber{background:#fef3c7;color:#92400e}
.pos-pill.gray{background:#e5e7eb;color:#374151}

/* ---- grid ---- */
.pos-grid{width:100%;border-collapse:collapse}
.pos-grid th{padding:10px 12px;text-align:start;font:600 12px/16px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--pos-on-bg-variant);border-bottom:1px solid var(--outline-variant)}
.pos-grid td{padding:12px;border-bottom:1px solid var(--pos-bg-high);vertical-align:middle}
.pos-grid tr.sel td:first-child{box-shadow:inset 4px 0 0 var(--primary)}
.pos-grid tr.sel{background:rgba(0,130,114,.07)}
.pos-grid.cart td{height:120px;padding:12px}
.pos-grid.cart .name{font:600 16px/22px var(--font)}
.pos-grid.cart .sub{font:400 13px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-grid.cart .pills{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.pos-grid.cart .qty{display:flex;align-items:center;justify-content:center;gap:10px}
.pos-grid.cart .qty button{width:30px;height:30px;border:0;border-radius:4px;background:var(--pos-bg-high);color:var(--pos-on-bg);cursor:pointer;font:700 16px/1 var(--font)}
.pos-grid.cart .promo{font-size:11px;color:var(--tertiary)}
.pos-grid .trash{border:0;background:none;color:var(--outline);cursor:pointer;font-size:18px}
.pos-num{text-align:end;font-family:var(--mono)}

/* ---- customer strip, totals ---- */
.pos-strip{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--warn-bg);border-bottom:1px solid var(--warn-border)}
.pos-strip .info{width:22px;height:22px;border-radius:50%;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}
.pos-strip .tag{padding:1px 8px;border:1px solid #f59e0b;border-radius:4px;background:#fffbeb;font:600 12px/16px var(--mono)}
.pos-total{padding:16px 20px;border-radius:8px;background:var(--pos-navy);color:#fff;text-align:end}
.pos-total .cap{font:600 12px/16px var(--font);letter-spacing:.08em;color:#cbd5e1}
.pos-total .amt{font:600 36px/42px var(--mono)}
.pos-avatar{width:40px;height:40px;border-radius:50%;background:#1e293b;color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px var(--font);flex:none}
.pos-row{display:flex;justify-content:space-between;align-items:center;gap:8px}

/* ---- tiles ---- */
.pos-tile{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:8px;border:1px solid var(--outline-variant);background:var(--pos-bg-lowest);cursor:pointer;text-align:start;color:var(--pos-on-bg);font-family:var(--font)}
.pos-tile[disabled]{opacity:.5;cursor:not-allowed}
.pos-tile.accent{background:var(--primary);color:#fff;border-color:var(--primary)}
.pos-tile.quick{position:relative;align-items:center;justify-content:center;text-align:center;min-height:76px;padding:10px 8px;gap:4px}
.pos-tile.quick b{font:600 14px/18px var(--font)}
.pos-tile.quick small{font:500 11px/14px var(--mono);color:var(--outline)}
.pos-tile.quick .count{position:absolute;top:4px;inset-inline-end:6px;min-width:18px;padding:0 5px;border-radius:9px;background:var(--primary);color:#fff;font:700 10px/16px var(--font);text-align:center}
.pos-paycard{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border-radius:8px;border:0;background:var(--primary-container);color:#fff;cursor:pointer;text-align:start;font-family:var(--font)}
.pos-paycard[disabled]{opacity:.5;cursor:not-allowed}
.pos-paycard i{font-size:24px}
.pos-paycard .t{flex:1}
.pos-paycard .t b{display:block;font:700 20px/26px var(--font)}
.pos-paycard .t small{font-size:12px;color:var(--primary-fixed)}
.pos-paycard .key{padding:3px 10px;border-radius:5px;background:rgba(0,0,0,.35);font:600 13px var(--mono)}
.pos-ready{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px;border:1px solid #86efac;background:#f0fdf4;color:#166534;font-size:12px}

/* ---- welcome ---- */
.pos-wtile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:120px;padding:16px;border-radius:6px;border:1px solid transparent;color:#fff;cursor:pointer;text-align:start;font-family:var(--font)}
.pos-wtile[disabled]{opacity:.55;cursor:not-allowed}
.pos-wtile .top{display:flex;justify-content:space-between;align-items:flex-start}
.pos-wtile .top i{font-size:26px;opacity:.9}
.pos-wtile .code{padding:2px 7px;border-radius:4px;background:rgba(255,255,255,.2);font:700 10px/14px var(--font)}
.pos-wtile b{display:block;font:700 16px/20px var(--font)}
.pos-wtile small{display:block;margin-top:4px;font:400 12px/16px var(--font);opacity:.85}
.pos-wtile.c-teal{background:#008272}
.pos-wtile.c-blue{background:#0f6cbd}
.pos-wtile.c-orange{background:#d83b01}
.pos-wtile.c-green{background:#498205}
.pos-wtile.c-purple{background:#5c2d91}
.pos-wtile.c-cyan{background:#038387}
.pos-wtile.c-indigo{background:#3b52b4}
.pos-wtile.c-lilac{background:#8764b8}
.pos-wtile.light{background:var(--pos-bg-lowest);border-color:var(--outline-variant);color:var(--pos-on-bg)}
.pos-wtile.light small{opacity:1;color:var(--pos-on-bg-variant)}
.pos-wtile.light .code{background:#e5e7eb;color:#374151}
.pos-wtile.light .code.amber{background:#fef3c7;color:#92400e}
.pos-wtile.light .code.blue{background:#dbeafe;color:#1e40af}
.pos-wtile.light .code.rose{background:#ffe4e6;color:#9f1239}
.pos-wtile.light .top i.amber{color:#d97706}
.pos-wtile.light .top i.blue{color:#0f6cbd}
.pos-wtile.light .top i.gray{color:#605e5c}
.pos-wtile.light .top i.rose{color:#be123c}
.pos-memo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-left:4px solid var(--pos-blue);border-radius:0 6px 6px 0;background:#eff6ff;font-size:12px}
.pos-health{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px}
.pos-health div{display:flex;align-items:center;gap:6px;padding:6px;border:1px solid #f3f4f6;border-radius:4px;background:#faf9f8}
.pos-health i{color:var(--outline)}
.pos-clocked{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:4px;background:#d1fae5;color:#065f46;font:600 11px/16px var(--font)}

/* ---- modal + lock ---- */
.pos-modal-back{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:50}
.pos-modal{width:min(720px,92vw);max-height:calc(90 * var(--mbs-vh, 1vh));overflow:auto;background:var(--pos-bg-lowest);border-radius:10px}
.pos-modal header{padding:14px 20px;background:var(--primary);color:#fff;font:700 16px/22px var(--font)}
.pos-modal .body{padding:20px;background:var(--pos-bg-lowest);color:var(--pos-on-bg)}
.pos-lock{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--pos-navy);color:#fff}
.pos-lock .panel{width:min(380px,92vw);padding:32px;border-radius:12px;background:#16263a;text-align:center}
.pos-lock .panel .pos-avatar{margin:0 auto 12px;width:64px;height:64px;font-size:22px;background:var(--primary)}
.pos-lock .err{margin-top:8px;color:#fca5a5;font-size:13px}
[dir="rtl"] .pos-shell .pos-num{text-align:start}
@media (max-width:1300px){.pos-tabs .tab{padding:10px 8px;font-size:13px}}


/* =====================================================================
   Design-faithful metrics (Tailwind values from the reference pages).
   The references are laid out for a 1280 px wide viewport (the module 2
   image is that layout at 1.25x), the shell is NOT zoomed: it renders at 1:1 like every other screen.
   ===================================================================== */
@media print{.pos-shell{zoom:1;position:static;overflow:visible}}
.pos-shell{--sl-50:#f8fafc;--sl-100:#f1f5f9;--sl-200:#e2e8f0;--sl-300:#cbd5e1;--sl-400:#94a3b8;--sl-500:#64748b;--sl-600:#475569;--sl-700:#334155;--sl-800:#1e293b;--sl-900:#0f172a;--tl:#008272;background:#f0f2f5}
.pos-shell.m1{background:#f3f2f1}
.pos-shell.m1 .pos-body{background:#f3f2f1}
.pos-shell .pos-body{background:#f0f2f5}

/* header */
.pos-topbar{gap:12px;padding:8px 16px;background:#004846;border-bottom:1px solid #003837}
.pos-shell.m1 .pos-topbar{background:#008272;border-bottom:0;padding:0 12px;min-height:48px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.pos-topbar .logo{width:28px;height:28px;background:transparent;font-size:16px;color:#fff}
.pos-topbar .brand{font-size:18px;font-weight:700;line-height:28px;letter-spacing:-.025em}
.pos-topbar .brand-sub{font-size:14px;line-height:20px;font-weight:300;color:#5eead4;border-inline-start:1px solid rgba(13,148,136,.7);padding-inline-start:8px}
.pos-topbar .chip{font-size:12px;line-height:16px;padding:6px 12px;border-radius:4px;background:#003735;border:1px solid rgba(15,118,110,.6);color:#e2e8f0}
.pos-shell.m1 .pos-topbar .chip{background:rgba(0,0,0,.2);border:0;border-radius:999px;padding:4px 10px}
.pos-topbar .avatar{width:28px;height:28px;font-size:12px;background:#115e59;color:#ccfbf1;border:0;box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.pos-topbar .who{line-height:1.25}
.pos-topbar .who b{font-size:14px;font-weight:600}
.pos-topbar .who small{font-size:10px;color:#99f6e4;opacity:1}

/* tabs */
.pos-tabs{background:#fff;border-bottom:1px solid var(--sl-200);padding:0 16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-tabs .tab{padding:10px 14px;font:500 14px/20px var(--font);color:var(--sl-600);border-bottom:2px solid transparent;flex:0 1 auto}
.pos-tabs .tab.active{color:var(--tl);font-weight:600;border-bottom-color:var(--tl);background:rgba(240,253,250,.5)}
.pos-tabs .badge{background:var(--tl);padding:2px 6px;font-size:12px;line-height:16px;min-width:0}
.pos-tabs .badge.warn{background:#f59e0b;font-size:11px;padding:1px 6px}
.pos-tabs .sync{margin-inline-start:auto;font-size:12px;color:var(--sl-500);padding:0 8px}
.pos-tabs .sync b{color:#047857;font-weight:500}

/* customer strip */
.pos-strip{padding:6px 16px;background:#fffbeb;border-bottom:1px solid #fde68a;font-size:12px;line-height:16px;color:#451a03;gap:8px}
.pos-strip .info{width:22px;height:22px;background:#fde68a;color:#78350f;border-radius:4px;font-size:12px}
.pos-strip .tag{padding:1px 6px;font:700 11px/16px var(--font);background:rgba(253,230,138,.8);border:1px solid #fcd34d;color:#78350f;border-radius:4px}
.pos-strip .pos-btn{padding:4px 10px;font-size:12px;line-height:16px;border-radius:4px;border-color:var(--sl-300);color:var(--sl-700)}

/* workspace */
.pos-ws{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:12px;padding:12px;align-items:start}
.pos-ws .pos-card{background:#fff;border:1px solid var(--sl-200);border-radius:8px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pos-ws .pos-scanrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px}
.pos-scanwrap{position:relative;flex:1 1 260px;min-width:240px}
.pos-topbar .pos-layout-toggle{flex:0 0 auto;white-space:nowrap}
.pos-scanico{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--sl-400)}
.pos-scan{padding:8px 96px 8px 36px;border:1px solid var(--sl-300);border-radius:4px;font:400 14px/20px var(--mono)}
.pos-scan::placeholder{font-family:var(--font)}
.pos-scan:focus{outline:0;border-color:var(--tl);box-shadow:0 0 0 1px var(--tl)}
.pos-scanbtn{position:absolute;inset-inline-end:4px;top:4px;bottom:4px;padding:0 12px;border-radius:4px;background:var(--tl);border-color:var(--tl);font:600 12px/16px var(--font);text-transform:uppercase;letter-spacing:.05em}
.pos-scanrow>.pos-btn{background:var(--sl-100);border:1px solid var(--sl-200);color:var(--sl-700);padding:8px 12px;border-radius:4px;font:600 12px/16px var(--font)}
.pos-ws .pos-cartcard{margin-top:12px;padding:0;overflow:hidden}
.pos-grid th{padding:10px 12px;font:600 12px/16px var(--font);letter-spacing:0;color:var(--sl-600);background:var(--sl-50);border-bottom:1px solid var(--sl-200)}
.pos-grid.cart td{height:auto;padding:12px;border-bottom:1px solid var(--sl-100);font-size:12px}
.pos-grid.cart .name{font:700 14px/20px var(--font);color:var(--sl-900)}
.pos-grid.cart .sub{font:400 11px/16px var(--font);color:var(--sl-500)}
.pos-grid.cart .pills{gap:4px;margin-top:4px}
.pos-grid.cart .pos-pill{padding:2px 6px;border-radius:4px;font:500 10px/14px var(--font)}
.pos-grid.cart tr.sel{background:rgba(240,253,250,.4)}
.pos-grid.cart tr.sel td:first-child{box-shadow:inset 4px 0 0 var(--tl)}
.pos-grid.cart .qty{gap:4px}
.pos-grid.cart .qty button{width:24px;height:24px;border-radius:4px;background:var(--sl-200);color:var(--sl-700);font:700 12px/1 var(--mono)}
.pos-grid.cart .qty span{width:32px;text-align:center;font:700 14px/20px var(--mono);color:var(--sl-800)}
.pos-grid.cart .pos-num{color:var(--sl-700)}
.pos-grid.cart td.net,.pos-grid.cart td.net b{font:700 14px/20px var(--mono);color:var(--sl-900)}
.pos-grid.cart .promo{font-size:10px;color:#059669}
.pos-grid .trash{color:var(--sl-400);font-size:16px;padding:4px}
.pos-grid .trash:hover{color:#dc2626}
.pos-linebar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 12px;background:var(--sl-50);border-top:1px solid var(--sl-200)}
.pos-linebar .pos-btn{padding:6px 10px;border-radius:4px;border-color:var(--sl-300);font:600 12px/16px var(--font);color:var(--sl-700);background:#fff}
.pos-linebar .pos-btn.danger{color:#b91c1c;border-color:#fecaca}
.pos-linecount{margin-inline-start:auto;font:500 12px/16px var(--font);color:var(--sl-500)}
.pos-linecount b{color:var(--sl-900);font-weight:600}
.pos-quickgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}
.pos-tile.quick{min-height:56px;height:56px;padding:8px;gap:2px;border-radius:8px;border-color:var(--sl-200);box-shadow:none}
.pos-tile.quick b{font:700 12px/16px var(--font);color:var(--sl-800)}
.pos-tile.quick small{font:400 10px/14px var(--mono);color:var(--sl-400)}
.pos-tile.quick:not([disabled]):hover{border-color:#0d9488}
.pos-tile.quick .count{top:4px;inset-inline-end:6px;min-width:0;padding:0 4px;background:#0f766e;font:700 9px/14px var(--font)}

/* right column */
.pos-right{display:flex;flex-direction:column;gap:12px}
.pos-ws .pos-card h4{margin:0;padding-bottom:8px;border-bottom:1px solid var(--sl-100);font:700 11px/16px var(--font);letter-spacing:.05em;color:var(--sl-500)}
.pos-ws .pos-card .card-head{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--sl-100)}
.pos-ws .pos-card .card-head h4{padding:0;border:0}
.pos-ws .pn{font:700 14px/20px var(--font);color:var(--sl-900)}
.pos-avatar{background:var(--sl-800);font-size:14px}
.pos-ws .pos-row{font-size:12px;line-height:16px;color:var(--sl-600);padding:0}
.pos-ws .pos-fin .pos-row{margin-top:8px}
.pos-ws .pos-fin h4+.pos-row{margin-top:12px}
.pos-ws .pos-row .mono{color:var(--sl-800);font-weight:500}
.pos-ws .pos-row.sv{color:#047857}
.pos-ws .pos-row.sv .mono{color:#047857;font-weight:700}
.pos-ws .pos-row.loy{margin-top:10px;padding-top:8px;border-top:1px solid var(--sl-100)}
.pos-totalwrap{margin-top:16px;padding-top:12px;border-top:2px solid var(--sl-200)}
.pos-total{background:var(--sl-900);border-radius:8px;padding:12px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.pos-total .cap{font:600 11px/16px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--sl-400)}
.pos-total .amt{font:900 30px/36px var(--mono);letter-spacing:-.025em;margin-top:2px}
.pos-total .sub{font:500 10px/14px var(--font);color:#5eead4;margin-top:4px}
.pos-paycard{padding:14px 16px;border-radius:8px;background:var(--tl);gap:8px}
.pos-paycard i{font-size:20px}
.pos-paycard .t b{font:700 16px/24px var(--font)}
.pos-paycard .t small{font-size:10px;line-height:14px;color:#99f6e4}
.pos-paycard .key{background:#004846;padding:2px 8px;border-radius:4px;font:700 12px/16px var(--mono);letter-spacing:.05em}
.pos-right .pos-tile.quick{height:auto;min-height:0;padding:8px;background:var(--sl-100);border:1px solid var(--sl-300);border-radius:6px}
.pos-right .pos-tile.quick b{font:600 12px/16px var(--font)}
.pos-right .pos-tile.quick small{font:400 10px/14px var(--mono);color:var(--sl-500);margin-top:2px}
.pos-btn.wide{background:var(--sl-200);border:1px solid var(--sl-300);padding:6px 12px;border-radius:6px;font:600 12px/16px var(--font);color:var(--sl-800)}
.pos-ready{margin-top:4px;padding:4px 10px;border-radius:4px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:11px;line-height:16px}
.pos-ready b{text-transform:uppercase;letter-spacing:.05em;color:#047857}

/* footer */
.pos-footer{padding:6px 16px;background:#000;border-top:1px solid var(--sl-800);font:400 11px/16px var(--mono);color:var(--sl-400)}
.pos-footer .val{color:#e2e8f0}
.pos-footer .ok{color:#34d399}

/* module 1 */
.pos-btn.blue{background:#0078d4;border-color:#0078d4;color:#fff;padding:10px 12px;font-size:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-btn.blue:hover{background:#106ebe}
.pos-shell.m1 .pos-card{border-color:#edebe9;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05)}

/* fill the viewport like the reference (cart and tiles stretch, summary pinned low) */
.pos-shell .pos-body{display:flex;flex-direction:column}
.pos-shell .pos-body>*{flex:1 1 auto;min-height:0}
.pos-ws{align-items:stretch;min-height:100%;box-sizing:border-box}
.pos-left{display:flex;flex-direction:column;min-width:0}
.pos-ws .pos-cartcard{flex:1;display:flex;flex-direction:column;overflow:hidden}
.pos-tablewrap{flex:1;overflow:auto}
.pos-ws .pos-fin{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.pos-wroot{display:grid;grid-template-columns:320px 1fr;gap:16px;padding:16px;min-height:100%;box-sizing:border-box;align-items:start}
.pos-wright{display:flex;flex-direction:column;gap:12px;align-self:stretch}
.pos-wgrid{flex:1;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(120px,1fr);gap:12px}


/* ---- Checkout modal (card / gift card / receipt tabs). Sits inside .pos-shell so it zooms with it.
   Sizes are the Tailwind values of the reference (max-w-4xl = 896px, text-xs, p-4, gap-4, 7/5 columns). ---- */
.pos-ck-back{position:absolute;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px;backdrop-filter:blur(2px)}
.pos-ck{width:896px;max-width:100%;max-height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #c8c6c4;border-radius:8px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);font:400 12px/16px var(--font);color:#201f1e}
.pos-ck-head{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#008272;color:#fff;font:700 14px/20px var(--font);letter-spacing:.025em;flex-shrink:0}
.pos-ck-head .lane{padding:2px 8px;border-radius:4px;background:#005a54;color:#99f6e4;font:500 11px/16px var(--mono);letter-spacing:0}
.pos-ck-head .due{margin-inline-start:auto;text-align:end;line-height:1.25}
.pos-ck-head .due small{display:block;font:400 10px/15px var(--font);color:#ccfbf1;letter-spacing:0}
.pos-ck-head .due b{font:900 14px/20px var(--mono);color:#fff;letter-spacing:0}
.pos-ck-head .paid{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:4px;background:#005a54;font:400 12px/16px var(--font);color:#d1fae5;letter-spacing:0}
.pos-ck-head .paid b{font:700 12px/16px var(--mono);color:#fff}
.pos-ck-head .x{width:28px;height:28px;border:0;border-radius:4px;background:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-inline-start:4px}
.pos-ck-head .x:hover{background:rgba(0,0,0,.2)}
.pos-ck-head .x:disabled{opacity:.4;cursor:default}
.pos-ck-tabs{display:flex;align-items:center;gap:8px;padding:0 16px;background:#f3f2f1;border-bottom:1px solid #edebe9;flex-shrink:0}
.pos-ck-tabs .tab{display:flex;align-items:center;gap:6px;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:none;color:#605e5c;font:500 12px/16px var(--font);cursor:pointer}
.pos-ck-tabs .tab:hover{color:#0078d4}
.pos-ck-tabs .tab.on{color:#0078d4;border-bottom-color:#0078d4;background:#fff;font-weight:700}
.pos-ck-tabs .tab:disabled{cursor:default}
.pos-ck-tabs .tab:disabled:not(.on){opacity:.55}
.pos-ck-tabs .chip{padding:0 6px;border-radius:4px;background:#d1fae5;color:#065f46;font:600 10px/16px var(--mono)}
.pos-ck-tabs .chip.amt{background:none;padding:0;color:#6b7280;font-weight:400}
.pos-ck-body{display:grid;grid-template-columns:7fr 5fr;gap:16px;padding:16px;background:#fff;overflow:auto;min-height:0}
.pos-ck-body.full{grid-template-columns:1fr}
.pos-ck-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-ck-panel{background:#fff;border:1px solid #edebe9;border-radius:4px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-ck-panel h5{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #edebe9;font:700 12px/16px var(--font);color:#201f1e;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-ck-panel.tint{background:#faf5ff;border-color:#e9d5ff;box-shadow:none;padding:10px}
.pos-ck-panel.grey{background:#faf9f8;box-shadow:none}
.pos-ck-panel.sub{background:#faf9f8;border-color:#e9d5ff}
.pos-ck-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid #fca5a5;background:#fef2f2;color:#7f1d1d;font:600 12px/16px var(--font)}
.pos-ck-banner.ok{border-color:#6ee7b7;background:#ecfdf5;color:#047857;padding:12px;margin:16px 16px 0;gap:12px;font-weight:400}
.pos-ck-banner.ok .big{font:700 14px/20px var(--font);color:#064e3b}
.pos-ck-banner.ok .tick{width:36px;height:36px;border-radius:50%;background:#059669;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pos-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;border:1px solid #d1d5db;background:#fff;font:500 10px/14px var(--mono)}
.pos-chip.ok{border-color:#a7f3d0;background:#ecfdf5;color:#047857;font-weight:600;font-family:var(--font)}
.pos-chip.grn{background:#a7f3d0;border-color:#a7f3d0;color:#064e3b;font-weight:700;font-size:12px;line-height:16px}
.pos-ck-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pos-ck-field label{display:block;margin-bottom:4px;font:600 11px/16px var(--font);color:#323130}
.pos-ck .pos-input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font:400 12px/16px var(--font)}
.pos-ck .pos-input.mono{font-family:var(--mono);font-weight:600}
.pos-ck-actions{display:flex;flex-wrap:nowrap;gap:4px;margin-top:10px;align-items:center}
.pos-ck-actions .pos-btn{white-space:nowrap;padding:4px 8px;border:1px solid #8a8886;border-radius:4px;font:500 11px/16px var(--font);color:#323130;gap:4px}
.pos-ck-actions .pos-btn:hover:not(:disabled){background:#f9fafb}
.pos-ck-actions .pos-btn.primary{margin-inline-start:auto;padding:4px 10px;background:#0078d4;border-color:#0078d4;color:#fff;font:600 12px/16px var(--font);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-ck-actions .pos-btn.primary:hover:not(:disabled){background:#106ebe}
.pos-preset{padding:2px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font:400 10px/16px var(--mono);cursor:pointer}
.pos-preset:hover{background:#f3f4f6}
.pos-preset.sel{background:#f3e8ff;border-color:#d8b4fe;color:#581c87;font-weight:700}
.pos-tender-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pos-tender-tile{display:flex;flex-direction:column;justify-content:space-between;gap:2px;min-height:56px;padding:8px;border:1px solid #8a8886;border-radius:4px;background:#fff;text-align:start;cursor:pointer;font:600 11px/13px var(--font);color:#374151}
.pos-tender-tile:hover:not(:disabled){background:#f9fafb}
.pos-tender-tile i{font-size:14px}
.pos-tender-tile small{font:400 10px/14px var(--font);color:#6b7280}
.pos-tender-tile small.mono{font:500 12px/16px var(--mono);color:#201f1e}
.pos-tender-tile.sel{border:2px solid #0078d4;background:#eff6ff;color:#0078d4;padding:7px}
.pos-tender-tile:disabled{opacity:.55;cursor:default}
.pos-applied{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #a7f3d0;background:rgba(236,253,245,.6);border-radius:4px;margin-bottom:8px}
.pos-applied .ico{width:28px;height:28px;border-radius:50%;background:#f3e8ff;color:#6b21a8;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.pos-applied .meta{flex:1;min-width:0}
.pos-applied .meta b{display:block;font:700 12px/16px var(--font);color:#201f1e}
.pos-applied .meta small{display:block;font:400 10px/14px var(--mono);color:#6b7280}
.pos-applied .amt{margin-inline-start:auto;text-align:end;font:700 14px/18px var(--mono);color:#047857}
.pos-applied .amt small{display:block;font:400 10px/14px var(--font);color:#059669}
.pos-applied .pos-btn.danger{padding:4px 8px;border:1px solid #fecdd3;border-radius:4px;color:#e11d48;font:600 11px/16px var(--font);background:#fff;gap:4px}
.pos-info-strip{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:4px;color:#0078d4;font:400 11px/16px var(--font)}
.pos-ledger{background:#faf9f8;border:1px solid #edebe9;border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:8px}
.pos-ledger .row{display:flex;justify-content:space-between;align-items:center;font:400 12px/16px var(--font);color:#605e5c}
.pos-ledger .row .mono{font-weight:500;color:#201f1e}
.pos-ledger .row.ok{padding:4px 8px;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:4px;color:#047857;font-weight:600}
.pos-ledger .row.ok .mono{color:#047857;font-weight:700}
.pos-ledger .row.sec{padding:4px 8px;border:1px solid #bfdbfe;background:rgba(239,246,255,.7);border-radius:4px;color:#0078d4;font-weight:700}
.pos-ledger .row.sec .mono{color:#0078d4;font-weight:700}
.pos-ledger .row.rem{padding-top:6px;border-top:1px solid #edebe9;align-items:baseline;font-weight:700;color:#374151}
.pos-ledger .row.rem .mono{font-size:16px;line-height:20px;font-weight:900;color:#047857}
.pos-ledger .sub{text-align:end;font:italic 10px/14px var(--font);color:#6b7280}
.pos-ledger-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid #edebe9;font:700 12px/16px var(--font);color:#201f1e}
.pos-ck-actionbar{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid #edebe9}
.pos-ck-actionbar .pos-btn{width:100%;padding:8px 12px;border:1px solid #8a8886;border-radius:4px;background:#fff;color:#323130;font:500 12px/16px var(--font);gap:6px}
.pos-ck-actionbar .pos-btn:hover:not(:disabled){background:#f3f4f6}
.pos-ck-actionbar .pos-btn.green{padding:10px 12px;background:#008272;border-color:#008272;color:#fff;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pos-ck-actionbar .pos-btn.green:hover:not(:disabled){background:#005a54}
.pos-ck-foot{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #edebe9;background:#fff;align-items:center;flex-shrink:0}
.pos-ck-foot .sp{margin-inline-start:auto}
.pos-ck-foot .pos-btn{padding:8px 12px;border:1px solid #8a8886;border-radius:4px;color:#323130;font:700 12px/16px var(--font);gap:6px}
.pos-ck-foot .pos-btn.green{background:#008272;border-color:#008272;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.pos-ck-foot .pos-btn.green:hover:not(:disabled){background:#005a54}
.pos-btn.green{background:var(--primary-container);border-color:var(--primary-container);color:#fff}
.pos-btn.green:hover{background:var(--primary)}
.pos-btn.green:disabled{opacity:.5}
.pos-ck-body .pos-btn.green{background:#008272;border-color:#008272;padding:8px 14px;font:700 12px/16px var(--font);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.pos-receipt{margin:0;padding:12px;border:1px dashed #d1d5db;border-radius:4px;background:#faf9f8;color:#374151;font:400 11px/16px var(--mono);white-space:pre;overflow:auto;max-height:300px;box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.pos-opt-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:4px;background:#faf9f8;margin-bottom:10px}
.pos-opt-row.on{border-color:#bfdbfe;background:rgba(239,246,255,.5)}
.pos-opt-row.off{opacity:.6}
.pos-opt-row .opt{flex:1;min-width:0}
.pos-opt-row .opt b{display:flex;align-items:center;gap:6px;font:700 12px/16px var(--font);color:#201f1e}
.pos-opt-row .opt small{display:block;color:#6b7280;font:400 10px/14px var(--font)}
.pos-opt-row input[type=checkbox]{width:14px;height:14px;margin-top:1px;accent-color:#0078d4}
.pos-opt-row .pos-input{margin-top:6px}
.pos-ck-hash{display:flex;justify-content:space-between;padding:8px 12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:4px;font:500 11px/16px var(--mono);color:#0078d4}
.pos-ck-giftrow{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid #edebe9;font:500 12px/16px var(--font);color:#605e5c}
.pos-ck-giftrow input{width:14px;height:14px;accent-color:#0078d4}
.pos-ck-giftrow .bc{margin-inline-start:auto;white-space:nowrap;font:400 11px/16px var(--mono);color:#9ca3af}
.pos-modal .pos-preset{padding:5px 12px;font:600 12px/16px var(--font)}
.pos-modal .pos-ck-field label{font:600 12px/16px var(--font)}

/* ---- Journal / Audit Tools (module 8). All rules live under .pos-shell so the shell zoom applies.
   Values follow the design's Tailwind scale (radius lg=4px, xl=8px, full=12px; label-sm 11/14 mono; body-md 14/18). ---- */
.pos-shell .pos-jr{display:flex;flex-direction:column;gap:0;overflow:auto;background:var(--pos-bg);padding:0;min-height:0}
.pos-shell .pos-jr-strip{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:var(--pos-bg-low);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
.pos-shell .pos-jr-icon{width:36px;height:36px;border-radius:4px;background:var(--primary-container);color:var(--on-primary-container);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 1px 2px rgba(0,0,0,.05);flex-shrink:0}
.pos-shell .pos-jr-head > .pos-jr-icon{margin-inline-end:4px}
.pos-shell .pos-jr-title{display:flex;flex:1 1 320px;min-width:0;flex-direction:column}
.pos-shell .pos-jr-title .trow{display:flex;align-items:center;gap:4px}
.pos-shell .pos-jr-title h1{margin:0;font:600 20px/26px var(--font);letter-spacing:-.025em;color:var(--pos-on-bg)}
.pos-shell .pos-jr-title p{margin:0;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:2px;background:var(--pos-bg-high);color:var(--pos-on-bg-variant);font:600 11px/14px var(--mono)}
.pos-shell .pos-jr-tag.ok{background:rgba(30,132,72,.15);color:var(--tertiary);padding:2px 8px}
.pos-shell .pos-jr-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--tertiary)}
.pos-shell .pos-jr-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pos-shell .pos-jr-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border:0;border-radius:4px;background:var(--pos-bg-lowest);color:var(--pos-on-bg);font:500 12px/16px var(--mono);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-btn i{font-size:18px}
.pos-shell .pos-jr-actions .pos-jr-btn:first-child i{color:var(--primary)}
.pos-shell .pos-jr-actions .pos-jr-btn:nth-child(2){color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-btn:hover:not(:disabled){background:var(--pos-bg-container)}
.pos-shell .pos-jr-btn:disabled{opacity:.55;cursor:default}
.pos-shell .pos-jr-btn.primary{background:var(--primary-container);color:var(--on-primary-container);padding:8px 16px;font:600 16px/22px var(--font);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.pos-shell .pos-jr-btn.primary:hover:not(:disabled){background:var(--primary-container);opacity:.95}
.pos-shell .pos-jr-btn.tint{background:var(--secondary-container);color:var(--on-secondary-container)}
.pos-shell .pos-jr-btn.danger{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-jr-key{margin-inline-start:4px;padding:2px 6px;border-radius:2px;background:rgba(234,255,249,.2);font:700 10px/12px var(--mono)}
.pos-shell .pos-jr-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.pos-shell .pos-jr-field{display:flex;flex-direction:column;gap:2px;min-width:0}
.pos-shell .pos-jr-field label{font:500 11px/14px var(--mono);text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-field .box{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:4px;background:var(--pos-bg-lowest);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-field .box:focus-within{outline:2px solid var(--primary-container)}
.pos-shell .pos-jr-field .box i{font-size:16px;line-height:16px;color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-field .box input,.pos-shell .pos-jr-field .box select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--pos-on-bg);font:400 14px/18px var(--font)}
.pos-shell .pos-jr-field .box input.mono{font:500 12px/16px var(--mono)}
.pos-shell .pos-jr-field .box select{cursor:pointer}
.pos-shell .pos-jr-dates{display:flex;gap:4px;margin-top:2px}
.pos-shell .pos-jr-dates input{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--outline-variant);border-radius:4px;font:400 12px/16px var(--mono)}
.pos-shell .pos-jr-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-top:4px}
.pos-shell .pos-jr-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:0;border-radius:12px;background:var(--pos-bg-lowest);color:var(--pos-on-bg-variant);font:500 11px/14px var(--mono);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-chip:hover{background:var(--pos-bg-container);color:var(--pos-on-bg)}
.pos-shell .pos-jr-chip.on{background:var(--primary-container);color:var(--on-primary-container);font-weight:600}
.pos-shell .pos-jr-chip .n{padding:1px 6px;border-radius:12px;background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-chip.on .n{background:rgba(255,255,255,.3);color:inherit}
.pos-shell .pos-jr-chip .n.red{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-jr-chip .n.dark{background:var(--pos-bg-highest);color:var(--pos-on-bg)}
.pos-shell .pos-jr-chip .n.blue{background:var(--secondary-container);color:var(--on-secondary-container)}
.pos-shell .pos-jr-sync{margin-inline-start:auto;display:flex;align-items:center;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-sync .dot{width:8px;height:8px;border-radius:50%;background:var(--tertiary-container);animation:pos-jr-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pos-jr-pulse{50%{opacity:.5}}
.pos-shell .pos-jr-main{display:grid;grid-template-columns:7fr 5fr;gap:12px;align-items:start;padding:8px 12px}
.pos-shell .pos-jr-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:8px;background:var(--pos-bg-lowest);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-cardhead{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}
.pos-shell .pos-jr-cardhead .l{display:flex;align-items:center;gap:8px}
.pos-shell .pos-jr-cardhead .t{font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-jr-cardhead .sub{padding:2px 8px;border-radius:2px;background:var(--pos-bg-container);color:var(--pos-on-bg-variant);font:500 11px/14px var(--mono)}
.pos-shell .pos-jr-cardhead .r{display:flex;gap:4px}
.pos-shell .pos-jr-ico{padding:6px;border:0;border-radius:4px;background:var(--pos-bg-container);color:var(--pos-on-bg-variant);font-size:18px;line-height:18px;cursor:pointer}
.pos-shell .pos-jr-ico:hover:not(:disabled){background:var(--pos-bg-high)}
.pos-shell .pos-jr-ico:disabled{opacity:.5;cursor:default}
.pos-shell .pos-jr-tablewrap{overflow-x:auto;border-radius:4px}
.pos-shell .pos-jr-table{width:100%;border-collapse:collapse;text-align:start;font:400 14px/18px var(--font)}
.pos-shell .pos-jr-table thead tr{background:var(--pos-bg-container)}
.pos-shell .pos-jr-table th{padding:10px 8px;color:var(--pos-on-bg-variant);font:500 11px/14px var(--mono);text-transform:uppercase;letter-spacing:.05em;text-align:start}
.pos-shell .pos-jr-table th:nth-child(1),.pos-shell .pos-jr-table th:nth-child(4),.pos-shell .pos-jr-table th:nth-child(6){padding-inline:12px}
.pos-shell .pos-jr-table th.c,.pos-shell .pos-jr-table td.c{text-align:center}
.pos-shell .pos-jr-table th.n,.pos-shell .pos-jr-table td.n{text-align:end}
.pos-shell .pos-jr-table td{padding:10px 8px;border-top:1px solid var(--pos-bg-container);vertical-align:middle}
.pos-shell .pos-jr-table tbody tr:first-child td{border-top:0}
.pos-shell .pos-jr-table td:nth-child(1),.pos-shell .pos-jr-table td:nth-child(4),.pos-shell .pos-jr-table td:nth-child(6){padding-inline:12px}
.pos-shell .pos-jr-table th:nth-child(1),.pos-shell .pos-jr-table td:nth-child(1){padding-inline:10px 6px}
.pos-shell .pos-jr-table tbody tr{cursor:pointer}
.pos-shell .pos-jr-table tbody tr:hover{background:var(--pos-bg-container)}
.pos-shell .pos-jr-table tr.sel{background:var(--pos-bg-low)}
.pos-shell .pos-jr-table tr.refund{background:rgba(255,218,214,.1)}
.pos-shell .pos-jr-table tr.void{background:rgba(219,235,243,.4);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-table tr.sel:hover{background:var(--pos-bg-low)}
.pos-shell .pos-jr-table .rcpt{display:flex;align-items:center;gap:4px;min-width:0;font:600 12px/16px var(--mono);overflow-wrap:break-word}
.pos-shell .pos-jr-table .rcpt i{font-size:14px;flex-shrink:0}
.pos-shell .pos-jr-table tr.sel .rcpt{gap:6px;color:var(--primary);font-weight:700}
.pos-shell .pos-jr-table tr.refund .rcpt,.pos-shell .pos-jr-table tr.refund .amt{color:var(--error)}
.pos-shell .pos-jr-table tr.void .rcpt{color:var(--pos-on-bg-variant);text-decoration:line-through}
.pos-shell .pos-jr-table .rcpt .bar{display:none;flex:none;width:6px;height:24px;border-radius:12px;background:var(--primary)}
.pos-shell .pos-jr-table tr.sel .rcpt .bar{display:inline-block}
.pos-shell .pos-jr-table .tm{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-table tr.sel .tm{color:var(--pos-on-bg)}
.pos-shell .pos-jr-table .b{font:600 11px/14px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-jr-table .s{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-table .nm{font:500 14px/18px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-jr-table tr.sel .nm{font-weight:700}
.pos-shell .pos-jr-table .sb{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-table tr.sel .sb{color:var(--primary)}
.pos-shell .pos-jr-table tr.void .b,.pos-shell .pos-jr-table tr.void .nm{color:var(--pos-on-bg-variant);font-weight:400}
.pos-shell .pos-jr-table .it{font:500 12px/16px var(--mono)}
.pos-shell .pos-jr-table .amt{font:600 12px/16px var(--mono);white-space:nowrap}
.pos-shell .pos-jr-table tr.sel .amt{font:700 14px/18px var(--mono);letter-spacing:-.025em}
.pos-shell .pos-jr-table tr.refund .amt{font-weight:700}
.pos-shell .pos-jr-table .tend{display:flex;align-items:center;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-jr-table .tend i{font-size:15px;color:var(--secondary)}
.pos-shell .pos-jr-table tr.refund .tend{color:var(--error)}
.pos-shell .pos-jr-table .ts{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-empty{padding:24px;text-align:center;color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-state{display:inline-block;padding:2px 8px;border-radius:12px;font:600 11px/14px var(--mono)}
.pos-shell .pos-jr-state.green{background:rgba(30,132,72,.15);color:var(--tertiary)}
.pos-shell .pos-jr-state.red{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-jr-state.gray{background:var(--pos-bg-highest);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-state.amber{background:#fef3c7;color:#92400e}
.pos-shell .pos-jr-audit{font-size:18px;line-height:18px;color:var(--secondary)}
.pos-shell .pos-jr-audit.Verified{color:var(--primary)}
.pos-shell .pos-jr-audit.Refunded,.pos-shell .pos-jr-audit.Voided,.pos-shell .pos-jr-audit.Discrepancy{color:var(--error)}
.pos-shell .pos-jr-audit.Held{color:var(--pos-amber)}
.pos-shell .pos-jr-foot2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-foot2 .info{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pos-shell .pos-jr-foot2 .info strong{color:var(--pos-on-bg);font-weight:700}
.pos-shell .pos-jr-foot2 .info .g{color:var(--tertiary);font:700 12px/16px var(--mono)}
.pos-shell .pos-jr-foot2 .vr{display:inline-block;width:1px;height:12px;background:var(--pos-bg-high)}
.pos-shell .pos-jr-pager{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pos-shell .pos-jr-pager .pg{padding:4px 8px;border:0;border-radius:2px;background:var(--pos-bg-container);color:var(--pos-on-bg);font:500 11px/14px var(--mono);cursor:pointer}
.pos-shell .pos-jr-pager .pg.w{padding-inline:10px}
.pos-shell .pos-jr-pager .pg:hover:not(:disabled){background:var(--pos-bg-high)}
.pos-shell .pos-jr-pager .pg.on{background:var(--primary-container);color:var(--on-primary-container);font-weight:700}
.pos-shell .pos-jr-pager .pg:disabled{opacity:.4;cursor:default}
.pos-shell .pos-jr-pager .gap{padding:0 4px}
.pos-shell .pos-jr-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding:8px;border-radius:4px;background:var(--pos-bg-low)}
.pos-shell .pos-jr-summary .mix{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pos-shell .pos-jr-summary .mix > i{font-size:20px;line-height:20px;color:var(--primary)}
.pos-shell .pos-jr-summary .mi{display:flex;align-items:center;gap:8px}
.pos-shell .pos-jr-summary .mi .k{font:500 11px/14px var(--mono);text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-summary .mi .v{font:700 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-jr-summary .vr2{display:inline-block;width:1px;height:24px;background:var(--pos-bg-high)}
.pos-shell .pos-jr-summary .ledger{display:flex;align-items:center;gap:4px;font:600 11px/14px var(--mono)}
.pos-shell .pos-jr-summary .ledger i{font-size:16px;line-height:16px}
.pos-shell .pos-jr-summary .ledger.ok{color:var(--tertiary)}
.pos-shell .pos-jr-summary .ledger.warn{color:#92400e}
.pos-shell .pos-jr-insp{position:sticky;top:0;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:8px;background:var(--pos-bg-lowest);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-insphead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px}
.pos-shell .pos-jr-insphead .h{display:flex;align-items:center;gap:4px}
.pos-shell .pos-jr-insphead .t{font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-jr-insphead .no{font:700 12px/16px var(--mono);color:var(--primary)}
.pos-shell .pos-jr-insphead .s{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-inspempty{padding:32px 12px;text-align:center;color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-inspempty i{display:block;font-size:32px;margin-bottom:8px}
.pos-shell .pos-jr-tabs{display:flex;align-items:center;gap:4px;padding:4px;border-radius:4px;background:var(--pos-bg-container)}
.pos-shell .pos-jr-tabs button{flex:1;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--pos-on-bg-variant);font:500 11px/14px var(--mono);text-align:center;cursor:pointer}
.pos-shell .pos-jr-tabs button:hover{background:var(--pos-bg-high)}
.pos-shell .pos-jr-tabs button.on{background:var(--pos-bg-lowest);color:var(--pos-on-bg);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-inspbody{display:flex;flex-direction:column;align-items:center;gap:8px;max-height:560px;overflow:auto;padding:12px;border-radius:8px;background:var(--pos-bg);box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.pos-shell .pos-jr-inspbody > .pos-jr-inspempty{width:100%}
.pos-shell .pos-jr-slip{display:flex;flex-direction:column;gap:8px;width:100%;max-width:360px;padding:12px;border-radius:4px;background:#fff;color:#111827;font:500 11px/14px var(--mono);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.pos-shell .pos-jr-slip .sh{display:flex;flex-direction:column;align-items:center;padding-bottom:8px;border-bottom:1px dashed #d1d5db;text-align:center}
.pos-shell .pos-jr-slip .big{display:flex;align-items:center;justify-content:center;gap:4px;font:700 16px/22px var(--font);letter-spacing:-.025em;color:#000}
.pos-shell .pos-jr-slip .big i{font-size:20px;color:var(--primary)}
.pos-shell .pos-jr-slip .sm{font-size:11px;color:#6b7280}
.pos-shell .pos-jr-slip .copy{font-weight:700;color:#000;margin-top:2px}
.pos-shell .pos-jr-slip .muted{color:#6b7280}
.pos-shell .pos-jr-slip .err{color:var(--error)}
.pos-shell .pos-jr-slip .idg{display:grid;grid-template-columns:1fr 1fr;padding:4px 0;border-bottom:1px dashed #d1d5db;color:#374151}
.pos-shell .pos-jr-slip .idg > div:nth-child(even){text-align:end}
.pos-shell .pos-jr-slip .idg strong{font-weight:600;color:#000}
.pos-shell .pos-jr-slip .cust{padding:8px;border-radius:2px;background:rgba(230,246,255,.6)}
.pos-shell .pos-jr-slip .cust b{font-weight:700;color:var(--primary)}
.pos-shell .pos-jr-slip .lines{padding:4px 0}
.pos-shell .pos-jr-slip .lh{display:grid;grid-template-columns:7fr 2fr 3fr;padding-bottom:4px;border-bottom:1px solid #e5e7eb;font-weight:700;color:#1f2937}
.pos-shell .pos-jr-slip .lr{display:grid;grid-template-columns:7fr 2fr 3fr;align-items:start;padding:6px 0;border-bottom:1px solid #f3f4f6}
.pos-shell .pos-jr-slip .lr:last-child{border-bottom:0}
.pos-shell .pos-jr-slip .lr .d{font-weight:600;color:#000}
.pos-shell .pos-jr-slip .q{text-align:center}
.pos-shell .pos-jr-slip .p{text-align:end;white-space:nowrap}
.pos-shell .pos-jr-slip .lr .p{font-weight:600}
.pos-shell .pos-jr-slip .sku{font-size:10px;color:#6b7280;font-weight:500}
.pos-shell .pos-jr-slip .tot{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px dashed #9ca3af}
.pos-shell .pos-jr-slip .meta{display:flex;justify-content:space-between;gap:8px;color:#4b5563}
.pos-shell .pos-jr-slip .meta span:last-child{font-weight:600;color:#111827}
.pos-shell .pos-jr-slip .total{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid #d1d5db;font:700 16px/22px var(--mono);color:#000}
.pos-shell .pos-jr-slip .total span:last-child{font-size:18px;letter-spacing:-.025em;color:var(--primary)}
.pos-shell .pos-jr-slip .tnd{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px dashed #d1d5db;font-size:11px;color:#374151}
.pos-shell .pos-jr-slip .tnd .meta{color:#374151}
.pos-shell .pos-jr-slip .tnd .meta:first-child{font-weight:700}
.pos-shell .pos-jr-slip .tnd .meta span:last-child{font-weight:inherit;color:inherit}
.pos-shell .pos-jr-slip .ft{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px;border-top:1px dashed #d1d5db;text-align:center}
.pos-shell .pos-jr-slip .ft .sm{font-size:10px}
.pos-shell .pos-jr-slip .ft .code{font-weight:700;letter-spacing:.1em;color:#000}
.pos-shell .pos-jr-slip .barcode{display:flex;justify-content:center;align-items:stretch;height:40px;width:208px;max-width:100%;margin:4px 0;overflow:hidden}
.pos-shell .pos-jr-slip .barcode .b{display:inline-block;background:#111827;margin-inline-end:1px}
.pos-shell .pos-jr-tender{width:100%;padding:8px;border-radius:4px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-tender .top{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-jr-tender dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;font:500 11px/14px var(--mono)}
.pos-shell .pos-jr-tender dl > div{display:flex;flex-direction:column}
.pos-shell .pos-jr-tender dt{color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-tender dd{margin:0;font-weight:700;color:var(--pos-on-bg)}
.pos-shell .pos-jr-trail{display:flex;flex-direction:column;gap:12px;width:100%;margin:0;padding:0;list-style:none;font:500 11px/14px var(--mono)}
.pos-shell .pos-jr-trail li{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:4px;background:#fff}
.pos-shell .pos-jr-trail .ic{display:flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:2px;background:var(--primary-container);color:var(--on-primary-container);font-size:14px}
.pos-shell .pos-jr-trail .ic.t{background:var(--tertiary-container);color:var(--on-tertiary-container)}
.pos-shell .pos-jr-trail .ic.s{background:var(--secondary);color:var(--on-secondary)}
.pos-shell .pos-jr-trail .ic.g{background:var(--pos-bg-highest);color:var(--pos-on-bg)}
.pos-shell .pos-jr-trail .ic.e{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-jr-trail .ev{font-weight:700;color:var(--pos-on-bg)}
.pos-shell .pos-jr-trail .dt{color:var(--pos-on-bg-variant);font-weight:500}
.pos-shell .pos-jr-foot{display:flex;flex-direction:column;gap:4px;padding-top:4px;border-top:1px solid rgba(219,235,243,.4)}
.pos-shell .pos-jr-foot .top{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pos-shell .pos-jr-foot .bot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}
.pos-shell .pos-jr-foot .top .pos-jr-btn{padding:10px 8px;font:600 16px/22px var(--font);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-jr-foot .top .pos-jr-btn.primary{background:var(--primary-container);color:var(--on-primary-container);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.pos-shell .pos-jr-foot .top .pos-jr-btn.tint{background:var(--pos-bg-container);color:var(--pos-on-bg)}
.pos-shell .pos-jr-foot .top .pos-jr-key{padding:0 4px}
.pos-shell .pos-jr-foot .bot .pos-jr-btn{padding:8px 4px;font:500 12px/16px var(--mono)}
.pos-shell .pos-jr-foot .bot .pos-jr-btn i{font-size:16px}
.pos-shell .pos-jr-foot .bot .pos-jr-btn:first-child i{color:var(--primary)}
.pos-shell .pos-jr-foot .bot .pos-jr-btn.tint,.pos-shell .pos-jr-foot .bot .pos-jr-btn.danger{font-weight:600}
@media (max-width:1100px){.pos-shell .pos-jr-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-shell .pos-jr-main{grid-template-columns:1fr}}
.pos-shell .pos-jr-hint{display:flex;align-items:center;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-jr-table tr:focus-visible{outline:2px solid var(--primary-container);outline-offset:-2px}

/* ---- Suspended orders registry (overlay inside .pos-body; zooms with .pos-shell).
   Metrics are the Tailwind values of the reference page: spacing xs 4 / sm 8 / md 12 / lg 16, label-sm 11/14, label-md 12/16,
   body-sm 12/16, body-md 14/18, headline-sm 16/22, headline-lg 24/30, headline-xl 32/38, hotkey 10/12, radius 2 / 8. ---- */
.pos-shell .pos-body{position:relative}
.pos-shell .pos-body:has(>.pos-rg){overflow:hidden}
.pos-shell .pos-rg>*{flex-shrink:0}
.pos-shell .pos-rg{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:none;background:var(--pos-bg);outline:0}
.pos-shell .pos-rg::-webkit-scrollbar{display:none}
.pos-shell .pos-rg i.bi{display:inline-flex;align-items:center;font-size:14px;line-height:1}
.pos-shell .pos-rg i.bi::before{vertical-align:0}
/* status strip */
.pos-shell .pos-rg-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--pos-bg-container);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-rg-status .crumb{display:flex;align-items:center;gap:8px;min-height:18px;font:700 11px/14px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-status .crumb b{font:600 12px/16px var(--font);letter-spacing:-.025em;color:var(--primary)}
.pos-shell .pos-rg-status .crumb i{color:var(--outline)}
.pos-shell .pos-rg-status .pills{display:flex;align-items:center;gap:12px}
.pos-shell .pos-rg-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;background:var(--pos-bg-high);font:500 11px/14px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-pill i{color:var(--tertiary)}
.pos-shell .pos-rg-pill.ok{background:var(--tertiary-container);color:var(--on-tertiary-container);font-weight:600}
.pos-shell .pos-rg-pill.ok i{color:inherit}
/* control bar */
.pos-shell .pos-rg-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 0;background:var(--pos-bg)}
.pos-shell .pos-rg-search{position:relative;flex:1 1 320px;min-width:320px;display:flex;align-items:center}
.pos-shell .pos-rg-search>i{position:absolute;inset-inline-start:12px;font-size:20px!important;color:var(--outline)}
.pos-shell .pos-rg-searchinput{width:100%;padding:8px 96px 8px 40px;border:0;border-radius:2px;outline:0;background:var(--pos-bg-low);box-shadow:inset 0 2px 4px rgba(0,0,0,.05);font:400 14px/18px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-rg-searchinput::placeholder{color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-searchinput:hover{background:var(--pos-bg-high)}
.pos-shell .pos-rg-searchinput:focus{background:var(--pos-bg-lowest)}
.pos-shell .pos-rg-search .tail{position:absolute;inset-inline-end:8px;display:flex;align-items:center;gap:4px}
.pos-shell .pos-rg-search .hint{padding:2px 4px;border-radius:2px;background:var(--pos-bg-highest);font:700 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-x{display:flex;border:0;border-radius:2px;background:none;cursor:pointer;color:var(--pos-on-bg-variant);padding:4px}
.pos-shell .pos-rg-x i{font-size:16px!important}
.pos-shell .pos-rg-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-rg-sel{display:flex;align-items:center;padding:6px 12px;border-radius:2px;background:var(--pos-bg-low);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-rg-sel>i{margin-inline-end:6px;font-size:16px!important;color:var(--outline)}
.pos-shell .pos-rg-select{border:0;outline:0;background:transparent;padding-inline-end:16px;font:500 12px/16px var(--mono);color:var(--pos-on-bg);cursor:pointer}
.pos-shell .pos-rg-refresh{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:0;border-radius:2px;background:var(--pos-bg-high);box-shadow:0 1px 2px rgba(0,0,0,.05);font:600 12px/16px var(--mono);color:var(--pos-on-bg);cursor:pointer}
.pos-shell .pos-rg-refresh i{font-size:18px!important;color:var(--primary)}
.pos-shell .pos-rg-refresh:hover{background:var(--pos-bg-highest)}
.pos-shell .pos-rg-refresh:disabled{opacity:.5;cursor:default}
.pos-shell .pos-rg .key{padding:2px 6px;border-radius:2px;background:var(--pos-bg);font:700 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
/* chips */
.pos-shell .pos-rg-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:12px 12px 16px;overflow-x:auto;background:var(--pos-bg)}
.pos-shell .pos-rg-chip{flex:0 1 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:0;border-radius:2px;background:var(--pos-bg-low);font:500 12px/16px var(--mono);color:var(--pos-on-bg);cursor:pointer;text-align:start}
.pos-shell .pos-rg-chip:hover{background:var(--pos-bg-high)}
.pos-shell .pos-rg-chip .n{padding:.8px 6px;border-radius:12px;background:var(--pos-bg-highest);font:700 10px/12px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--primary-container)}
.pos-shell .pos-rg-chip .dot.sec{background:var(--secondary)}
.pos-shell .pos-rg-chip .dot.ter{background:var(--tertiary)}
.pos-shell .pos-rg-chip.on{background:var(--primary-container);color:var(--on-primary-container);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-rg-chip.on .n{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-rg-chip.warn{color:var(--error)}
.pos-shell .pos-rg-chip.warn .n{background:var(--error-container);color:var(--on-error-container);font-weight:700}
.pos-shell .pos-rg-chip.warn.on{background:var(--error);color:#fff}
.pos-shell .pos-rg-chip.warn.on .n{background:#fff;color:var(--error)}
.pos-shell .pos-rg-chip:disabled{opacity:.5;cursor:default}
.pos-shell .pos-rg-hint{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant);white-space:nowrap}
/* main split: 62 / 38 */
.pos-shell .pos-rg-main{flex:1 0 auto;display:flex;align-items:flex-start;gap:16px;padding:12px}
.pos-shell .pos-rg-listcol{flex:0 1 62%;display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-rg-listhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;padding:0 4px}
.pos-shell .pos-rg-listhead .l{display:flex;align-items:center;gap:4px}
.pos-shell .pos-rg-listhead h2{margin:0;font:600 16px/22px var(--font)}
.pos-shell .pos-rg-tag{padding:2px 4px;border-radius:2px;background:var(--pos-bg-container);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-purge{display:flex;align-items:center;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-purge b{font:700 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-list{display:flex;flex-direction:column;gap:12px}
.pos-shell .pos-rg-empty{padding:32px;text-align:center;color:var(--pos-on-bg-variant);font:500 13px/18px var(--font)}
.pos-shell .pos-rg-empty i{display:block;font-size:32px!important;margin-bottom:8px;opacity:.6}
/* cards */
.pos-shell .pos-rg-card{display:flex;flex-direction:column;gap:8px;background:var(--pos-bg-lowest);border:0;border-radius:8px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.05);cursor:pointer;outline:0}
.pos-shell .pos-rg-card:hover{background:var(--pos-bg-low)}
.pos-shell .pos-rg-card.sel{background:var(--pos-bg-lowest);box-shadow:0 0 0 1px var(--primary-container),0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.pos-shell .pos-rg-card:focus-visible{outline:2px solid var(--primary-container);outline-offset:1px}
.pos-shell .pos-rg-card.exp{opacity:.85}
.pos-shell .pos-rg-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-card-top .grp{display:flex;align-items:center;gap:8px}
.pos-shell .pos-rg-ref{padding:2px 8px;border-radius:2px;background:var(--primary-container);color:var(--on-primary-container);font:700 11px/14px var(--mono);letter-spacing:.05em}
.pos-shell .pos-rg-src{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:600}
.pos-shell .pos-rg-src.sec{color:var(--secondary)}
.pos-shell .pos-rg-src .pdot{width:8px;height:8px;border-radius:50%;background:var(--primary)}
.pos-shell .pos-rg-sep{color:var(--outline)}
.pos-shell .pos-rg-time{display:inline-flex;align-items:center;gap:4px}
.pos-shell .pos-rg-state{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.pos-shell .pos-rg-state.green{background:var(--tertiary-container);color:var(--on-tertiary-container)}
.pos-shell .pos-rg-state.gray{background:var(--pos-bg-container);color:var(--pos-on-bg)}
.pos-shell .pos-rg-state.amber{background:var(--error-container);color:var(--error)}
.pos-shell .pos-rg-state.red{background:var(--error);color:#fff}
.pos-shell .pos-rg-card-body{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding-top:4px}
.pos-shell .pos-rg-cust{display:flex;gap:8px;align-items:flex-start;min-width:0}
.pos-shell .pos-rg-av{width:40px;height:40px;border-radius:2px;background:var(--primary-fixed);color:var(--on-primary-fixed);display:flex;align-items:center;justify-content:center;font:700 16px/22px var(--font);flex-shrink:0}
.pos-shell .pos-rg-custtxt{min-width:0}
.pos-shell .pos-rg-custtxt .nm{display:flex;align-items:center;gap:4px;font:700 16px/22px var(--font)}
.pos-shell .pos-rg-id{padding:.8px 6px;border-radius:2px;background:var(--secondary-fixed,#cae7f2);color:#011f27;font:700 11px/14px var(--mono)}
.pos-shell .pos-rg-custtxt .rs{display:flex;align-items:center;gap:4px;margin-top:2px;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant);overflow-wrap:anywhere}
.pos-shell .pos-rg-custtxt .rs i{color:var(--error)}
.pos-shell .pos-rg-value{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:6px 12px;border-radius:2px;background:var(--pos-bg-container);text-align:end}
.pos-shell .pos-rg-value .cap{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-value .amt{font:700 24px/30px var(--font);letter-spacing:-.025em}
.pos-shell .pos-rg-value .sub{font:600 11px/14px var(--mono);color:var(--secondary);overflow-wrap:anywhere}
.pos-shell .pos-rg-card-foot{display:contents}
.pos-shell .pos-rg-card-foot .by{display:flex;align-items:center;gap:4px;padding-top:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-card-foot .by b{font-weight:700;color:var(--pos-on-bg)}
.pos-shell .pos-rg-card-foot .acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px}
.pos-shell .pos-rg-card-foot .pos-btn{padding:6px 12px;gap:4px;border:0;border-radius:2px;background:var(--pos-bg-high);font:600 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-card-foot .pos-btn i{font-size:16px!important}
.pos-shell .pos-rg-card-foot .pos-btn:hover:not(:disabled){background:var(--pos-bg-highest)}
.pos-shell .pos-rg-card-foot .pos-btn .key{padding:.8px 4px}
.pos-shell .pos-rg-card-foot .pos-btn.primary{padding:6px 16px;background:var(--primary-container);color:var(--on-primary-container);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-rg-card-foot .pos-btn.primary:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-rg-card-foot .pos-btn.primary .key{padding:.8px 6px;background:rgba(243,250,255,.2);color:inherit}
.pos-shell .pos-rg-card-foot .pos-btn:disabled{opacity:.5;cursor:default}
/* details panel */
.pos-shell .pos-rg-details{flex:0 1 38%;display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-rg-panel{display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:var(--pos-bg-lowest);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.pos-shell .pos-rg-dhead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;background:var(--pos-bg-container)}
.pos-shell .pos-rg-dhead .l{display:flex;align-items:center;gap:8px}
.pos-shell .pos-rg-dhead .l>i{font-size:20px!important;color:var(--primary)}
.pos-shell .pos-rg-dhead h3{margin:0;font:700 16px/1 var(--font)}
.pos-shell .pos-rg-dhead .ref{margin-top:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-dhead .ref .mono{font-weight:700;color:var(--pos-on-bg)}
.pos-shell .pos-rg-dhead .pos-rg-state{padding:2px 8px}
.pos-shell .pos-rg-dbody{display:flex;flex-direction:column;gap:12px;padding:16px}
.pos-shell .pos-rg-expiry{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:12px;border-radius:2px;background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-rg-expiry i{grid-row:1/3;align-self:center;font-size:20px!important}
.pos-shell .pos-rg-expiry .t{font:700 14px/18px var(--mono)}
.pos-shell .pos-rg-expiry .s{font:500 11px/14px var(--mono)}
.pos-shell .pos-rg-expiry.dead{background:var(--error-container)}
.pos-shell .pos-rg-block{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:2px;background:var(--pos-bg-low)}
.pos-shell .pos-rg-block .nm{display:flex;align-items:center;gap:4px;font:700 16px/22px var(--font)}
.pos-shell .pos-rg-block .nm i{font-size:18px!important;color:var(--primary)}
.pos-shell .pos-rg-block .grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding-top:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-block .grid b{color:var(--pos-on-bg);font-weight:700}
.pos-shell .pos-rg-note{padding:8px 12px;border-radius:2px;background:var(--pos-bg-container);font:400 12px/16px var(--font);overflow-wrap:anywhere}
.pos-shell .pos-rg-lines{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-rg-lineshead,.pos-shell .pos-rg-line{display:flex;align-items:center;justify-content:space-between;gap:4px}
.pos-shell .pos-rg-lineshead{padding:0 4px;font:600 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-lineshead .c{display:flex;align-items:center;gap:12px;font:500 11px/14px var(--mono)}
.pos-shell .pos-rg-lineshead .c span:first-child{width:32px;text-align:center}
.pos-shell .pos-rg-lineshead .c span:last-child{width:80px;text-align:end}
.pos-shell .pos-rg-line{padding:8px;border-radius:2px;background:var(--pos-bg-container);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-rg-line .d{display:flex;align-items:flex-start;gap:8px;min-width:0}
.pos-shell .pos-rg-line .ico{width:32px;height:32px;border-radius:2px;background:var(--pos-bg-highest);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}
.pos-shell .pos-rg-line .t{min-width:0}
.pos-shell .pos-rg-line .n{font:600 14px/18px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-shell .pos-rg-line .s{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-shell .pos-rg-line .c{display:flex;align-items:center;gap:12px;flex-shrink:0;font:700 12px/16px var(--mono)}
.pos-shell .pos-rg-line .q{width:32px;text-align:center}
.pos-shell .pos-rg-line .p{width:80px;text-align:end}
.pos-shell .pos-rg-totals{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:2px;background:var(--pos-bg-low)}
.pos-shell .pos-rg-totals .r{display:flex;justify-content:space-between;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-totals .r .v{font:600 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-totals .r.g{color:var(--tertiary)}
.pos-shell .pos-rg-totals .r.g .v{color:inherit}
.pos-shell .pos-rg-totals .hr{height:2px;margin:4px 0;background:var(--pos-bg-highest)}
.pos-shell .pos-rg-totals .tot{display:flex;justify-content:space-between;align-items:baseline;font:700 16px/22px var(--font)}
.pos-shell .pos-rg-totals .tot .amt{font:700 32px/38px var(--font);letter-spacing:-.025em;color:var(--primary)}
.pos-shell .pos-rg-calc{padding:12px;border-radius:2px;background:var(--pos-bg-container);opacity:.6}
.pos-shell .pos-rg-calc .h{display:flex;align-items:center;gap:4px;font:700 11px/14px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-rg-calc .h i{color:var(--tertiary)}
.pos-shell .pos-rg-calc .s{padding-top:4px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-actions{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.pos-shell .pos-rg-resume{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:48px;padding:0 16px;border:0;border-radius:2px;background:var(--primary);color:var(--on-primary);font:700 16px/22px var(--font);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);cursor:pointer}
.pos-shell .pos-rg-resume .l{display:flex;align-items:center;gap:8px}
.pos-shell .pos-rg-resume .l i{font-size:24px!important}
.pos-shell .pos-rg-resume:hover:not(:disabled){background:var(--primary-container)}
.pos-shell .pos-rg-resume .key{padding:2px 8px;background:rgba(0,0,0,.2);color:var(--on-primary)}
.pos-shell .pos-rg-resume:disabled{opacity:.45;cursor:not-allowed}
.pos-shell .pos-rg-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-rg-pair .pos-btn{height:40px;padding:0 12px;border:0;border-radius:2px;background:var(--pos-bg-high);font:600 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-rg-pair .pos-btn:disabled{opacity:.5}
.pos-shell .pos-rg-pair .pos-btn i{font-size:18px!important}
.pos-shell .pos-rg-pair .pos-btn:last-child{justify-content:space-between}
.pos-shell .pos-rg-pair .pos-btn .key{padding:.8px 6px}
.pos-shell .pos-rg-void{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:40px;padding:0 12px;border:0;border-radius:2px;background:var(--error-container);color:var(--on-error-container);font:600 12px/16px var(--mono);cursor:pointer}
.pos-shell .pos-rg-void:hover:not(:disabled){background:var(--error);color:#fff}
.pos-shell .pos-rg-void .l{display:flex;align-items:center;gap:4px}
.pos-shell .pos-rg-void .l i{font-size:18px!important}
.pos-shell .pos-rg-void .key{padding:.8px 6px;background:rgba(243,250,255,.4);color:inherit}
.pos-shell .pos-rg-void:disabled{opacity:.5;cursor:default}
.pos-shell .pos-rg-policy{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px;border-radius:8px;background:var(--pos-bg-low);box-shadow:0 1px 2px rgba(0,0,0,.05);font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-policy i{margin-top:2px;font-size:20px!important;color:var(--primary);flex-shrink:0}
.pos-shell .pos-rg-err{margin-top:10px;padding:8px 10px;border-radius:4px;background:var(--error-container);color:var(--on-error-container);font:500 13px/18px var(--font)}
.pos-shell .pos-rg-held{padding:10px 12px;border:1px solid var(--warn-border);border-radius:6px;background:var(--warn-bg);font:500 14px/20px var(--font)}
@media (max-width:1100px){.pos-shell .pos-rg-main{flex-direction:column;align-items:stretch}.pos-shell .pos-rg-listcol{flex:0 0 auto}.pos-shell .pos-rg-details{min-height:320px;flex:0 0 auto}}

/* ---- Workstation frame (cycle S). Metrics from the rail reference screens: header 44px, rail 256px, footer 28px.
   Everything is under .pos-shell so the shell zoom rules above apply unchanged. ---- */
.pos-shell .pos-ws-frame{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--background)}
.pos-shell .pos-ws-header{height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:var(--pos-bg-high);box-shadow:0 1px 8px rgba(0,0,0,.04);position:relative;z-index:3}
.pos-shell .pos-ws-header .grp{display:flex;align-items:center;gap:12px;min-width:0}
.pos-shell .pos-ws-logo{display:flex;align-items:center;gap:4px;border:0;background:none;padding:0;cursor:pointer;color:var(--primary)}
.pos-shell .pos-ws-logo i{font-size:20px;line-height:20px}
.pos-shell .pos-ws-logo b{font:600 16px/22px var(--font);letter-spacing:-.01em;color:var(--pos-on-bg)}
.pos-shell .pos-ws-chips{display:flex;align-items:center;gap:8px;padding-inline-start:12px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant);white-space:nowrap}
.pos-shell .pos-ws-chips .sep{opacity:.6}
.pos-shell .pos-ws-chip{display:flex;align-items:center;gap:4px}
.pos-shell .pos-ws-chip i{font-size:14px;color:var(--secondary)}
.pos-shell .pos-ws-sync{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;background:var(--pos-bg-lowest);box-shadow:0 1px 4px rgba(0,0,0,.03);font:600 11px/14px var(--mono);color:var(--tertiary)}
.pos-shell .pos-ws-sync .dot{width:8px;height:8px;border-radius:50%;background:var(--tertiary)}
.pos-shell .pos-ws-sync.off{color:var(--error)}
.pos-shell .pos-ws-sync.off .dot{background:var(--error)}
.pos-shell .pos-ws-clock{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ws-who{display:flex;align-items:center;gap:8px}
.pos-shell .pos-ws-who .txt{text-align:end;line-height:14px}
.pos-shell .pos-ws-who .txt b{display:block;font:600 11px/14px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-ws-who .txt small{display:block;font:700 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ws-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font:700 12px var(--font)}
.pos-shell .pos-ws-iconbtn{border:0;background:none;color:var(--pos-on-bg-variant);cursor:pointer;font-size:16px;padding:4px 6px;border-radius:4px}
.pos-shell .pos-ws-iconbtn:hover{background:var(--pos-bg-container);color:var(--pos-on-bg)}
.pos-shell .pos-ws-layoutbtn{border:1px solid var(--outline-variant);background:var(--pos-bg-lowest);color:var(--pos-on-bg-variant);cursor:pointer;font:600 11px/14px var(--mono);padding:3px 8px;border-radius:4px;white-space:nowrap}
.pos-shell .pos-ws-layoutbtn:hover{background:var(--pos-bg-container)}
.pos-shell .pos-ws-layoutbtn:disabled,.pos-shell .lock-btn:disabled{opacity:.5;cursor:not-allowed}

.pos-shell .pos-ws-topmenu{flex:0 0 auto;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--pos-bg-lowest);border-bottom:1px solid var(--pos-bg-high);position:relative;z-index:3}
.pos-shell .pos-ws-topmenu nav{display:flex;align-items:center;gap:4px}
.pos-shell .pos-ws-topmenu .grp{position:relative}
.pos-shell .pos-ws-topmenu .grp > button{border:0;background:none;padding:2px 12px;border-radius:4px;cursor:pointer;font:600 14px/20px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ws-topmenu .grp > button:hover,.pos-shell .pos-ws-topmenu .grp > button.open{background:var(--primary-container);color:var(--on-primary-container)}
.pos-shell .pos-ws-topmenu .fly{position:absolute;top:100%;inset-inline-start:0;min-width:200px;background:var(--pos-bg-lowest);border:1px solid var(--outline-variant);border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.12);padding:4px;z-index:5}
.pos-shell .pos-ws-topmenu .fly button{display:flex;width:100%;align-items:center;gap:8px;border:0;background:none;text-align:start;padding:6px 8px;border-radius:4px;cursor:pointer;font:400 14px/18px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ws-topmenu .fly button:hover{background:var(--pos-bg-high)}
.pos-shell .pos-ws-topmenu .fly button:disabled{opacity:.5;cursor:default}
.pos-shell .pos-ws-topmenu .hint{display:flex;align-items:center;gap:8px;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant);text-transform:uppercase}
.pos-shell .pos-ws-key{font:700 10px/12px var(--mono);padding:2px 6px;border-radius:4px;background:var(--pos-bg-highest);color:var(--pos-on-bg)}

.pos-shell .pos-ws-mid{flex:1;min-height:0;display:flex}
.pos-shell .pos-ws-rail{flex:0 0 256px;width:256px;display:flex;flex-direction:column;justify-content:space-between;padding:8px;background:var(--pos-bg-low);box-shadow:0 1px 8px rgba(0,0,0,.04);overflow-y:auto}
.pos-shell .pos-ws-rail .title{font:700 10px/12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--pos-on-bg-variant);padding:0 8px 4px}
.pos-shell .pos-ws-rail nav{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-ws-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:none;text-align:start;padding:10px 8px;border-radius:4px;cursor:pointer;color:var(--pos-on-bg-variant);font:400 14px/18px var(--font);transition:background .12s}
.pos-shell .pos-ws-entry .lbl{display:flex;align-items:center;gap:8px;min-width:0}
.pos-shell .pos-ws-entry .lbl i{font-size:16px;flex:0 0 auto}
.pos-shell .pos-ws-entry .lbl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-shell .pos-ws-entry:hover{background:var(--pos-bg-high);color:var(--pos-on-bg)}
.pos-shell .pos-ws-entry:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.pos-shell .pos-ws-entry.active{background:var(--primary-container);color:var(--on-primary-container);font-weight:600;box-shadow:0 1px 3px rgba(11,26,32,.08)}
.pos-shell .pos-ws-entry.later{opacity:.55}
.pos-shell .pos-ws-entry .warn{width:8px;height:8px;border-radius:50%;background:var(--pos-amber);display:inline-block;flex:0 0 auto}
.pos-shell .pos-ws-entry.lock:hover{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-ws-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--background)}
.pos-shell .pos-ws-main .pos-body{flex:1;min-height:0}

.pos-shell .pos-ws-strip{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 12px;background:var(--warn-bg);border-bottom:1px solid var(--warn-border);font:600 12px/16px var(--font);color:var(--pos-warn-on)}
.pos-shell .pos-ws-strip a{color:var(--pos-blue);text-decoration:underline;cursor:pointer}

.pos-shell .pos-ws-footer .pos-footer{display:flex;align-items:center;gap:16px;height:28px;padding:0 12px;background:var(--pos-bg-highest);color:var(--pos-on-bg-variant);font:500 11px/14px var(--mono);box-shadow:0 -1px 6px rgba(0,0,0,.03)}
.pos-shell .pos-ws-footer .pos-footer .lbl{color:var(--pos-on-bg-variant)}
.pos-shell .pos-ws-footer .pos-footer .val{color:var(--pos-on-bg);font-weight:600}
.pos-shell .pos-ws-footer .pos-footer .ok{color:var(--tertiary);font-weight:600}
.pos-shell .pos-ws-footer .pos-footer .grow{flex:1}

@media (max-width:1100px){
  .pos-shell .pos-ws-rail{flex-basis:56px;width:56px;padding:8px 4px}
  .pos-shell .pos-ws-rail .title{display:none}
  .pos-shell .pos-ws-entry{justify-content:center;padding:10px 4px}
  .pos-shell .pos-ws-entry .lbl span,.pos-shell .pos-ws-entry .pos-ws-key{display:none}
  .pos-shell .pos-ws-chips{display:none}
}
.pos-shell .pos-ws-footer .pos-footer .pos-ws-diag{color:var(--pos-warn-on);font-weight:600;cursor:help}

/* ---- price check workspace (cycle B3) ---- */
.pos-shell .pos-body:has(>.pos-pc){overflow:hidden}
.pos-shell .pos-pc{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:none;background:var(--pos-bg);outline:0}
.pos-shell .pos-pc::-webkit-scrollbar{display:none}
.pos-shell .pos-pc>*{flex-shrink:0}
.pos-shell .pos-pc i.bi{display:inline-flex;align-items:center;font-size:14px;line-height:1}
.pos-shell .pos-pc-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 8px 0;padding:10px 16px;background:var(--pos-bg-lowest);border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.pos-shell .pos-pc-head .dot{width:10px;height:10px;border-radius:50%;background:var(--primary)}
.pos-shell .pos-pc-head h2{margin:0;font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-pc-head .grow{flex:1 1 auto}
.pos-shell .pos-pc-pill{padding:2px 8px;border-radius:2px;background:var(--pos-bg-high);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-rule{display:inline-flex;align-items:center;gap:6px;font:500 12px/16px var(--font);color:var(--primary)}
.pos-shell .pos-pc-ghost{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:4px;background:var(--pos-bg-high);color:var(--pos-on-bg-variant);font:500 12px/16px var(--font);cursor:pointer}
.pos-shell .pos-pc-ghost:disabled{opacity:.6;cursor:default}
.pos-shell .pos-pc .key{padding:1px 5px;border-radius:2px;background:rgba(0,0,0,.08);font:500 10px/12px var(--mono)}
.pos-shell .pos-pc-cols{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,1.3fr) minmax(300px,1.1fr);gap:16px;padding:12px 8px 16px;align-items:stretch;flex:1 1 auto;min-height:0}
.pos-shell .pos-pc-col{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin}
.pos-shell .pos-pc-bar{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;padding-top:8px;background:var(--pos-bg-lowest);z-index:1}
.pos-shell .pos-pc-card{background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.pos-shell .pos-pc-cardhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-shell .pos-pc-cardhead h3{margin:0;display:flex;align-items:center;gap:8px;font:600 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-pc-key,.pos-shell .pos-pc-size{padding:2px 8px;border-radius:2px;background:var(--primary-container);color:var(--on-primary);font:700 11px/14px var(--mono)}
.pos-shell .pos-pc-size{background:var(--pos-bg-container);color:var(--pos-on-bg-variant);font-weight:500}
.pos-shell .pos-pc-live{font:500 12px/16px var(--mono);color:var(--primary)}
.pos-shell .pos-pc-chip{padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-pc-chip.live{background:#a6f5c0;color:#00391c}
.pos-shell .pos-pc-chip.warn{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-pc-chip.bad{background:#ffdad6;color:#93000a}
.pos-shell .pos-pc-chip.off{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-scan{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;background:var(--pos-bg-low);box-shadow:inset 0 2px 4px rgba(0,0,0,.05)}
.pos-shell .pos-pc-scaninput{flex:1 1 auto;min-width:0;text-overflow:ellipsis;padding:6px 4px;border:0;outline:0;background:transparent;font:500 16px/22px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-pc-ready{flex:none;padding:2px 8px;border-radius:2px;background:#a6f5c0;color:#00391c;font:700 11px/14px var(--mono)}
.pos-shell .pos-pc-ready.busy{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-pc-go{width:36px;height:32px;border:0;border-radius:4px;background:var(--primary);color:var(--on-primary);cursor:pointer}
.pos-shell .pos-pc-go:disabled{opacity:.5;cursor:default}
.pos-shell .pos-pc-hint{display:flex;justify-content:space-between;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-hint i{font-size:8px;color:var(--primary)}
.pos-shell .pos-pc-itemname{font:700 20px/26px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-pc-box{padding:12px;border-radius:4px;background:var(--pos-bg-low);display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-pc-box .row{display:flex;justify-content:space-between;font:400 14px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-box .row b{color:var(--pos-on-bg);font-weight:500}
.pos-shell .pos-pc-box .two{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--outline-variant)}
.pos-shell .pos-pc-box small{display:block;font:500 10px/12px var(--mono);letter-spacing:.05em;color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-box b{font:500 14px/18px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-pc-box.plano{flex-direction:row;align-items:center;gap:12px;background:var(--pos-bg-container)}
.pos-shell .pos-pc-stock{padding:8px 12px;border:1px solid var(--pos-bg-high);border-radius:4px;font:400 14px/18px var(--font)}
.pos-shell .pos-pc-stock.here{background:var(--pos-bg-low);border-color:transparent}
.pos-shell .pos-pc-stock .line{display:flex;align-items:center;gap:6px}
.pos-shell .pos-pc-stock .line em{margin-inline-start:auto;font:500 14px/18px var(--mono);font-style:normal;color:var(--pos-on-bg)}
.pos-shell .pos-pc-stock .sub{display:flex;justify-content:space-between;margin-top:4px;font:400 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-recent{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-radius:4px;background:transparent;text-align:start;cursor:pointer;font:400 14px/18px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-pc-recent.on{background:var(--pos-bg-container)}
.pos-shell .pos-pc-recent .d{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-shell .pos-pc-recent b{font:600 14px/18px var(--mono)}
.pos-shell .pos-pc-pricebox{padding:16px;border-radius:8px;background:var(--pos-bg-low);display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-pc-pricebox .msrp{font:500 14px/18px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-pricebox .pricerow{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.pos-shell .pos-pc-pricebox .big{font:700 40px/46px var(--font);color:var(--primary)}
.pos-shell .pos-pc-pricebox .off{padding:4px 10px;border-radius:2px;background:#a6f5c0;color:#00391c;font:700 14px/18px var(--mono)}
.pos-shell .pos-pc-pricebox .meta{margin-inline-start:auto;padding:8px 12px;border-radius:4px;background:var(--pos-bg-lowest);font:400 12px/20px var(--mono);display:flex;flex-direction:column}
.pos-shell .pos-pc-pricebox .meta div{display:flex;justify-content:space-between;gap:12px}
.pos-shell .pos-pc-pricebox .meta .warn{color:#ba1a1a}
.pos-shell .pos-pc-pricebox .tax{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-sub{margin:4px 0 0;font:600 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-pc-tier{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;background:var(--pos-bg-low);font:400 14px/18px var(--font)}
.pos-shell .pos-pc-tier.on{outline:1px solid var(--primary-fixed-dim)}
.pos-shell .pos-pc-tier .l{flex:1 1 auto;display:flex;align-items:center;gap:8px}
.pos-shell .pos-pc-tier .l i{font-size:8px;color:var(--primary)}
.pos-shell .pos-pc-tier .b{font:500 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-tier b{min-width:80px;text-align:end;font:600 14px/18px var(--mono)}
.pos-shell .pos-pc-card.audit{background:var(--pos-bg-container)}
.pos-shell .pos-pc-card.audit .line{font:400 14px/20px var(--mono)}
.pos-shell .pos-pc-card.audit b.ok{color:var(--primary)}
.pos-shell .pos-pc-card.audit b.bad{color:#ba1a1a}
.pos-shell .pos-pc-card.audit b.warn{color:var(--pos-warn-on)}
.pos-shell .pos-pc-empty{padding:12px;border-radius:4px;background:var(--pos-bg-low);text-align:center;font:400 13px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-err{margin-top:8px;color:#ba1a1a;font:500 13px/18px var(--font)}
/* tag preview */
.pos-shell .pos-pc-tag{padding:14px 16px;border:2px dashed var(--outline-variant);border-radius:8px;background:#fff;color:#111;display:flex;flex-direction:column;gap:4px;min-height:190px}
.pos-shell .pos-pc-tag.wobbler{min-height:230px}
.pos-shell .pos-pc-tag.peg{min-height:300px;width:180px;max-width:100%;align-self:center}
.pos-shell .pos-pc-tag .top{display:flex;justify-content:space-between;align-items:center}
.pos-shell .pos-pc-tag .store{font:500 10px/12px var(--mono);text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-tag .sale{padding:2px 8px;border-radius:2px;background:#000;color:#fff;font:700 10px/12px var(--mono)}
.pos-shell .pos-pc-tag .name{font:700 15px/20px var(--font);text-transform:uppercase}
.pos-shell .pos-pc-tag .sku{font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-tag .mid{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:6px}
.pos-shell .pos-pc-tag .price{display:flex;align-items:baseline}
.pos-shell .pos-pc-tag .price b{font:700 44px/48px var(--mono);letter-spacing:-.02em}
.pos-shell .pos-pc-tag .price .c{font:700 20px/24px var(--mono)}
.pos-shell .pos-pc-tag .price .each{margin-inline-start:6px;font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-tag .sub{padding:4px 8px;border-radius:2px;background:#f1f1f1;text-align:end;font:400 10px/14px var(--mono)}
.pos-shell .pos-pc-tag .sub .save{color:#ba1a1a;font-weight:700}
.pos-shell .pos-pc-tag .bars{height:34px;width:70%;margin-top:6px;color:#000}
.pos-shell .pos-pc-tag .foot{display:flex;justify-content:space-between;font:400 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-pc-formats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-pc-fmt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:0;border-radius:4px;background:var(--pos-bg-low);color:var(--pos-on-bg);font:500 13px/16px var(--font);text-align:start;cursor:pointer}
.pos-shell .pos-pc-fmt.on{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-pc-fmt:disabled{opacity:.55;cursor:default}
/* printer + queue */
.pos-shell .pos-pc-queue{padding:10px;border-radius:4px;background:var(--pos-bg-low);display:flex;flex-direction:column;gap:6px}
.pos-shell .pos-pc-queuehead{display:flex;justify-content:space-between;align-items:center;font:600 12px/16px var(--mono);text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-pc-count{margin-inline-start:6px;padding:1px 7px;border-radius:10px;background:var(--pos-blue);color:#fff}
.pos-shell .pos-pc-link{border:0;background:none;color:var(--primary);font:500 12px/16px var(--mono);cursor:pointer}
.pos-shell .pos-pc-link:disabled{opacity:.5;cursor:default}
.pos-shell .pos-pc-link.foot{align-self:flex-start}
.pos-shell .pos-pc-qrow{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;background:var(--pos-bg-lowest);font:400 13px/18px var(--mono)}
.pos-shell .pos-pc-qrow .d{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-shell .pos-pc-qrow .step{display:inline-flex;align-items:center;gap:6px}
.pos-shell .pos-pc-qrow .step button,.pos-shell .pos-pc-qrow .x{width:24px;height:24px;border:0;border-radius:4px;background:var(--pos-bg-high);color:var(--pos-on-bg);cursor:pointer}
.pos-shell .pos-pc-qrow button:disabled{opacity:.5;cursor:default}
.pos-shell .pos-pc-print{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 16px;border:0;border-radius:4px;background:var(--primary);color:var(--on-primary);font:600 14px/18px var(--font);cursor:pointer}
.pos-shell .pos-pc-print:disabled{opacity:.5;cursor:default}
.pos-shell .pos-pc-print>span:first-child,.pos-shell .pos-pc-actions button>span:first-child{display:inline-flex;align-items:center;gap:8px}
.pos-shell .pos-pc-print .key{background:rgba(0,0,0,.25)}
.pos-shell .pos-pc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-pc-actions button{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 12px;border:0;border-radius:4px;background:var(--pos-bg-container);color:var(--pos-on-bg);font:500 13px/16px var(--font);cursor:pointer;white-space:nowrap}
.pos-shell .pos-pc-actions button.flag{color:#ba1a1a}
.pos-shell .pos-pc-actions button:disabled{opacity:.55;cursor:default}
@media (max-width:1100px){.pos-shell .pos-pc-cols{grid-template-columns:1fr 1fr}.pos-shell .pos-pc-cols>.pos-pc-col:last-child{grid-column:1 / -1}}

/* ---- layaway workspace (cycle B2b-2) ---- */
.pos-shell .pos-body:has(>.pos-lay){overflow:hidden}
.pos-shell .pos-lay{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--pos-bg);outline:0}
.pos-shell .pos-lay>*{flex-shrink:0}
.pos-shell .pos-lay i.bi{display:inline-flex;align-items:center;font-size:14px;line-height:1}
.pos-shell .pos-lay kbd{padding:1px 5px;border-radius:2px;background:rgba(0,0,0,.08);font:500 10px/12px var(--mono);color:inherit}
.pos-shell .pos-lay kbd:empty{display:none}
.pos-shell .pos-lay .mono{font-family:var(--mono)}
.pos-shell .pos-lay-head{display:flex;flex-direction:column;gap:8px;margin:8px 8px 0;padding:10px 16px;background:var(--pos-bg-low);border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.pos-shell .pos-lay-titlebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pos-shell .pos-lay-titlebar h2{margin:0;font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-lay-titlebar .grow{flex:1 1 auto}
.pos-shell .pos-lay-keys{font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;background:var(--pos-bg-high);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant);letter-spacing:.04em}
.pos-shell .pos-lay-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border:0;border-radius:4px;background:var(--pos-bg-lowest);color:var(--pos-on-bg);font:500 12px/16px var(--font);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-lay-ghost:hover:not(:disabled){background:var(--pos-bg-container)}
.pos-shell .pos-lay-ghost:disabled{opacity:.55;cursor:default}
.pos-shell .pos-lay-ghost.strong{background:var(--primary);color:var(--on-primary);font-weight:600}
.pos-shell .pos-lay-ghost.strong:hover:not(:disabled){background:var(--primary-container)}
.pos-shell .pos-lay-ghost.danger{color:var(--error)}
.pos-shell .pos-lay-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--pos-on-bg-variant);font:500 12px/16px var(--font);cursor:pointer;padding:6px 0}
.pos-shell .pos-lay-tabs{display:inline-flex;gap:4px;padding:3px;border-radius:6px;background:var(--pos-bg-high)}
.pos-shell .pos-lay-tabs button{padding:6px 14px;border:0;border-radius:4px;background:transparent;color:var(--pos-on-bg-variant);font:600 13px/16px var(--font);cursor:pointer}
.pos-shell .pos-lay-tabs button.on{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-lay-hero{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between}
.pos-shell .pos-lay-hero .main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 420px}
.pos-shell .pos-lay-hero .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pos-shell .pos-lay-hero h1{margin:0;font:600 20px/26px var(--font);letter-spacing:-.02em;color:var(--pos-on-bg)}
.pos-shell .pos-lay-hero .cust{font:400 13px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-hero .pol{display:flex;flex-wrap:wrap;gap:16px;font:500 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-hero .pol .late{color:var(--error)}
.pos-shell .pos-lay-hero .small{font-size:11px;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-hero .acts{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-lay-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);background:var(--primary-fixed);color:var(--on-primary-fixed);letter-spacing:.03em}
.pos-shell .pos-lay-chip.ok{background:#a6f5c0;color:#00391c}
.pos-shell .pos-lay-chip.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-lay-chip.off,.pos-shell .pos-lay-chip.done{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
/* columns: every column scrolls inside itself, the page never scrolls */
.pos-shell .pos-lay-cols{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(300px,1fr) minmax(330px,1.05fr) minmax(280px,.9fr);gap:12px;padding:12px 8px 12px;align-items:stretch}
.pos-shell .pos-lay-col{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin}
.pos-shell .pos-lay-col.mid{gap:0}
.pos-shell .pos-lay-card{background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.pos-shell .pos-lay-cardhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-shell .pos-lay-cardhead h3{margin:0;display:flex;align-items:center;gap:8px;font:600 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-lay-count{padding:2px 8px;border-radius:2px;background:var(--pos-bg-container);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pos-shell .pos-lay-two{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.pos-shell .pos-lay-tile{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:6px;background:var(--pos-bg-low);min-width:0}
.pos-shell .pos-lay-tile small{font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-tile b{font:700 18px/22px var(--font);color:var(--pos-on-bg);overflow:hidden;text-overflow:ellipsis}
.pos-shell .pos-lay-tile span{font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-tile.ok{background:#e7f7ee}.pos-shell .pos-lay-tile.ok b{color:var(--tertiary)}
.pos-shell .pos-lay-tile.bad{background:#fdecea}.pos-shell .pos-lay-tile.bad b{color:var(--error)}
.pos-shell .pos-lay-prog{display:flex;justify-content:space-between;gap:8px;font:500 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-bar{position:relative;height:10px;border-radius:5px;background:var(--pos-bg-high)}
.pos-shell .pos-lay-bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--primary-container)}
.pos-shell .pos-lay-bar u{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--pos-on-bg);opacity:.5;text-decoration:none}
.pos-shell .pos-lay-marks{display:flex;justify-content:space-between;font:500 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-sched{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-lay-ms{display:flex;gap:10px;padding:10px 12px;border-radius:6px;background:var(--pos-bg-low);align-items:flex-start}
.pos-shell .pos-lay-ms .ico{flex:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-ms.done .ico{background:var(--tertiary);color:#fff}
.pos-shell .pos-lay-ms.cur{outline:2px solid var(--primary-fixed-dim);background:var(--pos-bg-container)}
.pos-shell .pos-lay-ms.cur .ico{background:var(--primary);color:#fff}
.pos-shell .pos-lay-ms .body{background:transparent;color:inherit;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-lay-ms .row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pos-shell .pos-lay-ms .row1 b{font:600 14px/18px var(--font)}
.pos-shell .pos-lay-ms .row1 .amt{margin-inline-start:auto;font:700 14px/18px var(--mono)}
.pos-shell .pos-lay-ms .row1 .amt.ok{color:var(--tertiary)}
.pos-shell .pos-lay-ms .row2,.pos-shell .pos-lay-ms .row3{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font:400 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-ms .row2 .late{color:var(--error);font-weight:600}
.pos-shell .pos-lay-ms .row2 .chip{padding:1px 6px;border-radius:2px;font:700 10px/14px var(--mono);background:#a6f5c0;color:#00391c}
.pos-shell .pos-lay-ms .row3 b{color:var(--primary)}
.pos-shell .pos-lay-empty{padding:12px;border-radius:4px;background:var(--pos-bg-low);text-align:center;font:400 13px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-tablewrap{overflow-x:auto}
.pos-shell .pos-lay-table{width:100%;border-collapse:collapse;font:400 13px/18px var(--font)}
.pos-shell .pos-lay-table th{padding:8px 10px;text-align:start;font:600 11px/14px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--pos-on-bg-variant);background:var(--pos-bg-low)}
.pos-shell .pos-lay-table td{padding:8px 10px;border-bottom:1px solid var(--pos-bg-high);vertical-align:middle}
.pos-shell .pos-lay-table .r{text-align:end}
.pos-shell .pos-lay-table tr.void td{text-decoration:line-through;opacity:.6}
.pos-shell .pos-lay-table.pick tbody tr{cursor:pointer}
.pos-shell .pos-lay-table.pick tbody tr:hover,.pos-shell .pos-lay-table.pick tbody tr:focus{background:var(--pos-bg-container);outline:0}
.pos-shell .pos-lay-table.pick tbody tr.muted{opacity:.6}
.pos-shell .pos-lay-pill{padding:2px 8px;border-radius:2px;background:var(--pos-bg-high);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-pill.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-lay-icon{width:28px;height:28px;border:0;border-radius:4px;background:var(--pos-bg-high);color:var(--primary);cursor:pointer}
/* pay panel */
.pos-shell .pos-lay-pay{display:flex;flex-direction:column;gap:10px;background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.04);min-height:0}
.pos-shell .pos-lay-paytop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pos-shell .pos-lay-paytop .pos-lay-tag{background:var(--primary);color:var(--on-primary);font-weight:700}
.pos-shell .pos-lay-paytop .due{font:400 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-amt{text-align:center;padding:6px 0}
.pos-shell .pos-lay-amt small{display:block;font:500 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-amt .big{font:700 40px/46px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-lay-amt .sub{font:400 12px/16px var(--font);color:var(--primary)}
.pos-shell .pos-lay-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-modes button{padding:8px 6px;border:0;border-radius:4px;background:transparent;color:var(--pos-on-bg-variant);font:500 12px/16px var(--font);cursor:pointer}
.pos-shell .pos-lay-modes button.on{background:var(--pos-bg-lowest);color:var(--primary);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pos-shell .pos-lay-modes button:disabled{opacity:.55;cursor:default}
.pos-shell .pos-lay-reason{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:4px;background:var(--warn-bg);color:var(--pos-warn-on);font:500 12px/16px var(--font)}
.pos-shell .pos-lay-keyrow{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1fr);gap:10px}
.pos-shell .pos-lay-quick{display:flex;flex-direction:column;gap:6px}
.pos-shell .pos-lay-quick small,.pos-shell .pos-lay-slips small,.pos-shell .pos-lay-prev small,.pos-shell .pos-lay-box small,.pos-shell .pos-lay-scan small{font:500 10px/12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-quick button{display:flex;justify-content:space-between;gap:6px;padding:8px 10px;border:0;border-radius:4px;background:var(--pos-bg-low);font:500 12px/16px var(--mono);cursor:pointer;color:var(--pos-on-bg)}
.pos-shell .pos-lay-quick button:disabled,.pos-shell .pos-lay-keypad button:disabled{opacity:.55;cursor:default}
.pos-shell .pos-lay-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-keypad .cap{grid-column:1 / -1;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-keypad button{padding:10px 0;border:0;border-radius:4px;background:var(--pos-bg-lowest);font:600 16px/20px var(--font);cursor:pointer;color:var(--pos-on-bg)}
.pos-shell .pos-lay-keypad button.c{color:var(--error)}
.pos-shell .pos-lay-change{padding:6px 10px;border-radius:4px;background:#e7f7ee;color:var(--tertiary);font:600 13px/18px var(--font)}
.pos-shell .pos-lay-slips{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-slips small{flex:1 1 100%}
.pos-shell .pos-lay-slips label{display:inline-flex;align-items:center;gap:6px;font:500 12px/16px var(--font)}
.pos-shell .pos-lay-slips label.off{opacity:.55}
.pos-shell .pos-lay-postbar{position:sticky;bottom:0;padding-top:8px;background:var(--pos-bg-lowest);z-index:1}
.pos-shell .pos-lay-post{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:13px 16px;border:0;border-radius:6px;background:var(--primary);color:var(--on-primary);font:600 15px/20px var(--font);cursor:pointer}
.pos-shell .pos-lay-post:disabled{opacity:.5;cursor:default}
.pos-shell .pos-lay-post>span:first-child{display:inline-flex;align-items:center;gap:8px}
.pos-shell .pos-lay-post .keys{display:inline-flex;gap:4px}
.pos-shell .pos-lay-post kbd{background:rgba(0,0,0,.25)}
/* tender builder */
.pos-shell .pos-lay-tb{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-lay-chans{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pos-shell .pos-lay-chan{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 8px;border:1px solid var(--outline-variant);border-radius:6px;background:var(--pos-bg-lowest);cursor:pointer;text-align:start;color:var(--pos-on-bg);min-width:0}
.pos-shell .pos-lay-chan.on{border-color:var(--primary);background:var(--pos-bg-container);box-shadow:inset 0 0 0 1px var(--primary)}
.pos-shell .pos-lay-chan:disabled{opacity:.55;cursor:default}
.pos-shell .pos-lay-chan b{font:600 13px/16px var(--font)}
.pos-shell .pos-lay-chan small{font:400 10px/12px var(--font);color:var(--pos-on-bg-variant);overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.pos-shell .pos-lay-chan .k{position:absolute;top:4px;inset-inline-end:6px;padding:0 5px;border-radius:2px;background:var(--pos-bg-high);font:500 10px/14px var(--mono)}
.pos-shell .pos-lay-chan .k:empty{display:none}
.pos-shell .pos-lay-tlist{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-lay-trow{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;background:var(--pos-bg-low);font:500 12px/16px var(--mono)}
.pos-shell .pos-lay-trow .d{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-shell .pos-lay-trow .x{width:22px;height:22px;border:0;border-radius:4px;background:var(--pos-bg-high);cursor:pointer}
.pos-shell .pos-lay-trem{display:flex;justify-content:space-between;gap:8px;font:500 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-trem.ok{color:var(--tertiary)}
.pos-shell .pos-lay-tform{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-note{display:flex;align-items:flex-start;gap:6px;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-err{padding:6px 10px;border-radius:4px;background:#fef2f2;color:#7f1d1d;font:600 12px/16px var(--font)}
.pos-shell .pos-lay-ok{display:inline-flex;align-items:center;gap:6px;color:var(--tertiary);font:600 12px/16px var(--font)}
.pos-shell .pos-lay-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* custody, checklist, misc */
.pos-shell .pos-lay-box{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-box b{font:600 14px/18px var(--font)}
.pos-shell .pos-lay-lines{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}
.pos-shell .pos-lay-line{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:4px;background:var(--pos-bg-low);font:400 13px/18px var(--font)}
.pos-shell .pos-lay-line small{display:block;font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-scan{display:flex;flex-direction:column;gap:6px}
.pos-shell .pos-lay-chk{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:4px;background:var(--pos-bg-low);font:400 13px/18px var(--font);cursor:default}
.pos-shell .pos-lay-chk small{display:block;font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-chk.ok{background:#e7f7ee}.pos-shell .pos-lay-chk.bad{background:#fdecea}
.pos-shell .pos-lay-chk.bad small{color:var(--error)}
.pos-shell .pos-lay-check{display:flex;align-items:center;gap:8px;font:500 13px/18px var(--font)}
.pos-shell .pos-lay-act{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:0;border-radius:4px;background:var(--pos-bg-container);color:var(--pos-on-bg);font:500 13px/16px var(--font);cursor:pointer}
.pos-shell .pos-lay-act>span{display:inline-flex;align-items:center;gap:8px}
.pos-shell .pos-lay-act.danger{background:#fdecea;color:var(--error)}
.pos-shell .pos-lay-act:disabled{opacity:.55;cursor:default}
.pos-shell .pos-lay-meta{margin:0;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-kv{display:flex;justify-content:space-between;gap:10px;font:400 13px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-kv b{font:600 13px/18px var(--mono);color:var(--pos-on-bg);text-align:end}
.pos-shell .pos-lay-kv b.ok{color:var(--tertiary)}
.pos-shell .pos-lay-kv b.sm{font:500 11px/16px var(--font)}
.pos-shell .pos-lay-big{font:700 22px/28px var(--font);color:var(--pos-on-bg);overflow-wrap:anywhere}
.pos-shell .pos-lay-big.sm{font-size:16px;line-height:22px}
.pos-shell .pos-lay-lock{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;background:var(--pos-bg-container);font:500 12px/16px var(--mono)}
.pos-shell .pos-lay-lock b{margin-inline-start:auto;color:var(--primary)}
.pos-shell .pos-lay-due{display:flex;justify-content:space-between;align-items:baseline;padding:12px;border-radius:6px;background:var(--pos-bg-low);font:600 14px/18px var(--font)}
.pos-shell .pos-lay-due b{font:700 26px/32px var(--mono);color:var(--primary)}
.pos-shell .pos-lay-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-terms small{display:block;font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-terms b{font:700 14px/18px var(--mono)}
.pos-shell .pos-lay-terms b.bad{color:var(--error)}
.pos-shell .pos-lay-sum{text-align:end;font:500 12px/16px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-setgrid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.4fr) minmax(280px,1fr);gap:12px;padding:12px 8px}
.pos-shell .pos-lay-setgrid .pos-lay-col{overflow-y:auto}
.pos-shell .pos-lay-sticky{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;padding:8px 0 0;background:var(--pos-bg);z-index:1}
.pos-shell .pos-lay-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* agreement list */
.pos-shell .pos-lay-picker{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px;padding:8px}
.pos-shell .pos-lay-search{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--pos-bg-lowest);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-lay-searchinput{flex:1 1 auto;min-width:0;padding:6px 4px;border:0;outline:0;background:transparent;font:500 14px/20px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-lay-list{flex:1 1 auto;min-height:0;overflow:auto;background:var(--pos-bg-lowest);border-radius:6px;padding:4px}
/* dialogs */
.pos-shell .pos-lay-dlg{width:min(560px,94vw);max-height:calc(92 * var(--mbs-vh, 1vh));overflow:auto}
.pos-shell .pos-lay-dlg.wide{width:min(1100px,96vw)}
.pos-shell .pos-lay-dlg header{display:flex;align-items:center;gap:8px}
.pos-shell .pos-lay-dlgsum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-dlgsum small{display:block;font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-lay-dlgsum b{font:700 15px/20px var(--mono)}
.pos-shell .pos-lay-dlgsum b.bad{color:var(--error)}
.pos-shell .pos-lay-dlggrid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(250px,1.1fr) minmax(280px,1.1fr);gap:16px;align-items:start}
.pos-shell .pos-lay-dlgcol{display:flex;flex-direction:column;gap:10px;min-width:0}
.pos-shell .pos-lay-dlgbtns{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;position:sticky;bottom:0;padding-top:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-lay-prev{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-lay-prevrow{display:grid;grid-template-columns:1fr auto auto;gap:10px;font:400 12px/16px var(--mono)}
.pos-shell .pos-lay-pre{max-height:calc(50 * var(--mbs-vh, 1vh));overflow:auto;margin:0;padding:12px;border-radius:6px;background:var(--pos-bg-low);font:400 12px/16px var(--mono);white-space:pre-wrap}
/* recall registry integration */
.pos-shell .pos-rg-card.pos-rg-lay{border-inline-start:4px solid var(--tertiary-container)}
.pos-shell .pos-rg-card.muted{opacity:.6}
.pos-shell .pos-rg-ref.lay{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-value .amt.bal{color:var(--error);font-size:20px;line-height:26px}
.pos-shell .pos-rg-layprog{height:6px;border-radius:3px;background:var(--pos-bg-high);overflow:hidden;margin:0 2px}
.pos-shell .pos-rg-layprog i{display:block;height:100%;background:var(--primary-container)}
.pos-shell .pos-rg-calc .mx{margin-inline-start:auto;font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-calcgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.pos-shell .pos-rg-calcgrid small{display:block;font:500 10px/12px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rg-calcgrid b{font:700 15px/20px var(--mono)}
@media (max-width:1100px){
  .pos-shell .pos-lay-cols{grid-template-columns:1fr 1fr}
  .pos-shell .pos-lay-cols>.pos-lay-col:last-child{grid-column:1 / -1}
  .pos-shell .pos-lay-setgrid{grid-template-columns:1fr 1fr}
  .pos-shell .pos-lay-dlggrid{grid-template-columns:1fr}
}

/* ---- cycle C1: manager approval dialog, price override, welcome approval chip, PIN lock screen ---- */
.pos-shell .pos-apr{width:min(860px,94vw);max-height:calc(92 * var(--mbs-vh, 1vh));display:flex;flex-direction:column;overflow:hidden}
.pos-shell .pos-apr header{display:flex;align-items:center;gap:10px;flex:0 0 auto;background:var(--primary-container)}
.pos-shell .pos-apr header i{font-size:20px;color:var(--primary-fixed)}
.pos-shell .pos-apr>.body{flex:1 1 auto;min-height:0;overflow:auto}
.pos-shell .pos-apr-foot{flex:0 0 auto;position:sticky;bottom:0;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--outline-variant);background:var(--pos-bg-lowest)}
.pos-shell .pos-apr-foot kbd{padding:1px 5px;border-radius:2px;background:rgba(0,0,0,.08);font:500 10px/12px var(--mono);color:inherit}
.pos-shell .pos-apr-foot .pos-btn.primary kbd{background:rgba(255,255,255,.25)}
.pos-shell .pos-apr-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:10px 12px;margin-bottom:12px;border-inline-start:4px solid var(--primary);border-radius:0 6px 6px 0;background:var(--pos-bg-low)}
.pos-shell .pos-apr-sum b{font:700 15px/20px var(--font)}
.pos-shell .pos-apr-sum .pos-apr-amt{margin-inline-start:auto;font:700 16px/20px var(--mono);color:var(--primary)}
.pos-shell .pos-apr-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;align-items:start}
.pos-shell .pos-apr-form{display:flex;flex-direction:column;gap:10px;min-width:0}
.pos-shell .pos-apr-pin{letter-spacing:.3em;font-size:18px}
.pos-shell .pos-apr-witness{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px dashed var(--outline);border-radius:6px;background:var(--warn-bg)}
.pos-shell .pos-apr-wh{font:700 12px/16px var(--font);color:var(--pos-warn-on)}
.pos-shell .pos-apr-keys{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-apr-dots{min-height:34px;padding:6px 10px;border:1px solid var(--outline-variant);border-radius:6px;background:var(--pos-bg-low);font-size:22px;letter-spacing:.3em;text-align:center}
.pos-shell .pos-apr-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pos-shell .pos-apr-pad .pos-btn{padding:12px 0;font-size:18px}
.pos-shell .pos-apr-hint{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-apr-chip{letter-spacing:.06em;font-weight:600}
.pos-shell .pos-lock-warn{margin-top:12px;color:#fcd34d;font-size:12px;line-height:16px}
@media (max-width:760px){.pos-shell .pos-apr-grid{grid-template-columns:1fr}}
/* ---- returns and exchanges page (cycle C2), tokens from the design reference; internal scroll, sticky action bar (fits 1482x908) ---- */
.pos-shell .pos-body:has(>.pos-ret){overflow:hidden}
.pos-shell .pos-ret{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--pos-bg);outline:0}
.pos-shell .pos-ret>*{flex-shrink:0}
.pos-shell .pos-ret i.bi{display:inline-flex;align-items:center;font-size:14px;line-height:1}
.pos-shell .pos-ret kbd{padding:1px 5px;border-radius:2px;background:rgba(0,0,0,.1);font:500 10px/12px var(--mono);color:inherit}
.pos-shell .pos-ret kbd:empty{display:none}
.pos-shell .pos-ret .mono{font-family:var(--mono)}
.pos-shell .pos-ret-head{display:flex;flex-direction:column;gap:8px;margin:8px 8px 0;padding:10px 16px;background:var(--pos-bg-low);border-radius:8px}
.pos-shell .pos-ret-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 11px/14px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
.pos-shell .pos-ret-crumb .grow{flex:1 1 auto}
.pos-shell .pos-ret-policy{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:2px;background:var(--primary);color:var(--on-primary);font:600 11px/14px var(--mono);text-transform:none;letter-spacing:.02em}
.pos-shell .pos-ret-titlerow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.pos-shell .pos-ret-titlerow .ttl{flex:1 1 280px;min-width:0}
.pos-shell .pos-ret-titlerow h2{margin:0;font:600 22px/28px var(--font);letter-spacing:-.02em;color:var(--pos-on-bg)}
.pos-shell .pos-ret-titlerow p{margin:2px 0 0;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-lookup{flex:2 1 460px;display:flex;flex-direction:column;gap:8px;min-width:0}
.pos-shell .pos-ret-lookup .row{display:flex;gap:8px;align-items:stretch}
.pos-shell .pos-ret-field{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:6px;background:var(--pos-bg-lowest);border:1px solid var(--outline-variant);min-width:0}
.pos-shell .pos-ret-field input{flex:1 1 auto;border:0;outline:0;background:transparent;padding:10px 0;font:500 14px/18px var(--mono);color:var(--pos-on-bg);min-width:0}
.pos-shell .pos-ret-field:focus-within{border-color:var(--primary)}
.pos-shell .pos-ret-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:0;border-radius:4px;background:var(--pos-bg-container);color:var(--pos-on-bg);font:600 13px/16px var(--font);cursor:pointer;white-space:nowrap}
.pos-shell .pos-ret-btn:hover:not(:disabled){background:var(--pos-bg-high)}
.pos-shell .pos-ret-btn:disabled{opacity:.55;cursor:default}
.pos-shell .pos-ret-btn.strong{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-ret-btn.strong:hover:not(:disabled){background:var(--primary-container)}
.pos-shell .pos-ret-btn.danger{color:var(--error)}
.pos-shell .pos-ret-btn.big{padding:12px 16px;font-size:15px}
.pos-shell .pos-ret-btn.wide{width:100%}
.pos-shell .pos-ret-orig{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;border-radius:6px;background:var(--pos-bg-container);font:400 12px/16px var(--mono);color:var(--pos-on-bg)}
.pos-shell .pos-ret-orig .grow{flex:1 1 auto}
.pos-shell .pos-ret-orig b{font-weight:600}
.pos-shell .pos-ret-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);background:var(--primary-fixed);color:var(--on-primary-fixed);letter-spacing:.03em;text-transform:uppercase}
.pos-shell .pos-ret-chip.ok{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-ret-chip.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-ret-chip.off{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-chip.warn{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-ret-cols{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr);gap:12px;padding:12px 8px}
.pos-shell .pos-ret-left{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-inline-end:4px}
.pos-shell .pos-ret-right{display:flex;flex-direction:column;min-width:0;min-height:0}
.pos-shell .pos-ret-rscroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:12px;padding-inline-end:4px}
.pos-shell .pos-ret-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:10px 0 0;background:var(--pos-bg)}
.pos-shell .pos-ret-actions .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-ret-card{background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.pos-shell .pos-ret-card.top{border-top:4px solid var(--primary)}
.pos-shell .pos-ret-cardhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-ret-cardhead h3{margin:0;font:600 18px/24px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ret-cardhead .grow{flex:1 1 auto}
.pos-shell .pos-ret-sub{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-line{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--pos-bg-high);border-radius:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-ret-line.sel{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.pos-shell .pos-ret-line.off{opacity:.6}
.pos-shell .pos-ret-line .top{display:flex;align-items:flex-start;gap:12px}
.pos-shell .pos-ret-line .top input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--primary)}
.pos-shell .pos-ret-line .name{flex:1 1 auto;min-width:0}
.pos-shell .pos-ret-line .name b{display:block;font:600 15px/20px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ret-line .name .sku{font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-line .paid{text-align:end;font:700 16px/20px var(--font)}
.pos-shell .pos-ret-line .paid small{display:block;font:400 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-edit{display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(140px,1fr);gap:10px;align-items:end;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-ret-edit label{display:flex;flex-direction:column;gap:3px;font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-edit select,.pos-shell .pos-ret-edit input[type=text]{padding:7px 8px;border:1px solid var(--outline-variant);border-radius:4px;background:#fff;font:400 13px/16px var(--font);color:var(--pos-on-bg);min-width:0}
.pos-shell .pos-ret-qty{display:inline-flex;align-items:center;gap:6px}
.pos-shell .pos-ret-qty button{width:28px;height:28px;border:0;border-radius:4px;background:var(--pos-bg-high);color:var(--pos-on-bg);cursor:pointer;font:700 15px/1 var(--font)}
.pos-shell .pos-ret-qty button:disabled{opacity:.5;cursor:default}
.pos-shell .pos-ret-qty b{min-width:24px;text-align:center;font:600 14px/18px var(--mono)}
.pos-shell .pos-ret-edit .wide{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:400 12px/16px var(--mono);color:var(--pos-on-bg-variant);text-transform:none;letter-spacing:0}
.pos-shell .pos-ret-edit .wide input{flex:1 1 160px}
.pos-shell .pos-ret-note{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;background:var(--pos-bg-low);font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-note.warn{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-ret-note.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-ret-sign{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background:var(--secondary-container);color:var(--on-secondary-container)}
.pos-shell .pos-ret-sign h4{margin:0;font:600 15px/20px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ret-sign .rows{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-ret-ledger .row{display:flex;justify-content:space-between;gap:8px;font:400 14px/20px var(--font)}
.pos-shell .pos-ret-ledger .row b{font:600 14px/20px var(--mono)}
.pos-shell .pos-ret-ledger .row.fee b{color:var(--primary)}
.pos-shell .pos-ret-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-ret-total small{display:block;font:500 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.pos-shell .pos-ret-total .amt{font:700 32px/38px var(--font);color:var(--primary);text-align:end}
.pos-shell .pos-ret-total .cur{display:block;font:400 11px/14px var(--mono);text-align:end}
.pos-shell .pos-ret-routes{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-ret-routes h4{margin:0;font:600 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-ret-route{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:2px solid transparent;border-radius:6px;background:var(--pos-bg-container);cursor:pointer;text-align:start;font-family:var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ret-route.on{border-color:var(--primary);background:var(--pos-bg-lowest)}
.pos-shell .pos-ret-route:disabled{opacity:.55;cursor:default}
.pos-shell .pos-ret-route .t{display:flex;align-items:center;gap:8px;font:600 15px/20px var(--font)}
.pos-shell .pos-ret-route .t .grow{flex:1 1 auto}
.pos-shell .pos-ret-route .d{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-route .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--outline);display:inline-block}
.pos-shell .pos-ret-route.on .dot{border-color:var(--primary);background:radial-gradient(var(--primary) 45%,transparent 50%)}
.pos-shell .pos-ret-xbar{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;background:var(--pos-bg-container)}
.pos-shell .pos-ret-xlines{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-ret-xline{display:flex;align-items:center;gap:8px;font:400 13px/18px var(--font)}
.pos-shell .pos-ret-xline .n{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pos-shell .pos-ret-xline b{font:600 13px/18px var(--mono)}
.pos-shell .pos-ret-pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pos-shell .pos-ret-pay input{padding:7px 8px;border:1px solid var(--outline-variant);border-radius:4px;font:400 13px/16px var(--mono);width:120px}
.pos-shell .pos-ret-empty{padding:24px;border-radius:8px;background:var(--pos-bg-lowest);border:1px dashed var(--outline-variant);text-align:center;font:400 14px/20px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-foot{display:flex;flex-wrap:wrap;gap:16px;margin:0 8px 8px;padding:6px 12px;border-radius:6px;background:var(--pos-bg-container);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ret-pick{display:flex;flex-direction:column;gap:6px}
.pos-shell .pos-ret-pick button{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border:0;border-radius:4px;background:var(--pos-bg-lowest);cursor:pointer;font:500 13px/18px var(--mono);text-align:start}
.pos-shell .pos-ret-pick button:hover{background:var(--pos-bg-container)}
.pos-shell .pos-ret-slip{margin:0;padding:12px;border:1px dashed #d1d5db;border-radius:4px;background:#faf9f8;color:#1f2937;font:400 12px/16px var(--mono);white-space:pre;overflow:auto;max-height:calc(55 * var(--mbs-vh, 1vh))}
.pos-shell .pos-ret-dlg{width:min(560px,94vw);max-height:calc(92 * var(--mbs-vh, 1vh));overflow:auto}
@media print{.pos-shell .pos-ret-slip{max-height:none;border:0}}
@media (max-width:1100px){.pos-shell .pos-ret-cols{grid-template-columns:1fr;overflow-y:auto}.pos-shell .pos-ret-left,.pos-shell .pos-ret-rscroll{overflow:visible}}
.pos-shell .pos-ret-cols.one{grid-template-columns:minmax(0,1fr);overflow-y:auto}

/* ---- cash operations (cycle C3): page, tabs, counter, cards, dialogs; internal scroll and a sticky action bar for 1482x908 ---- */
.pos-shell .pos-cash{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--pos-bg);outline:0}
.pos-shell .pos-cash-head{display:flex;flex-direction:column;gap:6px;margin:8px 8px 0;padding:8px 14px;background:var(--pos-bg-low);border-radius:8px;flex:0 0 auto}
.pos-shell .pos-cash-titlerow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}
.pos-shell .pos-cash-titlerow .ttl{flex:1 1 420px;min-width:0}
.pos-shell .pos-cash-titlerow h2{margin:0;font:600 20px/26px var(--font);letter-spacing:-.02em;color:var(--pos-on-bg)}
.pos-shell .pos-cash-facts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-cash-facts b{color:var(--pos-on-bg)}
.pos-shell .pos-cash-topbtns,.pos-shell .pos-cash-movebtns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pos-shell .pos-cash-topbtns{justify-content:flex-end}
.pos-shell .pos-cash-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);background:var(--primary-fixed);color:var(--on-primary-fixed);letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.pos-shell .pos-cash-chip.ok{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-cash-chip.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-cash-chip.off{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-cash-chip.warn{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-cash-tabs{display:flex;gap:4px;padding:6px 12px 0;flex:0 0 auto}
.pos-shell .pos-cash-tabs button{padding:8px 16px;border:0;border-radius:6px 6px 0 0;background:transparent;color:var(--pos-on-bg-variant);font:600 13px/16px var(--font);cursor:pointer}
.pos-shell .pos-cash-tabs button.on{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-cash-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.pos-shell .pos-cash-cols{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(300px,.8fr);gap:12px;padding:10px 8px}
.pos-shell .pos-cash-cols.two{grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr)}
.pos-shell .pos-cash-col{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-inline-end:4px}
.pos-shell .pos-cash-col.right{overflow:hidden}
.pos-shell .pos-cash-rscroll{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:10px;padding-inline-end:4px}
.pos-shell .pos-cash-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding-top:8px;background:var(--pos-bg);position:sticky;bottom:0}
.pos-shell .pos-cash-single{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:10px;padding:10px 12px;max-width:980px}
.pos-shell .pos-cash-card{background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.pos-shell .pos-cash-card.top{border-top:4px solid var(--primary)}
.pos-shell .pos-cash-card.alert{border-color:var(--error);background:var(--error-container)}
.pos-shell .pos-cash-cardhead{display:flex;align-items:center;gap:8px}
.pos-shell .pos-cash-cardhead h3{margin:0;font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-cash-cardhead .grow{flex:1 1 auto}
.pos-shell .pos-cash-sub{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-cash-kv{display:flex;justify-content:space-between;gap:8px;font:400 13px/18px var(--font)}
.pos-shell .pos-cash-kv b{font-weight:600}
.pos-shell .pos-cash-kv.bad{color:var(--error)}
.pos-shell .pos-cash-kv.total{padding-top:6px;border-top:1px solid var(--pos-bg-high);font-weight:700}
.pos-shell .pos-cash-skim{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:6px;background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-cash-tender{display:flex;align-items:center;gap:8px}
.pos-shell .pos-cash-tender label{flex:1 1 auto;font:500 13px/18px var(--font)}
.pos-shell .pos-cash-tender input{width:130px;text-align:end}
.pos-shell .pos-cash-combined{display:flex;justify-content:space-between;padding:8px 10px;border-radius:6px;background:var(--pos-bg-container);font:600 13px/18px var(--font)}
.pos-shell .pos-cash-bag{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:6px;background:var(--pos-bg-container);text-align:center}
.pos-shell .pos-cash-bagno{font:700 13px/18px var(--mono)}
.pos-shell .pos-cash-barcode{padding:6px;background:#fff;border:1px solid var(--outline-variant);font:400 22px/26px var(--mono);letter-spacing:.2em}
.pos-shell .pos-cash-chain{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;background:var(--pos-bg-container)}
.pos-shell .pos-cash-chain.ok{background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-cash-chain small{display:block;font:400 11px/14px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-cash-chain div{flex:1 1 auto}
.pos-shell .pos-cash-note{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:4px;background:var(--pos-bg-low);font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-cash-note.warn{background:var(--warn-bg);color:var(--pos-warn-on)}
.pos-shell .pos-cash-note.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-cash-note.ok{background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-cash-label{font:600 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-cash-hint{font:400 12px/16px var(--font);color:var(--error)}
.pos-shell .pos-cash-check{display:flex;align-items:center;gap:8px;font:400 12px/16px var(--font)}
.pos-shell .pos-cash-presets{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-cash-inline{display:flex;gap:8px}
.pos-shell .pos-cash-inline input{flex:1 1 auto}
/* counter */
.pos-shell .pos-cash-counter{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;overflow:hidden}
.pos-shell .pos-cash-counter-head{display:flex;align-items:center;gap:8px;padding:10px 12px}
.pos-shell .pos-cash-counter-head h3{margin:0;flex:1 1 auto;font:600 16px/22px var(--font)}
.pos-shell .pos-cash-seg{display:flex;gap:2px;padding:3px;border-radius:6px;background:var(--pos-bg-container)}
.pos-shell .pos-cash-seg button{flex:1 1 0;padding:6px 10px;border:0;border-radius:4px;background:transparent;font:600 12px/16px var(--font);color:var(--pos-on-bg);cursor:pointer}
.pos-shell .pos-cash-seg button.on{background:var(--pos-bg-lowest);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.pos-shell .pos-cash-seg button:disabled{opacity:.55;cursor:default}
.pos-shell .pos-cash-counter-body{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
.pos-shell .pos-cash-group{display:flex;justify-content:space-between;padding:6px 12px;background:var(--pos-bg-low);font:600 11px/14px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
.pos-shell .pos-cash-row{display:flex;align-items:center;gap:8px;padding:4px 12px;border-bottom:1px solid var(--pos-bg-container)}
.pos-shell .pos-cash-row.sel{background:var(--pos-bg-low)}
.pos-shell .pos-cash-denom{min-width:78px;padding:3px 8px;border-radius:3px;background:var(--pos-bg-high);font:700 12px/16px var(--mono)}
.pos-shell .pos-cash-step{display:inline-flex;align-items:center;gap:4px;margin-inline-start:auto}
.pos-shell .pos-cash-step button{width:28px;height:28px;border:0;border-radius:4px;background:var(--pos-bg-high);cursor:pointer}
.pos-shell .pos-cash-step button:disabled{opacity:.5;cursor:default}
.pos-shell .pos-cash-step input{width:64px;text-align:center;padding:4px;border:1px solid var(--outline-variant);border-radius:4px;font:600 13px/18px var(--mono)}
.pos-shell .pos-cash-amt{min-width:90px;text-align:end;font:600 13px/18px var(--mono)}
.pos-shell .pos-cash-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-cash-total small{display:block;font:500 11px/14px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.pos-shell .pos-cash-total .sub{display:block;font:400 11px/14px var(--mono)}
.pos-shell .pos-cash-total .amt{font:700 30px/36px var(--font);color:var(--primary)}
.pos-shell .pos-cash-total.small{border-radius:6px}
.pos-shell .pos-cash-total.small .amt{font-size:20px;line-height:26px}
.pos-shell .pos-cash-quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;font:500 12px/16px var(--font)}
.pos-shell .pos-cash-quick span{flex:1 1 auto}
.pos-shell .pos-cash-quick button{padding:5px 10px;border:0;border-radius:4px;background:var(--pos-bg-container);font:600 12px/16px var(--font);cursor:pointer}
/* pad and dialogs */
.pos-shell .pos-cash-pad{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-cash-pad input{font-size:22px;text-align:end}
.pos-shell .pos-cash-pad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
/* Open Shift must fit the screen: keypad keys and spacing shrink with the window height. */
.pos-shell .pos-cash-open .pos-cash-pad-grid .pos-btn{height:clamp(34px,calc(5.4 * var(--mbs-vh, 1vh)),52px);min-height:0;padding-block:0}
.pos-shell .pos-cash-open .pos-cash-pad input{height:clamp(40px,calc(6 * var(--mbs-vh, 1vh)),60px);font-size:clamp(18px,calc(2.6 * var(--mbs-vh, 1vh)),24px)}
.pos-shell .pos-cash-open .pos-cash-pad{gap:6px}
.pos-shell .pos-cash-dlg{width:min(520px,94vw);max-height:calc(92 * var(--mbs-vh, 1vh));overflow:auto}
.pos-shell .pos-cash-dlg.wide{width:min(900px,96vw)}
.pos-shell .pos-cash-dlg .body{display:flex;flex-direction:column;gap:10px}
.pos-shell .pos-cash-scroll{max-height:calc(72 * var(--mbs-vh, 1vh));overflow-y:auto}
.pos-shell .pos-cash-dlg-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:4px}
.pos-shell .pos-cash-dlg-actions.col{flex-direction:column;align-items:stretch}
.pos-shell .pos-cash-twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.pos-shell .pos-cash-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}
.pos-shell .pos-cash-pick{display:flex;gap:8px;padding:8px 10px;border:2px solid transparent;border-radius:6px;background:var(--pos-bg-container);cursor:pointer;text-align:start;font:400 13px/18px var(--font)}
.pos-shell .pos-cash-pick.on{border-color:var(--primary);background:var(--pos-bg-lowest)}
.pos-shell .pos-cash-pend{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;background:var(--pos-bg-container);font:400 13px/18px var(--font)}
.pos-shell .pos-cash-table{display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-cash-trow{display:grid;grid-template-columns:90px 60px 90px 150px 110px 90px 80px minmax(0,1fr);gap:8px;align-items:center;padding:6px 8px;border-radius:4px;background:var(--pos-bg-container);font:400 12px/16px var(--font)}
.pos-shell .pos-cash-trow.ev{grid-template-columns:60px 90px minmax(0,1fr) 150px 90px 90px}
.pos-shell .pos-cash-trow .acts{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.pos-shell .pos-cash-open{max-width:520px;margin:clamp(4px,calc(1.5 * var(--mbs-vh, 1vh)),24px) auto;display:flex;flex-direction:column;gap:clamp(4px,calc(1 * var(--mbs-vh, 1vh)),10px)}
.pos-shell .pos-cash-openwrap{display:flex;justify-content:center;padding:8px}
@media (max-width:1100px){.pos-shell .pos-cash-cols,.pos-shell .pos-cash-cols.two{grid-template-columns:1fr;overflow-y:auto}.pos-shell .pos-cash-col,.pos-shell .pos-cash-rscroll{overflow:visible}.pos-shell .pos-cash-twocol{grid-template-columns:1fr}}

/* ---- reports, End of Day and safe (cycle C4): KPI cards, journal rows, gates, slip card; internal scroll and a sticky action bar for 1482x908 ---- */
.pos-shell .pos-rep-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pos-shell .pos-rep-kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);min-width:0}
.pos-shell .pos-rep-kpi small{font:600 11px/14px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-kpi b{font:700 20px/26px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-rep-kpi b.masked{font:600 13px/26px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-kpi .sub{font:400 11px/14px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-kpi.strong{border:2px solid var(--primary)}
.pos-shell .pos-rep-kpi.warn{border-color:var(--pos-warn-on);background:var(--warn-bg)}
.pos-shell .pos-rep-kpi.bad{border-color:var(--error);background:var(--error-container)}
.pos-shell .pos-rep-notice{flex-wrap:wrap}
.pos-shell .pos-rep-notice .grow{flex:1 1 auto}
.pos-shell .pos-rep-flows{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pos-shell .pos-rep-flow{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid var(--pos-bg-high);border-radius:8px;background:var(--pos-bg-lowest);cursor:pointer;text-align:center;font:400 12px/16px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-rep-flow i{font-size:22px;color:var(--primary)}
.pos-shell .pos-rep-flow b{font:600 13px/18px var(--font)}
.pos-shell .pos-rep-flow small{font:400 11px/14px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-flow kbd{position:absolute;top:4px;inset-inline-end:6px}
.pos-shell .pos-rep-flow:hover:not(:disabled){border-color:var(--primary)}
.pos-shell .pos-rep-flow:disabled{opacity:.55;cursor:default}
.pos-shell .pos-rep-journal{min-height:0}
.pos-shell .pos-rep-scroll{min-height:0;max-height:calc(46 * var(--mbs-vh, 1vh));overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-rep-trow{display:grid;grid-template-columns:70px 110px 120px minmax(0,1fr) 90px 90px;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;background:var(--pos-bg-container);font:400 12px/16px var(--font)}
.pos-shell .pos-rep-trow.full{grid-template-columns:70px 110px 120px minmax(0,1fr) 90px 90px 100px}
.pos-shell .pos-rep-trow.head{background:transparent;font:600 11px/14px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg-variant);position:sticky;top:0}
.pos-shell .pos-rep-trow.tender{grid-template-columns:minmax(0,1fr) 100px 100px 100px 100px}
.pos-shell .pos-rep-trow.total{font-weight:700;background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-rep-trow .num{text-align:end}
.pos-shell .pos-rep-paging{display:flex;align-items:center;gap:8px;font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-paging .grow{flex:1 1 auto}
.pos-shell .pos-rep-balscroll{min-height:0;max-height:calc(48 * var(--mbs-vh, 1vh));overflow-y:auto;scrollbar-width:thin}
.pos-shell .pos-rep-gates{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pos-shell .pos-rep-gate{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:6px;border:1px solid var(--pos-bg-high);background:var(--pos-bg-lowest)}
.pos-shell .pos-rep-gate b{font:600 13px/18px var(--font)}
.pos-shell .pos-rep-gate small{font:400 11px/14px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-rep-gate.pass{background:var(--primary-fixed);color:var(--on-primary-fixed);border-color:var(--primary)}
.pos-shell .pos-rep-gate.fail{background:var(--error-container);color:var(--on-error-container);border-color:var(--error)}
.pos-shell .pos-rep-gate.info{background:var(--pos-bg-low);color:var(--pos-on-bg);border-color:var(--pos-bg-high)}
.pos-shell .pos-rep-audit{display:grid;grid-template-columns:60px 90px minmax(0,1fr) 90px 90px 90px 130px;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;background:var(--pos-bg-container);font:400 12px/16px var(--font)}
.pos-shell .pos-rep-audit .num{text-align:end}
.pos-shell .pos-rep-zrow{display:grid;grid-template-columns:100px 70px 100px 90px 60px minmax(0,1fr) 80px;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;background:var(--pos-bg-container);font:400 12px/16px var(--font)}
.pos-shell .pos-rep-slipcard{flex:1 1 auto;min-height:0}
.pos-shell .pos-rep-slipscroll{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-width:thin}
.pos-shell .pos-rep-slipscroll .pos-ret-slip{max-height:none}
.pos-shell .pos-rep-daybar{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}
.pos-shell .pos-rep-actions{flex-wrap:wrap}
.pos-shell .pos-rep-droplist .pos-rep-drop{display:grid;grid-template-columns:auto 80px 50px 50px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 6px;border-radius:4px;background:var(--pos-bg-container)}
.pos-shell .pos-rep-batchlist .pos-cash-pick{display:grid;grid-template-columns:100px auto minmax(0,1fr) auto;align-items:center}
.pos-shell .pos-rep-os{border-radius:4px;background:var(--pos-bg-container)}
.pos-shell .pos-rep-os.on{outline:2px solid var(--primary)}
.pos-shell .pos-rep-osrow{display:grid;grid-template-columns:90px 60px 110px 90px 90px 90px 80px 130px 110px 80px 70px minmax(0,1fr);gap:8px;align-items:center;padding:6px 8px;font:400 12px/16px var(--font)}
.pos-shell .pos-rep-osrow .num{text-align:end}
.pos-shell .pos-rep-osrow .bad{color:var(--error);font-weight:700}
.pos-shell .pos-rep-osrow .acts{display:flex;justify-content:flex-end}
.pos-shell .pos-rep-osact{display:flex;flex-direction:column;gap:8px;padding:8px 12px 12px}
@media (max-width:1100px){.pos-shell .pos-rep-osrow,.pos-shell .pos-rep-audit,.pos-shell .pos-rep-zrow{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---- customer 360 and loyalty (cycle D1) ---- */
.pos-shell .pos-cust,.pos-shell .pos-loy{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;outline:none}
.pos-shell .pos-cust-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-cust-bar h3{margin:0;font:600 18px/24px var(--font)}
.pos-shell .pos-cust-search{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-cust-search .pos-input{min-width:260px}
.pos-shell .pos-cust-body{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}
.pos-shell .pos-cust-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;text-align:center;color:var(--pos-on-bg-variant)}
.pos-shell .pos-cust-hits,.pos-shell .pos-cust-hist{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-cust-hit{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest);cursor:pointer;text-align:start}
.pos-shell .pos-cust-hit:focus-visible,.pos-shell .pos-cust-hit:hover{border-color:var(--primary);outline:none}
.pos-shell .pos-cust-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-cust-head-actions,.pos-shell .pos-cust-actions,.pos-shell .pos-cust-loy-actions,.pos-shell .pos-cust-rowact,.pos-shell .pos-cust-addnote-actions{display:flex;flex-wrap:wrap;gap:8px}
.pos-shell .pos-cust-id,.pos-shell .pos-cust-meta,.pos-shell .pos-cust-contact{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-cust-name{font:600 20px/28px var(--font)}
.pos-shell .pos-cust-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#fef3c7;color:#92400e;font:600 11px/16px var(--font)}
.pos-shell .pos-cust-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pos-shell .pos-cust-kpi{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-cust-kpi small{color:var(--pos-on-bg-variant)}
.pos-shell .pos-cust-kpi b{font:600 18px/24px var(--font)}
.pos-shell .pos-cust-cols,.pos-shell .pos-cust-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:12px;min-height:0}
.pos-shell .pos-cust-main,.pos-shell .pos-cust-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-cust-tabs{display:flex;gap:4px;border-bottom:1px solid var(--outline-variant)}
.pos-shell .pos-cust-tabs button{padding:8px 16px;border:0;border-bottom:3px solid transparent;background:none;font:500 13px/20px var(--font);cursor:pointer}
.pos-shell .pos-cust-tabs button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}
.pos-shell .pos-cust-chips{display:flex;flex-wrap:wrap;gap:8px}
.pos-shell .pos-cust-chip{padding:6px 12px;border:1px solid var(--outline-variant);border-radius:16px;background:var(--pos-bg-lowest);cursor:pointer}
.pos-shell .pos-cust-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pos-shell .pos-cust-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.pos-shell .pos-cust-link{background:none;border:0;padding:0;color:var(--primary);cursor:pointer;text-decoration:underline}
.pos-shell .pos-cust-dup,.pos-shell .pos-cust-x{padding:8px 12px;border-radius:8px;background:#fef3c7;color:#92400e}
.pos-shell .pos-cust-loy{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-cust-loy-bal{display:flex;align-items:baseline;gap:8px}
.pos-shell .pos-cust-loy-bal b{font:700 28px/32px var(--font)}
.pos-shell .pos-cust-loy-redeem{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-cust-bar-track{height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden}
.pos-shell .pos-cust-bar-track>span{display:block;height:100%;background:var(--primary)}
.pos-shell .pos-cust-actgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-cust-notes,.pos-shell .pos-cust-notelist,.pos-shell .pos-cust-prefs,.pos-shell .pos-cust-prefgroup{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-cust-addnote,.pos-shell .pos-cust-addpref{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-loy-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.pos-shell .pos-loy-strip>div{display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-loy-strip b{font:600 20px/28px var(--font)}
.pos-shell .pos-loy-rewards,.pos-shell .pos-loy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.pos-shell .pos-loy-reward{display:flex;flex-direction:column;gap:6px;padding:12px;border:2px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest);cursor:pointer;text-align:start}
.pos-shell .pos-loy-reward[aria-pressed=true]{border-color:var(--primary)}
.pos-shell .pos-loy-reward:disabled{opacity:.55;cursor:not-allowed}
.pos-shell .pos-loy-tier,.pos-shell .pos-loy-perks,.pos-shell .pos-loy-break{display:flex;flex-direction:column;gap:6px}
.pos-shell .pos-loy-redeem-top{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.pos-shell .pos-loy-redeem-top div{display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-loy-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.pos-shell .pos-loy-pad button{min-height:48px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest);font:600 18px/24px var(--font);cursor:pointer}
@media (max-width:1100px){.pos-shell .pos-cust-cols,.pos-shell .pos-cust-split{grid-template-columns:1fr}}

/* ---- special orders and quotations (cycle D2) ---- */
.pos-shell .pos-body:has(>.pos-ord){overflow:hidden}
.pos-shell .pos-ord{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:8px;background:var(--pos-bg);outline:0;scrollbar-width:thin}
.pos-shell .pos-ord>*{flex-shrink:0}
.pos-shell .pos-ord i.bi{display:inline-flex;align-items:center;font-size:14px;line-height:1}
.pos-shell .pos-ord kbd{padding:1px 5px;border-radius:2px;background:rgba(0,0,0,.08);font:500 10px/12px var(--mono);color:inherit}
.pos-shell .pos-ord kbd:empty{display:none}
.pos-shell .pos-ord .mono{font-family:var(--mono)}
.pos-shell .pos-ord .muted{color:var(--pos-on-bg-variant);font-size:12px}
.pos-shell .pos-ord-head{display:flex;flex-direction:column;gap:8px;padding:10px 16px;background:var(--pos-bg-low);border-radius:8px}
.pos-shell .pos-ord-titlebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pos-shell .pos-ord-titlebar h2{margin:0;font:600 16px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ord-titlebar .grow{flex:1 1 auto}
.pos-shell .pos-ord-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;background:var(--pos-bg-high);font:500 11px/14px var(--mono);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ord-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border:0;border-radius:4px;background:var(--pos-bg-lowest);color:var(--pos-on-bg);font:500 12px/16px var(--font);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-ord-ghost:hover:not(:disabled){background:var(--pos-bg-container)}
.pos-shell .pos-ord-ghost:disabled{opacity:.55;cursor:default}
.pos-shell .pos-ord-ghost.strong{background:var(--primary);color:var(--on-primary);font-weight:600}
.pos-shell .pos-ord-ghost.bad{color:var(--error)}
.pos-shell .pos-ord-card{background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}
.pos-shell .pos-ord-cardhead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-shell .pos-ord-cardhead h3{margin:0;font:600 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pos-on-bg)}
.pos-shell .pos-ord-switch{display:inline-flex;gap:4px;padding:3px;border-radius:6px;background:var(--pos-bg-high)}
.pos-shell .pos-ord-switch button{padding:6px 14px;border:0;border-radius:4px;background:transparent;color:var(--pos-on-bg-variant);font:600 13px/16px var(--font);cursor:pointer}
.pos-shell .pos-ord-switch button.on{background:var(--primary);color:var(--on-primary)}
.pos-shell .pos-ord-row{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.pos-shell .pos-ord-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pos-shell .pos-ord-input{padding:7px 10px;border:1px solid var(--pos-bg-high);border-radius:4px;background:var(--pos-bg-lowest);color:var(--pos-on-bg);font:400 13px/18px var(--font);min-width:0}
.pos-shell .pos-ord-input.qty{width:90px}
.pos-shell .pos-ord-hit{display:block;width:100%;text-align:start;padding:6px 10px;border:0;border-radius:4px;background:var(--pos-bg-low);cursor:pointer;margin-top:4px}
.pos-shell .pos-ord-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pos-shell .pos-ord-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:2px;font:700 11px/14px var(--mono);background:var(--primary-fixed);color:var(--on-primary-fixed)}
.pos-shell .pos-ord-chip.ok{background:#a6f5c0;color:#00391c}
.pos-shell .pos-ord-chip.warn{background:#ffdea8;color:#4a3000}
.pos-shell .pos-ord-chip.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-ord-chip.off{background:var(--pos-bg-high);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ord-table{width:100%;border-collapse:collapse;font:400 13px/18px var(--font)}
.pos-shell .pos-ord-table th{padding:6px 8px;text-align:start;font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant);border-bottom:1px solid var(--pos-bg-high)}
.pos-shell .pos-ord-table td{padding:6px 8px;border-bottom:1px solid var(--pos-bg-low)}
.pos-shell .pos-ord-table .r{text-align:end}
.pos-shell .pos-ord-table.pick tbody tr{cursor:pointer}
.pos-shell .pos-ord-table.pick tbody tr:hover{background:var(--pos-bg-low)}
.pos-shell .pos-ord-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pos-shell .pos-ord-sum>div{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-ord-sum small{font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-ord-sum b{font:700 18px/22px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ord-actions{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-ord-empty{padding:24px;text-align:center;color:var(--pos-on-bg-variant)}
.pos-shell .pos-ord-modal{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35)}
.pos-shell .pos-ord-dialog{display:flex;flex-direction:column;gap:10px;min-width:340px;max-width:560px;padding:18px;border-radius:8px;background:var(--pos-bg-lowest);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pos-shell .pos-ord-dialog h3{margin:0;font:600 16px/22px var(--font)}
.pos-shell .pos-ord-terms{display:flex;align-items:center;gap:8px;font:400 12px/16px var(--font)}
@media print{.pos-shell .pos-ord-head,.pos-shell .pos-ord-actions{display:none}}

/* order fulfilment workbench (cycle D3): built on the pos-ord card styles */
.pos-shell .pos-ful-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pos-shell .pos-ful-kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:var(--pos-bg-lowest);border:1px solid var(--pos-bg-high)}
.pos-shell .pos-ful-kpi small{font:500 10px/12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pos-on-bg-variant)}
.pos-shell .pos-ful-kpi b{font:700 22px/26px var(--font);color:var(--pos-on-bg)}
.pos-shell .pos-ful-alert{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;background:#ffdea8;color:#4a3000;font:600 13px/18px var(--font)}
.pos-shell .pos-ful-msg{padding:6px 10px;border-radius:4px;font:500 12px/16px var(--font);background:var(--pos-bg-low)}
.pos-shell .pos-ful-msg.ok{background:#a6f5c0;color:#00391c}
.pos-shell .pos-ful-msg.bad{background:var(--error-container);color:var(--on-error-container)}
.pos-shell .pos-ful-progress{height:6px;border-radius:3px;background:var(--pos-bg-high);overflow:hidden}
.pos-shell .pos-ful-progress>div{height:100%;background:var(--primary)}
.pos-shell .pos-ful-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;font:400 13px/18px var(--font)}
.pos-shell .pos-ful-check{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pos-shell .pos-ful-dest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border-radius:6px;background:var(--pos-bg-low)}
.pos-shell .pos-ful-alloc{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.pos-shell .pos-ful-page{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.pos-shell .pos-ful-slip{margin:0;padding:10px;border-radius:4px;background:var(--pos-bg-low);font:400 12px/16px var(--mono);white-space:pre-wrap}
.pos-shell .pos-ful-wavelist{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}
.pos-shell .pos-ful-protocol{font:400 12px/16px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-ord-table tr.late td{background:var(--error-container)}
.pos-shell .pos-ord-table tr.sel td{background:var(--pos-bg-container)}
@media print{.pos-shell .pos-ful-kpis,.pos-shell .pos-ful-alert{display:none}}

/* Clienteling (cycle D4) */
.pos-shell .pos-cl{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;outline:none}
.pos-shell .pos-cl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-cl-title{display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-cl-title h3{margin:0;font:600 18px/24px var(--font)}
.pos-shell .pos-cl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-cl-quota{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-cl-cols{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr) minmax(280px,1fr);gap:12px;min-height:0;overflow:auto}
.pos-shell .pos-cl-main,.pos-shell .pos-cl-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-cl-dir{display:flex;flex-direction:column;gap:8px;min-width:0}
.pos-shell .pos-cl-search{display:flex;gap:8px}
.pos-shell .pos-cl-search .pos-input{flex:1;min-width:0}
.pos-shell .pos-cl-rows{display:flex;flex-direction:column;gap:6px;max-height:calc(62 * var(--mbs-vh, 1vh));overflow:auto}
.pos-shell .pos-cl-row{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest);cursor:pointer;text-align:start}
.pos-shell .pos-cl-row.on{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
.pos-shell .pos-cl-row.dim,.pos-shell tr.dim{opacity:.6}
.pos-shell .pos-cl-row:focus-visible,.pos-shell .pos-cl-row:hover{border-color:var(--primary);outline:none}
.pos-shell .pos-cl-ini{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:50%;background:#d1fae5;color:#065f46;font:700 12px/16px var(--font)}
.pos-shell .pos-cl-ini.big{min-width:48px;height:48px;font-size:16px}
.pos-shell .pos-cl-who{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pos-shell .pos-cl-chips{display:flex;flex-wrap:wrap;gap:4px}
.pos-shell .pos-cl-spend{display:flex;flex-direction:column;align-items:flex-end}
.pos-shell .pos-cl-foot{font-size:12px}
.pos-shell .pos-cl-head,.pos-shell .pos-cl-sizing,.pos-shell .pos-cl-board,.pos-shell .pos-cl-fit,.pos-shell .pos-cl-out,.pos-shell .pos-cl-hist,.pos-shell .pos-cl-log,.pos-shell .pos-cl-boards{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-cl-headrow{display:flex;gap:12px;align-items:flex-start}
.pos-shell .pos-cl-headmain{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.pos-shell .pos-cl-followup{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.pos-shell .pos-cl-followup label,.pos-shell .pos-cl-totals label{display:flex;flex-direction:column;gap:2px;font-size:12px}
.pos-shell .pos-cl-sizegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.pos-shell .pos-cl-size{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-cl-size small{color:var(--pos-on-bg-variant)}
.pos-shell .pos-cl-addpref,.pos-shell .pos-cl-additem,.pos-shell .pos-cl-newboard,.pos-shell .pos-cl-boardname,.pos-shell .pos-cl-quicklog,.pos-shell .pos-cl-rackadd,.pos-shell .pos-cl-seat{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pos-shell .pos-input.narrow{width:110px;min-width:0}
.pos-shell .pos-cl-totals{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}
.pos-shell .pos-cl-sum{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pos-shell .pos-cl-net{font:700 16px/24px var(--font);color:var(--primary)}
.pos-shell .pos-cl-boardact,.pos-shell .pos-cl-bottom{display:flex;flex-wrap:wrap;gap:8px}
.pos-shell .pos-cl-clickrow{cursor:pointer}
.pos-shell .pos-cl-clickrow.on{background:#ecfdf5}
.pos-shell .pos-cl-suites{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.pos-shell .pos-cl-suites.compact{grid-template-columns:1fr}
.pos-shell .pos-cl-suite{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest)}
.pos-shell .pos-cl-suite.occupied{border-color:var(--primary)}
.pos-shell .pos-cl-suitehead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-shell .pos-cl-rack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-cl-rack li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;justify-content:space-between}
.pos-shell .pos-cl-chan{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--pos-bg-lowest);cursor:pointer;text-align:start}
.pos-shell .pos-cl-chan:disabled{opacity:.6;cursor:not-allowed}
.pos-shell .pos-cl-histrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pos-shell .pos-cl-note{padding:6px 8px;border-radius:6px;background:#ecfdf5}
.pos-shell .pos-cl-check{display:flex;gap:8px;align-items:center}
@media (max-width:1100px){.pos-shell .pos-cl-cols{grid-template-columns:1fr}}

/* ---- cycle D5: associate incentives ---- */
.pos-shell .pos-inc{display:flex;flex-direction:column;gap:12px;min-height:0}
.pos-shell .pos-inc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-inc-title{display:flex;flex-direction:column;gap:2px}
.pos-shell .pos-inc-title h3{margin:0;font:600 18px/24px var(--font)}
.pos-shell .pos-inc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-inc-lookup{width:150px}
.pos-shell .pos-inc-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:12px;min-height:0;overflow:auto}
.pos-shell .pos-inc-main,.pos-shell .pos-inc-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-inc-card,.pos-shell .pos-inc-dossier,.pos-shell .pos-inc-policy,.pos-shell .pos-inc-alloc,.pos-shell .pos-inc-gl,.pos-shell .pos-inc-period,.pos-shell .pos-inc-ledger,.pos-shell .pos-inc-board,.pos-shell .pos-inc-spiffs,.pos-shell .pos-inc-past,.pos-shell .pos-inc-note,.pos-shell .pos-inc-signoff{display:flex;flex-direction:column;gap:8px}
.pos-shell .pos-inc-who{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pos-shell .pos-inc-switch{display:flex;flex-direction:column;gap:2px;font-size:12px}
.pos-shell .pos-inc-ring{--pct:0;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--pct)*1%),var(--outline-variant) 0);display:flex;align-items:center;justify-content:center}
.pos-shell .pos-inc-ring-in{width:96px;height:96px;border-radius:50%;background:var(--pos-bg-lowest);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pos-shell .pos-inc-ring-in b{font:700 20px/24px var(--font)}
.pos-shell .pos-inc-ring-in small{font-size:11px;color:var(--pos-on-bg-variant)}
.pos-shell .pos-inc-ringfacts{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-inc-ringfacts>div,.pos-shell .pos-inc-totals>div,.pos-shell .pos-inc-kv>div{display:flex;justify-content:space-between;gap:8px}
.pos-shell .pos-inc-totals{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--outline-variant);padding-top:8px}
.pos-shell .pos-inc-totals .total{border-top:1px solid var(--outline-variant);padding-top:4px;font:700 15px/22px var(--font)}
.pos-shell .pos-inc-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 16px}
.pos-shell .pos-inc-table{width:100%;border-collapse:collapse;font-size:13px}
.pos-shell .pos-inc-table th,.pos-shell .pos-inc-table td{padding:4px 6px;text-align:start;border-bottom:1px solid var(--outline-variant)}
.pos-shell .pos-inc-table .num{text-align:end;font-variant-numeric:tabular-nums}
.pos-shell .pos-inc-table tr.sel{background:#ecfdf5}
.pos-shell .pos-inc-table tbody tr[tabindex]{cursor:pointer}
.pos-shell .pos-inc-paging{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pos-shell .pos-inc-filter,.pos-shell .pos-assoc-presets,.pos-shell .pos-inc-wbtn{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-btn.on{background:#ecfdf5;border-color:var(--primary)}
.pos-shell .pos-inc-velocity{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-inc-velocity .row{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:center;font-size:12px}
.pos-shell .pos-inc-velocity .bar{height:8px;border-radius:4px;background:var(--outline-variant)}
.pos-shell .pos-inc-velocity .bar i{display:block;height:100%;border-radius:4px;background:var(--primary)}
.pos-shell .pos-inc-slider{width:100%}
.pos-shell .pos-assoc-dlg .pos-assoc-row{display:grid;grid-template-columns:2fr 1fr;gap:8px;align-items:end}
.pos-shell .pos-assoc-dlg label{display:flex;flex-direction:column;gap:2px;font-size:12px}
.pos-shell .pos-assoc-chip{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1100px){.pos-shell .pos-inc-cols{grid-template-columns:1fr}}

/* ---- customer accounts and tax relief (cycle D6) ---- */
.pos-shell .pos-cr{display:flex;flex-direction:column;gap:12px;min-height:0;outline:none}
.pos-shell .pos-cr-bar-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-cr-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-cr-title h3{margin:0;display:flex;align-items:center;gap:8px}
.pos-shell .pos-cr-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pos-shell .pos-cr-lookup{min-width:200px}
.pos-shell .pos-cr-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:12px;min-height:0;overflow:auto}
.pos-shell .pos-cr-main,.pos-shell .pos-cr-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-cr-hits{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-cr-hit{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;text-align:start;padding:8px 10px;border:1px solid var(--outline-variant);border-radius:6px;background:var(--pos-bg-lowest);cursor:pointer}
.pos-shell .pos-cr-hit:hover,.pos-shell .pos-cr-hit:focus{border-color:var(--primary)}
.pos-shell .pos-cr-figures{width:100%;border-collapse:collapse;font-size:13px}
.pos-shell .pos-cr-figures td{padding:3px 0}
.pos-shell .pos-cr-figures td.num,.pos-shell .pos-cr-table td.num,.pos-shell .pos-cr-table th.num,.pos-shell .pos-cr-matrix td.num,.pos-shell .pos-cr-matrix th.num{text-align:end;font-variant-numeric:tabular-nums}
.pos-shell .pos-cr-figures tr.tot td{font-weight:700;border-top:1px solid var(--outline-variant)}
.pos-shell .pos-cr-figures td.neg,.pos-shell .pos-cr-figures tr.neg td.num{color:#b91c1c}
.pos-shell .pos-cr-bar{height:10px;border-radius:5px;background:var(--outline-variant);overflow:hidden;margin:6px 0}
.pos-shell .pos-cr-bar i{display:block;height:100%;background:var(--primary)}
.pos-shell .pos-cr-bar.warn i{background:#d97706}
.pos-shell .pos-cr-bar.over i{background:#b91c1c}
.pos-shell .pos-cr-table,.pos-shell .pos-cr-matrix{width:100%;border-collapse:collapse;font-size:13px}
.pos-shell .pos-cr-table th,.pos-shell .pos-cr-table td,.pos-shell .pos-cr-matrix th,.pos-shell .pos-cr-matrix td{padding:5px 6px;text-align:start;border-bottom:1px solid var(--outline-variant)}
.pos-shell .pos-cr-table tr.sel td{background:var(--pos-bg-low,#eef2ff)}
.pos-shell .pos-cr-table tbody tr[tabindex]{cursor:pointer}
.pos-shell .pos-cr-matrix td.late{color:#b45309;font-weight:600}
.pos-shell .pos-cr-filter{display:flex;gap:6px;align-items:center}
.pos-shell .pos-cr-cards{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-cr-card{padding:8px 12px;border:1px solid var(--outline-variant);border-radius:6px;background:var(--pos-bg-lowest);cursor:pointer;display:flex;gap:6px;align-items:center}
.pos-shell .pos-cr-card.on{border-color:var(--primary);background:var(--pos-bg-low,#eef2ff);font-weight:600}
.pos-shell .pos-cr-card:disabled{opacity:.55;cursor:not-allowed}
.pos-shell .pos-cr-card kbd{font-size:11px}
.pos-shell .pos-cr-dlg{max-width:560px}
.pos-shell .pos-cr-custline{display:flex;gap:8px;align-items:baseline}
.pos-shell .pos-cr-details{font-size:12px}
@media (max-width:1100px){.pos-shell .pos-cr-cols{grid-template-columns:1fr}}

/* ---- Stock movement pages (cycle E1): inventory hub, receiving, transfers, count, write-off ---- */
.pos-shell .pos-st{display:flex;flex-direction:column;gap:12px;padding:12px;outline:none}
.pos-shell .pos-st-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pos-shell .pos-st-top h3{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pos-shell .pos-st-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pos-shell .pos-st-search{min-width:260px}
.pos-shell .pos-st-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.pos-shell .pos-st-kpi{display:flex;flex-direction:column;gap:4px;padding:12px}
.pos-shell .pos-st-kpi b{font-size:22px}
.pos-shell .pos-st-cols{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:12px}
.pos-shell .pos-st-main,.pos-shell .pos-st-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.pos-shell .pos-st-table{width:100%;border-collapse:collapse}
.pos-shell .pos-st-table th,.pos-shell .pos-st-table td{padding:6px 8px;text-align:start;border-bottom:1px solid var(--outline-variant,#ddd)}
.pos-shell .pos-st-table .num{text-align:end;font-variant-numeric:tabular-nums}
.pos-shell .pos-st-row{cursor:pointer}
.pos-shell .pos-st-row:hover{background:var(--surface-container,#f3f3f3)}
.pos-shell .pos-st-var{background:rgba(255,160,0,.10)}
.pos-shell .pos-hint{font-size:12px;opacity:.85;margin-inline-end:8px}
.pos-shell .pos-hint kbd{margin-inline-end:3px}
.pos-shell .pos-st-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:8px 0}
.pos-shell .pos-st-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.pos-shell .pos-st-check{flex-direction:row !important;align-items:center}
.pos-shell .pos-st-num{width:90px;text-align:end}
.pos-shell .pos-st-step{display:flex;flex-wrap:wrap;gap:4px}
.pos-shell .pos-st-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-shell .pos-st-summary,.pos-shell .pos-st-shrink{padding:8px 12px}
@media (max-width:900px){.pos-shell .pos-st-cols{grid-template-columns:1fr}}
/* cycle E5: shelf labels, planogram audit and flash sale */
.pos-shell .pos-sh-label{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--outline);border-radius:6px;max-width:260px}
.pos-shell .pos-sh-name{font-weight:600}
.pos-shell .pos-sh-price{font-size:2rem;font-weight:700}
.pos-shell .pos-sh-was{text-decoration:line-through;color:var(--outline)}
.pos-shell .pos-sh-ring{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;border:6px solid var(--primary)}
.pos-shell .pos-sh-tier{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0}
.pos-shell .pos-sh-chip{border:1px solid var(--outline);border-radius:4px;padding:4px 8px;background:transparent;cursor:pointer}
.pos-shell .pos-sh-chip.ok{border-color:var(--primary)}
.pos-shell .pos-sh-chip.warn{border-color:var(--tertiary)}
.pos-shell .pos-sh-chip.bad{border-color:var(--error)}
.pos-shell .pos-sh-clock{font-variant-numeric:tabular-nums;font-weight:600}
.pos-shell .pos-sh-rules{margin:8px 0 0;padding-inline-start:20px}
.pos-shell .pos-sh-bars{display:flex;align-items:flex-end;gap:4px;height:60px}
.pos-shell .pos-sh-bar{flex:1;height:100%;display:flex;align-items:flex-end}
.pos-shell .pos-sh-bar span{display:block;width:100%;background:var(--primary)}

/* ---- cycle F3: device pages (devices, fleet, lockers) and the mobile layout ---- */
.pos-shell .pos-dv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pos-shell .pos-dv-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--pos-outline-variant,#cbd5e1);border-radius:6px;background:var(--pos-surface,#fff)}
.pos-shell .pos-dv-card.bad{border-color:#dc2626}
.pos-shell .pos-dv-card.warn{border-color:#d97706}
.pos-shell .pos-dv-head{display:flex;align-items:center;gap:8px;justify-content:space-between}
.pos-shell .pos-dv-head h4{margin:0;font:600 14px/20px var(--font)}
.pos-shell .pos-dv-lines{margin:0;padding:0;list-style:none;font:400 12px/18px var(--font);color:var(--pos-on-bg-variant)}
.pos-shell .pos-dv-actions{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-dv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.pos-shell .pos-dv-tile{padding:10px;border-radius:6px;background:var(--pos-bg-low);text-align:center}
.pos-shell .pos-dv-tile b{display:block;font:700 22px/28px var(--font)}
.pos-shell .pos-dv-tile.ok b{color:#047857}
.pos-shell .pos-dv-tile.warn b{color:#b45309}
.pos-shell .pos-dv-tile.bad b{color:#b91c1c}
.pos-shell .pos-dv-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:#fef3c7;color:#92400e;font:600 11px/16px var(--font)}
.pos-shell .pos-dv-disabled{opacity:.6}
.pos-shell .pos-dv-modes{display:flex;gap:6px;flex-wrap:wrap}
.pos-shell .pos-dv-modes .pos-btn.on{background:var(--pos-primary,#1d4ed8);color:#fff}
.pos-shell .pos-lk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.pos-shell .pos-lk-cell{display:flex;flex-direction:column;gap:2px;padding:8px;border:2px solid var(--pos-outline-variant,#cbd5e1);border-radius:6px;background:var(--pos-surface,#fff);text-align:left;cursor:pointer;font:400 12px/16px var(--font)}
.pos-shell .pos-lk-cell.sel{outline:3px solid var(--pos-primary,#1d4ed8)}
.pos-shell .pos-lk-cell.ok{border-color:#10b981}
.pos-shell .pos-lk-cell.warn{border-color:#d97706;background:#fffbeb}
.pos-shell .pos-lk-cell.bad{border-color:#dc2626;background:#fef2f2}
.pos-shell .pos-lk-cell b{font:700 14px/20px var(--font)}
.pos-shell .pos-lk-code{font:700 36px/44px monospace;letter-spacing:6px;text-align:center;padding:12px}
.pos-shell .pos-fl-token{font:600 12px/18px monospace;word-break:break-all;padding:10px;border-radius:4px;background:var(--pos-bg-low);user-select:all}
.pos-shell .pos-mb-tabs{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:#0f172a;color:#cbd5e1;border-top:1px solid #334155}
.pos-shell .pos-mb-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border:0;background:transparent;color:inherit;font:500 11px/14px var(--font);position:relative}
.pos-shell .pos-mb-tabs button.active{color:#fff;box-shadow:inset 0 3px 0 #38bdf8}
.pos-shell .pos-mb-tabs button i{font-size:20px}
.pos-shell .pos-mb-tabs .badge{position:absolute;top:2px;right:22%;background:#dc2626;color:#fff;border-radius:8px;padding:0 5px;font:700 10px/14px var(--font)}
.pos-shell .pos-mb-more{position:fixed;left:8px;right:8px;bottom:64px;z-index:61;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.35)}
.pos-shell .pos-mb-more button{padding:14px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font:600 13px/18px var(--font)}
.pos-shell .pos-mb-scan{display:flex;gap:8px;padding:8px 10px}
.pos-shell .pos-mb-scan .pos-btn{flex:1;min-height:44px}
.pos-shell.pos-mobile{zoom:1}
.pos-shell.pos-mobile .pos-body{padding-bottom:72px}
.pos-shell.pos-mobile .pos-topbar{flex-wrap:wrap;gap:6px;padding:6px 8px}
.pos-shell.pos-mobile .pos-topbar .brand,.pos-shell.pos-mobile .pos-topbar .brand-sub,.pos-shell.pos-mobile .pos-topbar .who{display:none}
.pos-shell.pos-mobile .pos-btn,.pos-shell.pos-mobile button.tab{min-height:40px}
.pos-shell.pos-mobile .pos-card{overflow-x:auto}
.pos-shell.pos-mobile .pos-dv-grid,.pos-shell.pos-mobile .pos-lk-grid{grid-template-columns:1fr 1fr}
@media (max-width:640px){
  .pos-shell .pos-dv-grid{grid-template-columns:1fr}
  .pos-shell .pos-lk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- cycle F4: quick keys panel, screen designer and fiscal page (all under .pos-shell) ---- */
.pos-shell .pos-qk-wrap{margin-top:12px}
.pos-shell .pos-qk-tabs{display:flex;gap:6px;margin:6px 0}
.pos-shell .pos-qk-grid,.pos-shell .pos-dz-grid{display:grid;gap:8px}
.pos-shell .pos-qk{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid transparent;border-radius:8px;color:#fff;cursor:pointer;min-width:64px;padding:6px}
.pos-shell .pos-qk b{font-size:13px}
.pos-shell .pos-qk small{font-size:11px;opacity:.85}
.pos-shell .pos-qk kbd{position:absolute;top:3px;right:4px;font-size:10px;background:rgba(0,0,0,.25);color:#fff;border-radius:3px;padding:0 3px}
.pos-shell .pos-qk.off{opacity:.45;cursor:not-allowed}
.pos-shell .pos-qk.sel{outline:3px solid #fff;box-shadow:0 0 0 3px #0f172a}
.pos-shell .pos-qk .pos-qk-why{font-style:italic}
.pos-shell .pos-tk-teal{background:#0f766e}.pos-shell .pos-tk-slate{background:#475569}.pos-shell .pos-tk-amber{background:#b45309}
.pos-shell .pos-tk-red{background:#b91c1c}.pos-shell .pos-tk-green{background:#15803d}.pos-shell .pos-tk-blue{background:#1d4ed8}
.pos-shell .pos-qd-compact .pos-qk{min-height:44px}.pos-shell .pos-qd-standard .pos-qk{min-height:64px}.pos-shell .pos-qd-spacious .pos-qk{min-height:88px}
.pos-shell .pos-qa-square .pos-qk{aspect-ratio:1/1}
.pos-shell .pos-dz-body{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(320px,2fr) minmax(220px,1fr);gap:12px;align-items:start}
.pos-shell .pos-dz-canvas,.pos-shell .pos-dz-fleet{grid-column:span 2}
.pos-shell .pos-dz-empty{min-height:44px;border:1px dashed #94a3b8;border-radius:8px;background:transparent;color:#64748b}
.pos-shell .pos-dz-empty:disabled{opacity:.4}
.pos-shell .pos-dz-form{display:grid;gap:8px}
.pos-shell .pos-dz-form label{display:grid;gap:2px;font-size:12px}
.pos-shell .pos-dz-ops{display:flex;flex-wrap:wrap;gap:6px}
.pos-shell .pos-dz-json{width:100%;margin-top:8px}

/* cycle G1: pricing pages, promotion chip, waterfall (logical properties, no fixed left or right) */
.pos-shell .pos-pr-tiles{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
.pos-shell .pos-pr-tile{display:flex;flex-direction:column;min-width:140px;padding:8px 12px;border:1px solid var(--outline-variant,#ddd);border-radius:8px}
.pos-shell .pos-pr-tile small{color:var(--pos-on-bg-variant,#666)}
.pos-shell .pos-sh-rules li.ok::marker{color:#15803d}
.pos-shell .pos-sh-rules li.bad::marker{color:#b91c1c}
.pos-shell .pos-promo-chip{color:var(--tertiary,#0f766e)}
.pos-shell .pos-slip{white-space:pre-wrap;font-family:monospace;padding:8px;border:1px dashed var(--outline-variant,#bbb);border-radius:6px}
.pos-shell .pos-wf{width:100%;max-width:420px;height:auto}
.pos-shell .pos-wf-t{font-size:11px;fill:currentColor}
.pos-shell .pos-wf-g{fill:#64748b}
.pos-shell .pos-wf-s{fill:#0f766e}
.pos-shell .pos-wf-n{fill:#1d4ed8}
.pos-shell .pos-wf-row{display:flex;align-items:center;gap:8px}
.pos-shell .pos-wf-row .pos-wf-t{min-width:90px}
/* cycle G2: gift wrap job board */
.pos-shell .pos-wrap-board{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
.pos-shell .pos-wrap-col{flex:1 1 160px;min-width:160px;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--outline-variant,#ddd);border-radius:8px}
.pos-shell .pos-wrap-col h5{margin:0 0 4px 0}
.pos-shell .mono.neg{color:var(--pos-error,#b3261e)}
/* cycle G3: foreign currency desk and vault */
.pos-shell .pos-fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:8px 0}
.pos-shell .pos-fx-table{width:100%;border-collapse:collapse;font-size:13px}
.pos-shell .pos-fx-table th,.pos-shell .pos-fx-table td{padding:4px 8px;border-bottom:1px solid var(--pos-line,#e5e7eb);text-align:left}
.pos-shell .pos-fx-table .num{text-align:right}
.pos-shell .pos-fx-table tr.on{background:var(--pos-accent-soft,#eff6ff)}
.pos-shell .pos-fx-pos{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:2px 0}
.pos-shell .pos-fx-id{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:8px 0;padding:8px;border:1px dashed var(--pos-line,#d1d5db);border-radius:6px}
.pos-shell .pos-fx-id h5,.pos-shell .pos-fx-id small{grid-column:1/-1;margin:0}
.pos-shell .pos-fx-plan{display:flex;flex-direction:column;gap:4px}
.pos-shell .pos-fx-denoms{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.pos-shell .pos-fx-denoms input{width:72px}

/* cycle G4: order exceptions */
.pos-shell .pos-exc-grid{display:grid;grid-template-columns:minmax(300px,2fr) 3fr;gap:12px;margin:8px 0}
.pos-shell .pos-exc-detail{display:flex;flex-direction:column;gap:12px}
.pos-shell .pos-exc-facts{display:flex;flex-direction:column;gap:2px;margin:6px 0}
.pos-shell .pos-exc-events{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto}
.pos-shell .pos-exc-event{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:2px 0;border-bottom:1px solid var(--pos-line,#e5e7eb)}
.pos-shell .pos-exc-ico{width:20px;text-align:center}
.pos-shell .pos-exc-claim{padding:6px 0;border-bottom:1px solid var(--pos-line,#e5e7eb)}
@media (max-width:900px){.pos-shell .pos-exc-grid{grid-template-columns:1fr}}

/* ---- Station pages (.pos-st, ~36 pages) fit the screen: compact chrome, and the two-column area scrolls inside its own columns instead of the whole page. */
.pos-shell .pos-st{gap:8px;padding:8px 12px}
.pos-shell .pos-st-kpis{gap:8px}
.pos-shell .pos-st-kpi{padding:8px 12px}
.pos-shell .pos-st-kpi b{font-size:18px}
.pos-shell .pos-st-table th,.pos-shell .pos-st-table td{padding:4px 8px}
.pos-shell .pos-body:has(>.pos-st>.pos-st-cols){overflow:hidden}
.pos-shell .pos-st:has(>.pos-st-cols){min-height:0}
.pos-shell .pos-st>.pos-st-cols{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}
.pos-shell .pos-st-cols>.pos-st-main,.pos-shell .pos-st-cols>.pos-st-side{min-height:0;overflow-y:auto;scrollbar-width:thin;padding-inline-end:4px}
@media (max-width:1100px){.pos-shell .pos-body:has(>.pos-st>.pos-st-cols){overflow:auto}.pos-shell .pos-st-cols{grid-template-columns:1fr}.pos-shell .pos-st-cols>.pos-st-main,.pos-shell .pos-st-cols>.pos-st-side{overflow:visible}}

/* Single-flow station pages: header, KPIs and forms keep their height; the last block (the data) takes the rest and scrolls inside itself.
   .pos-st keeps overflow:auto as the fallback, so on a short window the whole page scrolls instead of clipping. */
.pos-shell .pos-body:has(>.pos-st:not(:has(>.pos-st-cols))){overflow:hidden}
.pos-shell .pos-st:not(:has(>.pos-st-cols)){min-height:0;overflow-y:auto;scrollbar-width:thin}
.pos-shell .pos-st:not(:has(>.pos-st-cols))>*{flex:0 0 auto}
.pos-shell .pos-st:not(:has(>.pos-st-cols))>:last-child{flex:1 1 auto;min-height:160px;overflow-y:auto;scrollbar-width:thin}
@media (max-width:1100px){.pos-shell .pos-body:has(>.pos-st:not(:has(>.pos-st-cols))){overflow:auto}}

/* Open Shift: form on the left, keypad on the right, so the card fits a short window. */
@media (min-width:900px){
  .pos-shell .pos-cash-open{max-width:880px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;align-content:start}
  .pos-shell .pos-cash-open>*{grid-column:1}
  .pos-shell .pos-cash-open>h4,.pos-shell .pos-cash-open>.pos-cash-dlg-actions{grid-column:1 / -1}
  .pos-shell .pos-cash-open>.pos-cash-pad{grid-column:2;grid-row:2 / span 8}
}

/* ---- Workstation uses the tab layout theme: teal top bar with white text, white rail and menu strip, teal active accent, slate text, sans-serif. ---- */
.pos-shell .pos-ws-frame{background:#f0f2f5}
.pos-shell .pos-ws-header{height:48px;background:#008272;color:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}
.pos-shell .pos-ws-logo,.pos-shell .pos-ws-logo b,.pos-shell .pos-ws-chips,.pos-shell .pos-ws-chip i,.pos-shell .pos-ws-clock,.pos-shell .pos-ws-who .txt b,.pos-shell .pos-ws-who .txt small,.pos-shell .pos-ws-iconbtn{color:#fff}
.pos-shell .pos-ws-chips,.pos-shell .pos-ws-clock,.pos-shell .pos-ws-who .txt b,.pos-shell .pos-ws-who .txt small{font-family:var(--font)}
.pos-shell .pos-ws-chip i{opacity:.85}
.pos-shell .pos-ws-iconbtn:hover{background:rgba(255,255,255,.18);color:#fff}
.pos-shell .pos-ws-avatar{background:#fff;color:#008272}
.pos-shell .pos-ws-sync{background:rgba(255,255,255,.16);color:#fff;font-family:var(--font);box-shadow:none}
.pos-shell .pos-ws-sync .dot{background:#6ee7b7}
.pos-shell .pos-ws-sync.off .dot{background:#fca5a5}
.pos-shell .pos-ws-layoutbtn{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff;font-family:var(--font)}
.pos-shell .pos-ws-layoutbtn:hover{background:rgba(255,255,255,.28)}
.pos-shell .pos-ws-topmenu{background:#fff;border-bottom:1px solid var(--sl-200);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pos-shell .pos-ws-topmenu .grp>button{font:500 14px/20px var(--font);color:var(--sl-600)}
.pos-shell .pos-ws-topmenu .grp>button:hover,.pos-shell .pos-ws-topmenu .grp>button.open{background:rgba(240,253,250,.9);color:#008272}
.pos-shell .pos-ws-topmenu .hint{font-family:var(--font);color:var(--sl-500)}
.pos-shell .pos-ws-rail{background:#fff;border-inline-end:1px solid var(--sl-200);box-shadow:none}
.pos-shell .pos-ws-rail .title{font-family:var(--font);color:var(--sl-500)}
.pos-shell .pos-ws-entry{font:500 14px/18px var(--font);color:var(--sl-600)}
.pos-shell .pos-ws-entry:hover{background:var(--sl-100);color:var(--sl-900)}
.pos-shell .pos-ws-entry.active{background:rgba(240,253,250,.9);color:#008272;font-weight:600;box-shadow:inset 3px 0 0 #008272}
.pos-shell .pos-ws-footer .pos-footer{background:#fff;border-top:1px solid var(--sl-200);box-shadow:none}

/* Cashier & Welcome (Open Shift) and the footer use the same white/slate theme as the other pages in both layouts. */
.pos-shell .pos-footer{background:#fff;color:var(--sl-500);border-top:1px solid var(--sl-200);font-family:var(--font)}
.pos-shell .pos-footer .lbl{color:var(--sl-500)}
.pos-shell .pos-footer .val{color:var(--sl-800)}
.pos-shell .pos-footer .ok{color:#047857}
.pos-shell .pos-cash-open{background:#fff;border:1px solid var(--sl-200);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pos-shell .pos-cash-open h4,.pos-shell .pos-cash-open .pos-cash-label,.pos-shell .pos-cash-open .pos-ck-field label{font-family:var(--font);color:var(--sl-500);letter-spacing:.05em}
.pos-shell .pos-cash-open .pos-ret-btn{background:#fff;border:1px solid var(--sl-200);color:var(--sl-700);font-family:var(--font);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pos-shell .pos-cash-open .pos-ret-btn:hover:not(:disabled){background:var(--sl-50)}
.pos-shell .pos-cash-open .pos-ret-btn.strong{background:#008272;border-color:#008272;color:#fff}
.pos-shell .pos-cash-open .pos-cash-total{background:var(--sl-50);border:1px solid var(--sl-200);color:var(--sl-800)}
.pos-shell .pos-cash-open .pos-cash-total small{font-family:var(--font);color:var(--sl-500)}
.pos-shell .pos-cash-open .pos-cash-seg{background:var(--sl-100)}

/* Open Shift copies the Transaction & Cart look: ruled card heading, slate-bordered inputs, grey buttons with 4px radius, teal focus. */
.pos-shell .pos-cash-open{border-radius:8px;padding:12px}
.pos-shell .pos-cash-open>h4{margin:0;padding-bottom:8px;border-bottom:1px solid var(--sl-100);font:700 11px/16px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--sl-500)}
.pos-shell .pos-cash-open .pos-input,.pos-shell .pos-cash-open .pos-cash-pad input{border:1px solid var(--sl-300);border-radius:4px;background:#fff}
.pos-shell .pos-cash-open .pos-input:focus,.pos-shell .pos-cash-open .pos-cash-pad input:focus{outline:0;border-color:var(--tl);box-shadow:0 0 0 1px var(--tl)}
.pos-shell .pos-cash-open .pos-ret-btn{background:var(--sl-100);border:1px solid var(--sl-200);color:var(--sl-700);padding:8px 12px;border-radius:4px;font:600 12px/16px var(--font);box-shadow:none}
.pos-shell .pos-cash-open .pos-ret-btn:hover:not(:disabled){background:var(--sl-200)}
.pos-shell .pos-cash-open .pos-ret-btn.strong{background:var(--tl);border-color:var(--tl);color:#fff}
.pos-shell .pos-cash-open .pos-cash-pad-grid .pos-btn{background:#fff;border:1px solid var(--sl-200);border-radius:8px;color:var(--sl-800);font:700 16px/1 var(--mono);box-shadow:none}
.pos-shell .pos-cash-open .pos-cash-pad-grid .pos-btn:hover:not(:disabled){border-color:#0d9488}
.pos-shell .pos-cash-open .pos-cash-pad-grid .pos-btn.danger{color:#b91c1c;border-color:#fecaca}
.pos-shell .pos-cash-open .pos-cash-seg button.on{color:var(--tl)}
.pos-shell .pos-cash-open .pos-cash-total .amt{font:700 14px/20px var(--mono);color:var(--sl-900)}

/* Top-menu flyouts: long lists flow into columns (12 rows each) instead of running off the bottom of the screen; scroll only as a last resort. */
.pos-shell .pos-ws-topmenu .fly{display:grid;grid-auto-flow:column;grid-template-rows:repeat(12,auto);grid-auto-columns:minmax(210px,max-content);column-gap:4px;max-height:calc(calc(100 * var(--mbs-vh, 1vh)) - 110px);overflow:auto;scrollbar-width:thin}
.pos-shell .pos-ws-topmenu .fly button{white-space:nowrap}

/* ---- Welcome, Customer 360 and Journal fit the screen: the page stays still, the lists and panels scroll inside themselves. Under 1100px wide the page scrolls as before. ---- */
@media (min-width:1101px){
  .pos-shell .pos-body:has(>.pos-wroot),.pos-shell .pos-body:has(>.pos-cust),.pos-shell .pos-body:has(>.pos-jr){overflow:hidden}
  /* Welcome: two columns, each scrolls on its own */
  .pos-shell .pos-wroot{height:100%;min-height:0;padding:8px 12px;gap:12px;grid-template-rows:minmax(0,1fr);align-items:stretch}
  .pos-shell .pos-wroot>*{min-height:0;overflow-y:auto;scrollbar-width:thin}
  /* Customer 360: bar and search stay, the body takes the rest */
  .pos-shell .pos-cust{display:flex;flex-direction:column;gap:8px;padding:8px 12px;min-height:0}
  .pos-shell .pos-cust>*{flex:0 0 auto}
  .pos-shell .pos-cust>.pos-cust-body{flex:1 1 auto;min-height:120px}
  /* Journal: strip stays, the list card and the inspector scroll inside their own cards */
  .pos-shell .pos-jr{overflow:hidden}
  .pos-shell .pos-jr>.pos-jr-strip{flex:0 0 auto}
  .pos-shell .pos-jr-main{flex:1 1 auto;min-height:0;align-items:stretch;padding:8px 12px}
  .pos-shell .pos-jr-main>*{min-height:0;overflow:hidden}
  .pos-shell .pos-jr-tablewrap{flex:1 1 auto;min-height:0;overflow:auto}
  .pos-shell .pos-jr-insp{position:static;overflow:hidden}
  .pos-shell .pos-jr-inspbody{flex:1 1 auto;min-height:0;max-height:none}
}

/* ---- One page padding for every POS screen: 12px left and right, 8px top and bottom (measured: most pages already sat at 12px). ---- */
.pos-shell{--pos-pad-x:12px;--pos-pad-y:8px}
.pos-shell .pos-st,.pos-shell .pos-cust,.pos-shell .pos-wroot,.pos-shell .pos-bb,.pos-shell .pos-dsp,.pos-shell .pos-inc,.pos-shell .pos-cl,.pos-shell .pos-cr,.pos-shell .pos-ord{padding:var(--pos-pad-y) var(--pos-pad-x)}
.pos-shell .pos-pc,.pos-shell .pos-lay,.pos-shell .pos-ret,.pos-shell .pos-cash{padding-inline:calc(var(--pos-pad-x) - 8px)}   /* their panels already carry 8px */
.pos-shell .pos-inc,.pos-shell .pos-cl,.pos-shell .pos-cr{box-sizing:border-box}

/* ---- Active Register fits the screen: the cart table scrolls inside its card, buttons and quick tiles stay, the right panel (customer, totals, tenders) is compact and scrolls on its own only on a short window. ---- */
@media (min-width:1101px){
  .pos-shell .pos-body:has(>.pos-ws){overflow:hidden}
  .pos-shell .pos-body>.pos-ws{flex:1 1 auto;min-height:0;align-items:stretch;grid-template-rows:minmax(0,1fr);padding:var(--pos-pad-y) var(--pos-pad-x)}
  .pos-shell .pos-ws>.pos-left{min-height:0;display:flex;flex-direction:column}
  .pos-shell .pos-ws>.pos-left>*{flex:0 0 auto}
  .pos-shell .pos-ws>.pos-left>.pos-cartcard{flex:1 1 auto;min-height:140px;display:flex;flex-direction:column;margin-top:8px}
  .pos-shell .pos-cartcard>.pos-tablewrap{flex:1 1 auto;min-height:0;overflow:auto}
  .pos-shell .pos-cartcard>.pos-linebar{flex:0 0 auto}
  .pos-shell .pos-quickgrid{margin-top:8px}
  .pos-shell .pos-quickgrid .pos-tile.quick{min-height:44px;height:44px}
  .pos-shell .pos-ws>.pos-right{gap:8px;min-height:0;overflow-y:auto;scrollbar-width:thin}
  .pos-shell .pos-ws>.pos-right>.pos-card{padding:8px 10px;gap:6px}
  .pos-shell .pos-right .pos-paycard{padding:8px 12px}
  .pos-shell .pos-right .pos-tile.quick{min-height:40px;height:auto;padding:4px 8px}
  .pos-shell .pos-right .pos-total{padding-block:8px;min-height:0;height:auto}
}

/* Customer 360: once a profile is open the search results shrink to a short list, so the profile and its KPI cards show without scrolling past the results (as in the design). */
.pos-shell .pos-cust-hits:has(~ .pos-cust-head){max-height:132px;overflow-y:auto;scrollbar-width:thin}

/* Loyalty Points and Rewards joins the shared page padding (it had none; the earlier "off-centre" reading was its centred empty-state card). */
.pos-shell .pos-loy{display:flex;flex-direction:column;gap:12px;padding:var(--pos-pad-y) var(--pos-pad-x);min-height:0;box-sizing:border-box}

/* ---- Fit the screen: tighter vertical spacing so pages only scroll when their content is really long ---- */
.pos-shell .pos-st{gap:8px;padding:8px}
.pos-shell .pos-st-kpis,.pos-shell .pos-st-cols,.pos-shell .pos-st-main,.pos-shell .pos-st-side{gap:8px}
.pos-shell .pos-st-kpi{padding:8px;gap:2px}
.pos-shell .pos-st-kpi b{font-size:18px}
.pos-shell .pos-st-table th,.pos-shell .pos-st-table td{padding:4px 8px}
.pos-shell .pos-st-form{gap:6px;margin:4px 0}
.pos-shell .pos-right{gap:8px}
.pos-shell .pos-ws .pos-card{padding:10px}
.pos-shell .pos-paycard{padding:10px 14px}
.pos-shell .pos-total .amt{font-size:26px;line-height:30px}
.pos-shell .pos-totalwrap{margin-top:10px;padding-top:8px}
.pos-shell .pos-ws .pos-fin .pos-row{margin-top:5px}
.pos-shell .pos-ws .pos-fin h4+.pos-row{margin-top:8px}
.pos-shell .pos-cash-col{gap:8px}
.pos-shell .pos-right .pos-tile.quick{padding:5px 8px}
.pos-shell .pos-paycard{padding:7px 12px}
.pos-shell .pos-btn.wide{padding:4px 12px}
/* short windows: shrink the register's right column a little so it still fits without a scrollbar */
@media (max-height:1040px){.pos-shell .pos-right{zoom:.93}}
@media (max-height:900px){.pos-shell .pos-right{zoom:.85}}

/* Screen size button in the workstation header (next to Main application) */
.pos-shell .pos-ws-sizewrap{position:relative;display:inline-block}
.pos-shell .pos-ws-sizefly{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:20;min-width:150px;display:flex;flex-direction:column;padding:4px;background:var(--pos-bg-lowest);border:1px solid var(--outline-variant);border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.pos-shell .pos-ws-sizefly button{border:0;background:transparent;color:var(--pos-on-bg);text-align:start;padding:6px 10px;border-radius:3px;cursor:pointer;font:500 13px/16px var(--font)}
.pos-shell .pos-ws-sizefly button:hover{background:var(--pos-bg-container)}
.pos-shell .pos-ws-sizefly button.on{font-weight:700;color:var(--primary)}
