/* LSD100 — gaya halaman aplikasi (daftar, Race Saya, admin). Token warna sama dengan halaman depan. */
:root{
  --bg:#04060c; --panel:#0a0f1e; --panel2:#0d1430;
  --blue:#1E46E6; --blue-hi:#4E73FF;
  --ink:#f4f5f7; --dim:#8a8f9c; --hair:rgba(255,255,255,.12);
  --ok:#5fd18a; --warn:#e8b64a; --bad:#ff6b6b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{
  background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.55;min-height:100vh;
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 1px, transparent 1px 11px);
}
a{color:var(--blue-hi)}
[hidden]{display:none!important}

.app-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px clamp(16px,4vw,48px);border-bottom:1px solid var(--hair)}
.app-top .mark{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:20px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}
.app-top .mark b{color:var(--blue-hi)}
.app-top nav{display:flex;align-items:center;gap:16px;font-size:14px}
.app-top nav a{color:#d6d8de;text-decoration:none}
.app-top nav a:hover{color:#fff}
.lang{display:flex;border:1px solid var(--hair)}
.lang-btn{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;color:var(--dim);cursor:pointer;padding:8px 12px}
.lang-btn+.lang-btn{border-left:1px solid var(--hair)}
.lang-btn[aria-pressed="true"]{background:var(--blue);color:#fff}

.wrap{max-width:780px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,32px) 96px}
.wrap.wide{max-width:1240px}
h1{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(2rem,6vw,3.6rem);line-height:.92;letter-spacing:-.045em;word-spacing:.16em}
h1 .b{color:var(--blue-hi)}
h2{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(1.2rem,3vw,1.6rem);letter-spacing:-.03em;word-spacing:.12em;line-height:1;margin-bottom:16px}
.lead{color:#c3c6cd;max-width:56ch;margin-top:14px}
.muted{color:var(--dim);font-size:14px}

.card{background:var(--panel);border:1px solid var(--hair);padding:clamp(18px,3vw,30px);margin-top:22px}
.card.accent{border-left:2px solid var(--blue)}
.sect{margin-top:34px;padding-top:26px;border-top:1px solid var(--hair)}
.sect:first-of-type{border-top:0;padding-top:0}

.field{margin-top:16px}
.field:first-child{margin-top:0}
label,.lbl{display:block;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-bottom:7px}
label .req{color:var(--blue-hi)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=datetime-local],input[type=number],input[type=url],input[type=search],input[type=password],select,textarea{
  width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--hair);border-radius:0;
  font:500 16px 'Inter',sans-serif;padding:13px 14px;
}
textarea{min-height:88px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
input[type=file]{font-size:14px;color:#c3c6cd;width:100%}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:16px;align-items:start}
.row2 .field,.row3 .field{margin-top:0}
.hint{font-size:13px;color:var(--dim);margin-top:6px}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:14px;font-size:14px;color:#d6d8de}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue);flex:none}
.check label{all:unset;cursor:pointer}
.check a{color:var(--blue-hi);text-decoration:underline}

.btn{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;padding:15px 28px;border:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff;transition:background .2s,transform .18s}
.btn:hover{background:var(--blue-hi);transform:translateY(-1px)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;border:1px solid var(--hair);color:#e2e4e9}
.btn.ghost:hover{border-color:var(--blue-hi);color:var(--blue-hi)}
.btn.small{padding:9px 16px;font-size:13px}
.btn.bad{background:transparent;border:1px solid var(--bad);color:var(--bad)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

.msg{margin-top:16px;padding:12px 16px;border-left:2px solid var(--blue);background:var(--panel2);font-size:14px}
.msg.err{border-left-color:var(--bad);color:#ffd2d2}
.msg.ok{border-left-color:var(--ok)}
.msg.warn{border-left-color:var(--warn)}

/* pilihan kategori */
.catpick{display:grid;gap:0;border-top:1px solid var(--hair);margin-top:10px}
.catpick label{all:unset;display:grid;grid-template-columns:24px minmax(90px,120px) 1fr auto;gap:0 16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--hair);cursor:pointer}
.catpick label:hover{background:rgba(78,115,255,.06)}
.catpick input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--dim);border-radius:50%;margin:0;transition:border-color .2s,background .2s}
.catpick input:checked{border-color:var(--blue-hi);background:radial-gradient(circle,var(--blue-hi) 42%,transparent 46%)}
.catpick .cn{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(2rem,6vw,3rem);letter-spacing:-.05em;line-height:1;transition:color .2s,text-shadow .2s}
.catpick label:hover .cn,.catpick label:has(input:checked) .cn{color:var(--blue-hi);text-shadow:0 0 28px rgba(47,91,255,.55)}
.catpick .ci b{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;font-size:.95rem;letter-spacing:-.02em}
.catpick .ci span{display:block;font-size:13px;color:var(--dim)}
input.invalid,select.invalid,textarea.invalid{border-color:var(--bad)}
.catpick .cs{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-align:right;color:var(--blue-hi)}
.catpick .cs.full{color:var(--warn)}
.catpick label:has(input:checked){background:rgba(30,70,230,.14)}

/* langkah-langkah (wizard) */
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(255,255,255,.08);z-index:40}
.progress i{display:block;height:100%;width:0;background:var(--blue-hi);box-shadow:0 0 14px rgba(78,115,255,.8);transition:width .4s cubic-bezier(.16,.8,.28,1)}
.stephead{margin-bottom:26px}
.stepcount{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-hi);margin-bottom:10px}
.step{animation:stepin .45s cubic-bezier(.16,.8,.28,1)}
@keyframes stepin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.stepnav{display:flex;gap:12px;margin-top:30px}
.stepnav .btn{flex:1}
.stepnav .btn.ghost{flex:0 0 72px}
.code-input{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(1.25rem,6.2vw,2rem);letter-spacing:.28em;text-align:center;padding:16px 10px}
.or{text-align:center;color:var(--dim);font-family:'Archivo Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin:18px 0 0}
.bigcode{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(2rem,7vw,3.4rem);letter-spacing:-.04em;line-height:1;color:var(--blue-hi);text-shadow:0 0 30px rgba(47,91,255,.45)}
.jersey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:22px;align-items:center}
.jersey-img{position:relative;aspect-ratio:1/1;background:var(--bg);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;overflow:hidden}
.jersey-img img{width:100%;height:100%;object-fit:contain}
.jersey-ph{display:none;color:var(--dim);font-size:13px;text-align:center;padding:16px}
.jersey-img.noimg .jersey-ph{display:block}
@media(max-width:640px){
  .jersey{grid-template-columns:1fr}
  .stepnav{position:sticky;bottom:0;margin:22px -16px 0;padding:14px 16px;background:linear-gradient(0deg,var(--bg) 70%,transparent);z-index:20}
}

/* status */
.chip{display:inline-block;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--hair);color:#d6d8de;white-space:nowrap}
.chip.blue{border-color:var(--blue-hi);color:var(--blue-hi)}
.chip.ok{border-color:var(--ok);color:var(--ok)}
.chip.warn{border-color:var(--warn);color:var(--warn)}
.chip.bad{border-color:var(--bad);color:var(--bad)}

/* kartu race */
.race{border:1px solid var(--hair);background:var(--panel);padding:22px;margin-top:16px}
.race h3{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.8rem;letter-spacing:-.04em;text-transform:uppercase;line-height:1}
.race .meta{display:flex;flex-wrap:wrap;gap:6px 26px;margin:12px 0;color:#c3c6cd;font-size:14px}
.race .meta b{color:var(--ink);font-weight:500}
.race dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:14px}
.race dt{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.race dd{font-size:15px}
.groupt{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin-top:38px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal .box{background:var(--panel);border:1px solid var(--hair);max-width:720px;width:100%;max-height:90vh;overflow:auto;padding:22px}
.modal img{max-width:100%;display:block;margin:12px auto}

/* admin */
.tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--hair);margin-top:26px}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--dim);font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:14px;letter-spacing:.09em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
.tabs button[aria-selected="true"]{color:#fff;border-bottom-color:var(--blue-hi)}
.tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:20px}
.tools .field{margin-top:0;min-width:180px}
table.t{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px}
table.t th{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);text-align:left;padding:10px 10px;border-bottom:1px solid var(--hair);white-space:nowrap}
table.t td{padding:12px 10px;border-bottom:1px solid var(--hair);vertical-align:top}
table.t tr:hover td{background:rgba(255,255,255,.02)}
.scroll{overflow-x:auto}
.qcard{border:1px solid var(--hair);background:var(--panel);padding:20px;margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 30px}
.qcard h3{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:-.03em;font-size:1.25rem}
.qcard dl{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:14px;margin-top:10px}
.qcard dt{color:var(--dim)}
.qcard .act{grid-column:1 / -1;border-top:1px solid var(--hair);padding-top:16px}
.qcard textarea{min-height:60px}

