.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .2s ease;backdrop-filter:blur(1px)}[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.6)}.modal-overlay.show{opacity:1;visibility:visible}.modal{background:var(--color-background);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.15);width:420px;min-width:380px;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] .modal{box-shadow:0 8px 24px rgba(0,0,0,.4)}.modal-overlay.show .modal{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.modal-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:var(--text-lg);color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:3px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.modal-close:hover{background:#e53e3e;color:white}.modal-content{padding:1rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.confirm-modal{width:420px;min-width:380px}.confirm-content-row{display:flex;align-items:flex-start;gap:1.75rem}.confirm-icon{font-size:var(--text-3xl);flex-shrink:0;margin-top:.125rem;display:flex;align-items:center;justify-content:center}.confirm-icon i{font-size:var(--text-4xl)}.confirm-icon.text-blue-500{color:#3b82f6}.confirm-icon.text-green-500{color:#10b981}.confirm-icon.text-yellow-500{color:#f59e0b}.confirm-icon.text-red-500{color:#ef4444}[data-theme=dark] .confirm-icon.text-blue-500{color:#60a5fa}[data-theme=dark] .confirm-icon.text-green-500{color:#34d399}[data-theme=dark] .confirm-icon.text-yellow-500{color:#fbbf24}[data-theme=dark] .confirm-icon.text-red-500{color:#f87171}.confirm-message{flex:1}.confirm-message p{font-size:var(--text-md);line-height:1.4;color:var(--color-text-primary);margin:0}.modal-actions .btn-primary{background:var(--color-primary);color:white;border:none;padding:.375rem 1rem;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:.5rem;min-width:70px}.modal-actions .btn-primary:hover{background:var(--color-primary-hover)}.modal-actions .btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);padding:.375rem 1rem;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:.5rem;min-width:70px}.modal-actions .btn-secondary:hover{background:var(--color-background);border-color:var(--color-border-hover)}.modal-actions .btn-danger{background:#ef4444;color:white;border:1px solid #ef4444;padding:.375rem 1rem;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:.5rem;min-width:70px}.modal-actions .btn-danger:hover{background:#dc2626;border-color:#dc2626}.modal-actions .btn-danger:disabled{opacity:.6;cursor:not-allowed}.error-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(1px)}[data-theme=dark] .error-dialog-overlay{background:rgba(0,0,0,.6)}.error-dialog{background:var(--color-background);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.15);width:420px;min-width:380px;max-width:90vw;border:1px solid var(--color-border)}[data-theme=dark] .error-dialog{box-shadow:0 8px 24px rgba(0,0,0,.4)}.error-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.error-dialog-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.error-dialog-close{background:none;border:none;font-size:var(--text-lg);color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:3px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.error-dialog-close:hover{background:#e53e3e;color:white}.error-dialog-content{padding:1rem}.error-content-row{display:flex;align-items:flex-start;gap:.75rem}.error-icon{font-size:var(--text-3xl);color:#e53e3e;flex-shrink:0;margin-top:.125rem}[data-theme=dark] .error-icon{color:#fc8181}.error-message{font-size:var(--text-md);line-height:1.4;color:var(--color-text-primary);margin:0;flex:1}.error-dialog-actions{padding:.75rem 1rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.5rem;background:var(--color-surface)}.error-dialog-actions .btn-primary{background:var(--color-primary);color:white;border:none;padding:.375rem 1rem;border-radius:4px;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease;min-width:70px}.error-dialog-actions .btn-primary:hover{background:var(--color-primary-hover)}@media (max-width:640px){.modal{width:95%;max-width:95%}.modal-actions,.modal-content,.modal-header{padding:1rem}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%;justify-content:center}.confirm-content{padding:.5rem 0}.confirm-icon{margin-bottom:.75rem}.confirm-icon,.confirm-icon i{font-size:var(--text-6xl)}}.modal.large{width:600px;max-width:95vw}.downgrade-warning-content{text-align:center}.downgrade-warning-content .warning-icon{font-size:var(--text-7xl);color:#f59e0b;margin-bottom:1rem}.downgrade-details h4{color:var(--color-text-primary);margin-bottom:.5rem;font-size:var(--text-3xl)}.downgrade-details p{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.5}.features-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;text-align:left}.keeping-features,.losing-features{background:var(--color-surface);padding:1rem;border-radius:8px;border:1px solid var(--color-border)}.losing-features{border-left:4px solid #ef4444}.keeping-features{border-left:4px solid #10b981}.keeping-features h5,.losing-features h5{font-size:var(--text-lg);font-weight:600;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.losing-features h5 i{color:#ef4444}.keeping-features h5 i{color:#10b981}.keeping-features ul,.losing-features ul{list-style:none;padding:0;margin:0}.keeping-features li,.losing-features li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:var(--text-lg);color:var(--color-text-secondary)}.losing-features li i{color:#ef4444;font-size:var(--text-base)}.keeping-features li i{color:#10b981;font-size:var(--text-base)}.retention-offer{margin-bottom:2rem}.offer-box{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:white;padding:1.5rem;border-radius:12px;text-align:center}.offer-box h5{font-size:var(--text-2xl);margin-bottom:.5rem;font-weight:600}.offer-box p{margin-bottom:1rem;opacity:.95;line-height:1.4}.savings-highlight{background:rgba(255,255,255,.2);padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:var(--text-2xl)}.downgrade-warning-content .modal-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center}.downgrade-warning-content .modal-actions .button-row{display:flex;gap:.75rem;align-items:center;justify-content:center}.retention-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;color:white;font-weight:600;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:var(--text-lg)}.retention-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.4)}.downgrade-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:500;padding:.625rem 1.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:var(--text-lg)}.downgrade-btn:hover{background:var(--color-hover)}.btn-link{text-decoration:none;color:var(--color-text-secondary);font-size:var(--text-md);display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;transition:color .2s ease}.btn-link:hover{color:var(--color-primary)}@media (max-width:768px){.modal.large{width:calc(100% - 2rem)}.features-comparison{grid-template-columns:1fr;gap:1rem}}.confirm-warnings{margin-top:1.25rem;padding:1rem;background:var(--color-surface);border-radius:6px;border:1px solid var(--color-border);border-left:4px solid #f59e0b}[data-theme=dark] .confirm-warnings{border-left-color:#fbbf24}.warnings-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.warnings-title i{color:#f59e0b;font-size:var(--text-xl)}[data-theme=dark] .warnings-title i{color:#fbbf24}.warnings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem}.warnings-list li{display:flex;align-items:flex-start;gap:.625rem;font-size:var(--text-md);line-height:1.5;color:var(--color-text-secondary)}.warnings-list li i{color:#f59e0b;font-size:var(--text-base);margin-top:.25rem;flex-shrink:0}[data-theme=dark] .warnings-list li i{color:#fbbf24}.warnings-list li span{flex:1}.confirm-checkbox{margin-top:1.25rem;padding:1rem;background:var(--color-background);border-radius:6px;border:1px solid var(--color-border)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--color-primary);flex-shrink:0}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-text{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);line-height:1.4}.modal-actions .btn-primary:disabled,.modal-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.modal-actions .btn-primary:disabled:hover,.modal-actions .btn-secondary:disabled:hover{background:var(--color-primary);border-color:var(--color-border)}.modal-actions .btn-danger:disabled:hover{background:#ef4444;border-color:#ef4444}.form-modal{display:flex;flex-direction:column;overflow:hidden}.form-modal.modal-small{width:400px;max-width:95vw}.form-modal.modal-medium{width:560px;max-width:95vw}.form-modal.modal-large{width:720px;max-width:95vw}.form-modal.modal-xlarge{width:900px;max-width:95vw;max-height:85vh}.form-modal .modal-header{padding:.875rem 1rem;gap:.75rem}.form-modal .modal-header-content{display:flex;align-items:center;gap:.75rem;flex:1}.form-modal .modal-header-icon{width:2rem;height:2rem;background:var(--color-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:white;font-size:var(--text-sm);flex-shrink:0}.form-modal .modal-header-text{flex:1}.form-modal .modal-title{font-size:var(--text-base);font-weight:600;margin:0}.form-modal .modal-subtitle{font-size:var(--text-xs);color:var(--color-text-secondary);margin:.125rem 0 0}.form-modal .form-modal-content{flex:1;overflow-y:auto;padding:.875rem 1rem}.form-modal .modal-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.form-modal .modal-footer .btn-primary,.form-modal .modal-footer .btn-secondary{padding:.5rem 1rem;font-size:var(--text-sm);border-radius:var(--radius-sm);min-width:auto}.form-modal .form-group{margin-bottom:.75rem}.form-modal .form-group:last-child{margin-bottom:0}.form-modal .form-label{display:block;font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.02em}.form-modal .form-input,.form-modal .form-select{width:100%;padding:.4rem .625rem;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-text-primary);transition:border-color .15s ease}.form-modal .form-input:focus,.form-modal .form-select:focus{outline:none;border-color:var(--color-primary)}.form-modal .form-textarea{width:100%;padding:.4rem .625rem;font-size:var(--text-sm);font-family:JetBrains Mono,Monaco,Menlo,monospace;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-text-primary);resize:vertical;min-height:100px;line-height:1.5;transition:border-color .15s ease}.form-modal .form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.form-modal .form-row .form-group{margin-bottom:0}.form-modal .form-error{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;color:#ef4444}.form-modal .form-error,.form-modal .form-error i,.form-modal .form-hint{font-size:var(--text-xs)}.form-modal .form-hint{color:var(--color-text-tertiary);margin-top:.25rem}.form-modal .form-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.form-modal .form-tab{padding:.375rem .75rem;font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;margin-bottom:-1px;text-transform:uppercase;letter-spacing:.02em}.form-modal .form-tab:hover{color:var(--color-text-primary)}.form-modal .form-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (max-width:768px){.form-modal.modal-large,.form-modal.modal-xlarge{width:calc(100% - 1rem);max-height:90vh}.form-modal .form-row{grid-template-columns:1fr}.form-modal .modal-footer{flex-direction:column-reverse}.form-modal .modal-footer .btn-primary,.form-modal .modal-footer .btn-secondary{width:100%;justify-content:center}}