/* st-register.css — Student Self-Registration */
body.register-page { min-height:100vh; margin:0; background:var(--bg-page); }
.register-shell { display:flex; min-height:100vh; }
.register-brand {
  flex:0 0 42%;
  background:linear-gradient(160deg,#0a1628 0%,#1c2b4a 55%,#0e7490 100%);
  padding:48px 40px;
  display:flex; flex-direction:column; justify-content:center;
  color:var(--bg-card);
}
.reg-brand-logo { display:flex; align-items:center; gap:12px; margin-bottom:36px; }
.reg-brand-name { font-family:var(--font-display); font-size:24px; font-weight:900; }
.reg-brand-headline { font-family:var(--font-display); font-size:28px; font-weight:800; line-height:1.25; margin-bottom:12px; }
.reg-brand-sub { font-size:14px; opacity:0.8; line-height:1.6; margin-bottom:28px; }
.reg-features { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.reg-feature { display:flex; align-items:flex-start; gap:10px; font-size:13px; opacity:0.9; }
.reg-feature-icon { font-size:18px; flex-shrink:0; }
.reg-trust { font-size:12px; opacity:0.6; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
.register-form-panel { flex:1; display:flex; align-items:center; justify-content:center; padding:40px 32px; background:var(--bg-card); }
.register-form-card { width:100%; max-width:520px; }
/* Steps */
.reg-steps { display:flex; align-items:center; margin-bottom:28px; }
.reg-step { display:flex; flex-direction:column; align-items:center; gap:4px; }
.reg-step-line { flex:1; height:2px; background:var(--border-light); }
.reg-step-dot { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; background:var(--border-light); color:var(--azure-59); }
.reg-dot-active { background:var(--cyan-primary); color:var(--bg-card); }
.reg-dot-done   { background:var(--green); color:var(--bg-card); }
.reg-step-lbl   { font-size:10px; font-weight:600; color:var(--azure-59); text-transform:uppercase; white-space:nowrap; }
.reg-step-active .reg-step-lbl { color:var(--cyan-primary); }
.reg-step-done  .reg-step-lbl  { color:var(--green); }
.reg-form-title { font-family:var(--font-display); font-size:22px; font-weight:800; color:var(--azure-10); margin:0 0 4px; }
.reg-form-sub   { font-size:13px; color:var(--azure-59); margin:0 0 4px; }
.reg-form-sub a { color:var(--blue-info); font-weight:600; }
/* Consent */
.reg-consent { display:flex; flex-direction:column; gap:10px; margin:16px 0; }
.reg-consent-row { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:var(--azure-35); line-height:1.5; }
.reg-consent-row input { width:16px; height:16px; margin-top:2px; cursor:pointer; flex-shrink:0; }
.reg-consent-row a { color:var(--blue-info); }
.reg-submit-btn { margin-top:4px; padding:13px 24px; font-size:15px; }
.form-label-opt { font-weight:400; color:var(--azure-59); font-size:11px; }
/* Confirm */
.reg-confirm-box { background:var(--bg-page); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:16px 18px; margin:16px 0; }
.reg-confirm-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border-light); font-size:13px; }
.reg-confirm-row:last-child { border-bottom:none; }
.rc-label { color:var(--azure-59); font-weight:500; }
.rc-value { color:var(--azure-10); font-weight:700; }
.reg-hitl-note { display:flex; align-items:flex-start; gap:8px; background:#eff6ff; border-left:3px solid var(--blue-info); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:10px 14px; font-size:12px; color:var(--azure-20); line-height:1.5; margin-bottom:16px; }
.reg-nav-row { display:flex; justify-content:space-between; gap:12px; margin-top:16px; }