@media(max-width:640px){
  .row2,.row3,.qcard{grid-template-columns:1fr}
  .catpick label{grid-template-columns:24px 78px 1fr;grid-template-rows:auto auto}
  .catpick .cs{grid-column:2 / -1;text-align:left}
  .app-top nav a.hide-sm{display:none}
  .qcard dl{grid-template-columns:120px 1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== halaman dokumen hukum (syarat, privasi, aturan) ===== */
.legal{max-width:840px}
.legal h1{font-size:clamp(2rem,6vw,3.4rem)}
.legal h2{font-size:clamp(1.05rem,2.4vw,1.35rem);margin:38px 0 6px;padding-top:22px;border-top:1px solid var(--hair)}
.legal h2:first-of-type{border-top:0}
.legal p,.legal li{color:#d6d8de;line-height:1.75;font-size:15px;margin-top:10px}
.legal ul,.legal ol{margin:8px 0 0 20px}
.legal .upd{color:var(--dim);font-size:13px;margin-top:12px}
.legal .draft{margin-top:22px}
.legal .key{border-left:2px solid var(--blue-hi);background:var(--panel);padding:14px 18px;margin-top:14px}
.legal .key p{margin-top:6px}
.legal a{color:var(--blue-hi)}
.legal .tbl{overflow-x:auto;margin-top:16px}
.legal table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.legal th{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:left;padding:10px 10px;border-bottom:1px solid var(--hair);white-space:nowrap}
.legal td{padding:11px 10px;border-bottom:1px solid var(--hair);color:#e2e4e9;vertical-align:top}
.legal td:first-child{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.15rem}
.legal td.g{color:var(--blue-hi);font-weight:500}
html[lang="id"] [data-only="en"],html[lang="en"] [data-only="id"]{display:none!important}
.docnav{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.docnav a{color:var(--dim);text-decoration:none}
.docnav a:hover,.docnav a[aria-current]{color:#fff}

/* ---- pilih cara bayar & langkah Privy (Race Saya) ---- */
.paytitle{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin-top:22px}
.steps{margin:12px 0 0 20px;color:#d6d8de;line-height:1.7;font-size:14px}
.steps li{margin-top:4px}
.promo{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:14px;border:1px dashed var(--blue-hi);padding:12px 16px}
.promo .lbl{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.promo b{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.6rem;letter-spacing:.02em}
.qcard .shot{max-width:100%;max-height:520px;border:1px solid var(--hair);display:block}
.qcard .steps{font-size:13px}
.payopts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.paybox{position:relative;border:1px solid var(--hair);background:linear-gradient(180deg,var(--panel2),var(--panel));padding:24px 22px 22px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.paybox:hover,.paybox:focus-within{border-color:var(--blue-hi)}
.paybox h4{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;font-size:1.05rem;line-height:1.1}
.paybox h4 small{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-style:normal;font-size:12px;letter-spacing:.12em;color:var(--dim);margin-left:4px}
.paybox .price{margin-top:18px}
.paybox .price .lbl{margin:0 0 2px;color:var(--dim)}
.paybox .price b{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(2.1rem,6.4vw,3rem);letter-spacing:-.045em;line-height:1;color:var(--ink)}
.paybox.privy .price b{color:var(--blue-hi);text-shadow:0 0 34px rgba(47,91,255,.4)}
.paybox .brk{margin-top:12px;font-size:15px;color:#d6d8de}
.paybox .hint{margin-top:8px}
.paybox .pick{margin-top:auto}
.paybox > :nth-last-child(2){margin-bottom:22px}
.pick{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:60px;padding:0 9px 0 22px;border:0;cursor:pointer;
  background:var(--blue);color:#fff;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:1.02rem;letter-spacing:.01em;text-transform:uppercase;text-align:left;
  box-shadow:0 14px 34px -14px rgba(30,70,230,.9),inset 0 1px 0 rgba(255,255,255,.18);transition:background .2s,transform .18s,box-shadow .2s}
.pick i{flex:none;display:grid;place-items:center;width:42px;height:42px;background:rgba(255,255,255,.18);font-style:normal;font-size:21px;line-height:1;transition:transform .2s,background .2s}
.pick:hover{background:var(--blue-hi);transform:translateY(-2px);box-shadow:0 18px 38px -14px rgba(78,115,255,.95),inset 0 1px 0 rgba(255,255,255,.22)}
.pick:hover i{transform:translateX(4px);background:rgba(255,255,255,.3)}
.pick:active{transform:translateY(0)}
@media (max-width:640px){.payopts{grid-template-columns:1fr}}

/* ---- langkah Privy yang jelas ---- */
.planbox{margin-top:20px;border:1px solid var(--blue-hi);background:linear-gradient(180deg,rgba(30,70,230,.18),rgba(30,70,230,.05));padding:20px 22px}
.planbox .lbl{margin:0 0 4px;color:#c3c6cd}
.planbox .plan{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(2.6rem,10vw,4.2rem);letter-spacing:-.045em;line-height:1;color:var(--blue-hi);text-shadow:0 0 34px rgba(47,91,255,.45)}
.planbox .hint{margin-top:10px;color:#d6d8de}
.money{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.money>div{border:1px solid var(--hair);background:var(--panel2);padding:14px 16px}
.money .lbl{margin:0 0 4px}
.money b{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(1.5rem,5.4vw,2.1rem);letter-spacing:-.04em;line-height:1.05}
.money .rest b{color:var(--blue-hi)}
.bigsteps{list-style:none;counter-reset:s;margin-top:12px}
.bigsteps li{counter-increment:s;display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--hair);font-size:15.5px;line-height:1.5;color:#e6e8ee}
.bigsteps li:last-child{border-bottom:1px solid var(--hair)}
.bigsteps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:38px;height:38px;background:var(--blue);color:#fff;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.15rem}
.bigsteps li>div{flex:1;min-width:0}
.bigsteps .promo{margin-top:10px}
@media (max-width:520px){.money{grid-template-columns:1fr}}

/* ---- profil ---- */
.pf-head{display:flex;align-items:center;gap:20px}
.pf-avatar{flex:none;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#1E46E6,#2f5bff);display:grid;place-items:center;
  font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:2.4rem;color:#fff;box-shadow:0 0 40px -6px rgba(47,91,255,.7)}
.pf-head h1{font-size:clamp(1.7rem,5.2vw,2.8rem);overflow-wrap:anywhere}
.pf-sub{color:var(--dim);font-size:14px;margin-top:8px;overflow-wrap:anywhere}
.pf-cat{font-size:15px;color:#c3c6cd}
.pf-cat b{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.6rem;color:var(--ink);margin-right:8px}
.pf-score{display:flex;align-items:flex-end;gap:14px;margin:6px 0 8px}
.pf-score b{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(3.4rem,14vw,5.4rem);letter-spacing:-.05em;line-height:.9;color:var(--blue-hi);text-shadow:0 0 34px rgba(47,91,255,.45)}
.pf-score .lbl{margin:0 0 8px}
.seg{display:inline-flex;border:1px solid var(--hair);margin-top:6px}
.seg-btn{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;background:none;border:0;color:var(--dim);cursor:pointer;padding:11px 22px}
.seg-btn+.seg-btn{border-left:1px solid var(--hair)}
.seg-btn[aria-pressed="true"]{background:var(--blue);color:#fff}
.share-stage{margin-top:16px;display:flex;justify-content:center;background:#000;padding:14px;border:1px solid var(--hair)}
.share-stage canvas{max-width:100%;max-height:560px;width:auto;height:auto;display:block}

/* ---- FAQ ---- */
.faq details{border-top:1px solid var(--hair);padding:0}
.faq details:last-of-type{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:clamp(1.02rem,2.6vw,1.2rem);letter-spacing:-.01em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:'Archivo Narrow',sans-serif;font-style:normal;font-weight:700;font-size:26px;color:var(--blue-hi);transition:transform .2s}
.faq details[open] summary::after{content:'−'}
.faq summary:hover{color:var(--blue-hi)}
.faq details>p,.faq details>ol{padding-bottom:6px}
.faq details>ol{margin:8px 0 0 20px}
.faq details{padding-bottom:20px}
.faq .lead{margin-bottom:18px}

/* ---- pesanan, transfer, tiket ---- */
.order{margin-top:12px;border:1px solid var(--hair);background:var(--panel2);padding:6px 18px 12px}
.orow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:15px}
.orow span{color:#d6d8de}
.orow b{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;white-space:nowrap}
.orow.total{border-bottom:0;padding-top:14px}
.orow.total span{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.orow.total b{font-size:clamp(1.6rem,6vw,2.2rem);color:var(--blue-hi);letter-spacing:-.03em}
.addon{border:1px solid var(--hair);margin-top:8px;background:var(--panel)}
.addon.on{border-color:var(--blue-hi);background:rgba(30,70,230,.12)}
.arow{all:unset;display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;width:100%;box-sizing:border-box}
.arow input{width:22px;height:22px;accent-color:var(--blue);flex:none;margin:0}
.arow .an{flex:1;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:1.02rem;color:var(--ink)}
.arow .ap{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:15px;color:#d6d8de}
.asize{padding:0 16px 14px 52px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.asize label{margin:0;flex:0 0 100%}
.asize select{width:auto;min-width:160px}
.transfer{margin-top:12px;border:1px solid var(--blue-hi);background:linear-gradient(180deg,rgba(30,70,230,.18),rgba(30,70,230,.05));padding:18px 20px}
.transfer .lbl{margin:0 0 4px;color:#c3c6cd}
.transfer .amt{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(2.2rem,9vw,3.6rem);letter-spacing:-.045em;line-height:1;margin-bottom:14px}
.transfer .amt u{text-decoration:none;color:#fff;background:var(--blue);padding:0 8px;margin-left:2px}
.qris{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.qris img{width:min(340px,100%);height:auto;background:#fff;border:1px solid var(--hair)}
.ticket{display:flex;flex-wrap:wrap;gap:20px 34px;align-items:center;margin-top:14px;border:1px solid var(--blue-hi);background:linear-gradient(180deg,rgba(30,70,230,.18),rgba(30,70,230,.05));padding:20px 22px}
.ticket .bib{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(3rem,13vw,5rem);letter-spacing:-.05em;line-height:.95;color:#fff;text-shadow:0 0 34px rgba(47,91,255,.55)}
.ticket .lbl{margin:0 0 6px}
.qrbox{display:flex;flex-direction:column;align-items:center;gap:6px}
.qr{background:#fff;padding:6px;width:190px;height:190px;line-height:0}
.qr svg{width:100%;height:100%;display:block}
.qrbox .hint{font-size:11px;word-break:break-all;max-width:190px;text-align:center}

/* ---- halaman dokumen ---- */
.docbar{height:8px;background:rgba(255,255,255,.1);margin-top:22px}
.docbar-fill{height:100%;width:0;background:var(--blue-hi);box-shadow:0 0 14px rgba(78,115,255,.8);transition:width .5s cubic-bezier(.16,.8,.28,1)}
.docbar-text{margin-top:10px;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi)}
.dcard{border:1px solid var(--hair);background:var(--panel);padding:20px 22px;margin-top:16px}
.dcard.done{border-color:rgba(95,209,138,.5)}
.dcard header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dcard .dn{flex:none;width:38px;height:38px;display:grid;place-items:center;background:var(--blue);color:#fff;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.15rem}
.dcard.done .dn{background:var(--ok);color:#04060c}
.dcard h3{flex:1 1 150px;min-width:150px;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;font-size:1.2rem;line-height:1.1}
.dc-what{margin-top:12px;color:#d6d8de;font-size:15px}
.bigsteps.small li{padding:10px 0;font-size:14.5px}
.bigsteps.small li::before{width:30px;height:30px;font-size:1rem}
.bigsteps.small .btn{margin-left:8px;vertical-align:middle}
/* cetak waiver */
.paper{background:var(--panel);border:1px solid var(--hair);padding:clamp(18px,4vw,40px);margin-top:20px;position:relative}
.paper .draftmark{position:absolute;right:20px;top:14px;font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.2em;color:var(--warn);font-size:13px;margin:0}
.legal .whois{width:100%;border-collapse:collapse;margin:18px 0 6px;font-size:15px;min-width:0}
.legal .whois th{text-align:left;width:38%;font-weight:500;color:var(--dim);text-transform:none;letter-spacing:0;font-size:14px;padding:8px 10px 8px 0;border-bottom:1px solid var(--hair);font-family:'Inter',sans-serif;white-space:normal}
.legal .whois td{padding:8px 0;border-bottom:1px solid var(--hair);font-style:normal;font-family:'Inter',sans-serif;font-weight:500;font-size:15px}
.clauses{margin:10px 0 0 20px}
.clauses li{margin-top:12px}
.sign{margin-top:34px;display:flex;justify-content:flex-end}
.sign>div{min-width:min(280px,100%);text-align:center}
.sign .line{height:70px;border-bottom:1px solid #8a8f9c;margin-top:6px}
.minor{margin-top:34px;border-top:1px dashed var(--hair);padding-top:6px}
@media print{
  body{background:#fff!important;color:#000!important;background-image:none!important}
  .noprint,.app-top,.acct{display:none!important}
  #wa-float{display:none!important}
  .wrap{padding:0;max-width:none}
  .paper{background:#fff;border:0;padding:0}
  .paper *,.legal p,.legal li{color:#000!important}
  .paper h1{font-size:22pt;color:#000}
  .paper h1 .b{color:#000}
  .paper .draftmark{color:#b00;border:1px solid #b00;padding:2px 8px}
  .legal .whois th,.legal .whois td{border-bottom:1px solid #999}
  .sign .line{border-bottom:1px solid #000}
}

/* ---- layar petugas RPC ---- */
.scanbox{position:relative;background:#000;aspect-ratio:1/1;max-height:60vh;overflow:hidden;border:1px solid var(--hair)}
.scanbox video{width:100%;height:100%;object-fit:cover;display:block}
.scanframe{position:absolute;inset:16%;border:3px solid var(--blue-hi);box-shadow:0 0 0 999px rgba(4,6,12,.45),0 0 26px rgba(78,115,255,.8);pointer-events:none;opacity:.35}
.card.live .scanframe{opacity:1}
.manual{display:flex;gap:10px}
.manual input{flex:1;min-width:0}
.rpc-state{margin-top:20px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
.rpc-state b{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(1.6rem,7vw,2.4rem);letter-spacing:-.03em;line-height:1}
.rpc-state span{font-size:15px}
.rpc-state.ok{background:rgba(95,209,138,.16);border:1px solid var(--ok)} .rpc-state.ok b{color:var(--ok)}
.rpc-state.warn{background:rgba(232,182,74,.14);border:1px solid var(--warn)} .rpc-state.warn b{color:var(--warn)}
.rpc-state.bad{background:rgba(255,107,107,.14);border:1px solid var(--bad)} .rpc-state.bad b{color:var(--bad)}
.rpc-who{margin-top:16px;border:1px solid var(--hair);background:var(--panel);padding:18px 20px}
.rpc-who .bib{display:block;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:clamp(3rem,15vw,5.6rem);letter-spacing:-.05em;line-height:.95;color:#fff}
.rpc-who h2{margin:10px 0 4px;font-size:clamp(1.3rem,5vw,1.8rem)}
.rpc-who .lbl{margin:0 0 4px}
.card .arow{padding:12px 4px}
.card .arow .an{font-style:normal;font-weight:500;font-family:'Inter',sans-serif;font-size:15px}
.dcard header .chip{flex:none;white-space:nowrap}
.legal .whois td:first-child{font-size:15px;font-style:normal;font-weight:500;font-family:Inter,sans-serif}

/* foto tambahan (kotak kosong sampai gambar dipasang) + tombol tautan */
.arow .aimg{flex:none;position:relative;width:88px;height:88px;background:#0a0f1e;border:1px dashed rgba(255,255,255,.22);display:grid;place-items:center;overflow:hidden}
.arow .aimg i{font-family:'Archivo Narrow',sans-serif;font-style:normal;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.arow .aimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0a0f1e}
.arow .atxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.arow .atxt .an{font-size:1.1rem}
.arow .atxt .ap{font-size:16px;color:var(--blue-hi)}
.linkbtn{all:unset;cursor:pointer;color:var(--blue-hi);text-decoration:underline;font-size:14px;padding:6px 0}
.linkbtn:hover{color:#fff}
.linkbtn:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
.modal #chart-img{max-width:100%;display:block;margin:12px auto}

/* notifikasi "berkas terkirim" di halaman Dokumen — besar & kontras supaya jelas terlihat */
.sentbox{display:flex;align-items:center;gap:16px;margin-top:16px;padding:16px 18px;border:1px solid var(--warn);background:rgba(232,182,74,.14)}
.sentbox i{flex:none;font-style:normal;font-size:28px;line-height:1}
.sentbox b{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:1.15rem;letter-spacing:-.01em;color:var(--warn)}
.sentbox span{display:block;margin-top:4px;font-size:14px;color:#e6dcc3}

/* tombol WhatsApp mengambang */
#wa-float{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:10px;background:#1fb855;color:#fff;
  padding:14px;border-radius:999px;box-shadow:0 10px 28px -8px rgba(0,0,0,.6);text-decoration:none;transition:padding .2s,transform .2s,box-shadow .2s}
#wa-float svg{width:26px;height:26px;flex:none;display:block}
#wa-float span{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.04em;white-space:nowrap;max-width:0;overflow:hidden;opacity:0;transition:max-width .25s,opacity .2s}
#wa-float:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(0,0,0,.7)}
#wa-float:hover span,#wa-float:focus-visible span{max-width:160px;opacity:1;margin-right:2px}
#wa-float:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:640px){#wa-float{right:14px;bottom:14px;padding:13px}}

/* tabel dua kolom untuk kebijakan privasi (kategori data + dasar/tujuan) */
.legal table.tbl2col{min-width:0;font-size:13.5px;margin-top:10px}
.legal table.tbl2col td:first-child{font-family:'Inter',sans-serif;font-weight:500;font-style:normal;font-size:13.5px;width:38%}
.legal table.tbl2col th{white-space:normal}
@media (max-width:640px){.legal table.tbl2col,.legal table.tbl2col tbody,.legal table.tbl2col tr,.legal table.tbl2col td{display:block;width:auto}
  .legal table.tbl2col thead{display:none}
  .legal table.tbl2col tr{border-bottom:1px solid var(--hair);padding:10px 0}
  .legal table.tbl2col td{border-bottom:0;padding:4px 0}
  .legal table.tbl2col td:last-child{color:var(--dim);font-size:13px}}

/* kotak peringatan & pernyataan akhir di waiver.html */
.legal .warnbox{border-left-color:var(--bad);background:rgba(255,107,107,.1)}
.legal .warnbox p{color:#ffd2d2;font-size:16px}
.legal .finalbox{border-left-color:var(--warn);background:rgba(232,182,74,.1);margin-top:26px}
.legal .finalbox p:first-child{font-family:'Archivo Narrow',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--warn);font-size:13px;margin-top:0}
.legal .finalbox ul{margin-top:10px}
.legal .finalbox li{margin-top:8px;line-height:1.5}
@media print{
  .warnbox,.warnbox *{color:#900!important;border-color:#900!important;background:#fff2f2!important}
  .finalbox,.finalbox *{color:#000!important;border-color:#b45309!important;background:#fff!important}
}

/* 4 kotak persetujuan wajib sebelum bayar (Race Saya) */
.waiverack{border:1px solid var(--warn);background:rgba(232,182,74,.08);padding:16px 18px;margin-top:20px}
.waiverack .lbl{color:var(--warn);margin-top:0}
.waiverack .check{margin-top:10px}
.waiverack .check:first-of-type{margin-top:12px}
.bdrow{display:grid;grid-template-columns:0.8fr 1.5fr 1fr;gap:8px}
.bdrow select{min-width:0}

/* ---- Halaman Peserta (publik) ---- */
.plist{max-width:960px}
.pl-tools{margin-top:22px;display:grid;gap:14px}
.pl-tools input[type=search]{max-width:420px}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chip{font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;padding:10px 14px;border:1px solid var(--hair);background:transparent;color:var(--ink);cursor:pointer}
.pl-chip i{font-style:normal;color:var(--dim);margin-left:6px}
.pl-chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.pl-chip.on i{color:#dfe6ff}
.pl-cat{margin-top:34px}
.pl-cat h2{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px;padding-top:18px;border-top:1px solid var(--hair);font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(1.4rem,4vw,2rem)}
.pl-cat h2 b{color:var(--blue-hi)}
.pl-cat h2 span{font-size:.5em;font-weight:700;color:var(--dim);letter-spacing:.04em}
.pl-cat h2 em{margin-left:auto;font-style:normal;font-family:'Archivo Narrow',sans-serif;font-size:.5em;color:var(--dim)}
.pl-names{list-style:none;padding:0;margin:0;columns:3 240px;column-gap:28px}
.pl-names li{break-inside:avoid;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px}
.pl-note{margin-top:40px}
.app-top nav a.on{color:#fff;border-bottom:2px solid var(--blue-hi)}

/* ---- Kotak asuransi (Page 1) ---- */
.insbox{margin-top:26px;padding:18px 18px 16px;border:1px solid var(--hair);background:var(--panel)}
.insbox h3{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin-bottom:6px}
.insbox .check{margin-top:8px}
.insbox .hint{margin-top:10px}
.insbox #nik-wrap{margin-top:14px}

/* ---- Akses komunitas ---- */
.kom .kom-status{margin-top:28px}
.kom .kom-status .btn-row{margin-top:16px}
.kom-list{margin:30px 0 0;padding-left:20px;display:grid;gap:10px;max-width:640px;color:#d6d8de}

/* ---- Pilihan cara bayar: kartu Privy berwarna merah (permintaan sponsor Privy) ---- */
.paybox.privy{--privy:#E4202B;--privy-hi:#FF3B46;border-color:rgba(228,32,43,.55);border-top:4px solid var(--privy);background:linear-gradient(180deg,rgba(228,32,43,.14),var(--panel))}
.paybox.privy:hover,.paybox.privy:focus-within{border-color:var(--privy-hi)}
.paybox.privy .price b{color:#FF5560;text-shadow:0 0 34px rgba(228,32,43,.45)}
.paybox.privy .pick{background:var(--privy);box-shadow:0 14px 34px -14px rgba(228,32,43,.9),inset 0 1px 0 rgba(255,255,255,.18)}
.paybox.privy .pick:hover{background:var(--privy-hi);box-shadow:0 18px 38px -14px rgba(228,32,43,.95),inset 0 1px 0 rgba(255,255,255,.22)}
.kom-h{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin:40px 0 12px}
.kom-cats{display:grid;gap:0;border-top:1px solid var(--hair)}
.kc{display:grid;grid-template-columns:90px 1.6fr .7fr 1fr 1fr;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair)}
.kc-k{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-size:1.9rem;letter-spacing:-.04em}
.kc-n{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase}
.kc-n i{display:block;font-family:'Archivo Narrow',sans-serif;font-style:normal;font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--dim)}
.kc em{display:block;font-family:'Archivo Narrow',sans-serif;font-style:normal;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.kc-p{color:var(--blue-hi);font-weight:700}
@media (max-width:640px){.kc{grid-template-columns:70px 1fr 1fr;row-gap:8px}.kc-n{grid-column:2 / -1}.kc-k{grid-row:1 / 3}}

/* ---- Masuk / Daftar (password) ---- */
.authtabs{display:flex;gap:0;margin:22px 0 18px;max-width:420px}
.authtabs button{flex:1;padding:13px 16px;background:transparent;color:var(--dim);border:1px solid var(--hair);font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;cursor:pointer}
.authtabs button[aria-selected=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.passrow{display:flex;gap:8px}
.passrow input{flex:1}
.passtoggle{flex:none;padding:0 16px;background:transparent;color:var(--blue-hi);border:1px solid var(--hair);font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;cursor:pointer}
.authlinks{margin-top:18px;font-size:14px}
.checkall{padding:12px 14px;border:1px solid var(--hair);background:var(--panel);margin-bottom:8px;font-weight:600}

/* foto besar produk tambahan (Finisher Jersey / Cap) */
.addon .abig{position:relative;background:#04060c;border-bottom:1px solid var(--hair);line-height:0}
.addon .abig img{display:block;width:100%;max-height:440px;object-fit:contain;background:#04060c}
.addon .abig .g-tag{position:absolute;right:0;bottom:0;line-height:1;font-style:normal;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:rgba(4,6,12,.82);color:#c9cdd8;padding:4px 8px}

/* ---- "Powered by vivo V80 Lite 5G" di samping logo (sponsor judul) ---- */
.mark-wrap{display:inline-flex;flex-direction:column;gap:2px;line-height:1}
.mark-sponsor{font-family:'Archivo Narrow',sans-serif;font-style:normal;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#aeb2c2;white-space:nowrap;display:flex;align-items:center;gap:5px}
.mark-sponsor i{font-style:normal;margin-right:4px;opacity:.85}
.mark-sponsor b{font-weight:800;color:#c6cbe0}
.mark-sponsor em{font-style:normal}

/* ---- Privy: chip status, kotak paket, logo di judul kartu (26/29 Sep 2026) ---- */
.chip.privy{border-color:#E4202B;color:#FF5560}
.planbox.privy{border-color:#E4202B;background:linear-gradient(180deg,rgba(228,32,43,.18),rgba(228,32,43,.05))}
.planbox.privy .plan{color:#FF5560;text-shadow:0 0 34px rgba(228,32,43,.45)}
.planbox.privy .lbl{display:flex;align-items:center;gap:8px}
.money .rest .hint{margin-top:8px;color:var(--dim);font-size:13px}
.pb-privy-logo{height:16px;width:auto;vertical-align:-3px;margin-right:9px;background:#fff;padding:3px 7px;border-radius:4px;display:inline-block}
.paybox.privy h4{display:flex;align-items:center}
.privy-read b{color:#f2c4c7}
.mark-vivo-logo{height:11px;width:auto;filter:brightness(0) invert(1);opacity:1}

/* ---- Admin: kartu penjualan real-time ---- */
.live-card h2{display:flex;align-items:center;gap:10px}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:none;animation:liveDot 1.6s ease-in-out infinite}
@keyframes liveDot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(95,209,138,.5)}50%{opacity:.55;box-shadow:0 0 0 5px rgba(95,209,138,0)}}
.sold-n{font-family:'Archivo',sans-serif;font-weight:800;color:var(--ok)}

/* ---- Spanduk paling atas halaman komunitas ---- */
.kom-banner{background:var(--blue);color:#fff;text-align:center;padding:11px 16px;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.kom-banner[hidden]{display:none}

/* ---- Admin: pesan hasil (toast) selalu terlihat walau halaman di-scroll jauh ke bawah ---- */
#toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:300;width:min(560px,calc(100% - 32px));box-shadow:0 14px 40px rgba(0,0,0,.65);background:#0d1430;border:1px solid var(--hair);font-size:15px;font-weight:600}
#toast.ok{border-left:5px solid var(--ok)}
#toast.err{border-left:5px solid var(--bad)}
#toast[hidden]{display:none}

/* admin — tab Akun (dibuat untuk nyaman dibaca di HP) */
.acc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.acc-stats div{border:1px solid var(--hair);padding:12px 10px}
.acc-stats b{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-size:26px;line-height:1}
.acc-stats span{display:block;margin-top:6px;font-size:12px;color:var(--dim)}
.acc-list{display:grid;gap:10px;margin-top:10px}
.acc{border:1px solid var(--hair);padding:12px 14px;min-width:0}
.acc-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.acc-top b{font-size:15px;margin-right:auto}
.acc-line{margin-top:4px;font-size:14px;overflow-wrap:anywhere}
.acc-line a{color:var(--blue-hi)}
@media (min-width:900px){.acc-list{grid-template-columns:1fr 1fr}}

/* Road to LSD100 di Profil (js/roadto.js) */
.rt-card{scroll-margin-top:16px}
.rt-prize-sm{margin-top:14px;padding:12px 14px;border:1px solid var(--blue-hi);background:rgba(30,70,230,.12);font-size:14px}
.rt-prize-sm span{color:var(--dim)}
.rt-prize-sm b{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;letter-spacing:-.01em}
.rt-p{margin-top:12px;color:#d6d8de;font-size:15px;line-height:1.6}
.rt-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:14px}
.rt-g{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--bg);color:var(--ink);border:1px solid var(--hair);padding:14px 14px 12px;cursor:pointer;font:inherit;transition:border-color .2s,background .2s}
.rt-g:hover:not([disabled]){border-color:var(--blue-hi);background:rgba(30,70,230,.12)}
.rt-g b{font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.2rem;letter-spacing:-.02em}
.rt-g span{font-size:14px;color:#c3c6cd;font-variant-numeric:tabular-nums}
.rt-g em{font-style:normal;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ok);margin-top:4px}
.rt-g.full em{color:var(--bad)}
.rt-g[disabled]{opacity:.55;cursor:not-allowed}
.rt-g:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
.rt-mine{margin-top:16px;padding:16px;border-left:3px solid var(--ok);background:rgba(95,209,138,.08)}
.rt-mine .lbl{display:block;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.rt-mine b{display:block;margin-top:4px;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;text-transform:uppercase;font-size:clamp(1.6rem,6vw,2.2rem);letter-spacing:-.03em;line-height:1}
/* jadwal, aturan, lomba konten di bawah kartu Road To */
.rt-more{margin-top:22px;border-top:1px solid var(--hair);padding-top:6px}
.rt-more summary{cursor:pointer;padding:12px 0;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-hi)}
.rt-more summary:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
.rt-h{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:18px 0 8px}
.rt-table{width:100%;border-collapse:collapse}
.rt-table th,.rt-table td{text-align:left;padding:11px 0;border-top:1px solid var(--hair);vertical-align:top}
.rt-table tr:last-child th,.rt-table tr:last-child td{border-bottom:1px solid var(--hair)}
.rt-table th{font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;font-size:.98rem;white-space:nowrap;padding-right:14px;font-variant-numeric:tabular-nums}
.rt-table td b{display:inline-block;margin-right:8px;font-family:'Archivo',sans-serif;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}
.rt-table td span{display:block;margin-top:2px;font-size:13px;color:var(--dim)}
.rt-brief th,.rt-brief b,.rt-fin th,.rt-fin b{color:var(--blue-hi)}
.rt-st{display:inline-block;vertical-align:2px;font-style:normal;font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ok);border:1px solid currentColor;padding:2px 7px;white-space:nowrap}
.rt-st.full{color:var(--bad)}
.rt-rules{list-style:none;margin:0;padding:0}
.rt-rules li{padding:10px 0 10px 20px;border-top:1px solid var(--hair);color:#c3c6cd;line-height:1.55;position:relative;font-size:14px;overflow-wrap:anywhere}
.rt-rules li:last-child{border-bottom:1px solid var(--hair)}
.rt-rules li::before{content:'';position:absolute;left:2px;top:18px;width:7px;height:7px;background:var(--blue-hi)}
.rt-rules b{color:#fff;font-weight:500}

/* halaman Dokumen: lihat berkas terunggah + pratinjau berkas sebelum dikirim */
.dc-file{margin-top:12px;font-size:14px;color:var(--dim)}
.dc-file a{color:var(--blue-hi);text-decoration:underline}
.dc-preview{margin-top:14px;padding:12px 14px;border:1px solid var(--hair);background:var(--bg)}
.dc-preview .dc-chosen{font-size:14px;color:#d6d8de;overflow-wrap:anywhere}
.dc-preview img{display:block;margin-top:10px;max-width:100%;max-height:300px;object-fit:contain;background:#fff}

/* admin, tab Dokumen: tombol pilihan status di atas daftar */
.doc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}

/* Profil: kartu asuransi, daftar data yang sudah ada */
.ins-have{margin:0;display:grid;gap:0}
.ins-have div{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--hair)}
.ins-have div:last-child{border-bottom:1px solid var(--hair)}
.ins-have dt{font-size:13px;color:var(--dim)}
.ins-have dd{margin:0;font-size:15px;overflow-wrap:anywhere}

/* Beli add-on susulan di Profil (js/addon-beli.js) */
.ab-owned{list-style:none;margin:0;padding:0}
.ab-owned li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--hair);font-size:15px}
.ab-owned li:last-child{border-bottom:1px solid var(--hair)}
.ab-owned li span{font-size:13px;color:var(--dim)}
#addon .arow .aimg:empty{display:none}

/* Edit data peserta di tab Akun (admin) */
.acc.editing{grid-column:1/-1;border-color:var(--blue-hi)}
.acc-edit textarea{min-height:90px}

/* Halaman publik Road To (roadto.html, js/roadto-page.js) */
.rp{max-width:960px}
.rp-head{margin-bottom:22px}
.rp .card{margin-top:22px}
.rp-table td:first-child,.rp-table th:first-child{width:44px;color:var(--dim)}
.rp-table tr.rp-mine td{background:rgba(95,209,138,.10)}
#rp-chips{margin-top:14px}
#rp-join{scroll-margin-top:16px}
.acc.rt-here{border-color:var(--ok)}
.rp-ack{margin-top:14px;padding:12px 14px;border:1px solid var(--hair);background:rgba(255,255,255,.02)}
/* Tombol grup WhatsApp Road To */
.btn.wa{background:#25D366;border-color:#25D366;color:#062a12}
.btn.wa:hover{background:#1ebe5a;border-color:#1ebe5a}
/* Status grup di halaman Road To: Penuh merah, Tersedia hijau (permintaan pemilik, 14 Okt 2026) */
.pl-chip.rp-chip{display:inline-flex;align-items:center;gap:8px}
.pl-chip .rp-st{margin-left:2px;padding:3px 8px;border-radius:2px;font-size:12px;letter-spacing:.08em;font-style:normal}
.pl-chip .rp-st.open{background:#1f9d55;color:#fff}
.pl-chip .rp-st.full{background:#d93636;color:#fff}
.pl-chip.on .rp-st.open,.pl-chip.on .rp-st.full{color:#fff}

/* Transfer BIB (js/transfer-bib.js, tab admin Transfer BIB) */
.bt-steps{margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.6;color:var(--muted)}
.bt-steps li{margin:2px 0}
.bt-form{margin-top:10px}
.bt-card .bt-flow{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:8px 0 4px;font-size:15px}
.bt-card .bt-flow b{color:var(--text,#fff)}
.bt-card dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:12px 0 0;font-size:14px}
.bt-card dt{color:var(--muted)}
.bt-card dd{margin:0;word-break:break-word}

/* Follow-up WA (tab admin): akun yang sudah dihubungi dibuat redup */
.acc.fu-done{opacity:.6}
.acc.fu-done .acc-top b{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}

/* Bar angka "race pack sudah diambil" di paling atas (layar RPC dan tab admin RPC hari-H) */
.live-bar{position:sticky;top:0;z-index:60;display:flex;align-items:baseline;justify-content:center;gap:4px 14px;flex-wrap:wrap;padding:8px 14px;background:#0b1b4d;border-bottom:2px solid var(--blue-hi);color:#fff}
.live-bar[hidden]{display:none}
.live-bar .lb-n{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(1.3rem,5vw,1.8rem);letter-spacing:-.02em;line-height:1.1}
.live-bar .lb-n b{color:#7dd68f}
.live-bar .lb-t{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#cfd6ee}
.live-bar.off{background:#4a3a0a;border-bottom-color:var(--warn)}
