.pwa-install-hidden{display:none!important}.pwa-install-visible{display:block;animation:slideInUp .4s ease-out}#pwa-install-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#12161EE0;color:#fff;padding:20px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.4),0 0 0 1px rgba(245,164,37,.2);z-index:9999;max-width:420px;width:90%;backdrop-filter:blur(10px)}.pwa-install-content{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.pwa-logo{width:50px;height:50px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.2);flex-shrink:0}.pwa-text{flex:1;min-width:200px}.pwa-text h3{margin:0 0 5px 0;font-size:18px;font-weight:700;letter-spacing:-.02em}.pwa-text p{margin:0;font-size:14px;opacity:.95;line-height:1.4}.pwa-actions{display:flex;gap:10px;margin-top:15px;width:100%}.pwa-actions button{flex:1;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 2px 8px rgba(0,0,0,.15)}.pwa-actions button:active{transform:scale(.98)}.pwa-btn-primary{background:#fff;color:#f5a425}.pwa-btn-primary:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.pwa-btn-secondary{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3)}.pwa-btn-secondary:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5)}@keyframes slideInUp{from{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:768px){#pwa-install-banner{bottom:10px;padding:15px;max-width:calc(100% - 20px)}.pwa-install-content{flex-direction:column;text-align:center;gap:12px}.pwa-logo{width:48px;height:48px}.pwa-text{min-width:auto}.pwa-text h3{font-size:16px}.pwa-text p{font-size:13px}.pwa-actions{flex-direction:column;gap:8px;margin-top:12px}.pwa-actions button{padding:10px 20px}}@media (max-width:480px){#pwa-install-banner{bottom:0;left:0;right:0;transform:none;border-radius:12px 12px 0 0;max-width:100%}@keyframes slideInUp{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@media print{#pwa-install-banner{display:none!important}}.pwa-ios-instructions{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001}.pwa-ios-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}.pwa-ios-modal{background:#12161EE0;border-radius:16px;padding:30px;max-width:380px;width:100%;text-align:center;position:relative;border:1px solid rgba(245,164,37,.3);box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .4s ease}.pwa-ios-close{position:absolute;top:10px;right:15px;background:0 0;border:none;font-size:28px;color:#888;cursor:pointer;transition:color .2s}.pwa-ios-close:hover{color:#f5a425}.pwa-ios-logo{width:80px;height:80px;border-radius:16px;margin-bottom:20px;box-shadow:0 8px 20px rgba(245,164,37,.3)}.pwa-ios-modal h3{color:#f5a425;font-size:22px;margin:0 0 25px 0;font-weight:700}.pwa-ios-steps{text-align:left;margin-bottom:25px}.pwa-ios-step{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:15px}.pwa-ios-step:last-child{border-bottom:none}.pwa-ios-step .step-num{width:30px;height:30px;background:linear-gradient(135deg,#f5a425,#e8941b);color:#0f1115;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.pwa-ios-step .ios-icon{font-size:18px}.pwa-ios-step strong{color:#f5a425}.pwa-ios-modal .pwa-btn-primary{padding:14px 40px;font-size:16px;background:linear-gradient(135deg,#f5a425,#e8941b);color:#0f1115;border:none;border-radius:10px;cursor:pointer;font-weight:700;transition:all .3s}.pwa-ios-modal .pwa-btn-primary:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(245,164,37,.4)}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.pwa-success-toast{animation:slideUp .3s ease,fadeOut .3s ease 4.7s forwards}@keyframes fadeOut{from{opacity:1}to{opacity:0}}