:root{--gold:#C9A34A;--gold-d:#A57C2E;--cream:#FFFBF2;--line:#ECEAE4;--txt:#1F1F1F;--mut:#6B7280;--bg:#FAFAF8;--white:#fff;
--g:#15803D;--gb:#F0FDF4;--y:#A16207;--yb:#FEFCE8;--r:#B91C1C;--rb:#FEF2F2;--a:#4B5563;--ab:#F3F4F6;--rad:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji"}
a{color:var(--gold-d);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}
.ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
/* header */
.top{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:24px;height:64px;padding:0 20px}
.logo img{height:38px;display:block}
.nav{display:flex;gap:4px;margin-left:8px}.nav a{padding:8px 12px;border-radius:8px;color:var(--mut);font-size:14px;font-weight:500}
.nav a:hover{color:var(--txt);text-decoration:none;background:var(--bg)}.nav a.on{color:var(--txt);background:var(--cream);box-shadow:inset 0 -2px 0 var(--gold)}
.right{margin-left:auto;display:flex;align-items:center;gap:8px}
.user{position:relative}.user summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mut)}
.user summary::-webkit-details-marker{display:none}.av{width:32px;height:32px;border-radius:50%;background:var(--txt);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600}
.menu{position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:210px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.menu a,.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:6px;font:inherit;font-size:14px;color:var(--txt);cursor:pointer}
.menu a:hover,.menu button:hover{background:var(--bg);text-decoration:none}
main{max-width:1120px;margin:0 auto;padding:32px 20px 64px}.narrow{max-width:760px}
/* tipografi */
h1{font-size:26px;line-height:1.25;font-weight:700;margin:0;letter-spacing:-.01em}h2{font-size:16px;font-weight:600;margin:0 0 14px}
h3{font-size:15px;font-weight:600;margin:20px 0 6px}.sub{color:var(--mut);margin:4px 0 0}.mut{color:var(--mut);font-size:13px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px}
/* kartu */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--rad);padding:22px;margin-bottom:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:16px 18px;color:inherit;display:block}
.stat:hover{text-decoration:none;border-color:#DDD6C3}.stat span{display:block;color:var(--mut);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat b{display:block;font-size:24px;font-weight:700;margin-top:2px}
.stat.hl b{color:var(--gold-d)}.stat.hl.zero b{color:var(--txt)}
/* tombol & input */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--txt);border-radius:8px;padding:9px 14px;font:500 14px/1.2 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.btn:hover{text-decoration:none;border-color:#D6D3CB}.btn-gold{background:var(--gold);border-color:var(--gold);color:#1F1F1F;font-weight:600}.btn-gold:hover{background:var(--gold-d);border-color:var(--gold-d)}
.btn-red{color:var(--r);border-color:#F3C4C4}.btn-red:hover{background:var(--rb)}.btn-lg{width:100%;padding:13px 16px;font-size:15px}
.btn:disabled{opacity:.6;cursor:default}
label{display:block;font-size:13px;font-weight:500;margin:0 0 6px}.req{color:var(--r)}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #DEDBD3;border-radius:8px;background:#fff;color:var(--txt);font:14px/1.45 inherit;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,163,74,.15)}
.fld{margin-bottom:16px}.hint{color:var(--mut);font-size:12px;margin-top:4px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}.chk input{width:17px;height:17px;margin-top:3px;accent-color:var(--gold);flex:none}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
/* filter & tabel */
.filter{display:flex;gap:8px;margin-bottom:12px}.filter input{flex:1}.filter select{width:180px}
.tw{background:#fff;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden}
.tbl{width:100%;border-collapse:collapse}.tbl th{font-size:12px;font-weight:500;color:var(--mut);text-align:left;padding:10px 16px;border-bottom:1px solid var(--line);background:#FCFCFB}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:#FDFCF8}
.it{display:flex;gap:12px;align-items:center}.it b{font-weight:600;display:block}.it small{color:var(--mut);font-size:12px}
.th{width:48px;height:48px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:var(--bg);flex:none;display:block}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent}
.s-g{background:var(--gb);color:var(--g);border-color:#D3F0DC}.s-y{background:var(--yb);color:var(--y);border-color:#F5EBC3}.s-r{background:var(--rb);color:var(--r);border-color:#F7D4D4}.s-a{background:var(--ab);color:var(--a);border-color:#E5E7EB}
.mlist{display:none}.empty{padding:40px 16px;text-align:center;color:var(--mut)}
/* flash */
.flash{overflow-wrap:anywhere;padding:11px 14px;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid}
.flash.ok{background:var(--gb);border-color:#CDEBD6;color:#14532D}.flash.err{background:var(--rb);border-color:#F3CFCF;color:#7F1D1D}.flash.info{background:var(--cream);border-color:#F0E3C2;color:#5B4413}
/* detail */
.kv{width:100%;border-collapse:collapse}.kv th{color:var(--mut);font-weight:400;font-size:13px;text-align:left;padding:9px 12px 9px 0;width:130px;vertical-align:top}
.kv td{padding:9px 0;font-size:14px}.kv tr+tr>*{border-top:1px solid var(--line)}
.poster{width:100%;border-radius:10px;border:1px solid var(--line);display:block}
.gal{display:flex;gap:8px;flex-wrap:wrap}.gal img{width:76px;height:76px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.acc{border-color:var(--gold)}
.pay{background:var(--cream);border:1px solid #F0E3C2;border-radius:10px;padding:14px 16px;font-size:14px;margin-bottom:16px}
pre{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;font:13px/1.55 inherit;font-family:inherit;margin:0}
details>summary{cursor:pointer;font-weight:600;list-style:none;font-size:15px}details>summary::-webkit-details-marker{display:none}
.card>summary:after,.faq summary:after{content:"+";float:right;color:var(--mut);font-weight:400}.card[open]>summary:after,.faq details[open] summary:after{content:"\2212"}
.log{width:100%;border-collapse:collapse}.log td{font-size:13px;padding:7px 8px 7px 0;border-bottom:1px solid var(--line);vertical-align:top}
.actions{display:flex;gap:8px;flex-wrap:wrap}
/* publik */
.pub-hero{max-width:760px;margin:0 auto;padding:40px 20px 8px}.pub-hero h1{font-size:30px}.pub-hero p{color:var(--mut);margin:8px 0 0;font-size:16px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 8px;counter-reset:s}
.steps div{border-top:2px solid var(--line);padding-top:10px;font-size:13px;color:var(--mut)}.steps div:first-child{border-color:var(--gold)}
.steps b{display:block;color:var(--txt);font-size:14px;font-weight:600}
.sec{display:flex;align-items:baseline;gap:10px;margin:0 0 16px}.sec i{font-style:normal;color:#8A6624;font-weight:600;font-size:13px}
.sep{border:0;border-top:1px solid var(--line);margin:24px 0}
.drop{border:1.5px dashed #DCCFA9;background:#FFFDF8;border-radius:10px;padding:22px;text-align:center;cursor:pointer;display:block;font-weight:400}
.drop:hover{border-color:var(--gold)}.drop b{display:block;font-weight:600;margin-top:4px}.drop input{display:none}.drop .ico{color:var(--gold-d);width:24px;height:24px}
.prev{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.prev div{position:relative}.prev img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.prev button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:13px;line-height:1;padding:0}
.prev .first:after{content:"Poster";position:absolute;left:4px;bottom:4px;background:rgba(31,31,31,.75);color:#fff;font-size:10px;padding:1px 6px;border-radius:99px}
.rules{font-size:14px;color:#374151}.rules li{margin:4px 0}.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq details:last-child{border:0}
.faq p{margin:8px 0 0;color:#374151;font-size:14px}.doc h2{font-size:18px;margin-top:28px}.doc{font-size:15px}.doc p,.doc li{color:#374151}
.foot{text-align:center;color:var(--mut);font-size:13px;padding:24px 20px 40px}
.center{max-width:420px;margin:72px auto}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
 .top .in{height:56px;gap:10px;padding:0 14px}.logo img{height:30px}.nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);margin:0;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:30}
 .nav a{font-size:13px}.user .nm{display:none}main{padding:20px 14px 88px}h1{font-size:22px}.card{padding:16px}
 .g2{grid-template-columns:1fr}.filter{flex-wrap:wrap}.filter input{flex:1 1 100%}.filter select{flex:1;width:auto}
 input,select,textarea{font-size:16px}.mrow{gap:12px}.mrow .badge{margin-left:6px}.mrow .mt span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .nav a{flex:1;text-align:center;padding:10px 4px}.form-card{padding:18px!important}.desk{display:none}.mlist{display:block}
 .mrow{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);color:inherit}.mrow:last-child{border:0}.mrow:hover{text-decoration:none}
 .mrow .mt{min-width:0;flex:1}.mrow b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .pub-hero{padding:28px 16px 4px}.pub-hero h1{font-size:24px}.pubnav a:not(.btn){display:none}
}

.paytabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.paytab{margin:0;cursor:pointer}.paytab input{position:absolute;opacity:0;width:1px;height:1px}
.paytab span{display:block;border:1px solid #DEDBD3;border-radius:10px;padding:10px 12px;font-weight:600;font-size:14px}
.paytab small{display:block;font-weight:400;color:var(--mut);font-size:12px}.paytab input:checked+span{border-color:var(--gold);background:var(--cream);box-shadow:inset 0 0 0 1px var(--gold)}
.paytab input:focus-visible+span{outline:2px solid var(--gold)}
.paybox{margin-bottom:16px}.qris{text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.qris img{width:100%;max-width:340px;height:auto;display:block;margin:0 auto;border-radius:8px;image-rendering:auto}
.howto{font-size:14px;color:#374151;padding-left:20px;margin:14px 0 0}.howto li{margin:6px 0}

.paytabs,#form,#cara,#faq{scroll-margin-top:72px}
