
:root{--navy:#083b70;--blue:#1167ad;--red:#e94138;--gold:#f4b32c;--ink:#18324a;--muted:#63788b;--line:#dce6ee;--cream:#fbf8f1;--green:#1d8752}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7fbff,#fbf8f1)}
a{color:inherit}.registration-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}
.registration-brand{padding:60px 48px;background:linear-gradient(150deg,#073867,#0c5a98);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.registration-brand img{width:125px;height:95px;object-fit:contain;background:#fff;border-radius:18px;padding:8px}
.registration-brand h1{font-family:Outfit,sans-serif;font-size:clamp(2.4rem,4vw,4.5rem);line-height:1.02;margin:35px 0 18px}
.registration-brand p{font-size:1.08rem;line-height:1.7;opacity:.9}.registration-brand small{opacity:.75}
.registration-main{padding:48px;display:flex;align-items:flex-start;justify-content:center}.registration-card{width:min(880px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 24px 60px rgba(14,49,80,.12)}
.reg-head h2{font:800 2.2rem Outfit;color:var(--navy);margin:4px 0 10px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--blue)}
.reg-head p{color:var(--muted);line-height:1.6}.steps{display:flex;gap:8px;margin:25px 0}.step{flex:1;height:7px;background:#e7edf2;border-radius:999px}.step.active{background:var(--blue)}
.form-step{display:none}.form-step.active{display:block}.form-step h3{font:800 1.35rem Outfit;color:var(--navy);margin:0 0 18px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.field{display:grid;gap:7px}.field span{font-size:.8rem;font-weight:800;color:#50687d}
input,select,textarea{width:100%;border:1px solid #cfdce6;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff}textarea{min-height:92px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(17,103,173,.15);border-color:var(--blue)}
.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.program-option{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px}.program-option input{width:auto;margin-top:3px}.program-option strong,.program-option small{display:block}.program-option small{color:var(--muted);margin-top:3px}
.child-card{border:1px solid var(--line);border-radius:18px;padding:18px;margin:15px 0;background:#fbfdff}.child-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.child-head h4{margin:0;color:var(--navy)}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}button,.button{border:0;border-radius:12px;padding:12px 20px;font:800 .9rem Inter;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--navy);color:#fff}.secondary{background:#edf3f7;color:var(--navy)}.danger{background:#ffe9e7;color:#b92d25}.link-button{background:transparent;color:var(--blue);padding:6px}
.form-message{min-height:22px;margin-top:15px;font-weight:700;font-size:.88rem}.form-message.error{color:#bd2e27}.form-message.success{color:var(--green)}
.pending-card{text-align:center;padding:45px 28px}.pending-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#fff3cf;color:#9a6b00;font-size:2rem}.pending-card h1{font:800 2.4rem Outfit;color:var(--navy)}.pending-card p{max-width:590px;margin:12px auto;color:var(--muted);line-height:1.7}.status-box{margin:24px auto;max-width:500px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbfd}
@media(max-width:850px){.registration-shell{grid-template-columns:1fr}.registration-brand{padding:28px}.registration-brand h1{font-size:2.5rem}.registration-main{padding:20px}.form-grid,.program-grid{grid-template-columns:1fr}}
