/* Gate Control PWA v1.1 (Server 2.2.x). iPhone PWA enhancements. Desktop panel and existing Gate Control CSS stay unchanged. */
.pwa-bottom-nav{display:none}
.pwa-install-tip[hidden]{display:none!important}
.pwa-install-tip{position:fixed;z-index:75;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:530px;margin:0 auto;padding:15px 46px 16px 17px;background:#102a4d;color:#f5f9ff;border:1px solid rgba(175,208,255,.24);border-radius:17px;box-shadow:0 16px 36px rgba(5,22,45,.3);line-height:1.5}
.pwa-install-tip strong{display:block;font-size:15px;margin-bottom:3px}
.pwa-install-tip p{margin:0;font-size:13px;color:#d4e5fa}
.pwa-install-tip .pwa-share{white-space:nowrap;font-weight:750;color:white}
.pwa-tip-close{position:absolute;right:9px;top:8px;min-width:32px;min-height:32px;border:0;color:white;background:rgba(255,255,255,.12);border-radius:9px;font-size:23px;line-height:1}
@media(max-width:850px){
  .pwa-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:29;align-items:stretch;justify-content:space-around;gap:2px;padding:6px 7px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #dde6f2;box-shadow:0 -5px 22px rgba(16,36,63,.06);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .pwa-bottom-nav a{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:51px;padding:5px 2px;border-radius:11px;font-size:10px;font-weight:700;color:#637389;text-align:center}
  .pwa-bottom-nav a span:first-child{display:block;font-size:21px;line-height:1.15;color:inherit}
  .pwa-bottom-nav a[aria-current="page"]{background:#eaf2ff;color:#185acc}
  .pwa-bottom-nav a:focus-visible,.pwa-tip-close:focus-visible{outline:2px solid #185acc;outline-offset:2px}
  .app-body .content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .app-body .sidebar{padding-top:env(safe-area-inset-top)}
  .app-body .topbar{height:auto;min-height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .app-body .sidebar.open{box-shadow:0 0 0 100vmax rgba(6,21,42,.28),10px 0 32px rgba(9,24,46,.12)}
  .app-body .sidebar nav{overflow-y:auto}
  .app-body .sidebar{max-height:100dvh}
  .app-body .sidebar-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .app-body .pwa-install-tip{bottom:calc(75px + env(safe-area-inset-bottom))}
  .login-body .login-wrap{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:600px){
  input,select,textarea{font-size:16px} /* avoid auto-zoom on iOS login/forms */
  .app-body .topbar h1{font-size:18px}
  .app-body .topbar{padding-left:12px;padding-right:12px}
  .app-body .content{padding-left:12px;padding-right:12px}
  .login-body .login-card{margin:30px auto}
  .module-hero .hero-actions,.module-hero .hero-actions .btn{max-width:100%}
  .page-actions form.filters,.page-actions form.filters input,.page-actions form.filters select{min-width:0;max-width:100%}
  .page-actions .btn{min-height:42px}
  .control-buttons .gate-button{min-height:120px}
}
@media(prefers-reduced-motion:reduce){.pwa-bottom-nav *{transition:none!important}}

.pwa-sms-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
@media(max-width:600px){.pwa-sms-actions .btn{flex:1;min-height:43px;white-space:nowrap}}
