/* R1D scoped player QR entry; native shared login <dialog> remains top-layer. */
.pm-sc-entry-backdrop{position:fixed;inset:0;z-index:190;display:flex;justify-content:center;align-items:center;padding:16px;background:rgba(8,32,39,.72);font-family:inherit}
.pm-sc-entry-dialog{box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100dvh - 32px);overflow:auto;width:min(660px,100%);background:#fff;color:#17343d;border:1px solid #d5e8e9;border-radius:16px;box-shadow:0 18px 72px #00191f44}
.pm-sc-entry-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid #dfebed}
.pm-sc-entry-header strong{font-size:18px}
.pm-sc-entry-close{background:transparent;border:1px solid #d7e4e5;border-radius:50%;width:40px;height:40px;flex:0 0 40px;color:#142e35;font-size:25px;cursor:pointer}
.pm-sc-entry-body,.pm-sc-entry-prompt{padding:20px}
.pm-sc-entry-body .pm-venue-self-checkin{max-width:none;box-shadow:none;border:0;padding:0}
.pm-sc-entry-prompt p,.pm-sc-entry-dialog>p{font-size:15px;line-height:1.5;margin:0 0 16px}
.pm-sc-entry-prompt button{border:0;border-radius:10px;background:#20d5d2;color:#103038;font-weight:700;padding:12px 20px;cursor:pointer}
.pm-sc-entry-dialog>p{padding:20px}
@media(max-width:520px){.pm-sc-entry-backdrop{padding:8px;align-items:flex-end}.pm-sc-entry-dialog{border-radius:16px 16px 0 0;max-height:calc(100dvh - 8px);width:100%}.pm-sc-entry-header{padding:12px 16px}.pm-sc-entry-body,.pm-sc-entry-prompt{padding:14px}}

/* PLAYMEU_R6_DEWPOINT_MODAL_NAV_R1: modal-only navigation suppression.
   The existing fixed nav has z-index 2147482000 and overlays the QR dialog.
   :has() observes actual mounted modal DOM, never just the URL query.
   When the React modal unmounts, these rules cease applying immediately.
   Keep the unrelated Dewpoint authentication dialog behavior unchanged. */
@media (max-width: 767px) {
  body:has(.pm-sc-entry-backdrop) .dp-mobile-bottom-nav {
    display: none !important;
  }
  body:has(.pm-sc-entry-backdrop) {
    padding-bottom: 0;
  }
}

/* PLAYMEU_R6_FULL_WEBSITE_THEME_R1 — theme tokens stay inside QR modal.
   The venue theme adapter reads existing Full Website CSS variables and sets
   these tokens on .pm-sc-entry-backdrop. Dewpoint's current color fallbacks
   match its existing Modern Grid purple/blue public booking controls. */
.pm-sc-entry-backdrop {
  --pm-sc-theme-primary: #642bc6;
  --pm-sc-theme-secondary: #0758d0;
  --pm-sc-theme-on-primary: #ffffff;
  --pm-sc-theme-ink: #10213f;
  --pm-sc-theme-muted: #6b7b96;
  --pm-sc-theme-line: #dce5f4;
  background: rgba(10, 21, 48, .72);
}
.pm-sc-entry-backdrop .pm-sc-entry-dialog {
  color: var(--pm-sc-theme-ink);
  border-color: var(--pm-sc-theme-line);
  background: #ffffff;
}
.pm-sc-entry-backdrop .pm-sc-entry-header {
  border-bottom-color: var(--pm-sc-theme-line);
}
.pm-sc-entry-backdrop .pm-sc-entry-close {
  color: var(--pm-sc-theme-ink);
  border-color: var(--pm-sc-theme-line);
}
.pm-sc-entry-backdrop .pm-sc-entry-prompt p,
.pm-sc-entry-backdrop .pm-sc-entry-dialog>p {
  color: var(--pm-sc-theme-muted);
}
.pm-sc-entry-backdrop .pm-sc-entry-prompt button {
  background: linear-gradient(130deg,var(--pm-sc-theme-primary),var(--pm-sc-theme-secondary));
  color: var(--pm-sc-theme-on-primary);
}
.pm-sc-entry-backdrop button:focus-visible {
  outline: 3px solid var(--pm-sc-theme-secondary);
  outline-offset: 3px;
}

/* PLAYMEU_R6_DEWPOINT_GUEST_QR_R2 — Existing Dewpoint auth dialog has
   priority over the check-in entry. On close, check-in returns automatically.
   This affects Dewpoint only; Basic PlayMeu CSS is unchanged. */
body:has(.dp-auth-backdrop) .pm-sc-entry-backdrop {
  visibility: hidden !important;
  pointer-events: none !important;
}
