/* ============================================================
   SNE THEME — UI rombak mengikuti referensi (syahrulnewera.net)
   Basis ukuran: viewport mobile ±412px
   ============================================================ */
:root{
  --bg:#070c20;
  --bg-2:#0a1331;
  --bg-3:#060a1a;
  --card:#0c1536;
  --card-2:#0a1230;
  --line:#1a2a5a;
  --line-2:#16224a;
  --blue:#3b72ff;
  --blue-2:#5b9bff;
  --blue-text:#4d8dff;
  --text:#ffffff;
  --muted:#8a96b3;
  --muted-2:#5f6b82;
  --green:#22c55e;
  --wa:#25d366;
  --pink:#ff0050;
  --red:#ef4444;
  --cy:#00e5ff;
  --ink:#050810;
  --font-h:'Plus Jakarta Sans','Poppins',system-ui,sans-serif;
  --font-b:'Inter','Plus Jakarta Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body.sne{
  margin:0;min-height:100vh;color:var(--text);
  font-family:var(--font-b);font-size:15px;line-height:1.5;
  background:
    radial-gradient(900px 420px at 50% -60px,rgba(59,114,255,.22),transparent 70%),
    linear-gradient(180deg,#0a1331 0%,#070c20 38%,#050818 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.sne.is-locked{overflow:hidden}
body.sne.theme-order{background:#070b1c}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-h);margin:0}
.sne-wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 14px}
.fa-fw{width:1.25em;text-align:center}

/* ───────── HEADER ───────── */
.sne-header{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(180deg,rgba(13,22,58,.96),rgba(9,16,44,.94));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-2);
}
.sne-header .bar{display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 20px;max-width:1080px;margin:0 auto}
.sne-brand{display:flex;align-items:center;gap:12px;min-width:0}
.sne-brand .logo{
  width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;
  border:2px solid var(--blue);box-shadow:0 0 14px rgba(59,114,255,.55);background:#0a1331;
}
.sne-brand .name{
  font-family:var(--font-h);font-weight:800;font-size:22px;letter-spacing:.06em;
  text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sne-brand .name b{color:var(--blue-text);font-weight:800}
.sne-burger{
  width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:30px;
  display:grid;place-items:center;border-radius:10px;transition:color .2s;
}
.sne-burger.on{color:var(--blue-text)}
.sne-burger i{pointer-events:none}

/* ───────── DRAWER ───────── */
.sne-veil{
  position:fixed;inset:0;z-index:55;background:rgba(2,5,16,.62);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.sne-veil.on{opacity:1;pointer-events:auto}
.sne-drawer{
  position:fixed;left:0;right:0;top:84px;z-index:58;max-width:none;
  background:linear-gradient(180deg,#0c1538,#091030);
  border:1px solid var(--line);border-top:0;border-radius:0 0 22px 22px;
  padding:18px 18px 20px;
  transform:translateY(-16px);opacity:0;pointer-events:none;
  transition:transform .25s ease,opacity .25s ease;
  box-shadow:0 30px 60px rgba(0,0,0,.55);
  max-height:calc(100vh - 96px);overflow-y:auto;
}
.sne-drawer.on{transform:none;opacity:1;pointer-events:auto}
.sne-drawer .inner{max-width:1040px;margin:0 auto}
.dr-hello{font-size:13px;color:var(--muted);margin:0 2px 14px;line-height:1.5}
.dr-user{display:flex;align-items:center;gap:12px;padding:0 2px 16px}
.dr-user .av{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--blue);background:#101a3b;display:grid;place-items:center;font-weight:800;font-family:var(--font-h);color:var(--blue-text);flex:none;overflow:hidden}
.dr-user .av img{width:100%;height:100%;object-fit:cover}
.dr-user b{display:block;font-family:var(--font-h);font-size:16px;font-weight:800}
.dr-user small{color:var(--muted);font-size:12.5px}
.dr-sep{height:1px;background:var(--line-2);margin:14px 0}
.btn-login{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;
  border:0;border-radius:12px;color:#fff;font-family:var(--font-h);font-weight:800;font-size:15px;
  letter-spacing:.12em;text-transform:uppercase;
  background:linear-gradient(90deg,#3366ff,#5b9bff);
  box-shadow:0 8px 24px rgba(59,114,255,.35);
}
.dr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dr-item{
  display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 12px;border-radius:11px;
  background:#101a3b;border:1px solid var(--line-2);font-family:var(--font-h);font-weight:700;font-size:14px;
  color:#e8eeff;transition:border-color .2s,background .2s;
}
.dr-item:active,.dr-item:hover{border-color:var(--blue);background:#13204a}
.dr-item i{color:var(--blue);font-size:17px;width:20px;text-align:center;flex:none}
.dr-item.danger i{color:#ff6b6b}
.dr-label{font-size:11.5px;font-weight:700;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin:16px 2px 9px}

/* ───────── BANNER ───────── */
.sne-banner{margin:18px 0 0;position:relative}
.sne-banner .track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;
  box-shadow:0 14px 40px rgba(0,0,0,.45);
}
.sne-banner .track::-webkit-scrollbar{display:none}
.sne-banner .slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:16/9;background:#0a1331;position:relative;display:block}
.sne-banner .slide img{width:100%;height:100%;object-fit:cover}
.sne-banner .dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;pointer-events:none}
.sne-banner .dots i{width:10px;height:10px;border-radius:99px;background:rgba(255,255,255,.35);transition:width .25s,background .25s}
.sne-banner .dots i.on{width:30px;background:#fff}
.sne-banner.empty .slide{display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 70% 30%,rgba(59,114,255,.4),transparent 55%),linear-gradient(135deg,#0d1b4d,#08102c)}
.sne-banner.empty h2{font-size:30px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.sne-banner.empty h2 b{display:block;color:var(--blue-text)}
.sne-banner.empty p{margin:8px 0 0;color:var(--muted);font-size:13px}

/* ───────── MARQUEE ───────── */
.sne-marquee{
  margin:22px 0 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);
  background:rgba(5,9,26,.55);overflow:hidden;height:55px;display:flex;align-items:center;
}
.sne-marquee .run{display:inline-flex;white-space:nowrap;animation:sneMarq 26s linear infinite;will-change:transform}
.sne-marquee span{font-family:var(--font-h);font-weight:700;font-size:17px;color:#d6defa;padding-right:60px}
@keyframes sneMarq{to{transform:translateX(-50%)}}

/* ───────── CARA PEMBELIAN / SEARCH / TABS ───────── */
.btn-how{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;height:47px;margin:22px auto 0;
  border:0;border-radius:12px;background:var(--pink);color:#fff;
  font-family:var(--font-h);font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;
  box-shadow:0 10px 26px rgba(255,0,80,.28);
}
.sne-search{
  margin:26px 0 0;position:relative;
}
.sne-search input{
  width:100%;height:51px;border-radius:16px;background:var(--ink);border:1px solid #17213f;color:#fff;
  font:500 15px var(--font-b);padding:0 52px 0 20px;outline:0;transition:border-color .2s;
}
.sne-search input::placeholder{color:var(--muted-2)}
.sne-search input:focus{border-color:var(--blue)}
.sne-search i{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#9fb0d8;font-size:18px;pointer-events:none}
.sne-tabs{display:flex;gap:11px;margin:20px -14px 0;padding:0 14px 4px;overflow-x:auto;scrollbar-width:none}
.sne-tabs::-webkit-scrollbar{display:none}
.sne-tab{
  flex:none;height:49px;padding:0 24px;border-radius:11px;border:1px solid var(--line-2);
  background:#0d1634;color:#8793ad;font-family:var(--font-h);font-weight:800;font-size:15px;letter-spacing:.02em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;transition:all .2s;
}
.sne-tab.on{background:linear-gradient(180deg,#4478ff,#3566f0);border-color:#5b8bff;color:#fff;box-shadow:0 8px 22px rgba(59,114,255,.35)}
.sne-tab .fa-fire{color:#ff4d5e}

/* ───────── SECTION HEAD ───────── */
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 16px}
.sec-head .ttl{position:relative;padding-left:14px;min-width:0}
.sec-head .ttl:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:4px;border-radius:4px;background:var(--blue)}
.sec-head h2{font-size:17px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.sec-head h2 i{color:var(--blue-text);font-size:16px}
.sec-head p{margin:3px 0 0;font-size:11.5px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}
.btn-all{
  flex:none;display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px;border-radius:10px;
  background:#11214f;border:1px solid #1f3a8a;color:#dbe6ff;font-family:var(--font-h);font-weight:700;font-size:14px;
}

/* ───────── PRODUCT GRID ───────── */
.sne-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pcard{
  position:relative;display:flex;flex-direction:column;align-items:center;
  padding:12px 12px 13px;border-radius:14px;border:1px solid var(--line-2);
  background:linear-gradient(180deg,#0e1a42 0%,#0a1230 100%);
  transition:transform .2s,border-color .2s;
}
.pcard:hover{border-color:var(--blue);transform:translateY(-2px)}
.pcard .pic{width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#09102a;position:relative}
.pcard .pic img{width:100%;height:100%;object-fit:cover}
.pcard .plat{
  position:absolute;top:7px;right:6px;z-index:2;display:inline-flex;align-items:center;gap:5px;
  height:22px;padding:0 9px;border-radius:7px;background:var(--blue);color:#fff;
  font-family:var(--font-h);font-weight:800;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.pcard h3{
  margin:12px 0 10px;min-height:2.6em;font-size:12.5px;font-weight:800;line-height:1.3;text-align:center;text-transform:uppercase;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;
}
.pcard .btn-buy{
  margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:34px;border-radius:9px;
  color:#fff;font-family:var(--font-h);font-weight:800;font-size:13px;letter-spacing:.04em;
  background:linear-gradient(180deg,#3668f2,#2548c9);border:1px solid #3f5fb8;border-top-color:#9db3e6;
  box-shadow:0 4px 14px rgba(37,72,201,.35);
}
.pcard .btn-buy.off{background:#141c3a;border-color:#222d55;color:#6b7799;box-shadow:none;pointer-events:none}
.sne-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:34px 10px;font-size:14px}
.sne-more{display:flex;justify-content:center;margin:20px 0 0}

/* pagination */
.sne-pager{display:flex;justify-content:center;gap:8px;margin:24px 0 0;flex-wrap:wrap}
.sne-pager a,.sne-pager span{min-width:40px;height:40px;padding:0 12px;border-radius:10px;display:grid;place-items:center;
  background:#0d1634;border:1px solid var(--line-2);color:#9fb0d8;font-family:var(--font-h);font-weight:700;font-size:14px}
.sne-pager .on{background:var(--blue);border-color:#5b8bff;color:#fff}

/* ───────── INFO CARDS ───────── */
.sne-info{margin:40px 0 0}
.sne-info .tag{text-align:center;font-family:var(--font-h);font-weight:800;font-style:italic;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--blue-text);margin:0 0 18px}
.sne-info .tag b{color:#fff}
.info-card{
  display:flex;flex-direction:column;gap:12px;padding:22px 20px;margin-bottom:14px;border-radius:18px;
  background:linear-gradient(160deg,#101d4b 0%,#0a1233 100%);border:1px solid var(--line);
}
.info-card .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#122660;border:1px solid #1d3a8d;color:var(--blue-text);font-size:17px}
.info-card h3{font-size:14px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.info-card p{margin:0;font-size:13.5px;color:#9aa6c4;line-height:1.65}
@media(min-width:760px){.sne-info .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-card{margin:0}}

/* ───────── FOOTER ───────── */
.sne-footer{margin-top:44px;background:linear-gradient(180deg,#060b1f,#04071a);border-top:1px solid var(--line-2);padding:28px 0 140px}
.sne-footer .f-brand{display:flex;align-items:center;gap:12px}
.sne-footer .f-brand img{width:36px;height:36px;border-radius:50%;border:2px solid var(--blue);object-fit:cover}
.sne-footer .f-brand b{font-family:var(--font-h);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.sne-footer .f-brand b span{color:var(--blue-text)}
.sne-footer .f-about{margin:14px 0 0;color:#aab5d2;font-size:14px;line-height:1.7;max-width:560px}
.f-soc{display:flex;gap:10px;margin-top:16px}
.f-soc a{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#0f1b45;border:1px solid var(--line);color:#dbe6ff;font-size:18px}
.f-title{position:relative;padding-left:12px;margin:26px 0 12px;font-family:var(--font-h);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#dbe6ff}
.f-title:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:4px;border-radius:4px;background:var(--blue)}
.f-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
.f-row::-webkit-scrollbar{display:none}
.f-game{flex:none;position:relative;width:118px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#0a1331}
.f-game img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.f-game span{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-family:var(--font-h);font-weight:800;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 6px #000}
.f-pay{flex:none;min-width:104px;height:44px;padding:0 16px;border-radius:9px;background:#fff;display:grid;place-items:center;
  font-family:var(--font-h);font-weight:800;font-size:15px;letter-spacing:.01em}
.f-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line-2)}
.f-links h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-text);font-weight:800;margin-bottom:12px}
.f-links a{display:block;padding:5px 0;font-size:14px;color:#c4cde6;font-weight:500}
.f-copy{margin-top:26px;padding-top:20px;border-top:1px solid var(--line-2);text-align:center;font-size:11px;letter-spacing:.08em;color:#7f8bab;text-transform:uppercase}
.f-status{display:inline-flex;align-items:center;gap:9px;margin-top:14px;height:34px;padding:0 16px;border-radius:99px;background:#0b1636;border:1px solid var(--line);font-family:var(--font-h);font-weight:800;font-size:10.5px;letter-spacing:.14em;color:#cfd9f5;text-transform:uppercase}
.f-status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}

/* ───────── FLOATING: CHAT ADMIN + TOAST ───────── */
.sne-chat{
  position:fixed;right:20px;bottom:30px;z-index:50;display:inline-flex;align-items:center;gap:10px;height:51px;padding:0 24px 0 20px;
  border-radius:99px;background:var(--wa);color:#fff;font-family:var(--font-h);font-weight:800;font-size:16px;
  box-shadow:0 12px 30px rgba(37,211,102,.35);
}
.sne-chat i{font-size:24px}
.sne-toast{
  position:fixed;left:20px;right:20px;bottom:100px;z-index:49;max-width:560px;display:flex;align-items:center;gap:14px;
  padding:13px 24px 13px 14px;border-radius:99px;
  background:linear-gradient(90deg,rgba(14,32,86,.96),rgba(10,22,64,.96));border:1px solid #1f3d8f;
  box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 28px rgba(59,114,255,.2);
  backdrop-filter:blur(8px);
  transform:translateY(30px);opacity:0;pointer-events:none;transition:transform .4s ease,opacity .4s ease;
}
.sne-toast.on{transform:none;opacity:1}
.sne-toast .av{width:60px;height:60px;border-radius:50%;border:2px solid var(--blue);overflow:hidden;flex:none;background:#09102a}
.sne-toast .av img{width:100%;height:100%;object-fit:cover}
.sne-toast .tx{min-width:0;font-family:var(--font-h);font-weight:700;font-size:14.5px;line-height:1.35;color:#fff}
.sne-toast .tx em{font-style:normal;color:var(--blue-text);font-weight:800}
.sne-toast .tx small{display:block;margin-top:3px;font-family:var(--font-b);font-weight:500;font-size:12.5px;color:#8a96b3}
@media(min-width:760px){.sne-toast{right:auto;left:20px;width:420px}}

/* ───────── MODAL (auth + cara pembelian) ───────── */
.sne-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(2,4,14,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sne-modal.on{display:flex}
.auth-card{
  width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow-y:auto;
  padding:24px;border-radius:24px;background:#080d24;border:1px solid #1a2142;
  box-shadow:0 30px 80px rgba(0,0,0,.7);
}
.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.seg{display:inline-flex;padding:4px;border-radius:14px;background:#121936;gap:2px}
.seg a,.seg button{
  height:40px;padding:0 24px;border:0;border-radius:11px;background:transparent;color:#8d97b5;
  font-family:var(--font-h);font-weight:800;font-size:14px;letter-spacing:.03em;text-transform:uppercase;display:inline-flex;align-items:center
}
.seg .on{background:linear-gradient(90deg,#3b6cff,#5a9bff);color:#fff}
.x-btn{width:36px;height:36px;border-radius:50%;border:0;background:#131a38;color:#cfd8f5;font-size:16px;display:grid;place-items:center;flex:none}
.auth-card h2{margin:26px 0 6px;font-size:26px;font-weight:800;letter-spacing:-.01em}
.auth-card .sub{margin:0 0 18px;color:#8b94ad;font-size:14px}
.f-lab{display:block;margin:16px 0 8px;font-family:var(--font-h);font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a93ab}
.f-in{position:relative}
.f-in input{
  width:100%;height:51px;border-radius:12px;background:#0f1530;border:1px solid #1c2444;color:#fff;
  font:500 16px var(--font-b);padding:0 18px;outline:0;transition:border-color .2s;
}
.f-in input::placeholder{color:#4a5470}
.f-in input:focus{border-color:var(--blue)}
.f-in .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:transparent;color:#9db5ff;font-size:18px}
.btn-main{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:55px;margin-top:22px;border:0;border-radius:14px;color:#fff;
  font-family:var(--font-h);font-weight:800;font-size:16px;letter-spacing:.14em;text-transform:uppercase;
  background:linear-gradient(90deg,#3366ff,#5b9bff);box-shadow:0 10px 28px rgba(59,114,255,.32);
}
.btn-main:disabled{opacity:.6}
.auth-alt{margin:20px 0 0;text-align:center;color:#8b94ad;font-size:14.5px}
.auth-alt a,.auth-alt button{color:var(--blue-2);font-weight:800;background:none;border:0;font-size:inherit;padding:0;font-family:var(--font-h)}
.auth-err{margin-top:16px;padding:12px 14px;border-radius:12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#ff9a9a;font-size:13.5px}
.auth-page{min-height:calc(100vh - 84px);display:flex;align-items:center;justify-content:center;padding:28px 20px}
.cf-turnstile{margin-top:16px}

.how-card{width:100%;max-width:440px;padding:24px;border-radius:24px;background:#080d24;border:1px solid #1a2142;max-height:calc(100vh - 40px);overflow-y:auto}
.how-card h2{font-size:22px;font-weight:800;margin:0}
.how-step{display:flex;gap:14px;margin-top:16px;align-items:flex-start}
.how-step .n{flex:none;width:32px;height:32px;border-radius:10px;background:#122660;border:1px solid #1d3a8d;color:var(--blue-text);display:grid;place-items:center;font-family:var(--font-h);font-weight:800}
.how-step b{display:block;font-family:var(--font-h);font-size:14.5px}
.how-step span{font-size:13px;color:#9aa6c4}

/* ───────── PRODUCT DETAIL (buy) ───────── */
.buy-head{display:flex;align-items:center;gap:16px;margin:18px 0 0;padding:18px;border-radius:18px;border:1px solid var(--line-2);background:linear-gradient(160deg,#0f1b45,#0a1230)}
.buy-head .pic{width:72px;height:72px;border-radius:12px;overflow:hidden;flex:none;background:#09102a;border:1px solid var(--line)}
.buy-head .pic img{width:100%;height:100%;object-fit:cover}
.buy-head .cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-h);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-text)}
.buy-head .cat:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}
.buy-head h1{margin:5px 0 0;font-size:19px;font-weight:800;text-transform:uppercase;line-height:1.25}
.buy-tabs{display:flex;gap:10px;margin:18px 0 0;overflow-x:auto;scrollbar-width:none}
.buy-tabs::-webkit-scrollbar{display:none}
.buy-tab{flex:none;height:40px;padding:0 20px;border-radius:99px;border:0;background:#0d1634;color:#8793ad;font-family:var(--font-h);font-weight:800;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.buy-tab.on{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(59,114,255,.35)}
.buy-pane{display:none}
.buy-pane.on{display:block}
.sub-title{display:flex;align-items:center;gap:10px;margin:24px 0 12px;font-family:var(--font-h);font-weight:800;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.sub-title:before{content:"";width:4px;height:18px;border-radius:4px;background:var(--blue)}
.panel{padding:18px;border-radius:16px;border:1px solid var(--line-2);background:#0a1230}
.panel .f-lab:first-child{margin-top:0}
.panel .f-in input{height:48px;font-size:15px;background:#060a1c}
.var-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.var{
  text-align:left;padding:14px 14px 12px;border-radius:12px;border:1px solid var(--line-2);background:#0a1230;color:#fff;transition:all .2s;
}
.var small{display:block;font-family:var(--font-h);font-weight:700;font-size:11px;letter-spacing:.08em;color:#9aa6c4;text-transform:uppercase}
.var b{display:block;margin:4px 0 4px;font-family:var(--font-h);font-size:18px;font-weight:800}
.var b s{display:block;font-size:11px;color:#6b7799;font-weight:600}
.var em{display:flex;align-items:center;gap:6px;font-style:normal;font-size:11.5px;color:var(--blue-text);font-weight:600}
.var em:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.var.on{border-color:var(--blue);background:linear-gradient(160deg,#142a6e,#0c1a4a);box-shadow:0 0 0 1px var(--blue) inset,0 8px 22px rgba(59,114,255,.22)}
.var.out{opacity:.45;pointer-events:none}
.var.out em{color:#ff7b7b}
.sum-box{margin-top:6px;padding:11px 14px;border-radius:10px;background:#060a1c;border:1px solid var(--line-2);font-weight:700;font-size:14.5px;min-height:44px;display:flex;align-items:center}
.qty{display:flex;align-items:center;gap:14px;margin-top:2px}
.qty button{width:44px;height:44px;border-radius:11px;border:1px solid var(--line);background:#101a3b;color:#fff;font-size:18px;display:grid;place-items:center}
.qty button:disabled{opacity:.4}
.qty b{min-width:40px;text-align:center;font-family:var(--font-h);font-size:18px}
.qty-note{font-size:11.5px;color:var(--muted-2);margin-top:6px}
.sum-row{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#9aa6c4;font-size:14px}
.sum-row b{color:#fff;font-weight:700}
.sum-row.total{padding-top:16px;border-top:1px solid var(--line-2);color:#fff;font-family:var(--font-h);font-weight:800}
.sum-row.total b{font-size:24px;color:var(--blue-2);font-weight:800}
.chk{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:13.5px;color:#c8d2ee;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--blue)}
.pay-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.pay-seg button{height:44px;border-radius:11px;border:1px solid var(--line-2);background:#0a1230;color:#9aa6c4;font-family:var(--font-h);font-weight:800;font-size:13px}
.pay-seg button.on{border-color:var(--blue);background:#12245f;color:#fff}
.vc{display:flex;gap:8px;margin-top:14px}
.vc input{flex:1;height:44px;border-radius:11px;background:#060a1c;border:1px solid var(--line-2);color:#fff;padding:0 14px;font:600 14px var(--font-b);outline:0;text-transform:uppercase}
.vc button{height:44px;padding:0 18px;border-radius:11px;border:1px solid #1f3a8a;background:#11214f;color:#dbe6ff;font-family:var(--font-h);font-weight:800;font-size:13px}
.vc-msg{font-size:12.5px;margin-top:8px}
.vc-msg.ok{color:#4ade80}.vc-msg.bad{color:#ff8a8a}
.btn-pay{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;margin-top:20px;border:0;border-radius:14px;color:#fff;
  font-family:var(--font-h);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(180deg,#3d73ff,#2b57e0);box-shadow:0 10px 26px rgba(43,87,224,.4);
}
.btn-pay:disabled{opacity:.55}
.prose{color:#b4bfdc;font-size:14px;line-height:1.75;white-space:pre-line}
.how-list{counter-reset:s;list-style:none;padding:0;margin:0}
.how-list li{counter-increment:s;position:relative;padding:0 0 14px 44px;color:#b4bfdc;font-size:14px;line-height:1.6}
.how-list li:before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:9px;background:#122660;border:1px solid #1d3a8d;color:var(--blue-text);display:grid;place-items:center;font-family:var(--font-h);font-weight:800;font-size:13px}
.alert{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#ff9a9a;font-size:13.5px;display:none}
.alert.on{display:block}
@media(min-width:760px){.buy-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}.buy-layout .col-r{position:sticky;top:104px}}

/* ───────── ORDER / INVOICE (sebelum & sesudah bayar) ───────── */
.ord{--accent:var(--cy);color:#fff;min-height:100vh;background:#070b1c}
.ord-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#070b1c;border-bottom:1px solid #121a33}
.ord-top .l{display:flex;align-items:center;gap:12px;min-width:0}
.ord-top .ico{width:44px;height:44px;border-radius:14px;background:#0b1a2e;border:1px solid #0e3a52;color:var(--cy);display:grid;place-items:center;font-size:22px;flex:none}
.ord-top small{display:block;font-family:var(--font-h);font-weight:700;font-size:11px;letter-spacing:.2em;color:#8a96b3;text-transform:uppercase}
.ord-top b{display:block;font-family:var(--font-h);font-weight:800;font-size:15px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:99px;font-family:var(--font-h);font-weight:800;font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;flex:none}
.pill.wait{background:rgba(245,158,11,.12);border:1px solid #8a5a12;color:#fbbf24}
.pill.ok{background:rgba(34,197,94,.12);border:1px solid #166534;color:#4ade80}
.pill.bad{background:rgba(239,68,68,.12);border:1px solid #7f1d1d;color:#f87171}
.steps{position:relative;display:flex;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid #121a33}
.steps:before{content:"";position:absolute;left:62px;right:62px;top:42px;height:2px;background:#16203d}
.step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;color:#8a96b3;font-weight:500}
.step .c{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0e1730;border:1px solid #1c2748;color:#6b7799;font-size:16px}
.step.on .c,.step.done .c{border-color:#d97706;color:#f59e0b;background:#2a1b08}
.step.on{color:#f59e0b}
.step.done{color:#f59e0b}
.ord-body{max-width:640px;margin:0 auto}
.ord-pad{padding:24px 18px}
.pay-head{display:flex;align-items:center;justify-content:space-between}
.pay-head h2{font-size:19px;font-weight:800;display:flex;align-items:center;gap:10px}
.pay-head h2 i{color:var(--cy);font-size:16px}
.pay-head .m{height:34px;padding:0 14px;border-radius:99px;border:1px solid #0e5a72;background:#06202d;color:var(--cy);display:inline-flex;align-items:center;font-family:var(--font-h);font-weight:800;font-size:13px}
.countdown-lab{text-align:center;margin:20px 0 12px;color:#8a96b3;font-size:15px}
.cd{display:flex;justify-content:center;align-items:center;gap:10px}
.cd span{min-width:64px;padding:8px 0;border-radius:12px;background:#0b1830;border:1px solid #14355a;text-align:center;font-family:var(--font-h);font-weight:800;font-size:28px;color:var(--cy);font-variant-numeric:tabular-nums}
.cd i{font-style:normal;color:#f59e0b;font-weight:800;font-size:22px}
.qr-frame{margin:22px auto 0;width:min(100%,300px);padding:10px;border-radius:24px;border:2px solid #0e5a72;box-shadow:0 0 30px rgba(0,229,255,.18),inset 0 0 20px rgba(0,229,255,.06);background:#071326}
.qr-box{background:#fff;border-radius:16px;padding:16px;display:grid;place-items:center;aspect-ratio:1/1}
.qr-box img,.qr-box canvas{width:100%!important;height:100%!important;object-fit:contain;image-rendering:pixelated}
.tot-lab{text-align:center;margin-top:26px;font-family:var(--font-h);font-weight:700;font-size:13px;letter-spacing:.14em;color:#8a96b3;text-transform:uppercase}
.tot-val{text-align:center;margin-top:6px;font-family:var(--font-h);font-weight:800;font-size:32px;color:var(--cy)}
.how-qr{margin:24px 0 0;padding:16px;border-radius:14px;border:1px solid #14355a;background:#08122a}
.how-qr h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--cy);margin-bottom:12px}
.how-qr li{list-style:none;display:flex;gap:12px;align-items:center;padding:5px 0;color:#aeb9d6;font-size:14px}
.how-qr li i{flex:none;width:26px;height:26px;border-radius:7px;background:#0b2238;color:var(--cy);font-style:normal;display:grid;place-items:center;font-size:12px;font-weight:800;font-family:var(--font-h)}
.how-qr ul{margin:0;padding:0}
.how-qr b{color:#fff}
.watch{margin:22px 0 0;text-align:center;font-size:12.5px;color:#6fb4cf}
.det{margin:28px 0 0;border-top:1px solid #121a33;padding:20px 17px 40px}
.det h3{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;margin-bottom:16px}
.det-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;font-size:14.5px;color:#8a96b3}
.det-row b{color:#fff;font-weight:700;text-align:right;word-break:break-word}
.det-row.sep{margin-top:6px;border-top:1px solid #121a33;padding-top:16px}
.det-row .neg{color:#ef4444}
.det-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:6px;border-top:1px solid #121a33;border-bottom:1px solid #121a33;font-weight:800;font-size:15px}
.det-total b{font-family:var(--font-h);font-size:24px;color:var(--cy)}
.chip{display:inline-block;padding:3px 14px;border-radius:99px;font-family:var(--font-h);font-weight:800;font-size:13px}
.chip.pending{background:rgba(245,158,11,.12);border:1px solid #8a5a12;color:#fbbf24}
.chip.completed{background:rgba(34,197,94,.12);border:1px solid #166534;color:#4ade80}
.chip.expired{background:rgba(239,68,68,.12);border:1px solid #7f1d1d;color:#f87171}
.ok-wrap{text-align:center;padding:50px 18px 6px}
.ok-ico{width:92px;height:92px;margin:0 auto;border-radius:50%;background:var(--cy);color:#05202a;display:grid;place-items:center;font-size:40px;box-shadow:0 0 40px rgba(0,229,255,.35)}
.ok-wrap h2{margin:36px 0 8px;font-size:26px;font-weight:800}
.ok-wrap p{margin:0;color:#8a96b3;font-size:17px}
.lic{margin:30px 17px 0;padding:34px 36px;border-radius:24px;background:#0f1729;border:1px solid #1b2540}
.lic .k{color:#8a96b3;font-size:15px}
.lic .v{margin:8px 0 22px;font-family:var(--font-h);font-weight:800;font-size:19px;text-transform:uppercase}
.lic .box{padding:22px 24px;border-radius:14px;border:2px dashed #0e7da0;background:#08121f;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;color:var(--cy);word-break:break-all;margin-bottom:22px;user-select:all}
.btn-cy{
  display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:64px;border:0;border-radius:14px;background:var(--cy);color:#04202a;
  font-family:var(--font-h);font-weight:700;font-size:17px;
}
.state-box{text-align:center;padding:50px 20px 10px}
.state-box .big{width:92px;height:92px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;font-size:38px}
.state-box.bad .big{background:rgba(239,68,68,.15);color:#f87171;border:1px solid #7f1d1d}
.state-box.wait .big{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid #8a5a12}
.state-box h2{font-size:24px;font-weight:800}
.state-box p{color:#8a96b3;margin:10px auto 0;max-width:420px;line-height:1.6}
.ord-actions{display:grid;gap:10px;padding:20px 17px 0}
.btn-ghost{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:12px;border:1px solid #14355a;background:#08122a;color:#cfe9f5;font-family:var(--font-h);font-weight:800;font-size:14px}

/* ───────── DASHBOARD ───────── */
.dash-prof{display:flex;align-items:center;gap:16px;margin:20px 0 0;padding:20px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,#10204f,#0a1233)}
.dash-prof .av{position:relative;width:72px;height:72px;flex:none}
.dash-prof .av .img{width:72px;height:72px;border-radius:50%;border:3px solid var(--blue);overflow:hidden;background:#0d1634;display:grid;place-items:center;font-family:var(--font-h);font-weight:800;font-size:28px;color:var(--blue-text)}
.dash-prof .av .img img{width:100%;height:100%;object-fit:cover}
.dash-prof .av label{position:absolute;right:-4px;bottom:-4px;width:28px;height:28px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-size:12px;cursor:pointer;border:2px solid #0a1233}
.dash-prof h1{font-size:20px;font-weight:800;word-break:break-word}
.dash-prof .role{display:inline-flex;align-items:center;gap:7px;margin-top:6px;height:24px;padding:0 11px;border-radius:99px;background:#122660;border:1px solid #1d3a8d;font-family:var(--font-h);font-weight:800;font-size:10.5px;letter-spacing:.1em;color:#a9c3ff;text-transform:uppercase}
.dash-prof small{display:block;margin-top:6px;color:var(--muted);font-size:12.5px}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.stat{padding:16px;border-radius:16px;border:1px solid var(--line-2);background:#0a1230}
.stat i{width:36px;height:36px;border-radius:10px;background:#122660;border:1px solid #1d3a8d;color:var(--blue-text);display:grid;place-items:center;font-size:15px}
.stat b{display:block;margin-top:12px;font-family:var(--font-h);font-size:22px;font-weight:800}
.stat span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.wallet{margin-top:14px;padding:18px;border-radius:16px;border:1px solid #1d3a8d;background:linear-gradient(160deg,#13296f,#0a1740)}
.wallet small{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#a9c3ff;font-weight:700}
.wallet b{display:block;margin:4px 0 14px;font-family:var(--font-h);font-size:28px;font-weight:800}
.wallet .row{display:flex;gap:8px}
.wallet input{flex:1;min-width:0;height:44px;border-radius:11px;background:#060a1c;border:1px solid var(--line);color:#fff;padding:0 14px;font:600 14px var(--font-b);outline:0}
.wallet button{height:44px;padding:0 18px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-family:var(--font-h);font-weight:800;font-size:13px}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.hist{display:grid;gap:10px}
.h-item{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--line-2);background:#0a1230}
.h-item .ico{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:#122660;color:var(--blue-text)}
.h-item .m{min-width:0;flex:1}
.h-item .m b{display:block;font-family:var(--font-h);font-size:13.5px;font-weight:800;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-item .m small{color:var(--muted);font-size:12px}
.h-item .r{text-align:right;flex:none}
.h-item .r b{display:block;font-family:var(--font-h);font-size:13.5px}
.tag{display:inline-block;margin-top:3px;padding:2px 10px;border-radius:99px;font-size:10.5px;font-weight:800;font-family:var(--font-h);letter-spacing:.04em;text-transform:uppercase}
.tag.done{background:rgba(34,197,94,.12);color:#4ade80;border:1px solid #166534}
.tag.pending{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid #8a5a12}
.tag.expired{background:rgba(239,68,68,.12);color:#f87171;border:1px solid #7f1d1d}
.lic-item{padding:14px;border-radius:14px;border:1px solid var(--line-2);background:#0a1230}
.lic-item b{display:block;font-family:var(--font-h);font-size:13.5px;text-transform:uppercase}
.lic-item .kv{display:flex;gap:8px;margin-top:10px}
.lic-item code{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px dashed #1d3a8d;background:#060a1c;color:var(--blue-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lic-item button{width:44px;border:0;border-radius:10px;background:var(--blue);color:#fff}
.dash-empty{padding:26px;text-align:center;color:var(--muted);font-size:14px;border-radius:14px;border:1px dashed var(--line-2)}

/* ───────── LACAK PESANAN ───────── */
.trk{max-width:520px;margin:30px auto 0}
.trk h1{font-size:24px;font-weight:800}
.trk p{color:var(--muted);font-size:14px;margin:6px 0 0}
.trk form{display:flex;gap:8px;margin-top:20px}
.trk input{flex:1;min-width:0;height:52px;border-radius:14px;background:var(--ink);border:1px solid #17213f;color:#fff;padding:0 18px;font:700 15px var(--font-b);text-transform:uppercase;outline:0}
.trk input:focus{border-color:var(--blue)}
.trk button{height:52px;padding:0 22px;border:0;border-radius:14px;background:linear-gradient(90deg,#3366ff,#5b9bff);color:#fff;font-family:var(--font-h);font-weight:800}
.trk .res{margin-top:20px;padding:18px;border-radius:16px;border:1px solid var(--line);background:#0a1230}
.trk .res .row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;font-size:14px;color:var(--muted)}
.trk .res .row b{color:#fff;text-align:right}
