.owner-auth-pending { display: none; }
html.owner-deployment #siteShell { display: none !important; }
/* Full-screen loading overlay is a genuine dark ground (like the POS login screen), so it
   uses the derived --pos-ground token rather than --bg (near-white) — see shared/tokens.css. */
html.owner-deployment .owner-auth-pending { position: fixed; z-index: 100; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 30px; background: var(--pos-ground); color: var(--pos-ground-ink); font: 600 .78rem/1.4 var(--font-body); letter-spacing: .11em; text-align: center; text-transform: uppercase; }
html.owner-deployment .owner-auth-pending[hidden] { display: none; }
.owner-auth-pending img { display: block; width: min(235px, 65vw); height: auto; }
.owner-gate { width: min(420px, calc(100vw - 32px)); border: 0; padding: 0; background: transparent; color: var(--ink); }
.owner-gate::backdrop { background: rgba(4, 24, 43, .82); }
.owner-gate form { position: relative; display: grid; gap: 15px; padding: 38px 40px 40px; border: 1px solid #d9d3c8; background: var(--surface); box-shadow: 0 28px 70px rgba(4,24,43,.32); text-align: center; }
/* mix-blend-mode: multiply removed — it was tuned to the old vendor's logo art and makes a
   light/white placeholder logo (shared/tokens.css's svg() helper) vanish against this card. */
.owner-gate-logo { display: block; width: min(260px, 82%); height: auto; margin: 0 auto 9px; }
.owner-gate .eyebrow { margin-bottom: 0; }
.owner-gate h2 { margin: 0; font: 700 2rem/1.08 var(--font-heading); }
.owner-gate p:not(.eyebrow) { max-width: 34ch; margin: 0 auto 4px; color: var(--muted); }
.owner-google-button { gap: 11px; width: 100%; margin-top: 5px; }
.owner-google-button span { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--surface); color: var(--brand); font-weight: 700; }
.owner-gate label { color: var(--brand); font-size: .72rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.owner-gate input { width: 100%; border: 1px solid #b9aa92; background: var(--bg); padding: 13px; color: var(--brand); font-size: 1.45rem; letter-spacing: .4em; text-align: center; }
.owner-gate small { color: var(--muted); text-align: center; }
.gate-close { position: absolute; top: 10px; right: 13px; border: 0; background: transparent; color: var(--brand); font-size: 1.7rem; cursor: pointer; }
@media (max-width: 480px) {
  .owner-gate form { padding: 30px 24px 32px; }
  .owner-gate h2 { font-size: 1.72rem; }
}
