:root{--primary: #df941b;--primary-dark: #c47f0f;--primary-soft: rgba(223, 148, 27, .12);--primary-ring: rgba(223, 148, 27, .28);--surface: #ffffff;--surface-muted: #f8fafc;--text: #1c1917;--text-muted: #64748b;--border: #e7e5e4;--border-focus: #cbd5e1;--danger: #dc2626;--danger-soft: #fef2f2;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 24px rgba(15, 23, 42, .06);--shadow-form: 0 12px 40px rgba(28, 25, 23, .06);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#faf8f5,#f4f6f8 42%,#f8fafc)}#app{min-height:100vh}.page{min-height:100vh;display:grid;grid-template-rows:auto 1fr;justify-items:stretch;align-content:start;padding:1.5rem 1.25rem 2rem;gap:1rem}.page-header{width:min(1440px,100%);margin:0 auto;padding:.25rem 0}.page-header h1{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text)}.page-header p{margin:.35rem 0 0;color:var(--text-muted);font-size:.9375rem;font-weight:450}.register-shell{width:min(1440px,100%);margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-form)}.form-panel{padding:2rem 2.5rem 2.25rem}.form-panel h2{margin:0;font-size:1.375rem;font-weight:650;letter-spacing:-.02em;color:var(--text)}.form-subtitle{margin:.5rem 0 1.75rem;color:var(--text-muted);font-size:.9375rem;line-height:1.5}.register-form{display:grid;gap:1.25rem}.form-error-banner{grid-column:1 / -1;padding:.875rem 1.125rem;border-radius:var(--radius-md);border:1px solid rgba(220,38,38,.2);background:var(--danger-soft);color:#991b1b;font-size:.875rem;font-weight:600;line-height:1.4}.form-success-banner{grid-column:1 / -1;padding:.875rem 1.125rem;border-radius:var(--radius-md);border:1px solid rgba(22,163,74,.25);background:#f0fdf4;color:#166534;font-size:.875rem;font-weight:600;line-height:1.4}.label-text{display:inline;color:var(--text);font-weight:550;font-size:.8125rem;letter-spacing:.01em}.req-mark{color:var(--danger);font-weight:700}.field-has-error input,.field-has-error select{border-color:#dc262673!important;background-color:#fffafb!important}.field-error-msg{font-size:.8125rem;font-weight:500;color:#b91c1c;margin-top:.15rem}.field-disabled{opacity:.55}.register-form label{display:grid;gap:.5rem}.compact-field{max-width:220px}.register-form input:not([type=checkbox]):not([type=radio]),.register-form select{width:100%;min-height:46px;border:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-sm);padding:.65rem .95rem;font-size:.9375rem;color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.register-form input[type=file]{width:100%;min-height:52px;border:1px dashed #cbd5e1;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:12px;padding:.5rem;color:#475569;font-size:.9rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.register-form input[type=file]:hover{border-color:#94a3b8;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.register-form input[type=file]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.register-form input[type=file]::file-selector-button{border:1px solid rgba(223,148,27,.45);background:#fff;color:#a16207;border-radius:10px;padding:.45rem .8rem;margin-right:.8rem;font-weight:600;font-size:.84rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.register-form input[type=file]::file-selector-button:hover{background:#fff7ed;border-color:#df941bbf;color:#92400e}.register-form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:1.1rem}.register-form input:not([type=checkbox]):not([type=radio]):hover,.register-form select:hover{border-color:var(--border-focus);background:var(--surface)}.register-form input:not([type=checkbox]):not([type=radio]):focus,.register-form select:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--primary-ring)}.register-form input:disabled,.register-form select:disabled{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;cursor:not-allowed}.register-form input[type=file]:disabled{border-style:solid;background:#f8fafc;color:#94a3b8;cursor:not-allowed}.register-form input[type=file]:disabled::file-selector-button{border-color:#e2e8f0;color:#94a3b8;background:#f8fafc;cursor:not-allowed}.form-group{border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem 1.35rem 1.35rem;margin:0;background:var(--surface);box-shadow:var(--shadow-sm)}.form-group legend{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);padding:0 .5rem}.form-group--academica .formacion-subgrupos{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.form-subgroup{border:1px dashed #e7e5e4;border-radius:var(--radius-sm);padding:1rem 1.1rem 1.15rem;margin:0;background:var(--surface-muted)}.form-subgroup legend{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);padding:0 .4rem}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.phone-split{display:grid;grid-template-columns:minmax(96px,20%) minmax(0,80%);gap:.65rem;align-items:stretch}.phone-prefix,.phone-rest{width:100%;min-width:0}.rif-split{display:grid;grid-template-columns:minmax(68px,10%) minmax(0,90%);gap:.65rem;align-items:stretch}.phone-rest::placeholder{color:#94a3b8}.ages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.15rem}.age-item{display:grid;gap:.35rem}.age-item-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.age-item input{min-height:44px}@media (max-width: 760px){.ages-grid,.phone-split,.rif-split{grid-template-columns:1fr}}.register-form>button[type=submit],.mobile-actions button[type=submit]{margin-top:.25rem;border:none;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-size:.9375rem;font-weight:650;letter-spacing:.02em;padding:.85rem 1.25rem;cursor:pointer;box-shadow:0 2px 8px #df941b59;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;grid-column:1 / -1}.register-form>button[type=submit]:hover,.mobile-actions button[type=submit]:hover{filter:brightness(1.05);box-shadow:0 4px 14px #df941b66}.register-form>button[type=submit]:active,.mobile-actions button[type=submit]:active{transform:translateY(1px)}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;grid-column:1 / -1;margin-top:.25rem}.mobile-actions button[type=button]{margin-top:0;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;padding:.85rem 1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.mobile-actions button[type=button]:first-of-type{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.mobile-actions button[type=button]:first-of-type:hover:not(:disabled){border-color:var(--border-focus);background:var(--surface-muted);color:var(--text)}.mobile-actions button[type=button]:not(:first-of-type){border:none;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #df941b4d}.mobile-actions button[type=button]:not(:first-of-type):hover:not(:disabled){filter:brightness(1.05)}.mobile-actions button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 840px){.page-header{padding:0}.page-header p{font-size:.875rem}.form-panel{padding:1.5rem 1.25rem 1.75rem}.register-form{gap:1rem}.group-grid{grid-template-columns:1fr}}@media (max-width: 760px){.page{padding:.75rem .65rem 1.25rem;gap:.65rem}.register-shell{border-radius:var(--radius-md);border:none;box-shadow:var(--shadow-md)}.form-group{padding:1.1rem 1rem 1.15rem}.register-form input:not([type=checkbox]):not([type=radio]),.register-form select,.register-form button{min-height:48px;font-size:16px}.compact-field{max-width:none}}.file-titulos-block{display:flex;flex-direction:column;gap:.65rem;width:100%}.file-titulos-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.file-titulos-actions input[type=file]{flex:1;min-width:12rem}.btn-add-files{font:inherit;font-size:.8125rem;font-weight:600;padding:.45rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);color:var(--text);cursor:pointer}.btn-add-files:hover:not(:disabled){border-color:var(--border-focus);background:var(--surface)}.btn-add-files:disabled{opacity:.55;cursor:not-allowed}.file-titulos-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.file-titulos-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;border-radius:var(--radius-sm);background:var(--surface-muted);font-size:.8125rem}.file-titulos-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-titulos-remove{flex-shrink:0;font:inherit;font-size:.75rem;padding:.2rem .45rem;border:none;border-radius:6px;background:transparent;color:var(--danger);cursor:pointer;font-weight:600}.file-titulos-remove:hover:not(:disabled){background:var(--danger-soft)}.file-titulos-remove:disabled{opacity:.5;cursor:not-allowed}
