.plan-upgrade-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .2s ease;backdrop-filter:blur(2px)}[data-theme=dark] .plan-upgrade-overlay{background:rgba(0,0,0,.7)}.plan-upgrade-overlay.show{opacity:1;visibility:visible}.plan-upgrade-modal{background:var(--color-background);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.2);width:540px;max-width:90vw;max-height:90vh;overflow-y:auto;transform:scale(.95);transition:transform .2s ease;border:1px solid var(--color-border)}[data-theme=dark] .plan-upgrade-modal{box-shadow:0 12px 32px rgba(0,0,0,.5)}.plan-upgrade-overlay.show .plan-upgrade-modal{transform:scale(1)}.plan-upgrade-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.plan-upgrade-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:.375rem}.plan-upgrade-title i{color:#f59e0b;font-size:var(--text-base)}.plan-upgrade-close{background:none;border:none;font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.plan-upgrade-close:hover{background:var(--color-hover);color:var(--color-text-primary)}.plan-upgrade-content{padding:1rem}.plan-upgrade-icon{text-align:center;margin-bottom:.75rem}.plan-upgrade-icon i{font-size:var(--text-4xl);background:linear-gradient(135deg,#635bff,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-upgrade-message{text-align:center;margin-bottom:1rem}.plan-upgrade-message h4{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0 0 .375rem;line-height:1.4}.plan-upgrade-message p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.plan-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin-bottom:1rem}.plan-card{position:relative;background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;padding:.625rem;cursor:pointer;transition:all .15s ease;text-align:center}.plan-card:hover{border-color:#635bff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(99,91,255,.15)}.plan-card.selected{border-color:#635bff;background:linear-gradient(135deg,rgba(99,91,255,.05),rgba(139,92,246,.05));box-shadow:0 4px 12px rgba(99,91,255,.2)}.plan-card-header{display:flex;flex-direction:column;gap:.25rem}.plan-card-name{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.plan-card-current-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);z-index:1}.current-badge{font-size:var(--text-2xs);font-weight:500;color:white;text-transform:uppercase;letter-spacing:.5px;background:#10b981;padding:.0625rem .25rem;border-radius:2px;white-space:nowrap}.plan-card-price{font-size:var(--text-lg);font-weight:700;color:#635bff}.plan-card[data-plan-id=Free] .plan-card-price,.plan-card[data-plan-id=free] .plan-card-price{color:var(--color-text-secondary);font-size:var(--text-base)}.plan-card.selected .plan-card-price{background:linear-gradient(135deg,#635bff,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-card.selected[data-plan-id=Free] .plan-card-price,.plan-card.selected[data-plan-id=free] .plan-card-price{color:var(--color-text-secondary);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset}.plan-card-period{font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary)}.enterprise-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.plan-card-selected-badge{position:absolute;top:-6px;right:-6px;background:#10b981;color:white;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);box-shadow:0 2px 6px rgba(16,185,129,.4)}.plan-benefits{margin-bottom:1rem;padding:.75rem;background:var(--color-surface);border-radius:6px;border:1px solid var(--color-border)}.plan-benefits h5{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;margin:0 0 .5rem;display:flex;align-items:center;gap:.375rem}.plan-benefits h5 i{color:#635bff;font-size:var(--text-xs)}.plan-benefits ul{list-style:none;padding:0;margin:0}.plan-benefits li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4}.plan-benefits li i{color:#10b981;font-size:var(--text-sm);flex-shrink:0}.plan-benefits li i.text-red{color:#ef4444}.plan-benefits li i.text-yellow{color:#f59e0b}.plan-benefits li span{flex:1}.plan-pricing-preview{text-align:center;margin-bottom:0;margin-top:.375rem}.pricing-badge{display:inline-flex;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem 1rem;background:linear-gradient(135deg,#635bff,#8b5cf6);border-radius:6px;margin-bottom:.375rem}.pricing-label{font-size:var(--text-xs);color:rgba(255,255,255,.9);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pricing-amount{font-size:var(--text-xl);font-weight:700;color:white}.pricing-hint{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.plan-upgrade-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.btn-upgrade-secondary{background:var(--color-background);color:var(--color-text-secondary);border:1px solid var(--color-border);padding:.4rem .875rem;border-radius:4px;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.375rem}.btn-upgrade-secondary:hover{background:var(--color-hover);border-color:var(--color-border-hover)}.btn-upgrade-primary{background:linear-gradient(135deg,#635bff,#8b5cf6);color:white;border:none;padding:.4rem 1rem;border-radius:4px;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.375rem;box-shadow:0 2px 6px rgba(99,91,255,.3)}.btn-upgrade-primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(99,91,255,.4)}.btn-upgrade-primary i{color:#f59e0b;font-size:var(--text-sm)}@media (max-width:640px){.plan-upgrade-modal{width:95%;max-width:95%}.plan-upgrade-content{padding:1rem}.plan-comparison{flex-direction:column;gap:.75rem}.plan-comparison-arrow{transform:rotate(90deg)}.plan-upgrade-actions{flex-direction:column-reverse;gap:.5rem}.btn-upgrade-primary,.btn-upgrade-secondary{width:100%}}.downgrade-warning-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;z-index:10001;border-radius:12px}.downgrade-warning-content{background:var(--color-background);padding:1.25rem;border-radius:6px;max-width:360px;border:1px solid var(--color-border);box-shadow:0 6px 20px rgba(0,0,0,.3)}.downgrade-warning-content h4{margin:0 0 .75rem;color:#f59e0b;display:flex;align-items:center;gap:.375rem;font-size:var(--text-md)}.downgrade-warning-content h4 i{color:#f59e0b;font-size:var(--text-base)}.downgrade-warning-content p{margin:0 0 .5rem;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.downgrade-warning-content p:last-of-type{margin-bottom:1rem;font-weight:500;color:var(--color-text-primary)}.downgrade-warning-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-warning-cancel,.btn-warning-confirm{padding:.4rem .875rem;border:none;border-radius:4px;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.375rem}.btn-warning-cancel{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-warning-cancel:hover{background:var(--color-surface-alt)}.btn-warning-confirm{background:#f59e0b;color:white}.btn-warning-confirm:hover:not(:disabled){background:#d97706}.btn-warning-confirm:disabled{opacity:.6;cursor:not-allowed}