.migration-wizard { max-width: var(--width-sm); margin: 0 auto; } .field-label { display: block; font-size: var(--text-sm); font-weight: var(--font-medium); color: var(--text-primary); margin-bottom: var(--space-2); } .step-indicator { display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-6); gap: var(--space-1); } .step { display: flex; align-items: center; justify-content: center; } .step-dot { width: 24px; height: 24px; border-radius: 50%; background: var(--bg-secondary); border: 2px solid var(--border-color); display: flex; align-items: center; justify-content: center; font-size: var(--text-xs); font-weight: var(--font-medium); color: var(--text-secondary); flex-shrink: 0; } .step.active .step-dot { background: var(--accent); border-color: var(--accent); color: var(--text-inverse); width: 28px; height: 28px; } .step.completed .step-dot { background: var(--success-bg); border-color: var(--success-text); color: var(--success-text); } .step-label { display: none; } .step-line { width: 16px; height: 2px; background: var(--border-color); flex-shrink: 0; } .step-line.completed { background: var(--success-text); } .current-step-label { text-align: center; font-size: var(--text-sm); color: var(--text-secondary); margin-bottom: var(--space-5); } .current-step-label strong { color: var(--text-primary); } .step-content { background: var(--bg-secondary); border-radius: var(--radius-xl); padding: var(--space-6); } .step-content h2 { margin: 0 0 var(--space-3) 0; } .step-content > p { color: var(--text-secondary); margin: 0 0 var(--space-5) 0; } .info-box { background: var(--accent-muted); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); } .info-box h3 { margin: 0 0 var(--space-3) 0; font-size: var(--text-base); } .info-box ol, .info-box ul { margin: 0; padding-left: var(--space-5); } .info-box li { margin-bottom: var(--space-2); color: var(--text-secondary); } .info-box p { margin: 0; color: var(--text-secondary); } .warning-box { background: var(--warning-bg); border: 1px solid var(--warning-border); border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); font-size: var(--text-sm); } .warning-box strong { color: var(--warning-text); } .warning-box p { margin: var(--space-3) 0 0 0; color: var(--text-secondary); } .warning-box ul { margin: var(--space-3) 0 0 0; padding-left: var(--space-5); } .checkbox-label { display: inline-flex; align-items: flex-start; gap: var(--space-3); cursor: pointer; margin-bottom: var(--space-5); text-align: left; } .checkbox-label input[type="checkbox"] { width: 18px; height: 18px; margin: 0; flex-shrink: 0; } .button-row { display: flex; gap: var(--space-3); justify-content: flex-end; margin-top: var(--space-5); } .handle-input-group { display: flex; gap: var(--space-2); } .handle-input-group input { flex: 1; } .handle-input-group select { width: auto; } .current-info { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); display: flex; justify-content: space-between; } .current-info .label { color: var(--text-secondary); } .current-info .value { font-weight: var(--font-medium); word-break: break-all; } .current-info .value.mono { font-family: var(--font-mono); font-size: var(--text-sm); } .review-card { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); } .review-row { display: flex; justify-content: space-between; padding: var(--space-3) 0; border-bottom: 1px solid var(--border-color); } .review-row:last-child { border-bottom: none; } .review-row .label { color: var(--text-secondary); } .review-row .value { font-weight: var(--font-medium); text-align: right; word-break: break-all; } .review-row .value.mono { font-family: var(--font-mono); font-size: var(--text-sm); } .progress-section { margin-bottom: var(--space-5); } .progress-item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; color: var(--text-secondary); } .progress-item.completed { color: var(--success-text); } .progress-item.active { color: var(--accent); } .progress-item .icon { width: 24px; text-align: center; } .progress-bar { height: 8px; background: var(--bg-primary); border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-4); } .progress-fill { height: 100%; background: var(--accent); transition: width var(--transition-slow); } .status-text { text-align: center; color: var(--text-secondary); font-size: var(--text-sm); } .blob-progress { margin: var(--space-4) 0; } .blob-progress-bar { height: 8px; background: var(--bg-primary); border-radius: var(--radius-md); overflow: hidden; margin-bottom: var(--space-2); } .blob-progress-fill { height: 100%; background: var(--accent); transition: width var(--transition-slow); } .blob-progress-text { text-align: center; color: var(--text-secondary); font-size: var(--text-sm); margin: 0; } .success-content { text-align: center; } .success-icon { width: 64px; height: 64px; background: var(--success-bg); color: var(--success-text); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: var(--text-2xl); margin: 0 auto var(--space-5) auto; } .success-details { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-4); margin: var(--space-5) 0; text-align: left; } .success-details .detail-row { display: flex; justify-content: space-between; padding: var(--space-2) 0; } .success-details .label { color: var(--text-secondary); } .success-details .value { font-weight: var(--font-medium); } .success-details .value.mono { font-family: var(--font-mono); font-size: var(--text-sm); } .redirect-text { color: var(--text-secondary); font-style: italic; } .code-block { background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); overflow-x: auto; } .code-block pre { margin: 0; font-family: var(--font-mono); font-size: var(--text-sm); white-space: pre-wrap; word-break: break-all; } .auth-method-options { display: flex; flex-direction: column; gap: var(--space-3); } label.auth-option { display: flex; flex-direction: row; align-items: center; gap: var(--space-3); padding: var(--space-4); border: 2px solid var(--border-color); border-radius: var(--radius-lg); cursor: pointer; margin-bottom: 0; transition: border-color var(--transition-normal), background-color var(--transition-normal); } .auth-option:hover { border-color: var(--accent); background: var(--bg-hover); } .auth-option.selected { border-color: var(--accent); background: var(--accent-muted); } .auth-option input[type="radio"] { flex-shrink: 0; width: 18px; height: 18px; margin: 0; } .auth-option-content { display: flex; flex-direction: column; gap: var(--space-1); } .auth-option-content strong { color: var(--text-primary); } .auth-option-content span { font-size: var(--text-sm); color: var(--text-secondary); } .loading-indicator { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); padding: var(--space-8); } .spinner { width: 40px; height: 40px; border: 3px solid var(--border-color); border-top-color: var(--accent); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .passkey-section { margin-top: var(--space-5); text-align: center; } .passkey-section p { margin-bottom: var(--space-4); color: var(--text-secondary); } .app-password-display { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-5); margin-bottom: var(--space-5); text-align: center; } .app-password-label { font-size: var(--text-sm); color: var(--text-secondary); margin-bottom: var(--space-3); } .app-password-code { display: block; font-family: var(--font-mono); font-size: var(--text-lg); letter-spacing: 0.1em; padding: var(--space-4); background: var(--bg-tertiary); border-radius: var(--radius-md); margin-bottom: var(--space-4); user-select: all; } .copy-btn { font-size: var(--text-sm); } .current-account { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); display: flex; justify-content: space-between; align-items: center; } .current-account .label { color: var(--text-secondary); } .current-account .value { font-weight: var(--font-medium); font-size: var(--text-lg); } .server-info { background: var(--bg-primary); border-radius: var(--radius-lg); padding: var(--space-4); margin-top: var(--space-5); } .server-info h3 { margin: 0 0 var(--space-3) 0; font-size: var(--text-base); color: var(--success-text); } .server-info .info-row { display: flex; justify-content: space-between; padding: var(--space-2) 0; font-size: var(--text-sm); } .server-info .label { color: var(--text-secondary); } .server-info a { display: inline-block; margin-top: var(--space-2); margin-right: var(--space-3); color: var(--accent); font-size: var(--text-sm); } .final-warning { background: var(--error-bg); border-color: var(--error-border); } .final-warning strong { color: var(--error-text); } .next-steps { background: var(--accent-muted); border-radius: var(--radius-lg); padding: var(--space-5); margin: var(--space-5) 0; text-align: left; } .next-steps h3 { margin: 0 0 var(--space-3) 0; } .next-steps ol { margin: 0; padding-left: var(--space-5); } .next-steps li { margin-bottom: var(--space-2); } .next-steps a { color: var(--accent); } .resume-info { margin-bottom: var(--space-5); } .resume-details { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3); } .resume-row { display: flex; gap: var(--space-3); } .resume-row .label { color: var(--text-secondary); min-width: 80px; } .resume-row .value { font-weight: var(--font-medium); } .resume-note { margin-top: var(--space-4); font-size: var(--text-sm); font-style: italic; } .file-input-container { display: flex; flex-direction: column; gap: var(--space-3); } .file-info { display: flex; gap: var(--space-2); align-items: center; padding: var(--space-3); background: var(--bg-primary); border-radius: var(--radius-md); } .file-name { font-weight: var(--font-medium); } .file-size { color: var(--text-secondary); font-size: var(--text-sm); } .step-content textarea { width: 100%; font-family: var(--font-mono); font-size: var(--text-sm); padding: var(--space-3); border: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-input); color: var(--text-primary); resize: vertical; } .step-content textarea:focus { outline: none; border-color: var(--accent); } .message { padding: var(--space-4); border-radius: var(--radius-lg); margin-bottom: var(--space-4); } .message.success { background: var(--success-bg); color: var(--success-text); border: 1px solid var(--success-border); } .message.error { background: var(--error-bg); color: var(--error-text); border: 1px solid var(--error-border); }