.connection-string-container{display:flex;flex-direction:column;gap:16px;background:transparent;padding:0;position:relative}.connection-string-dialog{background:transparent;border-radius:0;box-shadow:none;width:100%;padding:0;max-width:100%}@media (min-width: 1200px){.connection-string-dialog{max-width:800px;margin:0 auto}}.dialog-title-no-header{margin:0 0 16px;font-size:18px;font-weight:600;color:#333}@media (min-width: 1200px){.dialog-header h2,.dialog-title-no-header{font-size:16px;margin-bottom:12px}}.warning-box{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:12px;margin-bottom:20px;color:#856404;font-size:14px}@media (min-width: 1200px){.warning-box{padding:10px;margin-bottom:14px;font-size:12px}}.warning-box strong{display:block;margin-bottom:4px}.form-field{margin-bottom:20px}.required{color:#d32f2f}.form-field input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}@media (min-width: 1200px){.form-field{margin-bottom:14px}.form-field label{margin-bottom:4px;font-size:13px}.form-field input{padding:6px 10px;font-size:13px}.form-field small{font-size:11px;margin-top:3px}.form-field select{padding:6px 10px!important;font-size:13px!important}}.form-field input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-field small{display:block;margin-top:4px;font-size:12px;color:#666}.secret-input-group{display:flex;gap:8px;align-items:center}.secret-input-group input{flex:1}.toggle-secret{background:none;border:1px solid #ccc;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;min-width:44px;height:36px}@media (min-width: 1200px){.toggle-secret{padding:6px 10px;min-width:40px;height:32px;font-size:14px}}.toggle-secret:hover{background-color:#f0f0f0}.toggle-secret:disabled{opacity:.6;cursor:not-allowed}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}.cancel-button,.connect-button{padding:10px 20px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s}@media (min-width: 1200px){.dialog-actions{margin-top:16px;padding-top:12px;gap:10px}.cancel-button,.connect-button{padding:8px 16px;font-size:13px}}.connect-button.primary{background-color:#0078d4;color:#fff;border-color:#0078d4}.connect-button.primary:hover:not(:disabled){background-color:#106ebe}.connect-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button:hover:not(:disabled){background-color:#f0f0f0}.server-info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.server-info-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.server-info-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.server-info-modal-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.server-info-modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.server-info-modal-close:hover{background-color:#f0f0f0;color:#000}.server-info-modal-content{padding:20px}.server-info-item{margin-bottom:20px}.server-info-item label{display:block;font-weight:600;margin-bottom:8px;color:#333;font-size:14px}.server-info-value{display:flex;align-items:center;gap:12px;padding:10px;background:#f5f5f5;border-radius:4px}.server-info-value code{flex:1;font-family:Courier New,monospace;font-size:13px;color:#333;word-break:break-all}.copy-button{padding:6px 12px;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;white-space:nowrap;transition:background-color .2s}.copy-button:hover{background:#106ebe}.server-info-ip-list{display:flex;flex-direction:column;gap:8px}.server-info-ip-item{display:flex;align-items:center;gap:12px;padding:10px;background:#f5f5f5;border-radius:4px}.server-info-ip-item code{flex:1;font-family:Courier New,monospace;font-size:13px;color:#333}.server-info-interface{font-size:12px;color:#666;font-style:italic}.server-info-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.copy-all-button{flex:1;padding:12px 20px;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.copy-all-button:hover{background:#106ebe}.close-modal-button{padding:12px 20px;background:#fff;color:#333;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.close-modal-button:hover{background:#f0f0f0}.connection-status{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.connection-status.status-info{background-color:#e3f2fd;border:1px solid #2196f3;color:#1976d2}.connection-status.status-error{background-color:#ffebee;border:1px solid #f44336;color:#c62828}.status-icon{font-size:20px;flex-shrink:0}.status-content{flex:1}.status-step{font-weight:600;margin-bottom:4px;text-transform:capitalize}.status-message{font-size:13px;white-space:pre-line}.validation-errors{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;padding:12px;margin-bottom:16px;color:#c62828;font-size:14px}.validation-errors strong{display:block;margin-bottom:8px}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:4px}.field-error{border-color:#f44336!important;background-color:#ffebee!important}.field-hint{border-color:#4caf50!important}.hint-success{color:#2e7d32;font-weight:500}.hint-error{color:#c62828;font-weight:500}.info-box{margin-top:8px;padding:12px;background:#e3f2fd;border-radius:4px;font-size:13px}.info-box strong{display:block;margin-bottom:4px;color:#1976d2}.info-box p{margin:8px 0 0;color:#424242}.info-box ul{margin:8px 0 0 20px;padding:0;color:#424242}.info-box li{margin-bottom:4px}.spinner{animation:spin 1s linear infinite}.auth-method-container{display:flex;flex-direction:column;gap:16px;background:transparent;padding:0}.auth-method-dialog{background:transparent;border-radius:0;box-shadow:none;width:100%;padding:0}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:0}.description{margin:0 0 24px;font-size:14px;color:#666;text-align:center}.auth-method-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.auth-method-card{border:2px solid #e0e0e0;border-radius:8px;padding:24px;cursor:pointer;transition:all .3s;background:#fff}.auth-method-card:hover{border-color:#0078d4;box-shadow:0 4px 12px #0078d426;transform:translateY(-2px)}.method-icon{font-size:48px;text-align:center;margin-bottom:12px}.auth-method-card h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#333;text-align:center}.auth-method-card p{margin:0 0 16px;font-size:14px;color:#666;text-align:center}.auth-method-card ul{margin:0;padding-left:20px;font-size:13px;color:#666}.auth-method-card li{margin-bottom:4px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}.cancel-button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s}.login-control-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.login-control-dialog{background:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;width:100%;max-width:600px;padding:0}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.dialog-content{padding:20px}.dialog-content h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#333}.radio-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio-group input[type=radio]{cursor:pointer}.oauth-fields{margin:20px 0;padding:16px;background-color:#f9f9f9;border-radius:4px}.form-field{margin-bottom:16px}.form-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#333}.form-field input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.form-field input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.login-options{margin:24px 0}.option-group{margin-bottom:20px}.option-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.checkbox-group input[type=checkbox]{cursor:pointer}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.help-button{background:none;border:none;color:#0078d4;cursor:pointer;font-size:14px;padding:8px 12px}.help-button:hover{text-decoration:underline}.action-buttons{display:flex;gap:8px}.back-button,.reset-button,.login-button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s}.back-button:hover,.reset-button:hover{background-color:#f0f0f0}.environment-selector-container{display:flex;flex-direction:column;gap:16px;background:transparent;padding:0}.environment-selector-dialog{background:transparent;border-radius:0;box-shadow:none;width:100%;padding:0}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:12px}.dialog-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#000;background-color:#f0f0f0;border-radius:4px}.dialog-content{padding:0}.description{margin:0 0 20px;font-size:14px;color:#666;line-height:1.5}.environments-table{margin:20px 0;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.environments-table table{width:100%;border-collapse:collapse}.environments-table thead{background-color:#f5f5f5}.environments-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #e0e0e0}.environments-table td{padding:12px;font-size:14px;color:#333;border-bottom:1px solid #e0e0e0}.environments-table tbody tr{cursor:pointer;transition:background-color .2s}.environments-table tbody tr:hover{background-color:#f9f9f9}.environments-table tbody tr.selected{background-color:#e3f2fd}.environments-table tbody tr:last-child td{border-bottom:none}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.login-button,.cancel-button{padding:8px 16px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s}.login-button.primary{background-color:#0078d4;color:#fff;border-color:#0078d4}.login-button.primary:hover:not(:disabled){background-color:#106ebe}.login-button:disabled{opacity:.6;cursor:not-allowed}.connection-manager-container{display:flex;flex-direction:column;gap:var(--spacing-md);background:transparent;padding:0}.connection-manager-dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;padding:var(--spacing-lg);max-height:none;display:flex;flex-direction:column;margin:0 auto}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:var(--spacing-md);flex-shrink:0}.dialog-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dialog-title-no-header{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.close-button{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--color-text-secondary);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--color-text-primary);background-color:var(--color-background);border-radius:var(--radius-md)}.dialog-content{padding:0;overflow-y:auto;flex:1}.connection-manager-actions{margin-bottom:var(--spacing-lg)}.new-connection-button{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.new-connection-button.primary{background-color:var(--color-primary);color:#fff}.new-connection-button.primary:hover{background-color:var(--color-primary-hover)}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-secondary)}.connections-loading,.connections-error{padding:var(--spacing-lg) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center}.connections-error{border-color:var(--color-error);background:var(--color-error-bg);color:#991b1b}.connection-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-background);transition:all var(--transition-base)}.connection-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.connection-info{flex:1;cursor:pointer}.connection-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.edit-button,.delete-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-md);transition:all var(--transition-base)}.dialog-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.cancel-button{padding:10px 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-base)}.scope-selection{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.scope-selection label{display:flex;flex-direction:column;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.scope-selection label:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.scope-selection label input[type=radio]{margin-right:var(--spacing-sm);cursor:pointer}.scope-selection label input[type=radio]:checked+span{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.scope-selection label:has(input[type=radio]:checked){border-color:var(--color-primary);background-color:var(--color-primary-light)}.scope-selection label:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}.scope-selection label span{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.connection-scope{padding:2px var(--spacing-sm);border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase}.connection-scope.scope-personal{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.connection-scope.scope-team{background-color:#f3e5f5;color:#7b1fa2}.primary-button{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;background-color:var(--color-primary);color:#fff;transition:all var(--transition-base)}.primary-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.connection-management-page{min-height:100vh;background:var(--color-background);padding:var(--spacing-lg);display:flex;align-items:center;justify-content:center}.connection-management-page:has(.connection-manager-dialog){align-items:center;justify-content:center}.connection-management-header{max-width:var(--container-lg);margin:0 auto var(--spacing-xl);background:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.connection-management-header h1{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.5px}.page-description{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.connection-management-content{max-width:var(--container-lg);margin:0 auto;background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-height:400px}.connection-management-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.filter-controls{display:flex;align-items:center;gap:var(--spacing-md)}.filter-controls label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);color:var(--color-text-primary)}.filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-surface);cursor:pointer}.new-connection-button{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.new-connection-button:hover{background:var(--color-primary-hover)}.connections-loading,.connections-error{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.connections-error{color:var(--color-error)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.empty-state p{margin:0 0 var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-md)}.connections-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.connection-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);background:var(--color-surface);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.connection-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.connection-info{flex:1}.connection-info h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.connection-url{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);color:var(--color-text-secondary);font-family:monospace}.connection-env-name{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-primary)}.connection-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-sm);flex-wrap:wrap}.connection-auth-type{padding:2px var(--spacing-sm);background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.connection-scope{padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.scope-personal{background:#f3e5f5;color:#7b1fa2}.scope-team{background:var(--color-success-bg);color:#065f46}.connection-team-name{padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary-dark)}.connection-actions{display:flex;gap:var(--spacing-sm)}.edit-button,.delete-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-base)}.edit-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.delete-confirm-dialog{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--spacing-lg);max-width:400px;box-shadow:var(--shadow-xl)}.delete-confirm-button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;background-color:var(--color-error);color:#fff}.primary-button{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.primary-button:hover{background:var(--color-primary-hover)}.cancel-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.cancel-button:hover{background:var(--color-border);border-color:var(--color-text-tertiary)}.hamburger-menu-container{position:relative;display:inline-block}.hamburger-menu-button{background:none;border:1px solid #ccc;border-radius:4px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:40px;height:36px;overflow:visible;position:relative}.hamburger-menu-button:hover{background-color:#f0f0f0;border-color:#999}.hamburger-menu-button.active{background-color:#e3f2fd;border-color:#2196f3}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px;height:16px;position:relative;overflow:visible}.hamburger-icon span{display:block;width:100%;height:2px;background-color:#333;border-radius:2px;transition:all .3s;position:relative;transform-origin:center}.hamburger-menu-button.active .hamburger-icon span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-menu-button.active .hamburger-icon span:nth-child(2){opacity:0;transform:scale(0)}.hamburger-menu-button.active .hamburger-icon span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hamburger-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:200px;z-index:1001;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hamburger-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;color:#333;transition:background-color .2s}.hamburger-menu-item:hover{background-color:#f5f5f5}.hamburger-menu-item:active{background-color:#e0e0e0}.hamburger-menu-item:not(:last-child){border-bottom:1px solid #e0e0e0}.menu-item-icon{font-size:18px;width:24px;text-align:center}.menu-item-label{font-weight:500;flex:1}.team-management-container{padding:24px;max-width:1200px;margin:0 auto;background:#f5f5f5;min-height:calc(100vh - 80px)}.team-management-header{margin-bottom:24px}.team-management-header h2{margin:0;font-size:28px;font-weight:600;color:#333}.team-management-loading,.team-management-error{padding:40px;text-align:center;color:#666;font-size:16px}.team-management-error-banner{padding:12px 16px;background:#fee2e2;color:#991b1b;border-radius:6px;margin-bottom:20px;font-size:14px}.team-info-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #00000014}.team-name-section{display:flex;align-items:center;gap:12px}.team-name-display{display:flex;align-items:center;gap:12px;width:100%}.team-name-display h3{margin:0;font-size:20px;color:#333;flex:1}.edit-name-button{padding:6px 14px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.edit-name-button:hover{background:#e3f2fd}.team-name-edit{display:flex;align-items:center;gap:12px;width:100%}.team-name-input{flex:1;padding:8px 12px;border:1px solid #c6c6c6;border-radius:6px;font-size:16px}.save-name-button,.cancel-name-button{padding:6px 14px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.save-name-button{border:1px solid #0078d4;background:#0078d4;color:#fff}.save-name-button:hover:not(:disabled){background:#106ebe}.save-name-button:disabled{opacity:.6;cursor:not-allowed}.cancel-name-button{border:1px solid #666;background:#fff;color:#666}.cancel-name-button:hover{background:#f0f0f0}.invite-section{background:#f9fafb;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px}.invite-section h3{margin:0 0 16px;font-size:18px;color:#333}.invite-form{display:flex;gap:12px;margin-bottom:12px}.invite-email-input{flex:1;padding:8px 12px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px}.invite-role-select{padding:8px 12px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px;min-width:120px}.invite-button{padding:8px 20px;border:1px solid #0078d4;background:#0078d4;color:#fff;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.invite-button:hover:not(:disabled){background:#106ebe}.invite-button:disabled{opacity:.6;cursor:not-allowed}.invite-hint{font-size:12px;color:#666;margin:0}.members-section{margin-bottom:24px}.members-section h3{margin:0 0 16px;font-size:18px;color:#333}.members-list{display:flex;flex-direction:column;gap:12px}.member-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center}.member-info{flex:1}.member-name{font-weight:600;font-size:15px;color:#333;margin-bottom:4px}.member-email{font-size:13px;color:#666;margin-bottom:4px}.member-joined{font-size:12px;color:#999}.member-actions{display:flex;align-items:center;gap:12px}.role-select{padding:6px 10px;border:1px solid #c6c6c6;border-radius:4px;font-size:13px}.remove-member-button{padding:6px 14px;border:1px solid #dc2626;background:#fff;color:#dc2626;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.remove-member-button:hover{background:#fee2e2}.member-role-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.member-role-badge--owner{background:#dbeafe;color:#1e40af}.member-role-badge--approver{background:#e0e7ff;color:#3730a3}.member-role-badge--member{background:#f3f4f6;color:#374151}.roles-info{background:#f9fafb;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.roles-info h4{margin:0 0 12px;font-size:16px;color:#333}.roles-info ul{margin:0;padding-left:20px;color:#666;font-size:14px;line-height:1.8}.roles-info li{margin-bottom:8px}.team-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.team-modal-content{background:#fff;border-radius:12px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.team-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.team-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.team-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.team-modal-close:hover{background:#f0f0f0;color:#333}.team-modal-body{overflow-y:auto;flex:1;padding:0}.team-modal-body .team-management-container{padding:24px;max-width:100%;margin:0;box-shadow:none;border-radius:0;min-height:auto}.table-mapping-container{padding:20px;max-width:1400px;margin:0 auto;background:#f5f5f5;min-height:calc(100vh - 80px)}.migration-name-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.migration-name-header h1{margin:0;font-size:28px;font-weight:600;color:#2b2b30}.migration-name-display{display:flex;align-items:center;gap:12px}.edit-name-button{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;opacity:.6;transition:opacity .2s;line-height:1}.edit-name-button:hover{opacity:1}.migration-name-edit{display:flex;align-items:center;gap:8px}.migration-name-input{flex:1;font-size:28px;font-weight:600;color:#2b2b30;border:2px solid #0078d4;border-radius:4px;padding:8px 12px;font-family:inherit}.migration-name-input:focus{outline:none;border-color:#106ebe;box-shadow:0 0 0 3px #0078d41a}.migration-name-edit-actions{display:flex;gap:4px}.save-name-button,.cancel-name-button{background:none;border:1px solid #ddd;border-radius:4px;padding:6px 10px;cursor:pointer;font-size:16px;transition:all .2s;line-height:1}.save-name-button{color:#28a745;border-color:#28a745}.save-name-button:hover:not(:disabled){background:#28a745;color:#fff}.cancel-name-button{color:#dc3545;border-color:#dc3545}.cancel-name-button:hover:not(:disabled){background:#dc3545;color:#fff}.save-name-button:disabled,.cancel-name-button:disabled{opacity:.5;cursor:not-allowed}.connections-in-mapping-section{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.connection-card-in-mapping{background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 1px 4px #0000000f;border:1px solid #e0e0e0;transition:all .2s ease}.connection-card-in-mapping:hover{box-shadow:0 2px 8px #0000001a;border-color:#0078d4}.connection-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:8px 0;border-bottom:none;-webkit-user-select:none;user-select:none}.connection-card-header h3{margin:0;font-size:15px;font-weight:600;color:#2b2b30;letter-spacing:-.2px}.connection-collapse-icon{font-size:12px;color:#666;display:inline-block;width:16px;text-align:center;transition:transform .2s ease}.connection-name-display{font-size:13px;font-weight:500;color:#666;margin-left:4px}.connection-card-content{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.connection-change-button-small{padding:8px 14px;font-size:12px;font-weight:500;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.connection-change-button-small:hover{background:#106ebe}.connection-card-content{display:flex;flex-direction:column;gap:8px}.connection-detail-row{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:#f8f9fa;border-radius:4px;border-left:2px solid #0078d4;transition:all .2s ease}.connection-detail-row:hover{background:#f0f4f8;border-left-color:#106ebe}.connection-detail-icon{font-size:16px;line-height:1.2;flex-shrink:0;margin-top:1px}.connection-detail-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.connection-detail-label{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px}.connection-detail-value{font-size:13px;color:#2b2b30;font-weight:500;word-break:break-word;line-height:1.3}.connection-url-value{font-family:Courier New,monospace;font-size:12px;color:#0078d4;word-break:break-all}.connection-code-value{font-family:Courier New,monospace;font-size:12px;color:#2b2b30;word-break:break-all}.connection-details-toggle{margin-top:4px;padding:6px 10px;font-size:11px;font-weight:500;color:#0078d4;background:transparent;border:1px solid #0078d4;border-radius:4px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.connection-details-toggle:hover{background:#e3f2fd;border-color:#106ebe}@media (max-width: 768px){.connections-in-mapping-section{grid-template-columns:1fr}}.table-mapping-section{margin-top:24px}.table-mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.table-mapping-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.mapping-header-actions{display:flex;gap:12px}.mapping-header-actions button{padding:8px 14px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.mapping-header-actions button:hover:not(:disabled){background-color:#e3f2fd}.mapping-header-actions button:disabled{opacity:.6;cursor:not-allowed}.submit-approval-button{background:#28a745!important;color:#fff!important;border-color:#28a745!important;font-weight:600}.submit-approval-button:hover:not(:disabled){background-color:#218838!important;border-color:#1e7e34!important}.team-button-header{background:#0078d4;color:#fff;border-color:#0078d4}.team-button-header:hover:not(:disabled){background:#106ebe;border-color:#106ebe}.approval-section{background:#f9fafb;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.approval-status{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}.approval-label{font-weight:600;color:#333;font-size:14px}.migration-scope-section{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}.scope-label{font-weight:600;color:#333;font-size:14px}.scope-selection-inline{display:flex;gap:16px;align-items:center}.scope-option-inline{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.scope-option-inline:hover{background-color:#f0f7ff}.scope-option-inline input[type=radio]{margin:0;cursor:pointer}.scope-option-inline input[type=radio]:checked+span{font-weight:600;color:#0078d4}.scope-option-inline:has(input[type=radio]:checked){background-color:#e3f2fd}.scope-option-inline:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}.scope-option-inline span{font-size:14px;color:#333}.approval-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.approval-badge-draft{background:#e9ecef;color:#495057}.approval-badge-pending{background:#fff3cd;color:#856404}.approval-badge-approved{background:#d4edda;color:#155724}.approval-badge-rejected{background:#f8d7da;color:#721c24}.approval-actions{display:flex;gap:8px}.approval-actions .approve-button,.approval-actions .reject-button{padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;font-weight:500;border:none}.approval-actions .approve-button{background:#4caf50;color:#fff}.approval-actions .approve-button:hover:not(:disabled){background:#45a049}.approval-actions .reject-button{background:#f44336;color:#fff}.approval-actions .reject-button:hover:not(:disabled){background:#da190b}.approval-actions .approve-button:disabled,.approval-actions .reject-button:disabled{opacity:.6;cursor:not-allowed}.approval-hint{font-size:13px;color:#666;font-style:italic;margin:0}.rejection-notes{margin-top:12px;padding:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-size:13px}.rejection-notes strong{display:block;margin-bottom:8px;color:#856404}.rejection-notes p{margin:0;color:#856404;white-space:pre-wrap}.reject-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.reject-dialog{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 12px #0000004d}.reject-dialog h3{margin:0 0 16px;font-size:18px;color:#333}.reject-dialog p{margin:0 0 16px;font-size:14px;color:#666}.reject-notes-textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:20px;box-sizing:border-box}.reject-notes-textarea:focus{outline:none;border-color:#0078d4}.reject-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.mapping-error{margin-bottom:16px;padding:12px 16px;border-left:4px solid #d32f2f;background-color:#ffebee;color:#b71c1c;border-radius:4px}.table-selector-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:0}.table-selector{flex:1;min-width:260px}.table-selector label{display:block;font-size:14px;font-weight:600;color:#444;margin-bottom:6px}.table-selector select{width:100%;padding:10px 12px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px;background:#fff}.column-mapping-card,.saved-mappings-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px;background:#fafafa}.transform-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px;background:#f9fbff}.transform-type-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.transform-type-row select{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px}.transform-preset,.transform-script{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.transform-preset select{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px}.transform-description{font-size:13px;color:#555;margin:0}.transform-script textarea{width:100%;min-height:140px;padding:12px;border:1px solid #c6c6c6;border-radius:6px;font-size:13px;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;resize:vertical;background:#fafafa;color:#24292e;line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto;transition:all .2s ease}.transform-script textarea:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d426;background:#fff}.transform-help{font-size:12px;color:#666;margin:0}.column-mapping-card h3,.saved-mappings-card h3,.transform-card h3{margin:0 0 12px;font-size:18px;color:#333}.saved-mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.saved-mapping-actions{display:flex;align-items:center;gap:12px}.export-button,.import-button{padding:8px 16px;border:1px solid #0078d4;border-radius:4px;background:#fff;color:#0078d4;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;min-width:80px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.export-button:disabled{opacity:.6;cursor:not-allowed}.export-button:hover:not(:disabled),.import-button:hover{background:#e3f2fd}.import-button input{display:none}.column-mapping-summary{margin:0 0 16px;font-size:14px;color:#666}.column-mapping-list{display:flex;flex-direction:column;gap:12px}.column-mapping-list-scrollable{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;overflow-x:hidden;border:1px solid #e0e0e0;border-radius:4px;padding:12px;background:#fafafa}.column-mapping-actions{margin-bottom:12px;display:flex;flex-direction:column;gap:12px}.column-mapping-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.column-mapping-controls button{padding:6px 12px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.column-mapping-controls button:hover:not(:disabled){background-color:#e3f2fd}.column-mapping-controls button:disabled{opacity:.6;cursor:not-allowed}.bulk-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bulk-action-button{padding:6px 12px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.bulk-action-button:hover:not(:disabled){background-color:#e3f2fd}.bulk-action-button:disabled{opacity:.5;cursor:not-allowed}.bulk-remove-button{border-color:#dc3545;color:#dc3545}.bulk-remove-button:hover:not(:disabled){background-color:#f8d7da;border-color:#c82333}.column-checkbox{display:flex;align-items:center;padding-right:8px}.column-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.column-mapping-item.selected{background-color:#e3f2fd;border-color:#0078d4}.primary-key-selectors{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.primary-key-selector{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px}.primary-key-selector label{font-size:14px;font-weight:600;color:#444}.primary-key-selector select{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px;background:#fff}.column-mapping-item{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff}.column-mapping-item.expanded{border-color:#0078d4;box-shadow:0 2px 8px #0078d414}.column-mapping-row{display:grid;grid-template-columns:30px minmax(200px,1fr) 32px minmax(240px,1fr) 140px;align-items:center;gap:12px}.column-transform-toggle button{width:100%;padding:8px 10px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.column-transform-toggle button:disabled{border-color:#d1d1d1;color:#a3a3a3;cursor:not-allowed}.column-transform-toggle button:hover:not(:disabled){background:#e3f2fd}.column-transform-panel{display:flex;flex-direction:column;gap:12px;padding:12px;background:#f9fbff;border:1px solid #d5e3fb;border-radius:6px}.column-transform-type,.column-transform-preset,.column-transform-script{display:flex;flex-direction:column;gap:6px}.column-transform-type select,.column-transform-preset select{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px;background:#fff}.column-transform-script textarea{width:100%;min-height:120px;padding:12px;border:1px solid #c6c6c6;border-radius:6px;font-size:13px;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;resize:vertical;background:#fafafa;color:#24292e;line-height:1.6;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto;transition:all .2s ease}.column-transform-script textarea:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d426;background:#fff}.column-transform-description{font-size:12px;color:#666;margin:0}.transform-example{font-size:12px;color:#666;display:flex;flex-direction:column;gap:4px}.transform-example pre{margin:0;padding:8px 10px;background:#1e1e1e;color:#f1f1f1;border-radius:4px;overflow-x:auto}.transform-example code{font-family:Fira Code,Consolas,monospace;font-size:12px;white-space:pre}.column-info{display:flex;flex-direction:column}.column-name{font-weight:600;font-size:14px;color:#333}.column-meta{font-size:12px;color:#777}.column-arrow{text-align:center;font-size:18px;color:#0078d4}.column-target-select select{width:100%;padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px;background:#fff}.column-actions{display:flex;justify-content:flex-end;margin-top:16px}.save-mapping-row{display:flex;align-items:center;gap:12px;width:100%;justify-content:flex-end}.mapping-name-input-container{display:flex;align-items:center;gap:8px}.column-actions button{padding:8px 14px;border:1px solid #0078d4;background-color:#fff;color:#0078d4;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.column-actions button:hover:not(:disabled){background-color:#e3f2fd}.column-actions button:disabled{opacity:.5;cursor:not-allowed}.saved-mapping-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.saved-mapping-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;border-left:4px solid transparent;transition:all .2s}.saved-mapping-list li:hover{background:#f5faff;border-left-color:#cfe0fc}.saved-mapping-list li.selected{background:#e3f2fd;border-left-color:#0078d4}.saved-mapping-order-controls{display:flex;flex-direction:column;align-items:center;gap:4px;margin-right:12px;min-width:50px}.mapping-order-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#0078d4;color:#fff;border-radius:50%;font-size:13px;font-weight:600;flex-shrink:0}.mapping-order-buttons{display:flex;flex-direction:column;gap:2px}.order-button{width:24px;height:20px;padding:0;border:1px solid #ccc;background:#fff;color:#666;border-radius:3px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.order-button:hover:not(:disabled){background:#f0f0f0;border-color:#0078d4;color:#0078d4}.order-button:disabled{opacity:.3;cursor:not-allowed}.saved-mapping-info{display:flex;flex-direction:column;gap:4px;flex:1}.saved-mapping-name{font-size:16px;font-weight:600;margin-bottom:4px;min-height:28px}.saved-mapping-name strong{transition:background-color .2s}.saved-mapping-name strong:hover{background-color:#f0f0f0}.saved-mapping-tables{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.saved-mapping-tables span{color:#0078d4;font-weight:600}.saved-mapping-meta{font-size:12px;color:#666}.saved-mapping-meta .transform-meta{display:inline-block;margin-left:8px;color:#0078d4}.saved-mapping-meta .column-transform-meta{color:#555}.saved-mapping-item-actions{display:flex;gap:8px}.saved-mapping-item-actions button{padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;border:1px solid}.saved-mapping-item-actions button:first-child{border-color:#1976d2;background:#fff;color:#1976d2}.saved-mapping-item-actions button:first-child:hover{background-color:#e3f2fd}.saved-mapping-item-actions button:last-child{border-color:#d32f2f;background:#fff;color:#d32f2f}.saved-mapping-item-actions button:last-child:hover{background-color:#ffebee}.mapping-placeholder{margin:12px 0;font-size:14px;color:#777;font-style:italic}.mapping-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.back-button,.continue-button{padding:10px 20px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;color:#333;cursor:pointer;transition:all .2s}.continue-button{border-color:#0078d4;color:#fff;background-color:#0078d4}.continue-button:disabled{opacity:.6;cursor:not-allowed}.continue-button:hover:not(:disabled){background-color:#106ebe}.back-button:hover{background-color:#f0f0f0}.running-job-card{margin-top:24px;border:2px solid #2196f3;border-radius:8px;padding:20px;background:#e3f2fd;box-shadow:0 2px 8px #2196f333}.running-job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.running-job-header h3{margin:0;font-size:18px;font-weight:600;color:#1976d2}.running-job-status{padding:4px 12px;background:#2196f3;color:#fff;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.running-job-progress{display:flex;flex-direction:column;gap:16px}.progress-item-running{background:#fff;border:1px solid #90caf9;border-radius:6px;padding:16px}.progress-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-table-name{font-weight:600;color:#333;font-size:15px}.progress-status{font-size:18px;font-weight:700}.progress-status--in-progress{color:#2196f3;animation:spin 2s linear infinite}.progress-status--completed{color:#4caf50}.progress-status--error{color:#f44336}.progress-bar-container{width:100%;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;margin-bottom:8px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2196f3,#21cbf3);transition:width .3s ease;border-radius:12px}.progress-stats{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#666;margin-bottom:8px}.progress-percentage{font-weight:600;color:#2196f3}.progress-success{font-size:12px;color:#4caf50;margin-top:4px}.progress-failures{font-size:12px;color:#f44336;margin-top:4px}.progress-placeholder{padding:20px;text-align:center;color:#666;font-size:14px}.past-logs-card{margin-top:24px;margin-bottom:24px;border:1px solid #e0e0e0;border-radius:8px;padding:20px;background:#fafafa}.past-logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.past-logs-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.toggle-logs-button{padding:6px 14px;border:1px solid #0078d4;background:#fff;color:#0078d4;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.toggle-logs-button:hover{background-color:#e3f2fd}.past-logs-content{max-height:500px;overflow-y:auto}.logs-placeholder{padding:20px;text-align:center;color:#666;font-size:14px}.logs-container{display:flex;flex-direction:column;gap:12px}.log-entry{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:12px;font-size:13px}.log-entry--error{border-left:4px solid #dc2626;background:#fef2f2}.log-entry--info{border-left:4px solid #0078d4;background:#e3f2fd}.log-entry--verbose{border-left:4px solid #6b7280;background:#f9fafb}.log-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.log-timestamp{color:#666;font-size:12px}.log-level{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.log-level--error{background:#fee2e2;color:#991b1b}.log-level--info{background:#dbeafe;color:#1e40af}.log-level--verbose{background:#f3f4f6;color:#374151}.log-table{color:#666;font-size:12px}.log-message{color:#333;margin-bottom:8px;line-height:1.5}.log-details,.log-failure{margin-top:8px;font-size:12px}.log-details summary,.log-failure summary{cursor:pointer;color:#0078d4;font-weight:500;margin-bottom:4px}.log-details pre,.log-failure pre{background:#f5f5f5;padding:8px;border-radius:4px;overflow-x:auto;font-size:11px;margin:4px 0 0}.log-failure pre{background:#fee2e2}.executions-container{display:flex;flex-direction:column;gap:12px}.execution-group{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.execution-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #e0e0e0}.execution-header:hover{background:#eee}.execution-header-left{display:flex;align-items:center;gap:12px;flex:1}.execution-toggle{font-size:12px;color:#666;width:16px;text-align:center}.execution-date{font-weight:600;color:#333;font-size:14px}.execution-duration{font-size:12px;color:#666;font-style:italic}.execution-header-right{display:flex;align-items:center;gap:12px}.execution-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.execution-status--completed{background:#d4edda;color:#155724}.execution-status--error{background:#f8d7da;color:#721c24}.execution-status--running{background:#fff3cd;color:#856404}.execution-status--paused{background:#e2e3e5;color:#383d41}.execution-status--starting{background:#d1ecf1;color:#0c5460}.execution-log-count{font-size:12px;color:#666}.execution-logs{padding:16px;background:#fff}.table-query-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px;background:#fff;display:flex;flex-direction:column;gap:24px}.query-section-card{display:flex;flex-direction:column;gap:16px}.query-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.query-header h3{margin:0;font-size:18px;color:#333}.fetchxml-actions{display:flex;align-items:center;gap:12px}.fetchxml-actions button{padding:8px 14px;border:1px solid #0078d4;border-radius:6px;background:#fff;color:#0078d4;font-size:13px;cursor:pointer;transition:all .2s}.fetchxml-actions button:disabled{opacity:.6;cursor:not-allowed}.fetchxml-actions button:hover:not(:disabled){background:#e3f2fd}.fetchxml-pill{padding:4px 10px;background:#e1f5fe;color:#0277bd;font-size:12px;border-radius:999px;font-weight:600}.fetchxml-status{margin-top:10px;font-size:13px}.fetchxml-status.success{color:#2e7d32}.fetchxml-status.error{color:#c62828}.fetchxml-status.info{color:#1e88e5}.query-mode-toggle{display:flex;gap:16px;margin-bottom:16px}.query-mode-toggle label{display:flex;align-items:center;gap:6px;font-size:14px;color:#444}.query-builder{display:flex;flex-direction:column;gap:20px}.query-section h4{margin:0 0 8px;font-size:15px;color:#2f2f2f}.filter-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#444}.filter-grid input[type=datetime-local],.filter-grid input[type=text]{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px}.query-hint{font-size:12px;color:#777}.order-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.order-header button{padding:6px 12px;border:1px solid #0078d4;border-radius:4px;background:#fff;color:#0078d4;cursor:pointer;font-size:13px;transition:all .2s}.order-header button:disabled{opacity:.6;cursor:not-allowed}.order-header button:hover:not(:disabled){background:#e3f2fd}.order-rows{display:flex;flex-direction:column;gap:10px}.order-row{display:flex;gap:12px;align-items:center}.order-row select{padding:8px 10px;border:1px solid #c6c6c6;border-radius:6px;font-size:14px}.order-row button{padding:6px 10px;border:1px solid #d32f2f;border-radius:4px;background:#fff;color:#d32f2f;cursor:pointer;font-size:13px;transition:all .2s}.order-row button:hover{background:#ffebee}.query-placeholder{font-size:13px;color:#666;margin:0}.fetchxml-section{display:flex;flex-direction:column;gap:8px}.fetchxml-section textarea{width:100%;min-height:220px;padding:10px 12px;border:1px solid #c6c6c6;border-radius:6px;font-size:13px;font-family:Fira Code,Consolas,monospace;resize:vertical;background:#fff}.fetchxml-section textarea:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d426}.saved-mapping-meta .query-meta{display:inline-block;margin-left:8px;color:#444}.query-section{display:flex;flex-direction:column;gap:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.migration-execution-container{padding:24px;max-width:1200px;margin:0 auto;background:#f5f5f5;min-height:calc(100vh - 80px)}.migration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;border-bottom:none}.header-buttons{display:flex;align-items:center;gap:12px}.migration-header h2{margin:0;font-size:24px;font-weight:600;color:#333}.start-button,.complete-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.preview-button{padding:10px 20px;border:1px solid #2196f3;border-radius:4px;background:#fff;color:#2196f3;font-size:14px;cursor:pointer;transition:all .2s}.preview-button:disabled{opacity:.6;cursor:not-allowed}.preview-button:hover:not(:disabled){background-color:#e3f2fd}.start-button.primary,.complete-button.primary{background-color:#0078d4;color:#fff}.start-button.primary:hover,.complete-button.primary:hover{background-color:#106ebe}.stop-button{padding:10px 20px;border:1px solid #dc2626;border-radius:6px;font-size:14px;background-color:#dc2626;color:#fff;cursor:pointer;transition:background-color .2s;font-weight:500}.stop-button:hover:not(:disabled){background-color:#b91c1c}.stop-button:disabled{opacity:.6;cursor:not-allowed}.progress-list{display:flex;flex-direction:column;gap:16px}.progress-item{border:1px solid #e0e0e0;border-radius:4px;padding:16px;background:#fafafa;transition:all .3s}.progress-item.active{border-color:#2196f3;background:#e3f2fd;box-shadow:0 2px 8px #2196f333}.progress-item.completed{border-color:#4caf50;background:#e8f5e9}.progress-item.completed-success{border-left:4px solid #4caf50;background-color:#f1f8f4;border-color:#4caf50}.progress-item.completed-with-errors{border-left:4px solid #f44336;background-color:#fff5f5;border-color:#f44336}.progress-item.error{border-color:#f44336;background:#ffebee}.step-indicator{margin-left:12px;font-size:13px;color:#666;font-style:italic}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status-indicator{display:flex;align-items:center;gap:12px}.status-icon{font-size:20px;font-weight:700;width:24px;text-align:center}.table-name{font-size:16px;font-weight:600;color:#333}.progress-stats{display:flex;align-items:center;gap:12px;font-size:14px;color:#666}.progress-counts{font-weight:500;color:#333}.percentage{font-weight:600;color:#2196f3}.progress-bar-container{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-top:8px}.progress-bar{height:100%;background-color:#2196f3;transition:width .3s ease}.error-message{margin-top:8px;padding:8px;background-color:#ffebee;border-left:3px solid #f44336;color:#c62828;font-size:14px;border-radius:4px}.migration-actions{display:flex;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:2px solid #e0e0e0}.cancel-button{padding:10px 20px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s}.cancel-button:hover{background-color:#f0f0f0}.logging-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:16px 0 24px;padding:12px 16px;background:#f7faff;border:1px solid #cfe0fc;border-radius:6px}.logging-controls label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333}.logging-controls button{padding:8px 12px;border:1px solid #0078d4;border-radius:4px;background:#fff;color:#0078d4;cursor:pointer;transition:all .2s;font-size:14px}.logging-controls button:disabled{opacity:.6;cursor:not-allowed}.logging-controls button:hover:not(:disabled){background-color:#e3f2fd}.migration-settings{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.settings-field{display:flex;flex-direction:column;gap:6px;min-width:200px}.settings-field label{font-size:14px;font-weight:600;color:#333}.settings-field input{padding:8px 10px;border:1px solid #c6c6c6;border-radius:4px;font-size:14px}.logs-panel,.failed-records-panel{margin-top:32px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;padding:16px 20px}.preview-summary{margin-top:32px;border:1px solid #e0e0e0;border-radius:6px;background:#f5faff;padding:16px 20px}.preview-summary h3{margin:0 0 12px;font-size:18px;color:#333}.preview-summary table{width:100%;border-collapse:collapse}.preview-summary th,.preview-summary td{padding:10px;border-bottom:1px solid #d0def5;text-align:left;font-size:13px}.preview-summary th{background:#e1ecff;font-weight:600}.preview-summary tr:last-child td{border-bottom:none}.logs-panel h3,.failed-records-panel h3{margin:0 0 12px;font-size:18px;color:#333}.logs-empty{font-size:14px;color:#666;font-style:italic}.logs-list{display:flex;flex-direction:column;gap:12px;max-height:260px;overflow-y:auto}.log-entry{border:1px solid #e0e0e0;border-radius:4px;padding:12px;background:#fff;font-size:13px}.log-entry.info{border-left:4px solid #2196f3}.log-entry.verbose{border-left:4px solid #9e9e9e}.log-entry.error{border-left:4px solid #f44336;background:#fff5f5}.log-header{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#555;margin-bottom:6px}.log-message{font-size:13px;color:#333}.log-details{margin:8px 0 0;background:#f5f5f5;padding:8px;border-radius:4px;font-size:12px;overflow-x:auto}.failed-records-table{overflow-x:auto;overflow-y:auto;max-height:260px;border:1px solid #e0e0e0;border-radius:4px;background:#fff}.failed-records-table table{width:100%;border-collapse:collapse}.failed-records-table th,.failed-records-table td{padding:10px;border-bottom:1px solid #e0e0e0;text-align:left;font-size:13px}.failed-records-table th{background:#f0f0f0;font-weight:600}.failed-records-table tr:last-child td{border-bottom:none}.terminal-panel{margin-top:24px;border:1px solid #333;border-radius:4px;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;overflow:hidden;box-shadow:0 2px 8px #0000004d}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#2d2d2d;border-bottom:1px solid #333}.terminal-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff}.terminal-icon{color:#4caf50;font-size:12px}.terminal-controls{display:flex;align-items:center;gap:12px}.terminal-status{font-size:11px;color:#888}.terminal-status--running:before{content:"●";color:#4caf50;margin-right:4px}.terminal-status--stopped:before{content:"○";color:#888;margin-right:4px}.terminal-close{background:transparent;border:none;color:#d4d4d4;font-size:20px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background-color .2s}.terminal-close:hover{background:#3d3d3d;color:#fff}.terminal-content{padding:12px;max-height:500px;overflow-y:auto;overflow-x:auto;background:#1e1e1e}.terminal-content::-webkit-scrollbar{width:8px;height:8px}.terminal-content::-webkit-scrollbar-track{background:#2d2d2d}.terminal-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.terminal-content::-webkit-scrollbar-thumb:hover{background:#666}.terminal-line{margin-bottom:4px;padding:2px 0;word-wrap:break-word;white-space:pre-wrap}.terminal-line--info{color:#d4d4d4}.terminal-line--verbose{color:#888}.terminal-line--error{color:#f48771}.terminal-prompt{color:#4caf50;margin-right:8px;font-weight:700}.terminal-timestamp{color:#888;margin-right:8px;font-size:11px}.terminal-level{margin-right:8px;font-weight:600}.terminal-level--info{color:#569cd6}.terminal-level--verbose{color:#888}.terminal-level--error{color:#f48771}.terminal-table{color:#ce9178;margin-right:8px;font-size:11px}.terminal-message{color:inherit}.terminal-details{margin-top:4px;margin-left:20px}.terminal-details summary{cursor:pointer;color:#888;font-size:11px;-webkit-user-select:none;user-select:none}.terminal-details summary:hover{color:#d4d4d4}.terminal-details pre{margin:4px 0 0;padding:8px;background:#252526;border:1px solid #333;border-radius:3px;color:#d4d4d4;font-size:11px;overflow-x:auto;max-width:100%}.migration-configuration{display:flex;flex-direction:column;min-height:calc(100vh - 80px);background:var(--color-background)}.migration-config-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:var(--spacing-md)}.migration-config-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.save-button{padding:10px var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base)}.save-button:hover:not(:disabled){background:var(--color-primary-hover)}.save-button:disabled{background:var(--color-text-tertiary);cursor:not-allowed}.migration-config-content{flex:1;padding:var(--spacing-xl);overflow-y:auto;max-width:var(--container-lg);width:100%;margin:0 auto}.config-field{margin-bottom:var(--spacing-lg)}.config-field label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.config-field input,.config-field select{width:100%;max-width:500px;padding:10px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit}.config-field input:focus,.config-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d41a}.config-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.config-section:hover{box-shadow:var(--shadow-md)}.config-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.connection-selector{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-md)}.connection-selector select{flex:1;max-width:400px;padding:10px var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface)}.connection-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d41a}.add-connection-button{padding:10px 20px;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-connection-button:hover{background:var(--color-primary-light);border-color:var(--color-primary-hover)}.connection-info{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-md)}.connection-info .connection-name{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.config-note{margin-top:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:var(--radius-md)}.config-note p{margin:0;font-size:var(--font-size-base);color:#92400e}.migration-config-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-top:1px solid var(--color-border)}.cancel-button{padding:10px var(--spacing-lg);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.cancel-button:hover{background:var(--color-background);border-color:var(--color-text-tertiary)}.continue-button{padding:10px var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base)}.continue-button:hover:not(:disabled){background:var(--color-primary-hover)}.continue-button:disabled{background:var(--color-text-tertiary);cursor:not-allowed}.connection-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.connection-manager-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-xl)}.scope-selection{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.scope-option{display:flex;flex-direction:column;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.scope-option:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.scope-option input[type=radio]{margin-right:var(--spacing-sm);cursor:pointer}.scope-option input[type=radio]:checked+span{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.scope-option:has(input[type=radio]:checked){border-color:var(--color-primary);background-color:var(--color-primary-light)}.scope-option:has(input[type=radio]:disabled){opacity:.5;cursor:not-allowed}.scope-option span{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.scope-description{margin:var(--spacing-sm) 0 0 0;font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.connection-change-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.connection-change-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.connection-change-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.connection-change-modal-header h2{margin:0;font-size:1.5rem;color:#333}.connection-change-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.connection-change-modal-close:hover{background-color:#f0f0f0}.connection-change-modal-content{padding:20px;flex:1;overflow-y:auto}.connection-change-modal-loading{text-align:center;padding:40px 20px}.connection-change-modal-loading p{color:#666;font-size:1rem}.connection-change-modal-saved{display:flex;flex-direction:column;gap:16px}.connection-change-modal-back{background:#f5f5f5;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;color:#333;align-self:flex-start;transition:background-color .2s}.connection-change-modal-back:hover{background-color:#e8e8e8}.email-verification-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.email-verification-card{background:#fff;border-radius:12px;padding:3rem;max-width:500px;width:100%;text-align:center;box-shadow:0 10px 40px #0000001a}.verification-spinner,.verification-success,.verification-error{font-size:4rem;margin-bottom:1rem}.verification-success{color:#10b981}.verification-error{color:#ef4444}.email-verification-card h2{margin:1rem 0;color:#1f2937}.email-verification-card p{color:#6b7280;margin:.5rem 0}.retry-button{margin-top:1.5rem;padding:.75rem 2rem;background-color:#0078d4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .2s}.retry-button:hover{background-color:#106ebe}.forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.forgot-password-card{background:#fff;border-radius:12px;padding:3rem;max-width:500px;width:100%;box-shadow:0 10px 40px #0000001a}.forgot-password-card h2{margin:0 0 1rem;color:#1f2937;text-align:center}.forgot-password-card>p{color:#6b7280;text-align:center;margin-bottom:2rem}.forgot-password-form{display:flex;flex-direction:column;gap:1.5rem}.back-button{margin-top:1rem;padding:.75rem;background-color:transparent;color:#0078d4;border:1px solid #0078d4;border-radius:6px;font-size:1rem;cursor:pointer;width:100%;transition:background-color .2s}.back-button:hover:not(:disabled){background-color:#f0f9ff}.back-button:disabled{opacity:.6;cursor:not-allowed}.subtext{font-size:.875rem;color:#9ca3af;margin-top:.5rem}.reset-password-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.reset-password-card{background:#fff;border-radius:12px;padding:3rem;max-width:500px;width:100%;box-shadow:0 10px 40px #0000001a}.reset-password-card h2{margin:0 0 1rem;color:#1f2937;text-align:center}.reset-password-card>p{color:#6b7280;text-align:center;margin-bottom:2rem}.reset-password-form{display:flex;flex-direction:column;gap:1.5rem}.submit-button{padding:.75rem;background-color:#0078d4;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#106ebe}.submit-button:disabled{opacity:.6;cursor:not-allowed}.success-icon{font-size:4rem;color:#10b981;text-align:center;margin-bottom:1rem}.profile-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.profile-editor-dialog{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.profile-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.profile-editor-header h2{margin:0;color:#1f2937}.close-button{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-button:hover{color:#1f2937}.profile-editor-tabs{display:flex;border-bottom:1px solid #e5e7eb;padding:0 1.5rem}.tab-button{padding:1rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.tab-button:hover{color:#1f2937}.tab-button.active{color:#0078d4;border-bottom-color:#0078d4}.profile-editor-content{padding:1.5rem}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field span{font-weight:500;color:#374151}.auth-field input{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s}.auth-field input:focus{outline:none;border-color:#0078d4}.email-warning{font-size:.875rem;color:#f59e0b;margin-top:.25rem}.error-message{background-color:#fee2e2;color:#dc2626;padding:.75rem;border-radius:6px;font-size:.875rem}.success-message{background-color:#d1fae5;color:#065f46;padding:.75rem;border-radius:6px;font-size:.875rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.cancel-button{padding:.75rem 1.5rem;background-color:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.save-button{padding:.75rem 1.5rem;background-color:#0078d4;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover:not(:disabled){background-color:#106ebe}.save-button:disabled{opacity:.6;cursor:not-allowed}.email-verification-section{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.resend-verification-button{padding:.5rem 1rem;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.resend-verification-button:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.resend-verification-button:disabled{opacity:.6;cursor:not-allowed}.email-change-verification-section{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.email-change-verification-section .code-input-group{display:flex;align-items:center;gap:.75rem}.email-change-verification-section .code-input-group input{flex:1}.email-change-verification-section .send-code-button{padding:.75rem;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.email-change-verification-section .send-code-button:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.email-change-verification-section .send-code-button:disabled{opacity:.6;cursor:not-allowed}.email-change-verification-section .verify-code-button{padding:.75rem 1.5rem;background-color:#0078d4;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.email-change-verification-section .verify-code-button:hover:not(:disabled){background-color:#106ebe}.email-change-verification-section .verify-code-button:disabled{opacity:.6;cursor:not-allowed}.email-change-verification-section .code-verified{color:#10b981;font-weight:500;font-size:.875rem}.sign-out-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #e5e7eb}.sign-out-section h3{margin:0 0 .5rem;color:#1f2937;font-size:1.125rem}.sign-out-description{color:#6b7280;font-size:.875rem;margin:0 0 1rem;line-height:1.5}.sign-out-button{padding:.75rem 1.5rem;background-color:#6b7280;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.sign-out-button:hover{background-color:#4b5563}.delete-account-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #e5e7eb}.delete-account-section h3{margin:0 0 .5rem;color:#1f2937;font-size:1.125rem}.delete-warning{color:#6b7280;font-size:.875rem;margin:0 0 1rem;line-height:1.5}.delete-account-button{padding:.75rem 1.5rem;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.delete-account-button:hover:not(:disabled){background-color:#b91c1c}.delete-account-button:disabled{opacity:.6;cursor:not-allowed}.delete-confirm-section{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:1rem}.delete-confirm-text{color:#991b1b;font-size:.875rem;margin:0 0 1rem;font-weight:500}.delete-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.cancel-delete-button{padding:.5rem 1rem;background-color:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.cancel-delete-button:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.cancel-delete-button:disabled{opacity:.6;cursor:not-allowed}.confirm-delete-button{padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.confirm-delete-button:hover:not(:disabled){background-color:#b91c1c}.confirm-delete-button:disabled{opacity:.6;cursor:not-allowed}.migration-list-container{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:var(--container-lg);margin:0 auto;background:var(--color-background);min-height:calc(100vh - 80px)}.migration-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-md)}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.tutorial-help-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;background:var(--color-surface);color:var(--color-text-secondary);transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs)}.tutorial-help-button:hover{background-color:var(--color-background);border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.migration-list-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.new-migration-button{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-medium)}.new-migration-button.primary{background-color:var(--color-primary);color:#fff}.new-migration-button.primary:hover{background-color:var(--color-primary-hover)}.migrations-loading,.migrations-error{padding:var(--spacing-lg) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center}.migrations-error{border-color:var(--color-error);background:var(--color-error-bg);color:#991b1b}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background)}.empty-state p{margin:var(--spacing-sm) 0;font-size:var(--font-size-base)}.empty-state .new-migration-button{margin-top:var(--spacing-lg)}.migrations-list{display:flex;flex-direction:column;gap:12px;width:100%}.migration-item{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;background:var(--color-surface);transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;gap:12px;width:100%}.migration-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.migration-info{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:10px}.migration-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0}.migration-info h3{margin:0;font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1;line-height:1.3;word-break:break-word}.status-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-badge-draft{background-color:#e3f2fd;color:#1976d2}.status-badge-running{background-color:#fff3e0;color:#f57c00;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.status-badge-completed{background-color:#e8f5e9;color:#388e3c}.status-badge-error{background-color:#ffebee;color:#d32f2f}.status-badge-paused{background-color:#f3e5f5;color:#7b1fa2}.migration-connections{margin:0;padding:10px 12px;background:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.connection-info-row{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:var(--font-size-base);align-items:start}.connection-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;padding-top:2px}.connection-value{color:var(--color-text-primary);word-break:break-all;font-family:Courier New,monospace;font-size:13px;line-height:1.4}.migration-meta{display:flex;flex-wrap:wrap;gap:12px 16px;font-size:12px;color:var(--color-text-tertiary);margin-top:0;padding-top:10px;border-top:1px solid var(--color-border)}.migration-meta span{display:flex;align-items:center;gap:4px}.migration-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:10px;border-top:1px solid var(--color-border);margin-top:auto}.badges-container{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.approve-button,.reject-button{padding:8px 14px;border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:all var(--transition-base);font-weight:var(--font-weight-medium);border:none}.approve-button{background:var(--color-success);color:#fff}.approve-button:hover:not(:disabled){background:#059669}.reject-button{background:var(--color-error);color:#fff}.reject-button:hover:not(:disabled){background:#dc2626}.approve-button:disabled,.reject-button:disabled{opacity:.6;cursor:not-allowed}.approval-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.approval-badge-pending{background:var(--color-warning-bg);color:#92400e}.approval-badge-approved{background:var(--color-success-bg);color:#065f46}.approval-badge-rejected{background:var(--color-error-bg);color:#991b1b}.export-button,.export-all-button{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:8px 14px;cursor:pointer;transition:all var(--transition-base);font-size:13px;color:var(--color-primary);font-weight:var(--font-weight-medium)}.export-button:hover,.export-all-button:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-hover)}.export-button:disabled,.export-all-button:disabled{opacity:.6;cursor:not-allowed}.import-button{background:var(--color-surface);border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-medium);display:inline-block}.import-button:hover:not(:disabled){background-color:var(--color-success-bg);border-color:#059669}.import-button:disabled{opacity:.6;cursor:not-allowed}.delete-button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 12px;cursor:pointer;font-size:16px;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;min-width:40px}.delete-button:hover{background-color:var(--color-error-bg);border-color:var(--color-error)}.delete-button:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirm-dialog{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:400px;box-shadow:var(--shadow-xl)}.delete-confirm-dialog p{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md)}.delete-confirm-button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;background-color:var(--color-error);color:#fff;font-weight:var(--font-weight-medium)}.delete-confirm-button:hover{background-color:#dc2626}.delete-confirm-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-base)}.cancel-button:hover{background-color:var(--color-background)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.migration-scope{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.migration-scope.scope-personal{background:#f0f4f8;color:#475569}.migration-scope.scope-team{background:#e0f2fe;color:#0369a1}.duplicate-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 14px;cursor:pointer;transition:all var(--transition-base);font-size:13px;color:var(--color-text-primary);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:6px}.duplicate-button:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.duplicate-button:disabled{opacity:.6;cursor:not-allowed}.accept-invitation-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}.accept-invitation-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:40px;max-width:500px;width:100%;text-align:center}.accept-invitation-card h2{margin:0 0 20px;color:#333;font-size:24px}.accept-invitation-card p{color:#666;margin:16px 0;line-height:1.6}.accept-button,.sign-in-button{background:#667eea;color:#fff;border:none;padding:12px 32px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:20px}.accept-button:hover:not(:disabled),.sign-in-button:hover{background:#5568d3}.accept-button:disabled{background:#ccc;cursor:not-allowed}.invitation-message{padding:16px;border-radius:6px;margin:20px 0;font-weight:500}.invitation-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.invitation-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.invitation-hint{font-size:14px;color:#999;margin-top:20px;font-style:italic}.active-viewers-container{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:100}.active-viewers-label{font-size:12px;color:#666;font-weight:500}.active-viewers-avatars{display:flex;gap:6px;align-items:center}.viewer-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:default;border:2px solid white;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.viewer-avatar:hover{transform:scale(1.1);box-shadow:0 4px 8px #00000026;z-index:1}.viewer-avatar:nth-child(1){background:linear-gradient(135deg,#667eea,#764ba2)}.viewer-avatar:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.viewer-avatar:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.viewer-avatar:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.viewer-avatar:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.viewer-avatar:nth-child(6){background:linear-gradient(135deg,#30cfd0,#330867)}.viewer-avatar:nth-child(n+7){background:linear-gradient(135deg,#a8edea,#fed6e3);color:#333}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-container{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tutorial-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;border-bottom:1px solid #e0e0e0}.tutorial-title-section h2{margin:0 0 8px;font-size:24px;font-weight:600;color:#333}.tutorial-progress{font-size:14px;color:#666;font-weight:500}.tutorial-close{background:none;border:none;font-size:32px;line-height:1;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.tutorial-close:hover{background-color:#f0f0f0;color:#333}.tutorial-content{padding:24px;flex:1;overflow-y:auto}.tutorial-step-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.tutorial-step-dot{width:12px;height:12px;border-radius:50%;background-color:#e0e0e0;cursor:pointer;transition:all .2s;position:relative}.tutorial-step-dot:hover{transform:scale(1.2)}.tutorial-step-dot.active{background-color:#0078d4;width:16px;height:16px}.tutorial-step-dot.completed{background-color:#4caf50}.tutorial-step-content h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#333}.tutorial-step-body{font-size:15px;line-height:1.6;color:#555}.tutorial-step-body p{margin:0 0 12px}.tutorial-step-body p:last-child{margin-bottom:0}.tutorial-step-body ul,.tutorial-step-body ol{margin:12px 0;padding-left:24px}.tutorial-step-body li{margin:8px 0}.tutorial-step-body strong{color:#333;font-weight:600}.tutorial-step-body code{background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:14px;color:#d32f2f}.tutorial-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa;border-radius:0 0 12px 12px}.tutorial-skip-button{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:4px;transition:all .2s}.tutorial-skip-button:hover{background-color:#f0f0f0;color:#333}.tutorial-navigation{display:flex;gap:12px}.tutorial-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.tutorial-button.primary{background-color:#0078d4;color:#fff}.tutorial-button.primary:hover:not(:disabled){background-color:#106ebe}.tutorial-button.secondary{background-color:#fff;color:#333;border:1px solid #ccc}.tutorial-button.secondary:hover:not(:disabled){background-color:#f0f0f0}.tutorial-button:disabled{opacity:.5;cursor:not-allowed}.app{min-height:100vh;background-color:#f5f5f5}.connections-page{display:flex;flex-direction:column;min-height:calc(100vh - 80px);background-color:#f5f5f5}.connections-page-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:24px;box-shadow:0 2px 4px #0000000d}.connections-page-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:#333}.connections-page-header p{margin:0 0 20px;font-size:14px;color:#666}.migration-name-input{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.migration-name-input label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.migration-name-input input{width:100%;max-width:500px;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box;transition:all .2s}.migration-name-input input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.migration-name-input small{display:block;margin-top:6px;font-size:12px;color:#666}.connections-page-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;background:#fff;border-top:1px solid #e0e0e0;margin-top:auto;box-shadow:0 -2px 4px #0000000d}.cancel-button.page-level{padding:10px 20px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;background:#fff;color:#333;transition:all .2s;font-weight:500}.cancel-button.page-level:hover{background-color:#f0f0f0;border-color:#999}.continue-button{padding:10px 24px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s;font-weight:500}.continue-button.primary{background-color:#0078d4;color:#fff}.continue-button.primary:hover:not(:disabled){background-color:#106ebe}.continue-button:disabled{background-color:#ccc;color:#999;cursor:not-allowed}.auth-panels{display:flex;flex-wrap:wrap;gap:24px;padding:24px;flex:1}.auth-panel{flex:1;min-width:320px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px}.auth-panel h2{margin:0 0 16px;font-size:20px;font-weight:600;color:#333}.connection-summary-bar{display:flex;flex-wrap:wrap;gap:16px;padding:16px 24px}.connection-summary-card{flex:1;min-width:280px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;box-shadow:0 2px 6px #0000000d}.connection-summary-card h3{margin:0 0 12px;font-size:18px;color:#333}.connection-summary-card p{margin:6px 0;font-size:14px;color:#555}.change-connection-button{margin-top:12px;padding:8px 14px;border:1px solid #0078d4;border-radius:4px;background-color:#fff;color:#0078d4;font-size:14px;cursor:pointer;transition:all .2s}.change-connection-button:hover{background-color:#e3f2fd}.panel-content{display:flex;flex-direction:column;gap:12px}.panel-loading{padding:8px 12px;border:1px solid #ffe082;background-color:#fff8e1;border-radius:4px;font-size:13px;color:#8a6d3b}.landing-page{min-height:100vh;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.2),transparent),linear-gradient(135deg,#512bd4,#742774 35%,#ca0d86 65%,#ff6f3c);display:flex;align-items:center;justify-content:center;padding:48px 24px;box-sizing:border-box}.landing-content{width:100%;max-width:1040px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:stretch}.landing-hero{background:#ffffff2e;border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;padding:48px 40px;color:#fff;display:flex;flex-direction:column;gap:24px;box-shadow:0 30px 60px #24074747}.landing-hero h1{font-size:42px;font-weight:700;margin:0;line-height:1.1;letter-spacing:-.5px}.landing-hero p{margin:0;font-size:18px;line-height:1.5;color:#ffffffeb}.landing-logo{display:inline-flex;gap:10px;margin-bottom:8px}.app-logo{width:64px;height:64px;display:block}.power-diamond{width:24px;height:24px;display:inline-block;border-radius:4px;transform:rotate(45deg)}.power-diamond--purple{background:#742774}.power-diamond--magenta{background:#ca0d86}.power-diamond--orange{background:#ff6f3c}.landing-highlights{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.landing-highlights li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;color:#ffffffeb}.highlight-icon{font-size:20px;line-height:1}.landing-auth{display:flex;align-items:center;justify-content:center}.landing-card{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:36px 32px 32px;box-shadow:0 18px 40px #230c3f29;display:flex;flex-direction:column;gap:24px}.landing-card-header{display:flex;flex-direction:column;gap:16px}.landing-card-header h2{margin:0;font-size:28px;color:#1e1e1e;font-weight:700}.landing-card-header p{margin:0;font-size:15px;color:#3a3a3a;line-height:1.5}.auth-badge{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#74277414;color:#742774;font-weight:600;font-size:13px;letter-spacing:.3px;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:16px;text-align:left}.auth-form h2{margin:0;font-size:22px;font-weight:600;color:#2d2d2d}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#333}.auth-field input{padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.auth-field input:focus{border-color:#0078d4;outline:none;box-shadow:0 0 0 2px #0078d426}.login-error{margin-bottom:16px;padding:12px 14px;border:1px solid #f5c6cb;background-color:#fdecea;color:#c62828;border-radius:6px;font-size:14px;text-align:left}.login-button{width:100%;padding:12px 20px;font-size:16px;font-weight:600;border:none;border-radius:10px;background:linear-gradient(135deg,#742774,#ca0d86 60%,#ff6f3c);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.login-button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.login-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 24px #74277459}.auth-toggle-button{margin-top:12px;background:none;border:none;color:#742774;font-size:15px;cursor:pointer;font-weight:600}.auth-toggle-button:hover{text-decoration:underline}.landing-page--loading{background:linear-gradient(135deg,#512bd4,#742774 35%,#ca0d86 65%,#ff6f3c)}.session-loading-card{width:100%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;padding:40px 32px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.session-loading-card h1{margin:0;font-size:28px;color:#2d2d2d}.session-loading-card p{margin:0;font-size:16px;color:#555}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.user-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e6e6e9;box-shadow:0 4px 18px #17082c14;gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:20px;flex:1;min-width:0}.header-brand{display:flex;gap:12px;align-items:center}.brand-mark{display:inline-flex;gap:6px;align-items:center}.header-logo{width:32px;height:32px;display:block}.brand-diamond{width:14px;height:14px;display:inline-block;transform:rotate(45deg);border-radius:3px}.brand-diamond--purple{background:#742774}.brand-diamond--magenta{background:#ca0d86}.brand-diamond--orange{background:#ff6f3c}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-button{background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit;transition:opacity .2s;display:flex;flex-direction:column;gap:2px;align-items:flex-start}.brand-button:hover{opacity:.8}.brand-button:active{opacity:.6}.brand-title{font-weight:700;color:#2b2b30;font-size:16px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.brand-separator{color:#6a6a75;font-size:16px;font-weight:400}.brand-subtitle{font-size:12px;color:#6a6a75;text-transform:uppercase;letter-spacing:1px;display:inline;margin-left:0}.header-back-button{padding:6px 14px;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer;background:#fff;color:#333;transition:all .2s;display:flex;align-items:center;gap:4px;font-weight:500;white-space:nowrap}.header-back-button:hover{background-color:#f0f0f0;border-color:#999;color:#000}.header-back-button:active{background-color:#e0e0e0}.header-navigation{display:flex;align-items:center;min-width:0}.breadcrumb{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:4px;flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;font-size:13px}.breadcrumb-link{background:none;border:none;padding:4px 6px;cursor:pointer;color:#667eea;text-decoration:none;font-size:13px;transition:color .2s;border-radius:3px;white-space:nowrap}.breadcrumb-link:hover{color:#764ba2;background-color:#f5f5f5}.breadcrumb-current{color:#333;font-weight:500;padding:4px 6px;white-space:nowrap}.breadcrumb-separator{color:#999;margin:0 2px;-webkit-user-select:none;user-select:none}.user-details{display:flex;align-items:center;gap:16px;flex-shrink:0}@media (max-width: 768px){.user-header{flex-direction:column;align-items:stretch;padding:12px 16px}.header-left{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:8px}.header-brand{width:100%}.header-back-button{width:100%;justify-content:center}.header-navigation{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.breadcrumb{min-width:max-content}.user-details{width:100%;justify-content:space-between;flex-wrap:wrap}.user-meta{flex:1;min-width:0}}.header-help-button{padding:6px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer;background:#fff;color:#666;transition:all .2s;display:flex;align-items:center;gap:4px;font-weight:500}.header-help-button:hover{background-color:#f0f0f0;border-color:#999;color:#333}.header-team-button{padding:6px 12px;border:1px solid #0078d4;border-radius:4px;font-size:13px;cursor:pointer;background:#fff;color:#0078d4;transition:all .2s;display:flex;align-items:center;gap:4px;font-weight:500}.header-team-button:hover{background-color:#e3f2fd;border-color:#106ebe}.user-name-clickable{background:none;border:none;padding:0;font-size:15px;font-weight:600;color:#2b2b30;cursor:pointer;text-align:right;transition:color .2s;font-family:inherit}.user-name-clickable:hover:not(:disabled){color:#0078d4;text-decoration:underline}.user-name-clickable:disabled{opacity:.6;cursor:not-allowed}.user-email{font-size:12px;color:#6a6a75}.user-meta{display:flex;flex-direction:column;gap:2px;text-align:right}.sign-out-button{padding:8px 16px;border:none;border-radius:999px;background:#7427741f;color:#742774;font-size:14px;cursor:pointer;font-weight:600;transition:background-color .2s,transform .2s}.sign-out-button:hover:not(:disabled){background:#7427742e;transform:translateY(-1px)}.sign-out-button:disabled{opacity:.6;cursor:not-allowed}.profile-button{padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-right:12px}.profile-button:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.profile-button:disabled{opacity:.5;cursor:not-allowed}.forgot-password-link{background:none;border:none;color:#0078d4;font-size:14px;cursor:pointer;padding:0;text-align:left;margin-top:-8px;margin-bottom:8px;transition:color .2s}.forgot-password-link:hover{color:#106ebe;text-decoration:underline}.email-unverified-badge{margin-left:8px;font-size:14px;cursor:help}.verification-code-section{display:flex;flex-direction:column;gap:.75rem}.code-input-group{display:flex;align-items:center;gap:.75rem}.code-input-group input{flex:1}.verify-code-button{padding:.75rem 1.5rem;background-color:#0078d4;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.verify-code-button:hover:not(:disabled){background-color:#106ebe}.verify-code-button:disabled{opacity:.6;cursor:not-allowed}.code-verified{color:#10b981;font-weight:500;font-size:.875rem;white-space:nowrap}.send-code-button{padding:.75rem;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.send-code-button:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.send-code-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 960px){.landing-content{grid-template-columns:1fr}.landing-hero{padding:40px 28px}.landing-card{margin:0 auto}}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--container-sm: 600px;--container-md: 900px;--container-lg: 1200px;--container-xl: 1400px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .15);--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--color-primary: #0078d4;--color-primary-hover: #106ebe;--color-primary-light: #e3f2fd;--color-primary-dark: #005a9e;--color-background: #f5f5f5;--color-surface: #ffffff;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-text-primary: #2b2b30;--color-text-secondary: #6a6a75;--color-text-tertiary: #999999;--color-success: #10b981;--color-success-bg: #d1fae5;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-info: #3b82f6;--color-info-bg: #dbeafe;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}.page-container{max-width:var(--container-lg);margin:0 auto;padding:var(--spacing-lg);background:var(--color-background);min-height:calc(100vh - 80px)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover,.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border-light)}.section-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.3px}.btn{padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #0078d433}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef444433}.btn-sm{padding:6px 12px;font-size:var(--font-size-sm)}.btn-lg{padding:12px 24px;font-size:var(--font-size-md)}.form-field{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-base);background:var(--color-surface)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0078d41a}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-success{background:var(--color-success-bg);color:#065f46}.badge-warning{background:var(--color-warning-bg);color:#92400e}.badge-error{background:var(--color-error-bg);color:#991b1b}.badge-info{background:var(--color-info-bg);color:#1e40af}.badge-neutral{background:var(--color-background);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.empty-state p{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{padding:var(--spacing-lg);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);color:#991b1b;font-size:var(--font-size-base)}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.page-container{padding:var(--spacing-md)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
