"What if the session expires and the owner is on vacation?"
Session rolls forward on daily use, so it realistically only lapses when the shop is closed anyway. If it does, the re-trust screen (→) never dead-ends a cashier: it offers three parallel routes, so no single unreachable person can lock out a shop. Ship the floor app as native / TWA, not a bare Safari PWA, so token storage survives restarts.