/* PWA install gate only. Keep existing app styling unchanged. */
.pwa-install-gate { display:none; }
html.pwa-install-required body { margin:0; }
html.pwa-install-required .app { display:none !important; }
html.pwa-install-required .pwa-install-gate { display:flex; min-height:100dvh; align-items:center; justify-content:center; background:#f7faff; box-sizing:border-box; padding:24px 18px; font-family:Arial, sans-serif; color:#102b58; }
.pwa-install-card { width:100%; max-width:440px; text-align:center; margin:auto; }
.pwa-logo { width:136px; height:136px; object-fit:contain; border-radius:25px; margin:8px auto 25px; display:block; }
.pwa-install-card h1 { font-size:26px; line-height:1.25; margin:12px 0 18px; color:#102b58; }
.pwa-install-card p { font-size:16px; line-height:1.65; color:#52709c; }
.pwa-subtitle { margin-bottom:24px; }
.pwa-requirement { background:#e9f3ff; color:#174c92 !important; padding:18px; border-radius:16px; margin:25px 0; }
.pwa-install-button, .pwa-secondary-button { width:100%; min-height:53px; border:0; border-radius:12px; font-size:16px; font-weight:700; cursor:pointer; margin-top:12px; }
.pwa-install-button { background:#0867db; color:white; }
.pwa-secondary-button { background:#e8f1ff; color:#164f99; }
.pwa-install-help { font-size:14px !important; margin:20px 0; }
.pwa-steps { text-align:left; margin:25px auto; max-width:360px; }
.pwa-steps div { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:16px; }
.pwa-steps b { display:inline-flex; justify-content:center; align-items:center; background:#0867db; color:#fff; border-radius:50%; width:33px; height:33px; flex-shrink:0; }
.pwa-progress { height:11px; background:#dceafe; border-radius:12px; overflow:hidden; margin:28px 0 10px; }
.pwa-progress-moving { width:35%; height:100%; background:#0867db; border-radius:12px; animation:pwa-loading 1.6s ease-in-out infinite alternate; }
@keyframes pwa-loading { from {transform:translateX(0);} to {transform:translateX(185%);} }
.pwa-done-icon { width:100px; height:100px; margin:0 auto 25px; display:grid; place-items:center; background:#d7eaff; color:#0867db; border-radius:24px; font-size:60px; }
[hidden] { display:none !important; }

/* Blue CSE PWA installation palette, scoped to install gate only */
html.pwa-install-required .pwa-install-gate { background:linear-gradient(180deg,#f2f8ff 0%,#ffffff 56%,#e8f3ff 100%); }
.pwa-install-button { background:linear-gradient(110deg,#0759c7,#0879ed); box-shadow:0 6px 16px rgba(5,92,199,.17); }
.pwa-install-button:active { filter:brightness(.92); }
.pwa-install-card h1 { color:#073e88; }
.pwa-progress-moving { width:35%; animation:pwa-loading 1.6s ease-in-out infinite alternate; }
@media (prefers-reduced-motion:reduce) { .pwa-progress-moving { animation-duration:3s; } }
