.spmb-status-modal { position:fixed; inset:0; z-index:220; display:grid; place-items:center; padding:16px; }
.spmb-status-modal[hidden] { display:none !important; }
body.spmb-status-open { overflow:hidden; }
.school-hero-actions button[data-open-spmb-status],
.spmb-hero-actions button[data-open-spmb-status] { font:inherit; font-size:13px; font-weight:850; cursor:pointer; background:#15803d; border-color:#15803d; color:#fff; box-shadow:0 9px 20px rgba(21,128,61,.18); }
.school-hero-actions button[data-open-spmb-status]:hover,
.spmb-hero-actions button[data-open-spmb-status]:hover { background:#166534; border-color:#166534; color:#fff; }
.school-hero-actions button[data-open-spmb-status]:focus-visible,
.spmb-hero-actions button[data-open-spmb-status]:focus-visible,
.spmb-status-submit:focus-visible { outline:3px solid rgba(34,197,94,.35); outline-offset:3px; }
.spmb-status-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(9,25,41,.68); backdrop-filter:blur(3px); cursor:default; }
.spmb-status-card { position:relative; z-index:1; width:min(560px,100%); max-height:calc(100dvh - 32px); overflow:auto; border:1px solid #dce6ed; border-radius:24px; background:#fff; box-shadow:0 30px 90px rgba(7,31,51,.3); animation:spmb-status-enter .18s ease-out; }
@keyframes spmb-status-enter { from { opacity:0; transform:translateY(8px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
.spmb-status-close { position:absolute; top:15px; right:15px; z-index:2; width:38px; height:38px; display:grid; place-items:center; border:1px solid #e1e8ee; border-radius:12px; background:#fff; color:#627286; cursor:pointer; }
.spmb-status-close:hover { background:#f6f9fb; color:#24394d; }
.spmb-status-header { padding:26px 66px 22px 26px; border-bottom:1px solid #e8eef3; background:linear-gradient(135deg,#f8fbfd,#edf6fb); }
.spmb-status-eyebrow { display:inline-flex; align-items:center; gap:7px; color:#0f6eaa; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.spmb-status-header h2 { margin:7px 0 7px; color:#172f45; font-size:clamp(21px,4vw,27px); line-height:1.2; font-weight:950; letter-spacing:-.025em; }
.spmb-status-header p { margin:0; color:#6e7f90; font-size:12px; line-height:1.6; }
.spmb-status-form { padding:22px 26px 18px; }
.spmb-status-form > label { display:block; margin-bottom:8px; color:#304458; font-size:12px; font-weight:900; }
.spmb-status-input-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.spmb-status-input-row input { width:100%; min-width:0; min-height:47px; padding:11px 13px; border:1px solid #d3dfe7; border-radius:12px; background:#fff; color:#20374b; font:inherit; font-size:13px; outline:none; text-transform:uppercase; }
.spmb-status-input-row input:focus { border-color:#7db5d7; box-shadow:0 0 0 3px rgba(15,110,170,.1); }
.spmb-status-submit { min-height:47px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; border:1px solid #15803d; border-radius:12px; background:#15803d; color:#fff; font:inherit; font-size:12px; font-weight:900; cursor:pointer; transition:background .15s ease, border-color .15s ease; box-shadow:0 7px 16px rgba(21,128,61,.14); }
.spmb-status-submit:hover { background:#166534; border-color:#166534; }
.spmb-status-submit:disabled { opacity:.65; cursor:wait; }
.spmb-status-hint { display:flex; align-items:flex-start; gap:7px; margin:10px 0 0; color:#8190a0; font-size:10px; line-height:1.5; }
.spmb-status-hint i { margin-top:2px; color:#0f6eaa; }
.spmb-status-feedback { margin:0 26px 18px; padding:12px 14px; border:1px solid #f2d5a0; border-radius:12px; background:#fff8e8; color:#895b0b; font-size:12px; line-height:1.55; }
.spmb-status-feedback[hidden], .spmb-status-result[hidden] { display:none !important; }
.spmb-status-feedback.is-error { border-color:#fecaca; background:#fef2f2; color:#b42318; }
.spmb-status-result { padding:0 26px 26px; }
.spmb-status-profile { overflow:hidden; border:1px solid #e2e8ef; border-radius:17px; background:#fff; }
.spmb-status-summary { padding:18px; border-bottom:1px solid var(--status-border,#e2e8ef); background:var(--status-bg,#f8fafc); color:var(--status-text,#334155); }
.spmb-status-summary-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.spmb-status-summary h3 { margin:0; color:#20364b; font-size:18px; line-height:1.3; font-weight:950; overflow-wrap:anywhere; }
.spmb-status-summary p { margin:6px 0 0; color:#657588; font-size:11px; line-height:1.55; }
.spmb-status-badge { display:inline-flex; align-items:center; gap:6px; flex:none; max-width:100%; padding:7px 10px; border:1px solid var(--status-border,#e2e8ef); border-radius:999px; background:rgba(255,255,255,.8); color:var(--status-text,#334155); font-size:10px; font-weight:950; line-height:1.2; text-align:center; }
.spmb-status-profile[data-state="lulus"] { --status-bg:#d1fae5; --status-text:#065f46; --status-border:#6ee7b7; }
.spmb-status-profile[data-state="bersyarat"] { --status-bg:#ecfeff; --status-text:#155e75; --status-border:#a5f3fc; }
.spmb-status-profile[data-state="tidak-lulus"] { --status-bg:#fee2e2; --status-text:#991b1b; --status-border:#fca5a5; }
.spmb-status-profile[data-state="terverifikasi"] { --status-bg:#fef3c7; --status-text:#92400e; --status-border:#fcd34d; }
.spmb-status-profile[data-state="belum-tes"] { --status-bg:#fae8ff; --status-text:#86198f; --status-border:#f0abfc; }
.spmb-status-profile[data-state="baru"] { --status-bg:#eef2ff; --status-text:#4338ca; --status-border:#c7d2fe; }
.spmb-status-profile[data-state="proses"] { --status-bg:#eef2ff; --status-text:#4338ca; --status-border:#c7d2fe; }
.spmb-status-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:15px 18px; }
.spmb-status-detail { min-width:0; padding:11px 12px; border:1px solid #edf1f5; border-radius:11px; background:#fbfcfd; }
.spmb-status-detail span { display:block; margin-bottom:4px; color:#8190a0; font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.spmb-status-detail strong { display:block; color:#304458; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.spmb-status-result-note { margin:0; padding:0 18px 17px; color:#8290a0; font-size:10px; line-height:1.5; }
@media (max-width:520px) {
  .spmb-status-modal { padding:8px; align-items:end; }
  .spmb-status-card { max-height:calc(100dvh - 16px); border-radius:20px 20px 14px 14px; }
  .spmb-status-header { padding:22px 54px 18px 18px; }
  .spmb-status-form { padding:18px 18px 14px; }
  .spmb-status-input-row { grid-template-columns:1fr; }
  .spmb-status-submit { width:100%; }
  .spmb-status-feedback { margin:0 18px 16px; }
  .spmb-status-result { padding:0 18px 18px; }
  .spmb-status-summary-top { flex-direction:column; }
  .spmb-status-details { grid-template-columns:1fr; padding:12px; }
}
