.pwa-status { position:fixed; z-index:12000; top:0; left:0; right:0; padding:10px 16px; text-align:center; background:#92400e; color:#fff; font:600 14px/1.4 Arial,sans-serif; }
.pwa-install { position:fixed; z-index:8500; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); min-height:44px; padding:10px 16px; border:0; border-radius:999px; background:#0b3d91; color:#fff; box-shadow:0 8px 28px rgba(11,61,145,.3); font-weight:700; }
.pwa-modal { position:fixed; z-index:13000; inset:0; display:grid; place-items:center; padding:20px; background:rgba(2,6,23,.65); }
.pwa-modal[hidden],.pwa-update[hidden],.pwa-status[hidden],.pwa-install[hidden] { display:none!important; }
.pwa-modal-card { position:relative; width:min(360px,100%); padding:28px; border-radius:22px; background:#fff; text-align:center; box-shadow:0 24px 80px rgba(0,0,0,.35); }
.pwa-modal-card img { width:84px; height:84px; border-radius:18px; }
.pwa-modal-card h2 { margin:14px 0 8px; color:#0b3d91; }
.pwa-modal-card p { color:#475569; line-height:1.7; }
.pwa-close { position:absolute; top:10px; right:12px; border:0; background:transparent; color:#64748b; font-size:28px; }
.pwa-understood { width:100%; min-height:44px; border:0; border-radius:10px; background:#0b3d91; color:#fff; font-weight:700; }
.pwa-update { position:fixed; z-index:12500; left:50%; bottom:max(18px,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:14px; transform:translateX(-50%); padding:10px 12px 10px 16px; border-radius:14px; background:#0f172a; color:#fff; box-shadow:0 12px 36px rgba(0,0,0,.3); white-space:nowrap; }
.pwa-update button { border:0; border-radius:9px; padding:8px 12px; background:#2563eb; color:#fff; }
@media (display-mode:standalone) { body { padding-top:env(safe-area-inset-top); } .pwa-install { display:none!important; } }
