
.pwa-install-card{
  border:1px solid #4e6634;
  background:linear-gradient(145deg,#1c2a20,#111927 72%);
  border-radius:24px;
  padding:18px;
  box-shadow:0 20px 52px rgba(0,0,0,.28);
}
.pwa-install-card__top{display:flex;align-items:flex-start;gap:13px}
.pwa-install-card__icon{
  flex:0 0 54px;width:54px;height:54px;border-radius:17px;
  overflow:hidden;background:#0a0f18;border:1px solid #526c34
}
.pwa-install-card__icon img{display:block;width:100%;height:100%;object-fit:cover}
.pwa-install-card__copy{min-width:0;flex:1}
.pwa-install-card__copy small{
  display:block;color:#c8f45f;font-size:.68rem;font-weight:950;
  letter-spacing:.13em;margin-bottom:4px
}
.pwa-install-card__copy strong{display:block;font-size:1.08rem;line-height:1.2}
.pwa-install-card__copy p{margin:5px 0 0;color:#a5b3c3;font-size:.82rem;line-height:1.4}
.pwa-install-card__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:14px}
.pwa-install-primary,.pwa-install-later,.pwa-help-close,.pwa-copy-link{
  border:0;border-radius:15px;min-height:50px;padding:11px 14px;font-weight:950
}
.pwa-install-primary{background:linear-gradient(135deg,#c8f45f,#b0e448);color:#11170d}
.pwa-install-later{background:#263244;color:#fff;border:1px solid #415168}
.pwa-install-card--inline{margin:0 0 18px}
.pwa-install-floating{
  position:fixed;z-index:190;left:14px;right:14px;top:calc(14px + env(safe-area-inset-top,0px));
  width:min(calc(100% - 28px),520px);margin:0 auto
}
.pwa-install-floating .pwa-install-card{background:rgba(15,23,35,.985);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pwa-help{
  position:fixed;z-index:260;inset:0;display:grid;place-items:center;padding:18px;
  background:rgba(4,8,13,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.pwa-help-card{
  width:min(100%,480px);max-height:calc(100dvh - 36px);overflow:auto;
  border:1px solid #405168;border-radius:26px;background:#101927;padding:20px;
  box-shadow:0 30px 90px rgba(0,0,0,.55)
}
.pwa-help-card h2{margin:3px 0 10px;font-size:1.45rem}
.pwa-help-card>p{color:#a5b3c3;line-height:1.45;margin-bottom:16px}
.pwa-help-steps{display:grid;gap:9px;margin:0 0 16px;padding:0;list-style:none;counter-reset:pwa-step}
.pwa-help-steps li{
  counter-increment:pwa-step;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;
  border:1px solid #334257;background:#172231;border-radius:15px;padding:10px 11px
}
.pwa-help-steps li::before{
  content:counter(pwa-step);width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;background:#c8f45f;color:#11170d;font-weight:950
}
.pwa-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pwa-help-close{background:#c8f45f;color:#11170d}
.pwa-copy-link{background:#263244;color:#fff;border:1px solid #415168}
.pwa-install-hidden{display:none!important}
@media(max-width:420px){
  .pwa-install-card{padding:15px;border-radius:21px}
  .pwa-install-card__actions,.pwa-help-actions{grid-template-columns:1fr}
}


/* Stage 9.13.3 — mobile passenger ordering requires installed PWA */
html[data-pwa-required="1"] .pwa-mobile-blocked-content{
  display:none!important;
}
.pwa-required-screen{
  display:none;
}
html[data-pwa-required="1"] .pwa-required-screen{
  position:fixed;
  z-index:10000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100dvh;
  padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(18px + env(safe-area-inset-bottom,0px));
  overflow:auto;
  background:
    radial-gradient(circle at 50% 12%,rgba(200,244,95,.12),transparent 32%),
    #0a0f18;
  color:#f7f9fc;
}
.pwa-required-screen__inner{
  width:min(100%,520px);
}
.pwa-required-screen__brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#c8f45f;
  font-size:1.25rem;
  font-weight:950;
}
.pwa-required-screen__brand::before{
  content:'';
  width:13px;height:13px;border-radius:50%;
  background:#c8f45f;
  box-shadow:0 0 20px rgba(200,244,95,.6);
}
.pwa-required-screen__intro{
  margin:0 0 14px;
  padding:0 3px;
}
.pwa-required-screen__intro h1{
  margin:0 0 8px;
  font-size:clamp(1.8rem,8vw,2.7rem);
  line-height:1;
  letter-spacing:-.045em;
}
.pwa-required-screen__intro p{
  margin:0;
  color:#9eacbd;
  line-height:1.5;
}
.pwa-required-screen .pwa-install-card{
  margin:16px 0 0;
}
.pwa-required-screen .pwa-install-card__actions{
  grid-template-columns:1fr;
}
