.register-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 24px;background-color:var(--color-background-secondary,#f9fafb)}.register-container{background-color:var(--color-surface,#fff);border-radius:var(--radius-xl,12px);box-shadow:var(--shadow-lg);width:100%;max-width:800px;padding:48px 40px;margin:0 auto}.register-header{text-align:center;margin-bottom:40px}.register-logo{display:flex;justify-content:center;margin-bottom:20px;>img{width:140px}}.register-logo:hover{opacity:.8}.register-title{font-size:var(--font-size-2xl,24px);font-weight:var(--font-weight-semibold,600);color:var(--color-text-primary,#111827);margin-bottom:8px}.register-subtitle{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#4b5563)}.step-indicator{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;position:relative;padding:0 20px}.step-indicator:before{content:"";position:absolute;top:20px;left:10%;right:10%;height:2px;background-color:var(--color-border,#e5e7eb);z-index:0}.step-item{flex-direction:column;position:relative;z-index:1;flex:1}.step-item,.step-number{display:flex;align-items:center}.step-number{width:40px;height:40px;border-radius:50%;background-color:var(--color-surface,#fff);border:2px solid var(--color-border,#e5e7eb);justify-content:center;font-weight:var(--font-weight-semibold,600);color:var(--color-text-secondary,#4b5563);margin-bottom:8px;transition:all .3s}.step-item.active .step-number{background-color:var(--color-tokbell-green-500);border-color:var(--color-tokbell-green-500);color:#fff}.step-item.completed .step-number{background-color:var(--color-success-500,#10b981);border-color:var(--color-success-500,#10b981);color:#fff}.step-label{font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#4b5563);text-align:center}.step-item.active .step-label{color:var(--color-tokbell-green-500);font-weight:var(--font-weight-semibold,600)}.step-item.completed .step-label{color:var(--color-success-500,#10b981)}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:var(--font-weight-medium,500);color:var(--color-text-primary,#111827);font-size:var(--font-size-sm,14px)}.form-label.required:after{content:" *";color:var(--color-error-500,#ef4444)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;font-size:var(--font-size-sm,14px);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg,8px);background-color:var(--color-surface,#fff);color:var(--color-text-primary,#111827);transition:var(--transition-normal);box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-border-focus,#6366f1);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-text-muted,#9ca3af)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted,#9ca3af)}.form-input-error,.form-input-error:focus{border-color:var(--color-error-500,#ef4444)}.form-input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-input-readonly{background-color:var(--color-gray-50,#f9fafb);color:var(--color-text-secondary,#6b7280);cursor:not-allowed}.form-textarea{resize:vertical;min-height:120px}.form-error{margin-top:8px;font-size:var(--font-size-xs,12px);color:var(--color-error-500,#ef4444);display:none}.form-error.show{display:block}.form-success{margin-top:8px;font-size:var(--font-size-xs,12px);color:var(--color-success-500,#10b981)}.form-help{color:var(--color-text-secondary,#4b5563);line-height:1.5}.form-help,.form-warning{margin-top:4px;font-size:var(--font-size-xs,12px)}.form-warning{color:var(--color-error-500,#ef4444);font-weight:var(--font-weight-medium,500)}.form-notice{font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#4b5563);margin-bottom:24px}.input-group{display:flex;gap:8px}.input-group .form-input{flex:1}.input-group .btn{white-space:nowrap;flex-shrink:0}.checkbox-group{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin-top:2px;flex-shrink:0;accent-color:var(--color-info-600,#2563eb)}.checkbox-group label{font-size:var(--font-size-sm,14px);color:var(--color-text-primary,#111827);cursor:pointer;line-height:1.5}.checkbox-all{padding-bottom:16px;border-bottom:1px solid var(--color-border,#e5e7eb);margin-bottom:16px}.required-mark{color:var(--color-error-500,#ef4444)}.optional-mark{color:var(--color-text-secondary,#4b5563)}.privacy-policy-link{margin-left:8px;color:var(--color-info-600,#2563eb);text-decoration:underline;font-size:var(--font-size-xs,12px);background:none;border:none;cursor:pointer;padding:0}.privacy-policy-link:hover{opacity:.8}.terms-section{background-color:var(--color-background-secondary,#f9fafb);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg,8px);padding:16px;margin-bottom:12px;max-height:200px;overflow-y:auto}.terms-content{font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#4b5563);line-height:1.8}.terms-content h4{font-size:var(--font-size-sm,14px);color:var(--color-text-primary,#111827);margin-bottom:8px;margin-top:12px}.terms-content h4:first-child{margin-top:0}.terms-content p{margin-bottom:8px}.terms-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:var(--font-size-xs,12px)}.terms-table td,.terms-table th{padding:8px;border:1px solid var(--color-border,#e5e7eb);text-align:left}.terms-table th{background-color:var(--color-surface,#fff);font-weight:var(--font-weight-semibold,600)}.terms-optional{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border,#e5e7eb)}.terms-notice{margin-top:24px;font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#4b5563);line-height:1.6}.terms-notice p{margin-bottom:4px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-medium,500);border:none;border-radius:var(--radius-lg,8px);cursor:pointer;transition:var(--transition-normal);text-decoration:none;gap:8px;box-sizing:border-box}.btn-primary{background-color:var(--color-info-600,#2563eb);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-info-600,#2563eb);opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background-color:transparent;border:1px solid var(--color-border,#e5e7eb);color:var(--color-text-primary,#111827)}.btn-outline:hover:not(:disabled){background-color:var(--color-background-secondary,#f9fafb)}.btn-sm{padding:8px 16px;font-size:var(--font-size-xs,12px)}.btn-full{width:100%}.button-group{display:flex;gap:12px;margin-top:32px}.button-group .btn{flex:1}.member-type-intro{text-align:center;margin-bottom:32px}.member-type-intro p{font-size:var(--font-size-base,16px);color:var(--color-text-primary,#111827);font-weight:var(--font-weight-medium,500)}.member-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.member-type-card{border:2px solid var(--color-border,#e5e7eb);border-radius:var(--radius-xl,12px);padding:40px 24px;text-align:center;cursor:pointer;transition:all .3s;background-color:var(--color-surface,#fff)}.member-type-card:hover{border-color:var(--color-info-600,#2563eb);box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-type-card.selected{border-color:var(--color-info-600,#2563eb);background-color:rgba(37,99,235,.05)}.member-type-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transition:all .3s}.member-type-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.member-type-icon.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#10b981}.member-type-icon.red{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.member-type-card.selected .member-type-icon.blue{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.member-type-card.selected .member-type-icon.green{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.member-type-card.selected .member-type-icon.red{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.member-type-title{font-size:var(--font-size-xl,20px);font-weight:var(--font-weight-semibold,600);color:var(--color-text-primary,#111827);margin-bottom:8px}.member-type-desc{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#4b5563)}.verification-section{background-color:var(--color-background-secondary,#f9fafb);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg,8px);padding:24px;margin-bottom:24px}.verification-title{font-size:var(--font-size-base,16px);font-weight:var(--font-weight-semibold,600);margin-bottom:16px;color:var(--color-text-primary,#111827)}.step-content .input-group,.verification-section .input-group{display:flex;flex-direction:row;gap:8px}.step-content .input-group .form-input,.verification-section .input-group .form-input{flex:1;min-width:0}.step-content .input-group .btn,.verification-section .input-group .btn{flex-shrink:0;white-space:nowrap}.verification-complete{padding:12px;background-color:rgba(16,185,129,.1);color:var(--color-success-500,#10b981);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-lg,8px);font-size:var(--font-size-sm,14px)}.verification-timer{margin-top:8px;font-size:var(--font-size-xs,12px);color:var(--color-info-600,#2563eb);font-weight:var(--font-weight-medium,500)}.file-upload-area{border:2px dashed var(--color-border,#e5e7eb);border-radius:var(--radius-lg,8px);padding:32px;text-align:center;cursor:pointer;transition:all .2s;background-color:var(--color-background-secondary,#f9fafb)}.file-upload-area:hover{border-color:var(--color-info-600,#2563eb);background-color:rgba(37,99,235,.05)}.file-upload-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted,#9ca3af);margin:0 auto 12px}.file-upload-text{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#4b5563);margin-bottom:8px}.file-upload-hint{font-size:var(--font-size-xs,12px);color:var(--color-text-muted,#9ca3af)}.file-preview{margin-top:16px;padding:12px;background-color:var(--color-background-secondary,#f9fafb);border-radius:var(--radius-lg,8px)}.file-preview-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background-color:var(--color-surface,#fff);border-radius:var(--radius-md,6px);margin-bottom:8px}.file-preview-item:last-child{margin-bottom:0}.file-preview-name{font-size:var(--font-size-xs,12px);color:var(--color-text-primary,#111827)}.file-preview-remove{color:var(--color-error-500,#ef4444);cursor:pointer;font-size:18px;padding:0 4px;line-height:1}.file-preview-remove:hover{opacity:.7}.caller-number-register-option{background-color:var(--color-background-secondary,#f9fafb);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg,8px);padding:16px}.caller-number-register-option label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.caller-number-register-option input[type=checkbox]{margin-top:3px;width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--color-info-600,#2563eb)}.caller-number-register-content{flex:1}.caller-number-register-title{font-size:var(--font-size-sm,14px);font-weight:var(--font-weight-semibold,600);color:var(--color-text-primary,#111827)}.caller-number-register-desc{font-size:var(--font-size-xs,13px);color:var(--color-text-secondary,#4b5563);margin-top:4px}.caller-number-register-desc strong{color:var(--color-info-600,#2563eb)}.caller-number-register-hint{font-size:var(--font-size-xs,12px);color:var(--color-text-secondary,#4b5563);margin-top:8px}.marketing-consent-group{display:flex;gap:24px;margin-top:8px}.marketing-consent-item{display:flex;align-items:center;gap:8px}.marketing-consent-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-info-600,#2563eb)}.marketing-consent-item label{font-size:var(--font-size-sm,14px);color:var(--color-text-primary,#111827);cursor:pointer}.info-section{background-color:var(--color-background-secondary,#f9fafb);border-radius:var(--radius-xl,12px);padding:20px;margin:24px 0}.info-section-title{font-size:var(--font-size-base,16px);font-weight:var(--font-weight-semibold,600);margin-bottom:16px;color:var(--color-text-primary,#111827)}.election-notice{background:rgba(220,38,38,.05);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-lg,8px);padding:16px;margin-bottom:24px}.election-notice p{color:var(--color-error-500,#ef4444);font-size:var(--font-size-sm,14px);line-height:1.6}.election-terms-section{margin-bottom:24px}.election-terms-intro{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#4b5563);line-height:1.6;margin:12px 0}.complete-modal-content{text-align:center;padding:24px 0}.complete-icon{width:64px;height:64px;border-radius:50%;background-color:var(--color-success-500,#10b981);color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.complete-message{font-size:var(--font-size-sm,14px);color:var(--color-text-primary,#111827);line-height:1.6;margin-bottom:24px;white-space:pre-line}@media (max-width:768px){.register-page{padding:24px 16px}.register-container{padding:32px 24px}.register-logo{font-size:28px}.register-title{font-size:20px}.step-indicator{margin-bottom:32px;padding:0 10px}.step-label{font-size:10px}.step-number{width:32px;height:32px;font-size:var(--font-size-xs,12px)}.member-type-selector{grid-template-columns:1fr}.member-type-card{padding:32px 20px}.input-group{flex-direction:column}.input-group .btn{width:100%}.step-content .input-group,.verification-section .input-group{flex-direction:row}.step-content .input-group .btn,.verification-section .input-group .btn{width:auto;padding:8px 12px;font-size:var(--font-size-xs,12px)}.marketing-consent-group{flex-direction:column;gap:12px}.button-group{flex-direction:column}}