.pwa-install-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);z-index:1000;display:none;max-width:95%;width:500px;opacity:0;transform:translateX(-50%) translateY(100px);transition:.3s ease-out;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.pwa-install-banner.show{opacity:1;transform:translateX(-50%) translateY(0)}.pwa-install-banner.dismissed{opacity:0;transform:translateX(-50%) translateY(100px)}.pwa-banner-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.pwa-banner-text{flex:1}.pwa-banner-title{font-weight:600;font-size:16px;margin-bottom:4px;color:#fff}.pwa-banner-title .highlight{color:gold;font-weight:700}.pwa-banner-description{font-size:13px;opacity:.9;line-height:1.3}.pwa-banner-actions{display:flex;gap:8px;align-items:center}.pwa-install-btn{background:linear-gradient(45deg,gold,#ffed4e);color:#1a1a1a;border:none;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:.3s;box-shadow:0 4px 12px rgba(255,215,0,.3);animation:2s infinite pulse}.pwa-install-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,215,0,.4);background:linear-gradient(45deg,#ffed4e,gold)}.pwa-dismiss-btn{background:0 0;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:.2s}.pwa-dismiss-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.pwa-update-banner{position:fixed;top:20px;right:20px;background:#4caf50;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1001;opacity:0;transform:translateX(100%);transition:.3s ease-out;max-width:300px}.pwa-update-banner.show{opacity:1;transform:translateX(0)}.pwa-update-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.pwa-update-content i{font-size:18px}.pwa-update-content span{flex:1;font-size:14px}.pwa-update-content button{background:#fff;color:#4caf50;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.pwa-update-content button:hover{background:#f5f5f5}@media (max-width:768px){.pwa-install-banner{bottom:10px;left:10px;right:10px;transform:none;width:auto;max-width:none}.pwa-install-banner.show{transform:translateY(0)}.pwa-install-banner.dismissed{transform:translateY(100px)}.pwa-banner-content{flex-direction:column;text-align:center;gap:12px}.pwa-banner-actions{justify-content:center;width:100%}.pwa-install-btn{flex:1;min-width:120px}.pwa-update-banner{top:10px;right:10px;left:10px;max-width:none}}.ios-install-popup{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.ios-install-popup ol{text-align:left;padding-left:20px}.ios-install-popup li{margin-bottom:8px;line-height:1.4}@media (prefers-contrast:high){.pwa-install-banner{background:#000;border:2px solid #fff}.pwa-install-btn{background:#fff;color:#000;border:2px solid #000}}@media (prefers-reduced-motion:reduce){.pwa-dismiss-btn,.pwa-install-banner,.pwa-install-btn,.pwa-update-banner{transition:none;animation:none}@keyframes pulse{0%,100%{transform:scale(1)}}}