.error-boundary-container{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.error-boundary-content{background:#fff;border-radius:16px;padding:40px;max-width:600px;width:100%;box-shadow:0 20px 60px #0003;text-align:center;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-icon{width:80px;height:80px;margin:0 auto 24px;background:#fee;border-radius:50%;display:flex;align-items:center;justify-content:center}.error-icon i{font-size:40px;color:#dc3545}.error-boundary-content h1{font-size:28px;color:#1a202c;margin-bottom:16px;font-weight:700}.error-message{font-size:16px;color:#4a5568;margin-bottom:24px;line-height:1.6}.error-causes{text-align:left;margin:0 auto 32px;max-width:400px;list-style:none;padding:0}.error-causes li{position:relative;padding-left:28px;margin-bottom:12px;color:#718096;font-size:14px}.error-causes li:before{content:"•";position:absolute;left:12px;color:#667eea;font-weight:700}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-actions button{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:8px}.error-actions .btn-primary{background:#667eea;color:#fff}.error-actions .btn-primary:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.error-actions .btn-secondary{background:#48bb78;color:#fff}.error-actions .btn-secondary:hover{background:#38a169;transform:translateY(-1px);box-shadow:0 4px 12px #48bb784d}.error-actions .btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.error-actions .btn-outline:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.error-details{margin-top:32px;text-align:left;background:#f7fafc;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.error-details summary{cursor:pointer;font-weight:600;color:#4a5568;margin-bottom:12px;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:#667eea}.error-stack{margin:0;padding:16px;background:#1a202c;color:#63b3ed;border-radius:4px;font-family:Monaco,Consolas,monospace;font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 640px){.error-boundary-content{padding:32px 24px}.error-boundary-content h1{font-size:24px}.error-message{font-size:14px}.error-actions{flex-direction:column;width:100%}.error-actions button{width:100%;justify-content:center}.error-causes{max-width:100%}}.complete-registration-modal .modal{max-width:600px;animation:modalFadeIn .3s ease}.complete-registration-modal .modal-body{padding:24px;max-height:calc(90vh - 180px);overflow-y:auto}.complete-registration-modal .modal-title h2{color:var(--primary)}.cr-content{padding:0}.cr-header{text-align:center;margin-bottom:32px;padding:0}.cr-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:16px;box-shadow:0 4px 12px #667eea4d}.cr-badge i{font-size:14px;animation:giftBounce 2s ease-in-out infinite}@keyframes giftBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.cr-header h3{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px;line-height:1.4}.cr-header p{font-size:14px;color:var(--text-muted);margin:0}.cr-error-general{background:#f565651a;color:var(--error);padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px;border:1px solid rgba(245,101,101,.2)}.cr-error-message{display:block;color:var(--error);font-size:12px;margin-top:4px;display:flex;align-items:center;gap:4px}.cr-error-message.cr-center{justify-content:center;margin-top:12px}.cr-form{display:flex;flex-direction:column;gap:20px}.cr-form-group{display:flex;flex-direction:column;gap:8px}.cr-form-group label{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.cr-form-group label i{color:var(--primary);font-size:16px}.cr-required{color:var(--error);font-size:16px}.cr-form-input{padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius);font-size:15px;color:var(--text-primary);transition:all .3s ease;width:100%;font-family:inherit;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.cr-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.cr-form-input.cr-error{border-color:var(--error)}.cr-form-input.cr-error:focus{box-shadow:0 0 0 3px #f565651a}select.cr-form-input{cursor:pointer;padding-right:40px;background-image:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-primary) url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDFMNiA2TDExIDEiIHN0cm9rZT0iIzcxODA5NiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+) no-repeat;background-position:right 12px center;background-size:12px 8px}select.cr-form-input:hover{border-color:var(--primary)}select.cr-form-input:focus{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDFMNiA2TDExIDEiIHN0cm9rZT0iIzY2N2VlYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+)}select.cr-form-input option{background:var(--bg-primary);color:var(--text-primary);padding:8px 12px;font-size:14px;font-family:inherit}input[type=date].cr-form-input{padding:10px 16px;cursor:pointer;position:relative;background-color:var(--bg-primary)}input[type=date].cr-form-input::-webkit-calendar-picker-indicator{position:absolute;right:16px;cursor:pointer;opacity:.6;transition:opacity .3s ease;background:none;color:var(--text-muted)}input[type=date].cr-form-input::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date].cr-form-input::-moz-calendar-picker-indicator{cursor:pointer}textarea.cr-form-input{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5;padding:12px 16px}.cr-form-group small{font-size:12px;color:var(--text-muted);text-align:right;margin-top:4px}.cr-photo-section{display:flex;flex-direction:column;align-items:center;padding:0}.cr-photo-info{text-align:center;margin-bottom:32px}.cr-photo-info i{font-size:48px;color:var(--primary);margin-bottom:16px;opacity:.8}.cr-photo-info h4{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.cr-photo-info p{font-size:14px;color:var(--text-muted);margin:0}.cr-photo-upload{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:20px}.cr-photo-preview{width:180px;height:180px;border-radius:50%;overflow:hidden;position:relative;box-shadow:0 8px 24px #0000001a;border:4px solid var(--border)}.cr-photo-preview img{width:100%;height:100%;object-fit:cover}.cr-photo-placeholder{width:180px;height:180px;border-radius:50%;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease;border:3px dashed var(--border)}.cr-photo-placeholder:hover{background:var(--bg-quaternary);border-color:var(--primary);transform:scale(1.02)}.cr-photo-placeholder i{font-size:64px;color:var(--text-muted)}.cr-photo-placeholder span{font-size:14px;color:var(--text-muted);font-weight:500}.cr-photo-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center}.cr-photo-button{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.cr-photo-button:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.cr-photo-button.cr-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.cr-photo-button.cr-secondary:hover{background:var(--bg-quaternary);box-shadow:0 4px 12px #0000001a}.cr-photo-tips{text-align:center;margin-top:16px}.cr-photo-tips small{color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.cr-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .cr-form-input{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] input[type=date].cr-form-input{background-color:var(--bg-tertiary);color-scheme:dark}[data-theme=dark] select.cr-form-input{background:var(--bg-tertiary) url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDFMNiA2TDExIDEiIHN0cm9rZT0iI2UyZThmMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+) no-repeat;background-position:right 12px center;background-size:12px 8px}[data-theme=dark] select.cr-form-input:focus{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0xIDFMNiA2TDExIDEiIHN0cm9rZT0iIzY2N2VlYSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+)}[data-theme=dark] select.cr-form-input option{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .cr-photo-placeholder{background:var(--bg-tertiary)}[data-theme=dark] .cr-error-general{background:#f5656533}[data-theme=dark] .cr-photo-loading{background:#000c}.complete-registration-modal .modal-footer{padding:20px 24px;margin:0;background:var(--bg-secondary);border-top:1px solid var(--border)}@media (max-width: 768px){.complete-registration-modal .modal{margin:16px;max-width:calc(100vw - 32px)}.complete-registration-modal .modal-body{padding:20px;max-height:calc(100vh - 160px)}.cr-header h3{font-size:18px}.cr-photo-preview,.cr-photo-placeholder{width:150px;height:150px}.cr-photo-placeholder i{font-size:48px}.complete-registration-modal .modal-footer{padding:16px 20px}}@media (max-width: 480px){.cr-header{padding:0}.cr-badge{font-size:12px;padding:4px 12px}.cr-form-group label{font-size:13px}.cr-form-input{font-size:14px;padding:10px 14px}input[type=date].cr-form-input{padding:8px 14px}select.cr-form-input{padding-right:36px;background-position:right 8px center}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cr-photo-button:focus,.cr-photo-placeholder:focus{outline:2px solid var(--primary);outline-offset:2px}.cr-form-input:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.cr-photo-button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.cr-form-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-quaternary)}.cr-form-input{background-clip:padding-box!important;border-style:solid!important;border-width:2px!important;box-shadow:none!important;margin:0!important;vertical-align:baseline!important;text-decoration:none!important;text-transform:none!important;letter-spacing:normal!important}select.cr-form-input{background-color:var(--bg-primary)!important;background-repeat:no-repeat!important;background-attachment:scroll!important;list-style:none!important;list-style-type:none!important;text-decoration:none!important;text-indent:0!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-variant:normal!important;font-feature-settings:normal!important}
