@charset "UTF-8";
:root{--ink:#18313b;--navy:#142f3a;--teal:#126e6a;--teal-dark:#0a5653;--sand:#f5f3ed;--paper:#fff;--muted:#60747a;--line:#dce4e3;--copper:#bd7650;--red:#a83c3c;--radius:16px;--shadow:0 14px 45px #16313b09}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--sand);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal);text-underline-offset:3px}a:hover{color:var(--teal-dark)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}:focus-visible{outline:3px solid #d58f57;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;letter-spacing:-.045em;font-weight:650;margin-bottom:18px}h2{font-size:1.45rem;line-height:1.25;letter-spacing:-.025em;margin-bottom:14px}h3{font-size:1rem}small,.subtle{color:var(--muted)}small{font-size:.82rem}code{font-size:.88em;overflow-wrap:anywhere}strong{font-weight:650}.topbar{min-height:90px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1320px)/2));gap:24px}.brand{display:flex;align-items:center;gap:13px;color:var(--navy);text-decoration:none;line-height:1.25}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1.5px solid var(--teal);border-radius:50%;font:italic 34px Georgia,serif;color:var(--teal)}.brand strong{font-size:1.45rem;letter-spacing:.15em}.brand small{display:block;font-size:.72rem;margin-top:4px}.topbar nav{display:flex;align-items:center;gap:25px;font-size:.85rem}.topbar nav a{text-decoration:none}.topbar nav form{margin:0}.admin-link{color:var(--muted)}.user-label{color:var(--muted)}.page{max-width:1320px;margin:auto;padding:46px 24px 64px;min-height:65vh}.registration-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(40px,6vw,95px);align-items:start}.intro{padding-top:24px;position:sticky;top:24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-size:.71rem;font-weight:750;margin-bottom:22px}.intro h1{font-size:clamp(2.8rem,4.8vw,4.7rem);max-width:550px;line-height:1.03;letter-spacing:-.055em}.accent-dot{color:var(--copper)}.lead{font-size:1.15rem;color:var(--muted);line-height:1.65;max-width:550px}.intro-card{margin:32px 0 30px;padding:23px 25px;border-left:3px solid var(--copper);background:#eaece5}.intro-card h2{font-size:1.18rem;margin:8px 0 10px}.intro-card p{font-size:.93rem;margin:0;color:#496068}.card-number{font-size:.7rem;letter-spacing:.13em;color:var(--muted)}.steps{list-style:none;padding:0;margin:28px 0 32px;display:grid;gap:22px}.steps li{display:flex;gap:15px;align-items:flex-start}.steps li>span{height:31px;width:31px;border:1px solid #a8c5bf;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:.8rem;flex-shrink:0}.steps strong,.steps small{display:block}.steps strong{font-size:.92rem}.steps small{margin-top:2px}.intro>.subtle{font-size:.85rem;max-width:420px}.form-card,.panel,.message-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.form-card{padding:30px 34px}.form-top{margin-bottom:28px}.form-top h2{font-size:1.85rem;margin:17px 0 9px}.form-top p{font-size:.9rem;color:var(--muted);margin:0}.pill{background:#edf4ef;padding:6px 10px;border-radius:4px;color:var(--teal);font-size:.68rem;letter-spacing:.06em;font-weight:650}.field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:17px}.field>label,.field>label>input,.field>label>textarea{display:block}.field>label{font-size:.83rem;font-weight:600}.field>label>input,.field>label>textarea{margin-top:6px;width:100%}.field label small{font-weight:400}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #bccbc9;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);line-height:1.4;font-size:.9rem}.field select{min-height:45px}.field input[type=file]{font-size:.82rem;padding:10px}.field input[type=file]::file-selector-button{border:0;border-radius:3px;background:#eef3f0;color:var(--teal);padding:6px 9px;margin-right:10px}.field small{font-size:.76rem;line-height:1.5}.field-status{font-size:.78rem;color:var(--red)}.grid{display:grid;gap:0 20px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}fieldset{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:0 0 7px}legend{font-size:.85rem;font-weight:650;padding:0 12px 0 0}legend>span{color:var(--copper);font-size:.7rem;margin-right:8px}.optional-details{background:#f5f7f4;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:7px 0 23px}.optional-details summary{font-size:.83rem;font-weight:600;color:var(--teal);cursor:pointer}.optional-details[open] summary{margin-bottom:17px}.optional-details .field:last-child{margin-bottom:0}.check{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.5;margin:13px 0}.check input{width:17px;height:17px;flex:0 0 17px;accent-color:var(--teal);margin-top:3px}.check span{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;border-radius:6px;padding:11px 17px;text-decoration:none;font-size:.86rem;font-weight:650;line-height:1.4;min-height:43px}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark);color:#fff}.secondary{border-color:#b7c9c5;color:var(--teal);background:#fff}.secondary:hover{background:#f0f5f2}.danger{background:#fff3f1;border-color:#dbb3ac;color:var(--red)}.full{width:100%;margin-top:13px}.form-foot{font-size:.73rem;color:var(--muted);text-align:center;margin:10px 0 0}.resend-link{border-top:1px solid var(--line);padding-top:19px;margin-top:22px;font-size:.76rem;line-height:1.65;color:var(--muted)}.notice{background:#f9f2e4;border:1px solid #e7d9b8;border-radius:8px;padding:16px 19px;margin-bottom:23px;font-size:.9rem}.notice p{margin:8px 0 0}.notice.success{background:#eaf4ed;border-color:#bed5c5}.notice.error{background:#fff0ef;border-color:#e0b3ad;color:#82362d}.subtle-notice{background:#eef2ef;border-color:#d6dfd9;color:#496168}.trap{position:absolute;left:-9999px;height:1px;overflow:hidden}.skip{position:absolute;left:12px;top:-100px;z-index:20;background:#fff;padding:12px}.skip:focus{top:10px}.footer{border-top:1px solid var(--line);padding:25px 24px 32px;max-width:1320px;margin:auto;display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted);font-size:.74rem}.footer strong{font-weight:550}.footer a{margin-left:auto}.message-card{max-width:700px;padding:48px;margin:40px auto}.message-card h1{font-size:2.4rem}.message-card.compact{max-width:480px;padding:38px}.message-card.compact h1{font-size:1.9rem}.message-symbol{font-size:2.5rem;color:var(--copper);margin-bottom:20px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-nav{background:var(--navy);padding:0 max(24px,calc((100vw - 1272px)/2));display:flex;gap:7px;overflow-x:auto}.admin-nav a{white-space:nowrap;color:#dce9e7;text-decoration:none;font-size:.82rem;padding:17px 13px}.admin-nav a:hover{background:#ffffff10}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:30px}.page-heading h1{margin-bottom:10px}.page-heading .eyebrow{margin-bottom:10px}.page-heading p:last-child{margin-bottom:0;color:var(--muted);font-size:.91rem}.page-heading>.button{flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:30px}.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.stats span,.stats small,.stats a{display:block}.stats span{font-size:.8rem;color:var(--muted)}.stats strong{display:block;font-size:2.6rem;letter-spacing:-.04em;margin:9px 0 5px;line-height:1.1}.stats small,.stats a{font-size:.74rem}.panel{padding:26px;margin-bottom:25px;min-width:0}.panel p{font-size:.9rem}.panel .grid{gap:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-heading a{font-size:.85rem}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.milestone{font-size:.75rem;color:var(--copper);letter-spacing:.1em}.milestone-grid h3{font-size:1.1rem;margin:8px 0}.milestone-grid p{margin:0;color:var(--muted);font-size:.86rem}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:23px;padding:19px;background:#fff;border:1px solid var(--line);border-radius:10px}.filters .field{flex:1 1 125px;margin:0}.filters .field.wide{flex-grow:2}.filters label{font-size:.72rem}.filters .field input,.filters .field select{font-size:.8rem;min-height:43px}.table-wrap{width:100%;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.panel>.table-wrap{border-radius:6px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.81rem}th{background:#eef2ef;font-size:.69rem;line-height:1.4;font-weight:650;color:#4c6569;padding:14px 15px;vertical-align:top}td{border-top:1px solid #e7ece9;padding:14px 15px;vertical-align:top}td strong,td small{display:block}td small{font-size:.71rem;margin-top:3px}td a{text-decoration:none}td p{margin:0}tr:hover td{background:#f9fbf9}.empty{padding:35px!important;text-align:center;color:var(--muted)}.badge{display:inline-block;font-size:.64rem;letter-spacing:.035em;padding:4px 7px;border-radius:4px;background:#eef0ed;color:#596766;white-space:nowrap}.badge-matriculada{background:#e5f1e9;color:#226747}.badge-revision,.badge-pendiente_correo{background:#fbefce;color:#80632c}.badge-error_moodle,.badge-rechazada{background:#fbe5df;color:#923f33}.badge-aprobada,.badge-procesando{background:#e4eff6;color:#2e6584}.pagination{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:flex-end;font-size:.8rem;margin-top:20px}.pagination span{margin-right:auto;color:var(--muted)}dl{font-size:.86rem}dt{color:var(--muted);font-size:.74rem;margin-top:14px}dd{margin:3px 0 0;overflow-wrap:anywhere}.inline-details{display:grid;grid-template-columns:130px 1fr;gap:10px}.inline-details dt,.inline-details dd{margin:0}.evidence-list{font-size:.83rem;padding-left:20px}.timeline{display:grid;gap:15px}.timeline article{border-left:2px solid #cddbd4;padding-left:15px;font-size:.8rem}.timeline span,.timeline small{display:block}.timeline small{font-size:.7rem;overflow-wrap:anywhere}.text-button{border:0;background:transparent;color:var(--teal);padding:4px 0;text-decoration:underline;font-size:.81rem}.domain-editor{padding:17px 0;border-top:1px solid var(--line)}.domain-editor summary{font-size:.9rem;font-weight:650;cursor:pointer}.domain-editor[open] summary{margin-bottom:22px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.long-text{max-width:450px;overflow-wrap:anywhere;font-size:.72rem}progress{display:block;width:95px;height:7px;accent-color:var(--teal)}.warning-text{color:#916126}.admin-body .page{max-width:1390px}.admin-body .grid.two{align-items:start}.admin-body .panel:last-child{margin-bottom:25px}
@media(max-width:1050px){.registration-layout{gap:35px;grid-template-columns:.85fr 1.15fr}.form-card{padding:26px 24px}.intro h1{font-size:3.5rem}.topbar{padding-left:24px;padding-right:24px}.stats{gap:10px}.stats article{padding:18px}.filters .field{flex-basis:140px}.milestone-grid{gap:22px}}
@media(max-width:760px){.topbar{min-height:76px;padding:16px 20px}.topbar nav{gap:15px}.topbar .admin-link,.user-label{display:none}.brand-mark{width:36px;height:36px;font-size:28px}.brand strong{font-size:1.18rem}.brand small{font-size:.6rem}.topbar nav a{font-size:.76rem}.page{padding:30px 18px 45px}.registration-layout{display:block}.intro{position:static;padding-top:0}.intro h1{font-size:3.4rem;max-width:600px}.intro>.lead{font-size:1rem;max-width:100%}.intro-card{margin:24px 0;padding:18px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.steps li{display:block}.steps li>span{margin-bottom:8px}.steps strong{font-size:.78rem}.steps small{font-size:.7rem}.intro>.subtle{max-width:100%;margin-bottom:30px}.form-card{padding:25px 22px}.form-top h2{font-size:1.7rem}.footer{padding:22px 18px;display:grid;gap:10px}.footer a{margin:0}.admin-nav{padding:0 8px}.admin-nav a{font-size:.75rem;padding:14px 10px}.page-heading{display:block}.page-heading>.button{margin-top:20px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stats strong{font-size:2.25rem}.panel{padding:21px}.grid.two,.grid.three{grid-template-columns:1fr}.panel .grid.three{gap:6px}.form-card .grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.milestone-grid{grid-template-columns:1fr;gap:22px}.section-heading{align-items:start;display:block}.section-heading h2{margin-bottom:10px}.message-card,.message-card.compact{margin:20px auto;padding:30px 25px}.message-card h1{font-size:2rem}.message-card .actions .button{width:100%}.checkbox-grid{grid-template-columns:1fr}.filters{padding:14px;gap:11px}.filters .field{flex-basis:43%}th,td{padding:12px}.inline-details{grid-template-columns:100px 1fr}.pagination{gap:13px}.stats article a,.stats article small{font-size:.68rem}}
@media(max-width:390px){.intro h1{font-size:2.95rem}.form-card{padding:22px 17px}.form-card .grid.two{grid-template-columns:1fr}.topbar nav{gap:8px}.brand small{max-width:150px}.steps{gap:10px}.steps strong{font-size:.73rem}}

.test-banner{padding:12px 24px;background:#fff1cb;color:#694900;text-align:center;font-size:13px;font-weight:600;border-bottom:1px solid #e8d3a1}
