/* =============================================================
   NEDU School Registration — registration.css
   ============================================================= */
.nsr-wizard, .nsr-status-wrap {
  --purple-600:#534AB7;--purple-800:#3C3489;--purple-900:#26215C;--purple-50:#EEEDFE;
  --green-600:#3B6D11;--green-50:#EAF3DE;
  --red-600:#A32D2D;--red-50:#FCEBEB;
  --border:#e0ddd6;--text:#1a1917;--text-2:#5F5E5A;--text-3:#888780;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  max-width:640px;margin:30px auto;
}
.nsr-wizard *, .nsr-status-wrap * { box-sizing:border-box; }

/* ── Steps indicator ── */
.nsr-steps { display:flex;justify-content:space-between;margin-bottom:28px; }
.nsr-step { flex:1;text-align:center;font-size:12px;color:var(--text-3);position:relative;font-weight:500; }
.nsr-step-num {
  display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;
  background:#f1efe8;color:var(--text-3);font-size:13px;font-weight:700;margin:0 auto 6px;
}
.nsr-step.active .nsr-step-num { background:var(--purple-600);color:#fff; }
.nsr-step.active { color:var(--purple-800); }
.nsr-step.done .nsr-step-num { background:var(--green-600);color:#fff; }

/* ── Panels ── */
.nsr-panel { display:none; background:#fff;border:.5px solid var(--border);border-radius:14px;padding:28px; }
.nsr-panel.active { display:block; animation:nsrFade .2s ease; }
@keyframes nsrFade { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.nsr-panel h3 { font-size:17px;color:var(--purple-900);margin-bottom:16px; }
.nsr-hint { font-size:12px;color:var(--text-3);margin-bottom:16px; }

.nsr-row { margin-bottom:16px; }
.nsr-row label { display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px; }
.nsr-optional { font-weight:400;color:var(--text-3); }
.nsr-input {
  width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;
  font-size:14px;font-family:inherit;background:#fff;color:var(--text);
}
.nsr-input:focus { outline:none;border-color:var(--purple-600); }
.nsr-input.nsr-invalid { border-color:var(--red-600); }
.nsr-field-error { color:var(--red-600);font-size:12px;margin-top:5px;font-weight:500; }
.nsr-two-col { display:grid;grid-template-columns:1fr 1fr;gap:14px; }

.nsr-checkbox-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.nsr-checkbox-item {
  display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);
  border-radius:8px;cursor:pointer;font-size:13px;transition:border-color .15s;
}
.nsr-checkbox-item:hover { border-color:var(--purple-600); }
.nsr-checkbox-item input { accent-color:var(--purple-600); }
.nsr-checkbox-item.checked { background:var(--purple-50);border-color:var(--purple-600); }

.nsr-nav { display:flex;justify-content:space-between;margin-top:22px; }
.nsr-btn {
  padding:10px 22px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;
  border:1px solid var(--border);background:#fff;color:var(--text);
}
.nsr-btn-primary { background:var(--purple-600);color:#fff;border-color:var(--purple-600); }
.nsr-btn-primary:hover { background:var(--purple-800); }
.nsr-btn:disabled { opacity:.6;cursor:not-allowed; }

.nsr-result { background:#fff;border:.5px solid var(--border);border-radius:14px;padding:32px;text-align:center; }
.nsr-result.success { border-color:var(--green-600);background:var(--green-50); }
.nsr-result.error { border-color:var(--red-600);background:var(--red-50); }
.nsr-result h3 { margin-bottom:8px;font-size:18px; }
.nsr-result .ref { font-family:monospace;font-weight:700;font-size:16px;color:var(--purple-800);background:#fff;padding:6px 14px;border-radius:6px;display:inline-block;margin-top:10px; }

.nsr-error-banner { background:var(--red-50);border-left:4px solid var(--red-600);color:var(--red-600);padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px; }

/* ── Status check page ── */
.nsr-status-wrap { display:flex;justify-content:center;padding:40px 16px; }
.nsr-status-card { background:#fff;border:.5px solid var(--border);border-radius:14px;padding:32px;max-width:380px;width:100%; }
.nsr-status-card h2 { font-size:19px;color:var(--purple-900);margin-bottom:6px; }
.nsr-status-card p { font-size:13px;color:var(--text-3);margin-bottom:18px; }
.nsr-status-badge { display:inline-flex;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:600;margin:6px 0; }
.nsr-status-badge.pending { background:#f1efe8;color:#5F5E5A; }
.nsr-status-badge.approved { background:var(--green-50);color:var(--green-600); }
.nsr-status-badge.declined { background:var(--red-50);color:var(--red-600); }
.nsr-status-badge.info_requested { background:#E6F1FB;color:#185FA5; }

@media (max-width:600px) {
  .nsr-two-col, .nsr-checkbox-grid { grid-template-columns:1fr; }
  .nsr-steps { font-size:10px; }
}
.nsr-pw-wrap { position:relative; display:flex; align-items:center; }
.nsr-pw-wrap .nsr-input { flex:1; padding-right:56px; }
.nsr-pw-toggle { position:absolute; right:10px; background:none; border:none; cursor:pointer; font-size:12px; font-weight:600; color:#534AB7; padding:0; line-height:1; }
