.pwa-network-banner{
 position:fixed;
 z-index:99999;
 top:calc(10px + env(safe-area-inset-top));
 left:50%;
 transform:translateX(-50%);
 display:flex;
 align-items:center;
 gap:7px;
 max-width:calc(100vw - 24px);
 padding:9px 13px;
 border-radius:999px;
 box-shadow:0 10px 28px rgba(10,29,77,.18);
 font:800 .72rem/1 Nunito,system-ui,sans-serif;
 white-space:nowrap;
}
.pwa-network-banner[hidden]{display:none}
.pwa-network-banner.is-offline{background:#0A1D4D;color:#fff}
.pwa-network-banner.is-offline span{color:#FBBF24}
.pwa-network-banner.is-online{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}

.pwa-floating-install{
 position:fixed;
 z-index:9998;
 right:14px;
 bottom:calc(14px + env(safe-area-inset-bottom));
 border:1px solid rgba(10,29,77,.10);
 border-radius:999px;
 background:rgba(255,255,255,.96);
 color:#0A1D4D;
 padding:10px 13px;
 display:flex;
 align-items:center;
 gap:7px;
 box-shadow:0 12px 32px rgba(10,29,77,.16);
 font:900 .72rem/1 Nunito,system-ui,sans-serif;
 cursor:pointer;
 backdrop-filter:blur(10px);
}
.pwa-floating-install[hidden]{display:none}
.pwa-floating-install span{
 width:22px;height:22px;border-radius:8px;display:grid;place-items:center;
 background:linear-gradient(135deg,#6D28D9,#EC4899);
 color:#fff;font-size:1rem;
}
html.pwa-installed [data-pwa-install]{display:none!important}

.btn-pwa-install{
 display:inline-flex;
 align-items:center;
 gap:8px;
}
.btn-pwa-install[hidden]{display:none!important}

.pwa-install-modal{
 position:fixed;inset:0;z-index:100000;
 display:none;place-items:center;
 padding:20px;
 background:rgba(5,14,38,.55);
 backdrop-filter:blur(6px);
}
.pwa-install-modal.is-open{display:grid}
.pwa-install-modal-card{
 width:min(390px,100%);
 position:relative;
 background:#fff;
 border-radius:25px;
 padding:25px 22px 20px;
 text-align:center;
 box-shadow:0 25px 80px rgba(10,29,77,.28);
}
.pwa-install-modal-close{
 position:absolute;top:10px;right:12px;
 width:34px;height:34px;border:0;border-radius:50%;
 background:#f5f6f8;color:#0A1D4D;font-size:1.45rem;cursor:pointer;
}
.pwa-install-modal-icon{
 width:58px;height:58px;border-radius:19px;margin:2px auto 13px;
 display:grid;place-items:center;
 background:#f2ebff;color:#6D28D9;font-size:1.5rem;font-weight:900;
}
.pwa-install-modal-card h2{margin:0;color:#0A1D4D}
.pwa-install-modal-card p{margin:10px auto 18px;color:#737987;line-height:1.5;font-size:.88rem}
.pwa-install-modal-ok{
 width:100%;border:0;border-radius:15px;padding:12px 15px;
 background:#0A1D4D;color:#fff;font-weight:900;cursor:pointer;
}

@media(max-width:760px){
 .pwa-floating-install{right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}
}

