.pwa-install-banner{position:fixed;bottom:-100px;left:0;right:0;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:1rem;z-index:10000;box-shadow:0 -4px 20px rgba(0,0,0,.2);transition:transform .3s ease,bottom .3s ease;transform:translateY(100%)}.pwa-install-banner.visible{bottom:0;transform:translateY(0)}.pwa-install-content{display:flex;align-items:center;gap:1rem;max-width:600px;margin:0 auto}.pwa-install-icon{flex-shrink:0;width:48px;height:48px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.pwa-install-icon img{width:100%;height:100%;object-fit:contain}.pwa-install-text{flex:1;min-width:0}.pwa-install-text strong{display:block;font-size:1rem;font-weight:600;margin-bottom:.25rem}.pwa-install-text span{display:block;font-size:.85rem;opacity:.9}.pwa-install-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.pwa-install-btn{background:#fff;color:#667eea;border:none;padding:.6rem 1.2rem;border-radius:25px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.pwa-install-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.2)}.pwa-install-btn:active{transform:scale(.98)}.pwa-install-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;-webkit-tap-highlight-color:rgba(255,255,255,0.3);touch-action:manipulation;position:relative;z-index:1}.pwa-install-close:hover{background:rgba(255,255,255,.3)}.ios-share-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 2px}.ios-share-icon svg{width:18px;height:18px}.pwa-update-notification{position:fixed;top:120px;left:50%;transform:translateX(-50%) translateY(-20px);background:#2d3748;color:#fff;padding:.75rem 1rem;border-radius:8px;display:flex;align-items:center;gap:1rem;z-index:10001;box-shadow:0 4px 15px rgba(0,0,0,.2);opacity:0;transition:opacity .3s,transform .3s}.pwa-update-notification.visible{opacity:1;transform:translateX(-50%) translateY(0)}.pwa-update-notification button{background:#667eea;color:#fff;border:none;padding:.4rem .8rem;border-radius:5px;cursor:pointer;font-weight:500}.pwa-update-notification button:hover{background:#5a6fd6}@media (max-width:480px){.pwa-install-banner{padding:.875rem}.pwa-install-content{gap:.75rem}.pwa-install-icon{width:40px;height:40px}.pwa-install-text strong{font-size:.9rem}.pwa-install-text span{font-size:.8rem}.pwa-install-btn{padding:.5rem 1rem;font-size:.85rem}}@media (prefers-color-scheme:dark){.pwa-install-banner{background:linear-gradient(135deg,#4c5fd5 0,#6b46a1 100%)}}[data-theme=dark] .pwa-install-banner,body.dark-mode .pwa-install-banner{background:linear-gradient(135deg,#4c5fd5 0,#6b46a1 100%)}.offline-indicator{position:fixed;top:-60px;left:0;right:0;z-index:10002;transition:top .3s ease}.offline-indicator.visible{top:0}.offline-indicator-content{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.offline-indicator.offline .offline-indicator-content{background:#ef4444;color:#fff}.offline-indicator.online .offline-indicator-content{background:#22c55e;color:#fff}.offline-indicator-icon{display:flex;align-items:center;justify-content:center}.offline-indicator-icon i{font-size:1rem}.notification-prompt{position:fixed;bottom:-120px;left:1rem;right:1rem;max-width:420px;margin:0 auto;z-index:9999;transition:bottom .3s ease,opacity .3s ease;opacity:0}.notification-prompt.visible{bottom:1rem;opacity:1}.notification-prompt-content{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 10px 40px rgba(0,0,0,.15);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.notification-prompt-icon{width:48px;height:48px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-prompt-icon i{color:#fff;font-size:1.25rem}.notification-prompt-text{flex:1;min-width:150px}.notification-prompt-text strong{display:block;font-size:.95rem;color:#1f2937;margin-bottom:.25rem}.notification-prompt-text span{display:block;font-size:.85rem;color:#6b7280}.notification-prompt-actions{display:flex;gap:.5rem;flex-shrink:0}.notification-prompt-allow{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:transform .2s,box-shadow .2s}.notification-prompt-allow:hover{transform:scale(1.02);box-shadow:0 4px 12px rgba(102,126,234,.3)}.notification-prompt-dismiss{background:#f3f4f6;color:#6b7280;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:500;font-size:.85rem;cursor:pointer;transition:background .2s}.notification-prompt-dismiss:hover{background:#e5e7eb}[data-theme=dark] .notification-prompt-content{background:#1e293b}[data-theme=dark] .notification-prompt-text strong{color:#f1f5f9}[data-theme=dark] .notification-prompt-text span{color:#94a3b8}[data-theme=dark] .notification-prompt-dismiss{background:#334155;color:#cbd5e1}[data-theme=dark] .notification-prompt-dismiss:hover{background:#475569}@media (max-width:480px){.notification-prompt{left:.5rem;right:.5rem}.notification-prompt-content{padding:1rem}.notification-prompt-icon{width:40px;height:40px}.notification-prompt-actions{width:100%;justify-content:flex-end}}