.premium-badge{border-radius:12px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;line-height:1;transition:all .3s;display:inline-flex}.premium-badge-lock{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 2px 8px #667eea4d}.premium-badge-premium{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);box-shadow:0 2px 8px #f5576c4d}.premium-badge-free{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);box-shadow:0 2px 8px #4facfe4d}.premium-badge-small{gap:.2rem;padding:.2rem .5rem;font-size:.65rem}.premium-badge-small .premium-badge-icon{font-size:.75rem}.premium-badge-medium{gap:.25rem;padding:.25rem .75rem;font-size:.75rem}.premium-badge-medium .premium-badge-icon{font-size:.875rem}.premium-badge-large{gap:.375rem;padding:.5rem 1rem;font-size:.875rem}.premium-badge-large .premium-badge-icon{font-size:1rem}.premium-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.premium-badge-icon{justify-content:center;align-items:center;display:inline-flex}.premium-badge-text{white-space:nowrap;display:inline-block}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.premium-badge-lock:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/200% 100%;animation:3s infinite shimmer;position:absolute;inset:0}.premium-badge{position:relative;overflow:hidden}
.upgrade-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.upgrade-modal{background:#fff;border-radius:20px;width:100%;max-width:550px;max-height:90vh;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.upgrade-modal-close{cursor:pointer;color:#666;z-index:10;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.upgrade-modal-close:hover{background:#0000001a;transform:rotate(90deg)}.upgrade-modal-content{padding:2.5rem 2rem 2rem}.upgrade-modal-header{text-align:center;margin-bottom:2rem}.upgrade-modal-icon{margin-bottom:1rem;font-size:4rem;animation:1s infinite bounce}.upgrade-modal-title{color:#1a202c;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.upgrade-modal-subtitle{color:#666;margin:0;font-size:.95rem}.upgrade-modal-pricing{text-align:center;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.upgrade-modal-price{justify-content:center;align-items:baseline;gap:.25rem;margin-bottom:.5rem;display:flex}.upgrade-modal-price-amount{font-size:3rem;font-weight:900;line-height:1}.upgrade-modal-price-period{opacity:.9;font-size:1.25rem}.upgrade-modal-price-detail{opacity:.9;margin:0;font-size:.85rem}.upgrade-modal-features{margin-bottom:1.5rem}.upgrade-modal-features h3{color:#1a202c;margin:0 0 1rem;font-size:1.1rem;font-weight:700}.upgrade-modal-features-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.upgrade-modal-features-list li{color:#4a5568;align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.feature-icon{flex-shrink:0;font-size:1.1rem}.upgrade-modal-free-info{background:#f7fafc;border-left:4px solid #4299e1;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.upgrade-modal-free-info p{color:#2d3748;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.upgrade-modal-free-info ul{color:#4a5568;margin:0;padding:0;font-size:.875rem;list-style:none}.upgrade-modal-free-info li{margin:.25rem 0}.upgrade-modal-error{color:#c53030;background:#fff5f5;border:1px solid #fc8181;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.upgrade-modal-actions{flex-direction:column;gap:.75rem;display:flex}.upgrade-modal-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.upgrade-modal-btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 14px #667eea66}.upgrade-modal-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.upgrade-modal-btn-primary:disabled{opacity:.7;cursor:not-allowed}.upgrade-modal-btn-secondary{color:#4a5568;background:#fff;border:2px solid #e2e8f0}.upgrade-modal-btn-secondary:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.upgrade-modal-not-connected{text-align:center;background:#fef5e7;border-radius:12px;margin-bottom:1rem;padding:1rem}.upgrade-modal-not-connected p{color:#744210;margin:0 0 1rem;font-weight:600}.upgrade-modal-footer{text-align:center;border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.upgrade-modal-footer-text{color:#718096;margin:0;font-size:.8rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:640px){.upgrade-modal-content{padding:2rem 1.5rem 1.5rem}.upgrade-modal-title{font-size:1.5rem}.upgrade-modal-price-amount{font-size:2.5rem}.upgrade-modal-features-list li{font-size:.875rem}}
