@charset "UTF-8";:root{--color-primary: #4a2e1b;--color-primary-dark: #331f12;--color-primary-light: #6e482f;--color-accent: #c88a2c;--color-accent-light: #fdf5e8;--color-accent-dark: #996417;--color-surface: #ffffff;--color-surface-subtle: #faf8f5;--color-background: #f4ede3;--color-text: #231b15;--color-text-muted: #685b51;--color-border: #ded5c9;--color-border-subtle: #ede6dc;--color-error: #b3261e;--color-error-bg: #fdf2f2;--color-error-border: #f2b8b5;--color-success: #1e6b37;--color-success-bg: #eff8f1;--color-success-border: #a3d9b1;--color-info: #1a5a82;--color-info-bg: #eff6fb;--color-info-border: #b9d8eb;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(35, 27, 21, .06);--shadow-md: 0 4px 12px rgba(35, 27, 21, .08);--shadow-lg: 0 8px 24px rgba(35, 27, 21, .12);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.registro-header{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);color:#fff;padding:2.25rem 1.25rem 2rem;border-bottom:4px solid var(--color-accent);box-shadow:var(--shadow-md)}.registro-header .header-content{max-width:920px;margin:0 auto;text-align:center}.registro-header .institutional-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;background:#ffffff1a;border:1px solid rgba(200,138,44,.4);border-radius:var(--radius-pill);font-size:.785rem;font-weight:600;letter-spacing:.04em;color:var(--color-accent-light);margin-bottom:.75rem}.registro-header .institutional-badge .badge-dot{width:7px;height:7px;border-radius:50%;background-color:var(--color-accent)}.registro-header .header-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .35rem;color:#fff}@media(min-width:640px){.registro-header .header-title{font-size:2.5rem}}.registro-header .header-subtitle{font-size:.95rem;color:#e5ded7;margin:0 auto;max-width:620px;line-height:1.45}@media(min-width:640px){.registro-header .header-subtitle{font-size:1.05rem}}.form-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-grid .col-span-full{grid-column:1/-1}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:.25rem}.form-group label .required-star{color:var(--color-error);font-weight:700}.form-group .form-control,.form-group .form-select{width:100%;min-height:44px;padding:.625rem .875rem;font-size:.95rem;font-family:inherit;color:var(--color-text);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-group .form-control::placeholder,.form-group .form-select::placeholder{color:#9c8e82}.form-group .form-control:focus,.form-group .form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a2e1b26}.form-group .form-control.is-invalid,.form-group .form-select.is-invalid{border-color:var(--color-error);background-color:var(--color-error-bg)}.form-group .form-control.is-invalid:focus,.form-group .form-select.is-invalid:focus{box-shadow:0 0 0 3px #b3261e26}.form-group .form-control.is-valid,.form-group .form-select.is-valid{border-color:var(--color-success)}.form-group .form-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:.125rem}.form-group .form-error{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--color-error);margin-top:.25rem}.form-group .form-error svg{flex-shrink:0}.form-sections{display:flex;flex-direction:column;gap:1.5rem}.form-section-block{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.25rem 1.5rem;margin:0;background-color:var(--color-surface)}.form-section-block .section-legend{font-size:.9375rem;font-weight:700;color:var(--color-primary);padding:0 .5rem;letter-spacing:-.01em}.input-id-group{display:flex;gap:.5rem}.input-id-group .select-doc-type{width:76px;min-width:76px;font-weight:700}.input-id-group .input-cedula-num{flex:1;font-family:inherit;letter-spacing:.05em;font-weight:600}.id-normalized-badge{display:inline-block;margin-top:.35rem;font-size:.8125rem;color:var(--color-accent-dark);background:var(--color-accent-light);padding:.2rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(200,138,44,.25)}.form-check{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem 0}.form-check input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:.125rem;accent-color:var(--color-primary);border-radius:4px;cursor:pointer}.form-check .form-check-label{font-size:.9rem;color:var(--color-text);line-height:1.4}.form-check .form-check-label .required-star{color:var(--color-error);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.btn.btn-secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-subtle);border-color:var(--color-primary-light)}.btn.btn-accent{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn.btn-accent:hover:not(:disabled){background-color:var(--color-accent-dark);border-color:var(--color-accent-dark)}.phase-notice{display:flex;align-items:flex-start;gap:.75rem;background-color:var(--color-accent-light);border:1px solid rgba(200,138,44,.35);border-left:4px solid var(--color-accent);padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text);line-height:1.45}.phase-notice svg{color:var(--color-accent-dark);flex-shrink:0;margin-top:.125rem}.alert-error{display:flex;align-items:flex-start;gap:.75rem;background-color:var(--color-error-bg);border:1.5px solid var(--color-error-border);border-left:5px solid var(--color-error);padding:1rem 1.25rem;border-radius:var(--radius-sm);color:var(--color-error)}.alert-error svg{flex-shrink:0;margin-top:.125rem}.alert-error .alert-text strong{display:block;font-size:.95rem;margin-bottom:.25rem}.alert-error .alert-text p{margin:0;font-size:.875rem;color:#7a1813}.review-cards-list{display:flex;flex-direction:column;gap:1.25rem}.review-section-card{background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast)}.review-section-card.has-error{border-color:var(--color-error);background-color:#fffdfd}.review-section-card .review-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.875rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap}.review-section-card .review-section-header .header-left{display:flex;align-items:center;gap:.75rem}.review-section-card .review-section-header .header-left .step-circle{width:28px;height:28px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-section-card .review-section-header .header-left h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-primary-dark)}.review-section-card .review-section-header .header-right{display:flex;align-items:center;gap:.75rem}.review-section-card .review-dl{display:grid;grid-template-columns:1fr;gap:.75rem 1.25rem;margin:0}@media(min-width:640px){.review-section-card .review-dl{grid-template-columns:repeat(2,1fr)}}.review-section-card .review-dl .review-item{display:flex;flex-direction:column;gap:.15rem}.review-section-card .review-dl .review-item.col-span-full{grid-column:1/-1}.review-section-card .review-dl .review-item dt{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.review-section-card .review-dl .review-item dd{margin:0;font-size:.9375rem;font-weight:500;color:var(--color-text);line-height:1.4}.review-section-card .review-dl .review-item dd.is-empty{color:#9c8e82;font-style:italic}.review-section-card .review-dl .review-item dd.is-highlight{font-weight:700;color:var(--color-primary)}.badge-status{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;letter-spacing:.02em}.badge-status.is-valid{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-status.is-invalid{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control{padding-right:2.75rem}.password-input-wrapper .btn-toggle-password{position:absolute;right:.5rem;background:transparent;border:none;padding:.375rem;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.password-input-wrapper .btn-toggle-password:hover{color:var(--color-primary)}.password-input-wrapper .btn-toggle-password:focus-visible{outline:2px solid var(--color-accent)}.security-checklist{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.35rem}.security-checklist .checklist-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-muted)}.security-checklist .checklist-item svg{flex-shrink:0}.security-checklist .checklist-item.is-met{color:var(--color-success);font-weight:500}.security-checklist .checklist-item.is-unmet{color:var(--color-text-muted)}.consent-document-box{background-color:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1.25rem;max-height:280px;overflow-y:auto;font-size:.875rem;line-height:1.6;color:var(--color-text)}.consent-document-box h4{margin:1rem 0 .35rem;font-size:.9375rem;color:var(--color-primary)}.consent-document-box h4:first-child{margin-top:0}.consent-document-box p{margin:0 0 .75rem}.modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:100%}.modal-header,.modal-footer{display:flex;align-items:center;padding:.875rem 1.25rem;border-color:var(--color-border-subtle)}.modal-header{justify-content:space-between;border-bottom:1px solid}.modal-header .modal-title-group{display:flex;align-items:center;gap:.5rem;color:var(--color-primary-dark)}.modal-header .modal-title-group h2{font-size:1.1rem;font-weight:700;margin:0}.modal-header .btn-close{background:none;border:none;font-size:1.4rem;color:var(--color-text-muted);cursor:pointer;line-height:1}.modal-header .btn-close:hover{color:var(--color-text)}.modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:.875rem}.modal-body .modal-desc{font-size:.85rem;color:var(--color-text-muted);margin:0}.modal-footer{justify-content:flex-end;gap:.75rem;background:var(--color-surface-subtle);border-top:1px solid}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
