/* Real-POS additions on top of style.css (which is shared with the mockup). */
body{padding-block:10px;overflow:hidden}
.app{height:100%;max-width:none}
.loading{margin:auto;padding:40px;color:var(--muted);font-size:17px;grid-row:1/-1;align-self:center;text-align:center}
.loading.err{color:var(--warn)}
.row .price{font-variant-numeric:tabular-nums;white-space:nowrap}
.sums .pending{opacity:.5}
.sale-err{color:var(--warn);font-size:13px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--ink-fg);padding:12px 18px;border-radius:10px;font-weight:600;z-index:40;max-width:calc(100% - 32px)}
.more-only{color:var(--muted)}
.tile.item .ab{background:var(--sunk);color:var(--fg);border-bottom:1px solid var(--line)}
.vpick .row .sub{display:block}
.search svg{width:20px;height:20px;flex:none;color:var(--muted)}
.signin{grid-row:1/-1;margin:auto;width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:24px 4px;text-align:center}
.signin h1{margin:0;font-size:28px}
.btn:disabled{opacity:.45;cursor:default}
/* on full pages (Tickets, Transactions, More) the page scrolls; lists must not shrink to nothing */
.page .list{flex-shrink:0;overflow:visible}
.page h2,.page .stat,.page p{flex-shrink:0}
.cust svg{flex:none}
