/* QueueBD NEON GUEST PASS — Gen Z nightlife energy, no extra dependencies. */
/* Scoped to customer ticket only. All queue, opt-in notification and recovery logic stays untouched. */
.v5-guest-screen {
  --qbd-neon:#d5ff75;
  --qbd-mint:#70f6d0;
  --qbd-violet:#ae8cff;
  --qbd-ink:#06140f;
  --v5-accent:var(--qbd-neon);
  --v5-accent-rgb:213,255,117;
  background:
    radial-gradient(ellipse 65% 42% at 54% 8%,rgba(67,229,150,.24),transparent 76%),
    radial-gradient(ellipse 38% 36% at 5% 67%,rgba(123,83,228,.14),transparent 85%),
    radial-gradient(ellipse 47% 30% at 100% 83%,rgba(57,199,154,.14),transparent 82%),
    #070f0d!important;
  color:#f3fff0;
}
.v5-guest-screen.v5-stage-close {--qbd-neon:#8effd7;--v5-accent:var(--qbd-neon);--v5-accent-rgb:142,255,215}
.v5-guest-screen.v5-stage-next {--qbd-neon:#e7ff7b;--v5-accent:var(--qbd-neon);--v5-accent-rgb:231,255,123}
.v5-guest-screen.v5-stage-called {--qbd-neon:#ffd27d;--v5-accent:var(--qbd-neon);--v5-accent-rgb:255,210,125}
.v5-guest-screen.v5-stage-finished {--qbd-neon:#c6b1ff;--v5-accent:var(--qbd-neon);--v5-accent-rgb:198,177,255}
.v5-guest-screen.v4-customer:before {
  opacity:.10;
  background-size:64px 64px;
}
.v5-guest-screen .qx-ticket-shell {max-width:660px}
.v5-guest-screen .qx-ticket-header {margin-bottom:20px;font-size:12px}
.v5-guest-screen .qx-ticket-header a {color:#c6eebd}
.v5-guest-screen .qx-ticket-header>span {font-size:10px;letter-spacing:1.8px;color:#9bc7aa}
.v5-guest-screen .qx-ticket-panel {
  position:relative;
  border:1px solid rgba(var(--v5-accent-rgb),.46)!important;
  border-radius:28px!important;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(23,58,40,.97) 0%,rgba(8,28,21,.98) 56%,rgba(13,24,29,.98) 100%)!important;
  box-shadow:
    0 32px 88px rgba(0,0,0,.52),
    0 0 48px rgba(var(--v5-accent-rgb),.15),
    0 0 95px rgba(90,220,155,.07),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
  isolation:isolate;
}
.v5-guest-screen .qx-ticket-panel:before {
  display:block;
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  z-index:-1;
  opacity:.85;
  background:
    radial-gradient(circle at 5% 0%,rgba(var(--v5-accent-rgb),.20),transparent 29%),
    radial-gradient(circle at 100% 100%,rgba(174,140,255,.13),transparent 34%);
}
.v5-guest-screen .v5-pass-topline {
  padding:22px 28px 18px;
  border-bottom:1px solid rgba(214,255,200,.15);
}
.v5-guest-screen .v5-pass-brand {color:#f2fff0;letter-spacing:1px;font-weight:850;font-size:14px}
.v5-guest-screen .v5-pass-brand small {font-size:9px;color:#b3dec0;letter-spacing:2.2px}
.v5-guest-screen .v5-pass-monogram {
  width:34px;height:34px;border-radius:10px;
  color:#102816;background:linear-gradient(145deg,#e9ffab,#7dffbf);
  box-shadow:0 0 18px rgba(var(--v5-accent-rgb),.46);
}
.v5-guest-screen .v5-connection {
  color:#d7f9d4;
  background:rgba(37,91,60,.6);
  border:1px solid rgba(151,243,174,.35);
  box-shadow:0 0 17px rgba(125,245,156,.11);
}
.v5-guest-screen .v5-connection .qx-status-dot {
  box-shadow:0 0 0 4px rgba(123,242,164,.12),0 0 12px rgba(122,255,159,.65);
}
.v5-guest-screen .v5-pass-event {padding:32px 25px 8px}
.v5-guest-screen .v5-pass-event>span {color:#baf2c5;font-size:10px;letter-spacing:2px}
.v5-guest-screen .v5-pass-event h1 {
  margin:9px 0 7px!important;
  font-size:clamp(25px,4.5vw,36px)!important;
  color:#fcfffa!important;
  letter-spacing:-.95px!important;
  font-weight:820;
}
.v5-guest-screen .v5-pass-event p {color:#b0cdb9;font-size:12px;line-height:1.65}
.v5-guest-screen .v6-restaurant-logo {width:78px;height:78px;filter:drop-shadow(0 0 14px rgba(var(--v5-accent-rgb),.18))}
.v5-guest-screen .v5-hero {
  isolation:isolate;
  min-height:318px!important;
  max-width:calc(100% - 46px);
  margin:21px auto 0!important;
  padding:25px 17px;
  position:relative;
  border:1px solid rgba(var(--v5-accent-rgb),.55)!important;
  border-radius:24px!important;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 44%,rgba(var(--v5-accent-rgb),.19),transparent 62%),
    linear-gradient(155deg,rgba(14,47,31,.93),#071e17 70%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 0 40px rgba(var(--v5-accent-rgb),.055),
    0 0 25px rgba(var(--v5-accent-rgb),.16),
    0 0 72px rgba(var(--v5-accent-rgb),.085)!important;
}
.v5-guest-screen .v5-hero:before,.v5-guest-screen .v5-hero:after {
  display:block!important;
  content:"";
  position:absolute;
  inset:18px 16%;
  z-index:-1;
  border:1px solid rgba(var(--v5-accent-rgb),.26)!important;
  border-radius:50%;
  pointer-events:none;
  box-shadow:0 0 24px rgba(var(--v5-accent-rgb),.10),inset 0 0 15px rgba(var(--v5-accent-rgb),.08);
  animation:qbd-halo-breathe 6s ease-in-out infinite!important;
}
.v5-guest-screen .v5-hero:after {inset:40px 24%;animation-delay:-3s!important;border-color:rgba(var(--v5-accent-rgb),.18)!important}
@keyframes qbd-halo-breathe {
  0%,100% {opacity:.23;transform:scale(.90)}
  50% {opacity:.66;transform:scale(1.035)}
}
.v5-guest-screen .v5-hero>span {color:#c7eed1!important;letter-spacing:2.8px;font-size:10px!important}
.v5-guest-screen .v5-hero>strong {
  display:block;
  position:relative;
  font-size:clamp(79px,15vw,128px)!important;
  letter-spacing:-5px!important;
  line-height:1.16!important;
  font-weight:900!important;
  color:var(--qbd-neon)!important;
  text-shadow:0 0 15px rgba(var(--v5-accent-rgb),.37),0 0 58px rgba(var(--v5-accent-rgb),.39)!important;
  font-variant-numeric:tabular-nums;
}
.v5-guest-screen .v5-hero .qx-ticket-hero-status {
  border:1px solid rgba(var(--v5-accent-rgb),.62);
  border-radius:100px;
  background:rgba(var(--v5-accent-rgb),.13)!important;
  color:var(--qbd-neon)!important;
  box-shadow:0 0 17px rgba(var(--v5-accent-rgb),.12);
  padding:11px 17px;
  font-size:11px!important;
  letter-spacing:1.2px;
}
.v5-guest-screen.v5-stage-called .v5-hero {
  background:radial-gradient(ellipse at 50% 40%,rgba(255,197,88,.25),transparent 65%),#291f18!important;
  border-color:rgba(255,210,125,.78)!important;
  box-shadow:0 0 24px rgba(255,210,125,.24),0 0 66px rgba(255,186,82,.16)!important;
}
.v5-guest-screen .v5-pass-divider {display:flex;margin:10px 0 1px}
.v5-guest-screen .v5-pass-divider:before,.v5-guest-screen .v5-pass-divider:after {background:#0a1710;border-color:rgba(var(--v5-accent-rgb),.34)}
.v5-guest-screen .v5-pass-divider span {border-top:1px dashed rgba(var(--v5-accent-rgb),.32)}
.v5-guest-screen .v5-position {
  display:grid;
  grid-template-columns:115px minmax(0,1fr);
  align-items:center;
  gap:20px;
  margin:4px 27px 19px;
  padding:15px 20px;
  border-radius:17px;
  background:linear-gradient(120deg,rgba(39,82,59,.45),rgba(24,45,43,.56));
  border:1px solid rgba(var(--v5-accent-rgb),.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.v5-guest-screen .v5-position-number {min-width:0;padding-right:13px;border-right:1px solid rgba(var(--v5-accent-rgb),.17)}
.v5-guest-screen .v6-number-window {min-height:70px}
.v5-guest-screen .v6-number-window strong {
  font-size:64px;
  font-weight:880;
  color:var(--qbd-neon);
  text-shadow:0 0 19px rgba(var(--v5-accent-rgb),.35);
}
.v5-guest-screen .v5-position-number>span:last-child {font-size:9px;letter-spacing:.6px;color:#b9d7c2}
.v5-guest-screen .v5-position-label {font-size:9px;letter-spacing:1.5px;color:#a6dbb9}
.v5-guest-screen .v5-position-info strong {color:#f0ffee;font-size:17px;line-height:1.35}
.v5-guest-screen .v5-position-info small {font-size:11px;color:#bddcc5;line-height:1.5}
.v5-guest-screen .v5-stage-message {
  display:flex;
  gap:14px;
  margin:18px 27px;
  border-radius:15px;
  padding:17px;
  background:rgba(var(--v5-accent-rgb),.08);
  border:1px solid rgba(var(--v5-accent-rgb),.20);
}
.v5-guest-screen .v5-stage-icon {
  flex:none;
  width:36px;height:36px;border-radius:11px;
  color:var(--qbd-neon);
  background:rgba(var(--v5-accent-rgb),.17);
  box-shadow:0 0 22px rgba(var(--v5-accent-rgb),.10);
}
.v5-guest-screen .v5-stage-message strong {color:#f4fff0;font-size:14px}
.v5-guest-screen .v5-stage-message p {color:#b2d6ba;line-height:1.65;font-size:11px}
.v5-guest-screen .v5-stage-message.v5-alert {
  border-color:rgba(255,210,125,.55);
  background:rgba(255,210,125,.09);
}
.v5-guest-screen .v7-alert-panel {
  margin:18px 27px 23px;
  padding:19px;
  border-radius:17px;
  border:1px solid rgba(141,230,167,.24);
  background:linear-gradient(130deg,rgba(36,93,58,.27),rgba(9,38,32,.43));
}
.v5-guest-screen .v7-alert-heading {gap:12px;margin-bottom:13px}
.v5-guest-screen .v7-alert-heading>span {
  display:grid;place-items:center;
  width:38px;height:38px;
  border-radius:12px;
  color:#133923;
  background:linear-gradient(140deg,#d7ff89,#7ff2ce);
  box-shadow:0 0 17px rgba(157,255,168,.25);
}
.v5-guest-screen .v7-alert-heading strong {color:#f3ffee;font-size:16px;letter-spacing:-.3px}
.v5-guest-screen .v7-alert-heading small {color:#b1d1b7;font-size:11px}
.v5-guest-screen .v7-alert-panel button {
  min-height:48px;
  margin-top:10px;
  font-size:13px;
  font-weight:800;
  border-radius:12px;
}
.v5-guest-screen .v7-push-button {
  border:1px solid #d6ff8d;
  color:#193922;
  background:linear-gradient(105deg,#e4ff9e,#9afccc);
  box-shadow:0 0 24px rgba(168,255,141,.21);
}
.v5-guest-screen .v7-sound-button {border-color:#54765e;color:#e9ffe3;background:rgba(42,82,57,.76)}
.v5-guest-screen .v7-push-disable {background:transparent;border-color:#426a4b;color:#c0d8c4}
.v5-guest-screen .v7-alert-panel p {color:#a7c4af;font-size:11px;line-height:1.6}
.v5-guest-screen .v5-share-zone {
  padding:28px 27px 23px;
  border-color:rgba(var(--v5-accent-rgb),.16);
  background:radial-gradient(ellipse 85% 90% at 50% 100%,rgba(118,104,208,.11),transparent 80%);
}
.v5-guest-screen .v5-share-eyebrow {
  color:#b7e7d3;
  letter-spacing:2.2px;
  font-size:10px;
}
.v5-guest-screen .v5-story-button {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  margin:15px 0 10px;
  border:1px solid #d4ff9a;
  border-radius:15px;
  color:#0a271b;
  background:linear-gradient(113deg,#dbff8b 0%,#a1fce0 58%,#d0f4a9 100%);
  box-shadow:0 10px 32px rgba(164,250,136,.23),0 0 35px rgba(143,238,216,.13);
  font-size:16px;
  font-weight:880;
  letter-spacing:.15px;
  isolation:isolate;
  transition:transform .2s ease,box-shadow .2s ease;
}
.v5-guest-screen .v5-story-button:before {
  content:"";
  position:absolute;
  inset:-120% auto -120% -80%;
  width:35%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-21deg) translateX(0);
  animation:qbd-shine 7s ease-in-out infinite;
  pointer-events:none;
}
@keyframes qbd-shine {
  0%,67%,100% {transform:skewX(-21deg) translateX(0)}
  78% {transform:skewX(-21deg) translateX(730%)}
}
.v5-guest-screen .v5-story-button:hover {
  background:linear-gradient(110deg,#ebffb1,#a8ffe8);
  box-shadow:0 13px 36px rgba(168,255,132,.37),0 0 33px rgba(145,241,218,.22);
  transform:translateY(-2px);
}
.v5-guest-screen .v5-story-button span:first-child {font-size:24px}
.v5-guest-screen .v5-story-button span:last-child {font-size:22px}
.v5-guest-screen .v5-share-zone small {font-size:11px;color:#b9cebc}
.v5-guest-screen .v5-secondary-actions {gap:11px;padding:10px 27px 25px}
.v5-guest-screen .v5-secondary-actions button {
  min-height:45px;
  background:rgba(23,66,42,.85);
  color:#deefd9;
  border:1px solid #43674a;
  border-radius:11px;
  font-size:12px;
}
.v5-guest-screen .v5-secondary-actions button:last-child:not(:first-child) {
  background:rgba(102,41,40,.22);
  border-color:#79524d;
  color:#fac3ba;
}
.v5-guest-screen .v5-ticket-caveat {color:#abcbb4;font-size:11px}
.v5-guest-screen :is(button,a):focus-visible {outline:3px solid #d9ff8f;outline-offset:3px}
@media(max-width:640px) {
  .v5-guest-screen.qx-ticket-page {padding:20px 0 65px}
  .v5-guest-screen .qx-ticket-header {padding:0 3px;margin-bottom:15px}
  .v5-guest-screen .qx-ticket-panel {border-radius:22px!important}
  .v5-guest-screen .v5-pass-topline {padding:18px 16px 14px}
  .v5-guest-screen .v5-pass-event {padding:25px 16px 7px}
  .v5-guest-screen .v5-pass-event h1 {font-size:clamp(22px,6.2vw,31px)!important}
  .v5-guest-screen .v6-restaurant-logo {width:65px;height:65px}
  .v5-guest-screen .v5-hero {
    max-width:calc(100% - 30px);
    min-height:271px!important;
    margin-top:16px!important;
  }
  .v5-guest-screen .v5-hero>strong {font-size:clamp(66px,18.8vw,102px)!important;letter-spacing:-4px!important}
  .v5-guest-screen .v5-position {grid-template-columns:91px minmax(0,1fr);gap:13px;margin:8px 15px 14px;padding:13px}
  .v5-guest-screen .v5-position-number {padding-right:11px}
  .v5-guest-screen .v6-number-window {min-height:60px}
  .v5-guest-screen .v6-number-window strong {font-size:53px}
  .v5-guest-screen .v5-position-number>span:last-child {font-size:8px}
  .v5-guest-screen .v5-position-info strong {font-size:15px}
  .v5-guest-screen .v5-stage-message {margin:15px 15px;padding:15px}
  .v5-guest-screen .v7-alert-panel {margin:15px;padding:17px}
  .v5-guest-screen .v5-share-zone {padding:23px 16px 18px}
  .v5-guest-screen .v5-secondary-actions {padding:10px 16px 21px}
}
@media(max-width:360px) {
  .v5-guest-screen .v5-hero {min-height:250px!important}
  .v5-guest-screen .v5-hero>strong {font-size:clamp(61px,18.5vw,78px)!important}
  .v5-guest-screen .v5-position {grid-template-columns:77px minmax(0,1fr);gap:10px;padding:11px}
  .v5-guest-screen .v6-number-window strong {font-size:46px}
  .v5-guest-screen .v5-position-info strong {font-size:13px}
}
@media(prefers-reduced-motion:reduce) {
  .v5-guest-screen .v5-hero:before,.v5-guest-screen .v5-hero:after,
  .v5-guest-screen .v5-story-button:before,
  .v5-guest-screen .v6-old-number,.v5-guest-screen .v6-new-number {
    animation:none!important;
  }
  .v5-guest-screen .v5-story-button:hover {transform:none}
}

/* Matching glow on the guest QR-join screen; staff/admin views are unaffected. */
.qx-join-page.v4-customer {
  background:radial-gradient(ellipse 55% 50% at 80% 0%,rgba(111,242,172,.16),transparent 80%),
    radial-gradient(ellipse 55% 42% at 0% 100%,rgba(130,99,240,.12),transparent 82%),#08150f;
}
.qx-join-page.v4-customer .qx-join-panel {
  border:1px solid rgba(195,255,178,.39);
  border-radius:23px;
  box-shadow:0 30px 80px #0007,0 0 44px rgba(154,255,166,.12),inset 0 1px rgba(255,255,255,.10);
}
.qx-join-page.v4-customer .qx-join-submit {
  border-radius:13px;
  background:linear-gradient(112deg,#e4ff9a,#a1f9c3);
  box-shadow:0 14px 37px rgba(151,255,147,.28),0 0 24px rgba(155,255,155,.12);
}
.qx-join-page.v4-customer .qx-join-intro h1{text-shadow:0 0 37px rgba(130,255,164,.12)}
.qx-join-page.v4-customer :is(input,button,a):focus-visible{outline:3px solid #d9ff8f;outline-offset:3px}

/* V8: social-first guest pass polish. Pure CSS, no GPU canvases or new requests. */
.v5-guest-screen{--qbd-neon:#ccff00;--v5-accent:#ccff00;--v5-accent-rgb:204,255,0;background:
 radial-gradient(ellipse 62% 40% at 50% 8%,rgba(114,229,91,.2),transparent 80%),
 radial-gradient(ellipse 42% 40% at 100% 60%,rgba(100,45,211,.12),transparent 85%),#050505!important}
.v5-guest-screen.v5-stage-close{--qbd-neon:#8effd7;--v5-accent:var(--qbd-neon);--v5-accent-rgb:142,255,215}
.v5-guest-screen.v5-stage-next{--qbd-neon:#e7ff7b;--v5-accent:var(--qbd-neon);--v5-accent-rgb:231,255,123}
.v5-guest-screen.v5-stage-called{--qbd-neon:#ffd27d;--v5-accent:var(--qbd-neon);--v5-accent-rgb:255,210,125}
.v5-guest-screen.v5-stage-finished{--qbd-neon:#c6b1ff;--v5-accent:var(--qbd-neon);--v5-accent-rgb:198,177,255}
.v5-guest-screen .qx-ticket-panel{
 -webkit-backdrop-filter:blur(12px);
 backdrop-filter:blur(12px);
 background:linear-gradient(160deg,rgba(35,58,43,.80),rgba(10,20,17,.92))!important
}
.qbd-social-proof{
 display:flex;align-items:center;gap:9px;flex-wrap:wrap;
 margin:4px 27px 15px;padding:12px 15px;
 border:1px solid rgba(204,255,0,.27);
 border-radius:13px;
 background:linear-gradient(115deg,rgba(172,255,90,.13),rgba(8,29,23,.6));
 color:#ecffd9;box-shadow:0 0 18px rgba(192,255,0,.09);
}
.qbd-social-proof>span{color:#ccff00;text-shadow:0 0 12px rgba(204,255,0,.65);font-size:19px}
.qbd-social-proof strong{font-size:13px;font-weight:800;line-height:1.4}
.qbd-social-proof small{margin-left:auto;color:#aecc9e;font-weight:800;letter-spacing:1.4px;font-size:8px}
.qx-join-page.v4-customer .qbd-skip-name{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;
 width:100%;min-height:46px;margin:10px 0 19px;
 border:1px solid rgba(204,255,0,.4);border-radius:12px;
 background:rgba(174,255,64,.11);color:#e9ffc2;
 font-weight:750;font-size:13px;cursor:pointer;
}
.qx-join-page.v4-customer .qbd-skip-name:hover{background:rgba(174,255,64,.2)}
.qbd-party-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:11px 0}
.qbd-party-chips button{
 min-width:0;min-height:49px;border:1px solid rgba(196,249,176,.25);
 border-radius:11px;background:rgba(255,255,255,.05);color:#efffe9;
 font-size:17px;font-weight:850;cursor:pointer;
}
.qbd-party-chips button.active,.qbd-party-chips button[aria-pressed="true"]{
 background:linear-gradient(130deg,#d5ff75,#9cfac9);
 color:#11301b;border-color:#d2ff7d;
 box-shadow:0 0 20px rgba(204,255,0,.24);
}
.v5-guest-screen.v5-stage-called .v5-hero{
 animation:qbd-ready-flash 1.7s ease-in-out infinite;
}
@keyframes qbd-ready-flash{
 0%,100%{box-shadow:0 0 16px rgba(255,210,125,.32),0 0 38px rgba(255,210,125,.11)}
 50%{box-shadow:0 0 47px rgba(255,210,125,.63),inset 0 0 28px rgba(255,210,125,.14)}
}
@media(max-width:640px){
 .qbd-social-proof{margin:8px 15px 15px;padding:11px 12px}
 .qbd-social-proof small{display:none}
 .qbd-party-chips{gap:5px}
 .qbd-party-chips button{min-height:48px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 .v5-guest-screen.v5-stage-called .v5-hero{animation:none!important}
}
