.pwa-update-banner{position:fixed;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));z-index:9999;display:flex;align-items:center;gap:1rem;width:min(calc(100% - 2rem),44rem);padding:.85rem .95rem;transform:translateX(-50%);border:1px solid rgba(21,63,44,.18);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(19,48,35,.2);color:#173e2d}
.pwa-update-banner__copy{display:grid;gap:.18rem;min-width:0;flex:1}
.pwa-update-banner__copy strong{font-size:.92rem}
.pwa-update-banner__copy span{color:#5b6861;font-size:.82rem;line-height:1.42}
.pwa-update-banner__button{appearance:none;border:0;border-radius:999px;background:#153f2c;color:#fff;padding:.58rem .85rem;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;white-space:nowrap}
.pwa-update-banner__button:focus-visible,.pwa-install-banner__dismiss:focus-visible{outline:3px solid rgba(21,63,44,.25);outline-offset:2px}
.pwa-install-banner__dismiss{appearance:none;border:0;background:transparent;color:#66736c;width:2rem;height:2rem;padding:0;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer;border-radius:999px;flex:0 0 auto}
.pwa-install-banner .pwa-update-banner__copy{max-width:38rem}
@media(max-width:620px){.pwa-update-banner{align-items:flex-start;gap:.65rem;border-radius:14px;padding:.8rem}.pwa-update-banner__copy span{font-size:.8rem}.pwa-update-banner__button{flex:0 0 auto}.pwa-install-banner__dismiss{width:1.8rem;height:1.8rem}}
@media (display-mode: standalone) and (max-width:760px){.pwa-update-banner{bottom:calc(78px + env(safe-area-inset-bottom,0px));width:min(calc(100% - 24px),44rem)}}
