.pwa-install-btn{position:fixed;bottom:5.5rem;right:1.5rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1e40af 0,#1e3a8a 100%);color:#fff;font-size:.9375rem;font-weight:600;border:none;border-radius:9999px;box-shadow:0 4px 14px rgba(30,64,175,.4);cursor:pointer;z-index:40;transition:all .2s ease;opacity:0;transform:translateY(20px);visibility:hidden}.pwa-install-btn.visible{opacity:1;transform:translateY(0);visibility:visible}.pwa-install-btn:hover{background:linear-gradient(135deg,#1e3a8a 0,#172554 100%);box-shadow:0 6px 20px rgba(30,64,175,.5);transform:translateY(-2px)}.pwa-install-btn:active{transform:translateY(0)}.pwa-install-btn svg{width:20px;height:20px;flex-shrink:0}.pwa-install-btn .pwa-install-text{white-space:nowrap}.pwa-install-dismiss{margin-left:.25rem;padding:.25rem;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.pwa-install-dismiss:hover{background:rgba(255,255,255,.25)}.pwa-install-dismiss svg{width:14px;height:14px}.pwa-update-banner{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.875rem 1.5rem;background:linear-gradient(90deg,#0d9488 0,#0f766e 100%);color:#fff;font-size:.9375rem;z-index:9999;transform:translateY(100%);transition:transform .3s ease}.pwa-update-banner.visible{transform:translateY(0)}.pwa-update-banner p{margin:0;flex:1;text-align:center}.pwa-update-btn{padding:.5rem 1rem;background:#fff;color:#0d9488;font-size:.875rem;font-weight:600;border:none;border-radius:.375rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.pwa-update-btn:hover{background:#f0fdfa;transform:scale(1.02)}.pwa-update-dismiss{padding:.375rem;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.pwa-update-dismiss:hover{background:rgba(255,255,255,.25)}.pwa-update-dismiss svg{width:18px;height:18px;color:#fff}.dark .pwa-install-btn{background:linear-gradient(135deg,#3b82f6 0,#1e40af 100%);box-shadow:0 4px 14px rgba(59,130,246,.3)}.dark .pwa-install-btn:hover{background:linear-gradient(135deg,#2563eb 0,#1e3a8a 100%);box-shadow:0 6px 20px rgba(59,130,246,.4)}.dark .pwa-update-banner{background:linear-gradient(90deg,#14b8a6 0,#0d9488 100%)}@media (max-width:640px){.pwa-install-btn{bottom:5rem;right:1rem;padding:.625rem 1rem;font-size:.875rem}.pwa-install-btn svg{width:18px;height:18px}.pwa-update-banner{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;font-size:.875rem}.pwa-update-banner p{flex-basis:100%;order:1}.pwa-update-btn{flex:1;order:2}.pwa-update-dismiss{order:3}}@media (prefers-reduced-motion:reduce){.pwa-install-btn,.pwa-update-banner{transition:none}.pwa-install-btn.visible{transform:translateY(0)}.pwa-install-btn:hover{transform:none}.pwa-update-btn:hover{transform:none}}@media (display-mode:standalone){.pwa-install-btn{display:none!important}}@media (display-mode:standalone),(display-mode:fullscreen){.pwa-install-btn{display:none!important}}@keyframes pwa-slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pwa-pulse{0%,100%{box-shadow:0 4px 14px rgba(30,64,175,.4)}50%{box-shadow:0 4px 20px rgba(30,64,175,.6)}}.pwa-install-btn.pulse{animation:pwa-pulse 2s ease-in-out 3}@media (prefers-reduced-motion:reduce){.pwa-install-btn.pulse{animation:none}}