/* Guest auth gate — compact premium dialog */
.guest-auth-modal{
  position:fixed;
  inset:0;
  z-index:100001;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(14px, env(safe-area-inset-top, 0px)) 14px max(14px, env(safe-area-inset-bottom, 0px));
  box-sizing:border-box;
}

.guest-auth-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  animation:guestAuthBackdropIn .2s ease;
}

.guest-auth-card{
  position:relative;
  z-index:1;
  width:min(92vw, 336px);
  margin:0;
  border-radius:18px;
  padding:18px 16px 14px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,138,0,.12), transparent 42%),
    linear-gradient(165deg, rgba(24,24,24,.98), rgba(8,8,8,.98));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 18px 48px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
  color:#fff;
  animation:guestAuthCardIn .24s cubic-bezier(.2,.8,.2,1);
}

.guest-auth-eyebrow{
  margin:0 0 4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,180,100,.72);
}

.guest-auth-card h2{
  margin:0 28px 8px 0;
  font-size:17px;
  line-height:1.25;
  font-weight:750;
  letter-spacing:-.02em;
}

.guest-auth-copy{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255,255,255,.66);
}

.guest-auth-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.guest-auth-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 10px;
  border-radius:11px;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}

.guest-auth-btn--primary{
  color:#111;
  background:linear-gradient(180deg, #ffb347, #ff8a00);
  border:1px solid rgba(255,170,80,.45);
  box-shadow:0 6px 16px rgba(255,138,0,.22);
}

.guest-auth-btn--primary:hover,
.guest-auth-btn--primary:active{
  color:#111;
  background:linear-gradient(180deg, #ffc06a, #ff9a2f);
}

.guest-auth-btn--ghost{
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.16);
}

.guest-auth-btn--ghost:hover,
.guest-auth-btn--ghost:active{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.24);
}

.guest-auth-close{
  position:absolute;
  right:10px;
  top:10px;
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.guest-auth-close:hover,
.guest-auth-close:active{
  color:#fff;
  background:rgba(255,255,255,.1);
}

@keyframes guestAuthBackdropIn{
  from{opacity:0;}
  to{opacity:1;}
}

@keyframes guestAuthCardIn{
  from{opacity:0; transform:translateY(8px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

.guest-auth-steps{
  margin:0 0 14px;
  padding-left:18px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.66);
}

.guest-auth-steps li{
  margin:0 0 6px;
}

.guest-auth-steps li:last-child{
  margin-bottom:0;
}

.guest-auth-actions--single{
  grid-template-columns:1fr;
}

.guest-auth-card--install h2{
  margin-bottom:8px;
}

@media (max-width:360px){
  .guest-auth-actions{
    grid-template-columns:1fr;
  }

  .guest-auth-btn{
    min-height:38px;
    font-size:12.5px;
  }
}

/* Legacy markup fallback: compact buttons if global .btn classes leak in */
.guest-auth-modal .guest-auth-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  height:auto;
  padding:9px 12px;
  border-radius:11px;
  font-size:13px;
  font-weight:700;
  line-height:1.15;
  width:auto;
  flex:1 1 0;
  box-sizing:border-box;
}
