﻿.pwa-install-button{position:fixed;bottom:20px;right:20px;z-index:9999;padding:12px 24px;background:linear-gradient(135deg,#007aff 0%,#0051d5 100%);color:white;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px rgba(0,122,255,0.3);display:flex;align-items:center;gap:8px;transition:all 0.3s ease;animation:slideInUp 0.5s ease}.pwa-install-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,122,255,0.4)}.pwa-install-button:active{transform:translateY(0)}.pwa-install-button i{font-size:16px}.pwa-update-notification{position:fixed;top:20px;right:20px;z-index:10000;background:white;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.15);padding:16px 20px;max-width:400px;animation:slideInDown 0.5s ease}.pwa-update-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pwa-update-content i{color:#007aff;font-size:20px}.pwa-update-content span{flex:1;min-width:200px;font-size:14px;color:#333;font-weight:500}.pwa-update-btn,.pwa-dismiss-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s ease}.pwa-update-btn{background:#007aff;color:white}.pwa-update-btn:hover{background:#0051d5}.pwa-dismiss-btn{background:#f0f0f0;color:#666}.pwa-dismiss-btn:hover{background:#e0e0e0}.pwa-connection-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;background:white;border-radius:24px;padding:12px 24px;box-shadow:0 4px 20px rgba(0,0,0,0.15);display:flex;align-items:center;gap:10px;animation:slideInUp 0.3s ease}.pwa-connection-status.fade-out{animation:fadeOut 0.3s ease;opacity:0}.pwa-connection-status.pwa-success{background:#34c759;color:white}.pwa-connection-status.pwa-warning{background:#ff9500;color:white}.pwa-connection-status i{font-size:16px}.pwa-connection-status span{font-size:14px;font-weight:600}.pwa-offline::before{content:'';position:fixed;top:0;left:0;right:0;height:3px;background:#ff9500;z-index:99999;animation:pulse 2s ease-in-out infinite}.pwa-standalone{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.pwa-standalone .apple-header{padding-top:max(12px,env(safe-area-inset-top))}.pwa-loading{position:relative;pointer-events:none;opacity:0.6}.pwa-loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #007aff;border-top-color:transparent;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (max-width:768px){.pwa-install-button{bottom:80px;right:16px;font-size:13px;padding:10px 20px}.pwa-update-notification{top:16px;right:16px;left:16px;max-width:none}.pwa-connection-status{bottom:80px;left:16px;right:16px;transform:none}}@supports (-webkit-touch-callout:none){.pwa-standalone{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}}@media screen and (orientation:portrait){.apple-mobile-web-app-splash{background:linear-gradient(135deg,#007aff 0%,#0051d5 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;color:white}}body.pwa-standalone{overscroll-behavior-y:contain}.notification-badge{position:relative}.notification-badge::after{content:attr(data-count);position:absolute;top:-8px;right:-8px;background:#ff3b30;color:white;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.offline-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center;background:#f5f5f7}.offline-page i{font-size:64px;color:#999;margin-bottom:24px}.offline-page h1{font-size:28px;color:#1d1d1f;margin-bottom:12px;font-weight:700}.offline-page p{font-size:16px;color:#666;max-width:400px;line-height:1.5}.offline-page button{margin-top:24px;padding:12px 32px;background:#007aff;color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background 0.2s ease}.offline-page button:hover{background:#0051d5}