/* Halaman publik PPDB */
.pp{ background:#F4F6FA; min-height:100vh; color:var(--ink,#1B2433); }
.pp-top{ background:#fff; border-bottom:1px solid var(--line,#DFE3EA); }
.pp-top .in{ max-width:1080px; margin:0 auto; padding:.8rem 1rem; display:flex; align-items:center; gap:.75rem; }
.pp-logo{ width:40px; height:40px; border-radius:10px; background:var(--accent,#1F5FD6); color:#fff; display:grid; place-items:center; font-size:1.25rem; flex:none; }
.pp-sek{ font-weight:700; line-height:1.2; }
.pp-sub{ font-size:.82rem; color:var(--ink-3,#7A8397); }
.pp-top .nav-r{ margin-left:auto; display:flex; gap:.5rem; }
.pp-hero{ background:var(--accent,#1F5FD6); color:#fff; }
.pp-hero .in{ max-width:1080px; margin:0 auto; padding:2rem 1rem 2.4rem; }
.pp-hero h1{ font-size:clamp(1.5rem,4vw,2.2rem); font-weight:700; margin:0 0 .4rem; }
.pp-hero p{ margin:0; opacity:.9; max-width:620px; }
.pp-badge{ display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.16); border-radius:99px; padding:.25rem .75rem; font-size:.82rem; margin-bottom:.8rem; }
.pp-badge i{ width:8px; height:8px; border-radius:50%; background:#6EE7A8; display:inline-block; }
.pp-badge.tutup i{ background:#FCA5A5; }
.pp-main{ max-width:1080px; margin:-1.4rem auto 2rem; padding:0 1rem; display:grid; grid-template-columns:1fr 320px; gap:1rem; align-items:start; }
.pp-main.satu{ grid-template-columns:minmax(0,560px); justify-content:center; }
@media (max-width:860px){ .pp-main{ grid-template-columns:1fr; } }
.pp-card{ background:#fff; border:1px solid var(--line,#DFE3EA); border-radius:14px; padding:1.25rem; }
.pp-card + .pp-card{ margin-top:1rem; }
.pp-card h2{ font-size:1.05rem; font-weight:700; margin:0 0 .9rem; display:flex; align-items:center; gap:.5rem; }
.pp-card h2 .no{ width:24px; height:24px; border-radius:50%; background:var(--accent-soft,#E7EFFD); color:var(--accent,#1F5FD6); font-size:.8rem; display:grid; place-items:center; }
.pp-card .form-label{ font-size:.85rem; font-weight:600; margin-bottom:.25rem; }
.pp-card .form-control, .pp-card .form-select{ border-radius:9px; padding:.55rem .75rem; }
.pp-hint{ font-size:.78rem; color:var(--ink-3,#7A8397); margin-top:.2rem; }
.pp-drop{ border:1.5px dashed var(--line-2,#C9CFDA); border-radius:10px; padding:.75rem; background:#FAFBFD; }
.pp-drop .form-control{ background:#fff; }
.pp-submit{ position:sticky; bottom:0; background:#fff; border-top:1px solid var(--line,#DFE3EA); margin:1.25rem -1.25rem -1.25rem; padding:.9rem 1.25rem; border-radius:0 0 14px 14px; }
.pp-alur{ list-style:none; margin:0; padding:0; counter-reset:s; }
.pp-alur li{ position:relative; padding:0 0 1rem 2.2rem; font-size:.9rem; }
.pp-alur li:last-child{ padding-bottom:0; }
.pp-alur li::before{ counter-increment:s; content:counter(s); position:absolute; left:0; top:0; width:24px; height:24px; border-radius:50%; background:var(--accent-soft,#E7EFFD); color:var(--accent,#1F5FD6); font-size:.78rem; font-weight:700; display:grid; place-items:center; }
.pp-alur li::after{ content:""; position:absolute; left:11px; top:26px; bottom:2px; width:2px; background:var(--line,#DFE3EA); }
.pp-alur li:last-child::after{ display:none; }
.pp-alur b{ display:block; }
.pp-alur span{ color:var(--ink-3,#7A8397); font-size:.82rem; }
.pp-info{ white-space:pre-line; font-size:.92rem; }
.pp-err{ background:#FDECEC; border:1px solid #F5C2C2; color:#9B1C1C; border-radius:10px; padding:.75rem 1rem; margin-bottom:1rem; font-size:.9rem; }
.pp-err ul{ margin:0; padding-left:1.1rem; }
.pp-ok{ text-align:center; padding:1.5rem .5rem; }
.pp-ok .ic{ width:64px; height:64px; border-radius:50%; background:var(--ok-soft,#E2F4EC); color:var(--ok,#12805C); font-size:2rem; display:grid; place-items:center; margin:0 auto .8rem; }
.pp-no{ font-size:clamp(1.6rem,6vw,2.2rem); font-weight:800; letter-spacing:2px; color:var(--accent,#1F5FD6); }
.pp-step{ display:flex; margin:1rem 0 .25rem; }
.pp-step > div{ flex:1; text-align:center; position:relative; font-size:.72rem; color:var(--ink-3,#7A8397); }
.pp-step > div::before{ content:""; position:absolute; top:13px; left:-50%; width:100%; height:2px; background:var(--line,#DFE3EA); }
.pp-step > div:first-child::before{ display:none; }
.pp-step .d{ position:relative; z-index:1; width:28px; height:28px; border-radius:50%; background:#fff; border:2px solid var(--line-2,#C9CFDA); margin:0 auto .3rem; display:grid; place-items:center; font-size:.8rem; color:var(--ink-3,#7A8397); }
.pp-step .done .d{ background:var(--accent,#1F5FD6); border-color:var(--accent,#1F5FD6); color:#fff; }
.pp-step .done::before, .pp-step .now::before{ background:var(--accent,#1F5FD6); }
.pp-step .now .d{ border-color:var(--accent,#1F5FD6); color:var(--accent,#1F5FD6); }
.pp-step .now{ color:var(--ink,#1B2433); font-weight:600; }
.pp-step .bad .d{ background:#C92A2A; border-color:#C92A2A; color:#fff; }
.pp-step .bad{ color:#C92A2A; font-weight:600; }
.pp-kv{ display:grid; grid-template-columns:130px 1fr; gap:.3rem .75rem; font-size:.9rem; margin:0; }
.pp-kv dt{ color:var(--ink-3,#7A8397); font-weight:400; }
.pp-kv dd{ margin:0; }
.pp-hasil{ border-radius:12px; padding:1rem 1.1rem; margin:1rem 0 0; }
.pp-hasil.ok{ background:var(--ok-soft,#E2F4EC); color:#0B5A41; }
.pp-hasil.wait{ background:#FFF6DB; color:#7A5A00; }
.pp-hasil.no{ background:#EEF0F4; color:#3A4252; }
.pp-hasil.bad{ background:#FDECEC; color:#9B1C1C; }
.pp-akun{ background:var(--accent-soft,#E7EFFD); border-radius:12px; padding:1rem 1.1rem; margin-top:1rem; }
.pp-akun code{ background:#fff; padding:.1rem .45rem; border-radius:6px; font-size:.95rem; color:var(--ink,#1B2433); }
.pp-foot{ text-align:center; font-size:.8rem; color:var(--ink-3,#7A8397); padding:0 1rem 2rem; }
.pp-hero h1{ color:#fff; }
.pp-main.tanpa-hero{ margin-top:1.5rem; }
.pp-top .nav-r .btn{ white-space:nowrap; }
.pp-sek{ min-width:0; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:520px){ .pp-top .nav-r .btn-outline-secondary{ display:none; } .pp-hero .in{ padding:1.4rem 1rem 2rem; } }

.pp-logo.has-logo{ background:#fff; border:1px solid #e4e4e7; padding:3px; } .pp-logo img{ width:100%; height:100%; object-fit:contain; border-radius:8px; }
