/* Formulir Ambassador & Pendaftaran Siswa */
.rf-card{padding:34px;}
.rf-steps{list-style:none;display:flex;gap:10px;margin:0 0 26px;padding:0;}
.rf-steps li{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--bg-soft,#f3f6f6);color:#6b7b7b;font-family:var(--font-head);font-weight:600;font-size:14px;}
.rf-steps li b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#d6e0e0;color:#fff;font-size:13px;}
.rf-steps li.on{background:var(--teal-50,#e6f4f4);color:var(--brand,#0b6b6b);}
.rf-steps li.on b,.rf-steps li.done b{background:var(--brand,#0b6b6b);}
.rf-steps li.done{color:var(--brand,#0b6b6b);}
.rf-sec{font-family:var(--font-head);font-size:18px;margin:26px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line,#e2e8e8);color:var(--ink,#16302f);}
.rf-step>.rf-sec:first-child{margin-top:0;}
.rf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.rf-field[hidden]{display:none;}
.rf-star{color:var(--coral,#d9534f);}
.rf-hint{display:block;margin-top:5px;color:#6b7b7b;font-size:13px;}
.rf-opts{display:flex;flex-wrap:wrap;gap:8px 18px;}
.rf-opt,.rf-check{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-family:var(--font-body);font-size:15px;cursor:pointer;line-height:1.5;}
.rf-check{padding:12px 14px;background:var(--bg-soft,#f3f6f6);border-radius:12px;}
.field .rf-opt input,.field .rf-check input{width:auto;margin-top:4px;flex:none;}
.rf-field input[type=file]{padding:10px;background:#fff;}
.rf-field.invalid input,.rf-field.invalid select,.rf-field.invalid textarea{border-color:var(--coral,#d9534f);}
.rf-field.invalid .rf-check{outline:2px solid var(--coral,#d9534f);}
.rf-field.invalid>.msg{display:block;}
.rf-pot{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none;}
.rf-err{background:var(--coral-soft,#fdecea);color:var(--coral-dark,#a52a1f);padding:12px 16px;border-radius:12px;margin:10px 0;font-size:15px;}
.rf-nav{display:flex;gap:12px;justify-content:space-between;margin-top:22px;}
.rf-nav .btn{min-width:150px;}
.rf-nav .rf-next,.rf-nav .rf-submit{margin-inline-start:auto;}
.rf-done{text-align:center;padding:30px 10px;}
.rf-done .ok{width:70px;height:70px;border-radius:50%;background:var(--teal-50,#e6f4f4);color:var(--brand,#0b6b6b);display:grid;place-items:center;margin:0 auto 14px;}
.rf-done p{color:var(--slate,#51606a);margin-top:8px;}
.rf-privacy{text-align:center;color:#6b7b7b;font-size:13px;margin-top:14px;}
@media (max-width:640px){
  .rf-card{padding:20px 16px;}
  .rf-row{grid-template-columns:1fr;}
  .rf-steps li span{display:none;}
  .rf-steps li.on span{display:inline;}
  .rf-nav .btn{min-width:0;flex:1;}
}
.rf-card [hidden]{display:none!important;}

/* Halaman status (mitra & siswa) */
.pt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.pt-head h2{margin:0;font-size:26px;}
.pt-code{color:#6b7b7b;font-size:14px;margin-top:4px;font-family:var(--font-head);}
.pt-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.pt-card{background:#fff;border:1px solid var(--line,#e2e8e8);border-radius:16px;padding:16px 18px;}
.pt-k{font-size:13px;color:#6b7b7b;font-family:var(--font-head);}
.pt-v{font-size:26px;font-weight:700;font-family:var(--font-head);margin-top:4px;color:var(--ink,#16302f);}
.pt-s{font-size:13px;color:#6b7b7b;margin-top:2px;}
.pt-box{background:#fff;border:1px solid var(--line,#e2e8e8);border-radius:16px;padding:20px;margin-bottom:18px;}
.pt-box h3{margin:0 0 12px;font-size:18px;}
.pt-link{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap;}
.pt-linklbl{min-width:150px;font-family:var(--font-head);font-weight:600;font-size:14px;}
.pt-link input{flex:1;min-width:200px;padding:10px 12px;border:1.5px solid var(--line,#e2e8e8);border-radius:10px;font-size:14px;}
.pt-tw{overflow-x:auto;}
.pt-table{width:100%;border-collapse:collapse;font-size:14px;}
.pt-table th{text-align:start;padding:10px 12px;background:var(--brand,#0b6b6b);color:#fff;font-family:var(--font-head);font-weight:600;white-space:nowrap;}
.pt-table td{padding:10px 12px;border-bottom:1px solid var(--line-2,#eef2f2);vertical-align:top;}
.pt-n{color:#51606a;font-size:13px;}
.pt-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--teal-50,#e6f4f4);color:var(--brand,#0b6b6b);font-size:13px;font-weight:600;white-space:nowrap;}
.pt-st-lunas,.pt-st-komisi{background:#e3f6e8;color:#1b7a3a;}
.pt-st-batal,.pt-st-ditolak{background:#fdecea;color:#a52a1f;}
.pt-st-duplikat,.pt-st-ditunda{background:#fff4dd;color:#8a5a00;}
.pt-empty{color:#6b7b7b;}
@media (max-width:760px){.pt-cards{grid-template-columns:repeat(2,1fr);}.pt-v{font-size:21px;}}

/* Cek Status Siswa — linimasa 10 langkah */
.st-wrap{margin-top:26px;padding-top:26px;border-top:1px solid var(--line,#e2e8e8);}
.st-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.st-hello{margin:0;font-size:24px;}
.st-sub{margin:4px 0 0;color:#6b7b7b;}
.st-chip{background:var(--teal-50,#e6f4f4);color:var(--brand,#0b6b6b);font-family:var(--font-head);font-weight:600;font-size:14px;padding:7px 14px;border-radius:999px;}
.st-alert{background:#fff4dd;color:#8a5a00;padding:12px 16px;border-radius:12px;margin-bottom:16px;}
.st-bar{position:relative;height:10px;background:#dfe8e8;border-radius:10px;margin:6px 0 26px;}
.st-barfill{height:100%;width:var(--pct);background:linear-gradient(90deg,var(--brand,#0b6b6b),#2aa5a5);border-radius:10px;}
[dir=rtl] .st-barfill{background:linear-gradient(270deg,var(--brand,#0b6b6b),#2aa5a5);}
.st-anim .st-barfill{width:0;transition:width 1.6s cubic-bezier(.22,.8,.3,1) .2s;}
.st-pct{position:absolute;inset-inline-end:0;top:-24px;font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--brand,#0b6b6b);}
.st-tl{list-style:none;margin:0 0 6px;padding:0;position:relative;}
.st-item{position:relative;display:flex;gap:16px;padding-bottom:18px;}
.st-item:last-child{padding-bottom:0;}
.st-item::before{content:"";position:absolute;inset-inline-start:24px;top:50px;bottom:-2px;width:3px;background:#dfe8e8;border-radius:3px;}
.st-item:last-child::before{display:none;}
.st-item.st-done::before{background:var(--brand,#0b6b6b);}
.st-circle{position:relative;flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #dfe8e8;color:#9bb0b0;z-index:1;transition:.3s;}
.st-done .st-circle{background:var(--brand,#0b6b6b);border-color:var(--brand,#0b6b6b);color:#fff;}
.st-now .st-circle{border-color:var(--brand,#0b6b6b);color:var(--brand,#0b6b6b);box-shadow:0 0 0 6px rgba(11,107,107,.12);}
.st-now .st-circle::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--brand,#0b6b6b);opacity:.5;animation:stPulse 2s ease-out infinite;}
.is-paused .st-now .st-circle::after{animation:none;opacity:0;}
.st-tick{position:absolute;inset-inline-end:-5px;top:-5px;width:20px;height:20px;border-radius:50%;background:#1b9a55;color:#fff;display:grid;place-items:center;border:2px solid #fff;}
.st-itembody{flex:1;min-width:0;padding-top:4px;}
.st-itemtop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:42px;}
.st-num{font-family:var(--font-head);font-weight:700;font-size:12px;color:#9bb0b0;}
.st-title{font-family:var(--font-head);font-weight:600;font-size:16px;color:#6b7b7b;}
.st-done .st-title,.st-now .st-title{color:var(--ink,#16302f);}
.st-tag{font-family:var(--font-head);font-weight:600;font-size:12px;padding:3px 10px;border-radius:999px;}
.st-tag-done{background:#e3f6e8;color:#1b7a3a;}
.st-tag-now{background:var(--teal-50,#e6f4f4);color:var(--brand,#0b6b6b);}
.st-now .st-itembody{background:linear-gradient(135deg,#f1f9f9,#fff);border:1px solid #cfe5e5;border-radius:16px;padding:10px 16px 16px;margin-top:-2px;}
.st-desc{margin:0;color:#3b4b4b;line-height:1.6;}
.st-uni{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:#fff;border:1px solid #cfe5e5;border-radius:999px;padding:6px 14px;font-size:14px;color:var(--brand,#0b6b6b);}
.st-anim .st-item{animation:stUp .5s ease both;animation-delay:var(--d);}
.st-celebrate{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,#e8f7ee,#fff);border:1px solid #bfe6cd;border-radius:16px;padding:18px 20px;margin-top:16px;color:#1b9a55;}
.st-celebrate h4{margin:0 0 4px;color:var(--ink,#16302f);font-size:18px;}
.st-celebrate p{margin:0;color:#3b4b4b;}
.st-draw path:first-child{stroke-dasharray:60;stroke-dashoffset:0;}
.st-draw path:last-child{stroke-dasharray:20;stroke-dashoffset:0;}
.st-anim .st-draw path:first-child{animation:stDraw 1s ease 1.2s both;}
.st-anim .st-draw path:last-child{animation:stDraw .6s ease 2s both;}
.st-bigicon{flex:none;width:68px;height:68px;border-radius:20px;background:var(--brand,#0b6b6b);color:#fff;display:grid;place-items:center;}
.st-kicker{font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand,#0b6b6b);}
.st-notebox{display:flex;gap:14px;margin-top:16px;background:#fffaf0;border:1px solid #f1dfb4;border-radius:16px;padding:16px 18px;}
.st-notebox p{margin:4px 0 0;color:#3b4b4b;}
.st-noteicon{flex:none;width:38px;height:38px;border-radius:12px;background:#f6e3b5;color:#8a5a00;display:grid;place-items:center;}
.st-anim .st-notebox,.st-anim .st-celebrate,.st-anim .st-empty{animation:stUp .6s ease both;animation-delay:.5s;}
.st-empty{text-align:center;padding:14px 8px;}
.st-empty .st-bigicon{margin:0 auto 14px;background:#8aa0a0;}
.st-empty h3{margin:0 0 8px;}
.st-empty p{color:#51606a;max-width:460px;margin:0 auto;}
.st-contact{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:22px;color:#6b7b7b;font-size:14px;}
.rf-submit.is-busy{opacity:.7;cursor:progress;}
@keyframes stPulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.35);opacity:0}}
@keyframes stUp{0%{transform:translateY(14px);opacity:0}100%{transform:none;opacity:1}}
@keyframes stDraw{0%{stroke-dashoffset:60}100%{stroke-dashoffset:0}}
@media (max-width:640px){
  .st-circle{width:44px;height:44px;}
  .st-item::before{inset-inline-start:21px;top:44px;}
  .st-now .st-itembody{padding:8px 12px 14px;}
}
@media (prefers-reduced-motion:reduce){
  .st-anim .st-barfill{transition:none;}
  .st-anim .st-item,.st-anim .st-notebox,.st-anim .st-celebrate,.st-anim .st-empty,.st-anim .st-draw path{animation:none!important;}
  .st-now .st-circle::after{animation:none;opacity:0;}
}
.st-link{display:inline-block;padding:8px 16px;border:1.5px solid var(--brand,#0b6b6b);border-radius:999px;color:var(--brand,#0b6b6b);font-family:var(--font-head);font-weight:600;font-size:14px;text-decoration:none;transition:.2s;}
.st-link:hover{background:var(--brand,#0b6b6b);color:#fff;}

/* kondisi kuning / merah pada linimasa */
.st-item.st-warn .st-circle{border-color:#e0a100;color:#b37d00;background:#fff8e1;box-shadow:0 0 0 6px rgba(224,161,0,.14);}
.st-item.st-fail .st-circle{border-color:#d33a2c;color:#fff;background:#d33a2c;box-shadow:0 0 0 6px rgba(211,58,44,.14);}
.st-item.st-warn .st-itembody{background:linear-gradient(135deg,#fff8e1,#fff);border:1px solid #f1dfb4;border-radius:16px;padding:10px 16px 16px;margin-top:-2px;}
.st-item.st-fail .st-itembody{background:linear-gradient(135deg,#fdecea,#fff);border:1px solid #f1c4bf;border-radius:16px;padding:10px 16px 16px;margin-top:-2px;}
.st-item.st-warn .st-title,.st-item.st-fail .st-title{color:var(--ink,#16302f);}
.st-tag-warn{background:#fff1c9;color:#8a5a00;}
.st-tag-fail{background:#fbd9d5;color:#a52a1f;}
.st-lost{opacity:.45;}
.st-chip-warn{background:#fff1c9;color:#8a5a00;}
.st-chip-fail{background:#fbd9d5;color:#a52a1f;}
.st-bar-warn .st-barfill{background:linear-gradient(90deg,var(--brand,#0b6b6b),#e0a100);}
.st-bar-fail .st-barfill{background:linear-gradient(90deg,var(--brand,#0b6b6b),#d33a2c);}
.st-item.st-fail::before,.st-item.st-warn::before{background:#dfe8e8;}
.st-emgs{display:inline-flex;align-items:center;gap:8px;margin-top:12px;margin-inline-end:8px;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;font-family:var(--font-head);}
.st-emgs i{width:12px;height:12px;border-radius:50%;display:inline-block;}
.st-emgs-green{background:#e3f6e8;color:#1b7a3a;}.st-emgs-green i{background:#1b9a55;}
.st-emgs-yellow{background:#fff1c9;color:#8a5a00;}.st-emgs-yellow i{background:#e0a100;}
.st-emgs-red{background:#fbd9d5;color:#a52a1f;}.st-emgs-red i{background:#d33a2c;}
.st-notebox-warn{background:#fff8e1;border-color:#f1dfb4;}
.st-notebox-fail{background:#fdecea;border-color:#f1c4bf;}
.rf-done .rf-done-track{margin-top:16px;}
.rf-done .rf-done-track a{font-weight:600;color:var(--brand,#0b6b6b);text-decoration:underline;text-underline-offset:3px;}

/* Halaman Jadi Ambassador */
.amb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0 0 32px;}
.amb-box{background:#fff;border:1px solid #dfe8e8;border-radius:16px;padding:20px;}
.amb-box h3{margin:0 0 8px;font-size:18px;color:var(--brand,#0b6b6b);}
.amb-box p,.amb-box li{margin:0;font-size:15px;line-height:1.6;}
.amb-box ul{margin:0;padding-inline-start:18px;}
.amb-note{font-size:13px;opacity:.75;margin:-16px 0 32px;}
.amb-closed{text-align:center;padding:40px 20px;}

/* Alur proses di Status Mitra */
.pt-flow{margin:0 0 20px;background:#fff;border:1px solid #dfe8e8;border-radius:16px;padding:14px 20px;}
.pt-flow summary{cursor:pointer;font-weight:600;color:var(--brand,#0b6b6b);}
.pt-flow ol{margin:12px 0;padding-inline-start:22px;columns:2;column-gap:28px;}
.pt-flow li,.pt-flow p{font-size:14px;line-height:1.6;margin:0 0 4px;}
.pt-flow p{margin-top:10px;}
@media (max-width:640px){.pt-flow ol{columns:1;}}

/* Halaman Karir */
.job-list{display:grid;gap:14px;margin:14px 0 8px;}
.job-card{background:#fff;border:1px solid var(--line,#e2e8e8);border-radius:16px;padding:18px 20px;}
.job-card h3{margin:0 0 4px;font-size:20px;}
.job-meta{color:#6b7b7b;font-size:14px;margin:0 0 8px;}
.job-card p{margin:0 0 10px;}
.job-more{margin:0 0 12px;}
.job-more summary{cursor:pointer;font-family:var(--font-head);font-weight:600;color:var(--brand,#0b6b6b);}
.job-more .prose{margin-top:8px;font-size:15px;}
.job-apply{display:inline-block;}
.job-empty{background:var(--teal-50,#e6f4f4);border-radius:14px;padding:16px 18px;}
