/* ===== FUTURISTIC THEME v2 — glassmorphism + neon ===== */
:root{
  --bg:#050810; --bg2:#0a0f1e;
  --glass:rgba(20,28,52,.55);
  --glass-brd:rgba(120,160,255,.14);
  --txt:#eef2ff; --mut:#8b98b8;
  --neon:#22d3ee; --neon2:#a78bfa; --neon3:#f472b6;
  --ok:#34d399; --warn:#fbbf24; --err:#f87171;
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--bg);color:var(--txt);
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.6;
  min-height:100vh;overflow-x:hidden;
}
/* animated aurora background */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(600px 400px at 15% 10%,rgba(34,211,238,.12),transparent 60%),
    radial-gradient(700px 500px at 85% 20%,rgba(167,139,250,.14),transparent 60%),
    radial-gradient(600px 500px at 50% 100%,rgba(244,114,182,.08),transparent 60%),
    var(--bg);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(120,160,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(120,160,255,.04) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 100%);
}
a{color:var(--neon);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.hint{font-size:12px;color:var(--mut);margin-top:4px}

/* ===== NAV (landing) ===== */
.nav{position:sticky;top:0;z-index:50;background:rgba(5,8,16,.7);backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-brd)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;font-size:20px;letter-spacing:.5px}
.logo b{background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{color:var(--mut);font-weight:600}
.nav-links a:hover{color:var(--txt);text-decoration:none}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:12px;font-weight:700;
  border:1px solid transparent;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}
.btn-pri{background:linear-gradient(135deg,#0ea5e9,#8b5cf6);color:#fff;border:0;
  box-shadow:0 0 20px rgba(34,211,238,.35),0 4px 14px rgba(0,0,0,.4)}
.btn-pri:hover{transform:translateY(-2px);box-shadow:0 0 32px rgba(34,211,238,.55),0 8px 24px rgba(0,0,0,.4);text-decoration:none}
.btn-pri:active{transform:translateY(0)}
.btn-ghost{border:1px solid var(--glass-brd);color:var(--txt);background:rgba(20,28,52,.4);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--neon);box-shadow:0 0 16px rgba(34,211,238,.25);text-decoration:none;transform:translateY(-1px)}
.btn-sm{padding:7px 14px;font-size:13px;border-radius:9px}
.btn-danger{background:rgba(80,20,35,.6);color:#fda4af;border:1px solid rgba(244,114,182,.3);backdrop-filter:blur(8px)}
.btn-danger:hover{border-color:#f43f5e;box-shadow:0 0 16px rgba(244,63,94,.3);text-decoration:none;transform:translateY(-1px)}
.c-actions .btn{flex:1;justify-content:center;min-width:calc(33% - 6px)}
.btn-danger:hover{background:rgba(110,25,45,.7);box-shadow:0 0 16px rgba(244,114,182,.3)}

/* ===== HERO (landing) ===== */
.hero{padding:90px 0 60px;text-align:center}
.hero h1{font-size:clamp(30px,5vw,54px);line-height:1.15;margin-bottom:16px}
.hero h1 span{background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mut);max-width:640px;margin:0 auto 28px;font-size:17px}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.stats{display:flex;gap:16px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.stat{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);padding:18px 30px;min-width:150px;backdrop-filter:blur(12px)}
.stat b{font-size:26px;display:block;background:linear-gradient(90deg,var(--neon),var(--neon2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--mut);font-size:13px}

/* ===== SECTIONS (landing) ===== */
.sec{padding:56px 0}
.sec h2{text-align:center;font-size:30px;margin-bottom:8px}
.sec .sub{text-align:center;color:var(--mut);margin-bottom:34px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);padding:24px;transition:.25s;backdrop-filter:blur(12px)}
.card:hover{border-color:rgba(34,211,238,.5);transform:translateY(-4px);box-shadow:0 12px 40px rgba(34,211,238,.15)}
.card .ico{font-size:30px;margin-bottom:10px}
.card h3{margin-bottom:8px;font-size:18px}
.card p{color:var(--mut);font-size:14px}
.price{font-size:30px;font-weight:800;margin:10px 0;background:linear-gradient(90deg,var(--neon),var(--neon2));-webkit-background-clip:text;background-clip:text;color:transparent}
.price small{font-size:14px;color:var(--mut);font-weight:400;-webkit-text-fill-color:var(--mut)}
.badge{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.b-pop{background:linear-gradient(90deg,var(--neon),var(--neon2));color:#04122b}
.b-pop::before{display:none}
.b-active{background:rgba(52,211,153,.15);color:#34d399;border:1px solid rgba(52,211,153,.3)}
.b-active::before{animation:blink 1.6s infinite;box-shadow:0 0 8px currentColor}
.b-stopped{background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.25)}
.b-pending,.b-deploy{background:rgba(34,211,238,.12);color:#22d3ee;border:1px solid rgba(34,211,238,.25)}
.b-error{background:rgba(248,113,113,.12);color:#f87171;border:1px solid rgba(248,113,113,.25)}
@keyframes blink{50%{opacity:.3}}
.tag{font-size:12px;color:var(--mut);background:rgba(20,28,52,.6);border:1px solid var(--glass-brd);padding:3px 10px;border-radius:999px}
.steps{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.step{flex:1;min-width:200px;max-width:260px;background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);padding:22px;text-align:center;backdrop-filter:blur(12px)}
.step .n{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--neon),var(--neon2));color:#04122b;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 0 16px rgba(34,211,238,.4)}
footer{border-top:1px solid var(--glass-brd);padding:28px 0;color:var(--mut);font-size:14px;text-align:center;margin-top:40px}

/* ===== FORMS ===== */
.form-card{max-width:460px;margin:50px auto;background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);padding:32px;backdrop-filter:blur(16px);box-shadow:0 20px 60px rgba(0,0,0,.4)}
.form-card h2{margin-bottom:6px}
.form-card .sub{color:var(--mut);font-size:14px;margin-bottom:20px}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin:14px 0 6px}
input,select,textarea{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--glass-brd);background:rgba(7,11,20,.7);color:var(--txt);font-size:15px;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(34,211,238,.15)}
textarea{font-family:monospace;font-size:13px}
.alert{padding:12px 16px;border-radius:12px;margin:14px 0;font-size:14px;backdrop-filter:blur(8px)}
.alert-ok{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);color:#6ee7b7}
.alert-err{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3);color:#fca5a5}

/* HERO BAR (dashboard) */
.hero-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);
  padding:24px 28px;margin-bottom:24px;backdrop-filter:blur(16px);position:relative;overflow:hidden}
.hero-bar::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.25),transparent 70%);pointer-events:none}
.hero-greet{font-size:24px;font-weight:700}
.hero-greet b{background:linear-gradient(90deg,var(--neon),var(--neon2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{color:var(--mut);font-size:14px;margin-top:4px}
.hero-actions{display:flex;gap:10px}
.sec-head{display:flex;align-items:baseline;gap:12px;margin:6px 0 18px}
.sec-head h2{font-size:20px;font-weight:800}
.k-bar{height:5px;background:rgba(120,160,255,.12);border-radius:99px;margin-top:10px;overflow:hidden}
.k-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ok),var(--neon));transition:width .6s}
.k-dom{font-size:16px !important;word-break:break-all}
.kpi{display:flex;gap:14px;align-items:flex-start}
.kpi .k-ico{font-size:30px;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(34,211,238,.4))}
.kpi > div{flex:1;min-width:0}

/* PAYMENT OPTION CARDS */
.pay-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 6px}
@media(max-width:560px){.pay-opts{grid-template-columns:1fr}}
.pay-opt{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border-radius:14px;
  border:1px solid var(--glass-brd);background:rgba(20,28,52,.5);cursor:pointer;transition:.2s;margin:0}
.pay-opt input{position:absolute;opacity:0;pointer-events:none;width:auto}
.pay-opt .pay-ico{font-size:26px;flex-shrink:0}
.pay-opt .pay-txt{flex:1;min-width:0}
.pay-opt .pay-txt b{display:block;font-size:14px;color:var(--txt)}
.pay-opt .pay-txt small{color:var(--mut);font-size:12px}
.pay-opt .pay-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--mut);
  flex-shrink:0;transition:.2s;position:relative}
.pay-opt:hover{border-color:rgba(34,211,238,.4)}
.pay-opt input:checked ~ .pay-check{border-color:var(--neon);background:rgba(34,211,238,.15)}
.pay-opt input:checked ~ .pay-check::after{content:"";position:absolute;inset:4px;border-radius:50%;
  background:linear-gradient(135deg,var(--neon),var(--neon2));box-shadow:0 0 8px var(--neon)}
.pay-opt:has(input:checked){border-color:var(--neon);background:rgba(34,211,238,.08);
  box-shadow:0 0 20px rgba(34,211,238,.15)}
.pay-opt.disabled{opacity:.45;cursor:not-allowed}

/* ===== DASHBOARD LAYOUT ===== */
.dash{display:flex;min-height:100vh}
.side{width:250px;background:rgba(6,10,20,.85);backdrop-filter:blur(24px);border-right:1px solid var(--glass-brd);
  padding:24px 16px;position:sticky;top:0;height:100vh;flex-shrink:0}
.side .logo{margin-bottom:28px;padding:0 10px;font-size:23px;letter-spacing:.3px}
.side .logo b{background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.side .side-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--mut);
  padding:0 12px;margin:18px 0 8px}
.side a.m{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;color:var(--mut);
  font-weight:600;margin-bottom:4px;transition:.2s;border:1px solid transparent;font-size:14px}
.side a.m:hover{background:rgba(34,211,238,.08);color:var(--txt);text-decoration:none;
  border-color:rgba(34,211,238,.2);transform:translateX(3px)}
.side a.m.on{background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(139,92,246,.22));color:var(--txt);
  border:1px solid rgba(34,211,238,.35);box-shadow:0 0 20px rgba(34,211,238,.15),inset 0 1px 0 rgba(255,255,255,.06)}
.main{flex:1;padding:32px;max-width:1200px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px}
.topbar h1{font-size:28px;font-weight:800;background:linear-gradient(90deg,#fff,var(--neon));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Mobile top navbar — hamburger + drawer */
.mnav{display:none}
.mnav-overlay{display:none}
.mnav-drawer{display:none}

/* KPI CARDS — futuristic */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
.kpi{position:relative;background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);
  padding:22px;backdrop-filter:blur(16px);overflow:hidden;transition:.25s}
.kpi::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));opacity:.8}
.kpi:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(34,211,238,.12);border-color:rgba(34,211,238,.35)}
.kpi .k-ico{font-size:26px;margin-bottom:8px;display:block}
.kpi b{font-size:28px;display:block;font-weight:800;letter-spacing:-.5px}
.kpi span{color:var(--mut);font-size:13px}
.kpi.k-cyan b{background:linear-gradient(90deg,#22d3ee,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi.k-violet b{background:linear-gradient(90deg,#a78bfa,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi.k-pink b{background:linear-gradient(90deg,#f472b6,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi.k-green b{background:linear-gradient(90deg,#34d399,#10b981);-webkit-background-clip:text;background-clip:text;color:transparent}

/* CONTAINER CARDS - PREMIUM */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}
.ccard{background:linear-gradient(160deg,rgba(24,32,60,.9),rgba(12,18,36,.95));
  border:1px solid rgba(120,160,255,.12);border-radius:20px;padding:0;overflow:hidden;
  transition:.25s;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.ccard:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.35);
  box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(34,211,238,.08)}
.ccard .c-top{padding:20px 22px 16px;border-bottom:1px solid rgba(120,160,255,.08);
  background:linear-gradient(180deg,rgba(34,211,238,.05),transparent)}
.ccard .c-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ccard .c-name{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-weight:800;font-size:19px;
  letter-spacing:-.3px;color:#fff}
.ccard .c-meta{font-size:12.5px;color:var(--mut);margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ccard .c-body{padding:18px 22px}
.ccard .c-url{margin-bottom:14px;word-break:break-all;background:rgba(34,211,238,.07);
  border:1px solid rgba(34,211,238,.18);border-radius:12px;padding:11px 14px;font-size:13px;
  display:flex;align-items:center;gap:8px}
.ccard .c-url a{color:var(--neon);font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
.ccard .c-row{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:9px 0;font-size:13px}
.ccard .c-row + .c-row{border-top:1px solid rgba(120,160,255,.06)}
.ccard .c-row .lbl{color:var(--mut);display:flex;align-items:center;gap:7px;flex-shrink:0}
.ccard .c-foot{padding:16px 22px;border-top:1px solid rgba(120,160,255,.08);
  background:rgba(0,0,0,.2)}
.ccard .c-actions{display:flex;gap:8px;flex-wrap:wrap}
.pw{cursor:pointer;border-bottom:1px dashed var(--mut);user-select:none;transition:.2s;
  font-family:ui-monospace,Menlo,monospace}
.pw:hover{color:var(--neon);border-color:var(--neon)}

/* TABLE (masih dipakai di beberapa halaman) */
table.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--glass);
  border:1px solid var(--glass-brd);border-radius:var(--r);overflow:hidden;font-size:14px;backdrop-filter:blur(12px)}
.tbl th,.tbl td{padding:13px 15px;text-align:left;border-bottom:1px solid rgba(120,160,255,.08)}
.tbl th{color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:1px;background:rgba(10,15,30,.6)}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:.15s}
.tbl tbody tr:hover td{background:rgba(34,211,238,.05)}
.tbl td{vertical-align:middle}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions .btn{margin:2px}
.logbox{background:#04070d;border:1px solid var(--glass-brd);border-radius:12px;padding:14px;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;max-height:260px;overflow:auto;
  white-space:pre-wrap;color:#9fd0a8}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.panel{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--r);padding:24px;margin-bottom:20px;backdrop-filter:blur(16px)}
.panel h3{margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:860px){.side{display:none}.grid2{grid-template-columns:1fr}.main{padding:18px}.cgrid{grid-template-columns:1fr}}

/* Toggle switch */
.switch{position:relative;display:inline-block;width:46px;height:26px;vertical-align:middle;flex:none}
.switch input{opacity:0;width:0;height:0;margin:0}
.switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#475569;border-radius:26px;transition:.2s}
.switch .slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.switch input:checked + .slider{background:linear-gradient(90deg,#0ea5e9,#8b5cf6);box-shadow:0 0 12px rgba(34,211,238,.5)}
.switch input:checked + .slider:before{transform:translateX(20px)}
.renew-toggle{display:inline-flex;align-items:center;gap:8px}

/* Terminal */
.term{background:#020409;border:1px solid var(--glass-brd);border-radius:14px;padding:16px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.65;
  max-height:440px;overflow-y:auto;box-shadow:inset 0 0 40px rgba(0,0,0,.6);position:relative}
.term .tcmd{color:#7dd3fc;font-weight:700;margin-top:10px;word-break:break-all}
.term .tout{color:#cbd5e1;white-space:pre-wrap;word-break:break-word}
.term .terr{color:#f87171}
.term::after{content:"▊";color:var(--neon);animation:tblink 1s infinite;font-weight:bold}
@keyframes tblink{0%,50%{opacity:1}51%,100%{opacity:0}}
.term-input-wrap{display:flex;gap:8px;margin-top:12px}
.term-input-wrap input{flex:1;background:rgba(2,4,9,.8);border:1px solid var(--glass-brd);
  border-radius:10px;padding:10px 14px;color:#7dd3fc;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.term-input-wrap input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(34,211,238,.15)}
.term-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.term-quick .qcmd{background:rgba(34,211,238,.08);border:1px solid rgba(34,211,238,.2);
  border-radius:8px;padding:6px 12px;font-size:12px;color:var(--neon);cursor:pointer;transition:.15s}
.term-quick .qcmd:hover{background:rgba(34,211,238,.15);transform:translateY(-1px)}

/* Empty state */
.empty{background:var(--glass);border:1px dashed rgba(120,160,255,.25);border-radius:var(--r);
  padding:60px 30px;text-align:center;backdrop-filter:blur(12px)}
.empty .e-ico{font-size:52px;margin-bottom:14px;filter:drop-shadow(0 0 20px rgba(34,211,238,.4))}
.empty h3{margin-bottom:8px;font-size:20px}

/* ===== RESPONSIVE / MOBILE ===== */
@media (max-width: 900px) {
  .dash{flex-direction:column}
  /* Sembunyikan sidebar desktop, tampilkan top navbar mobile */
  .side{display:none}
  .mnav{display:flex;align-items:center;justify-content:space-between;
    position:sticky;top:0;z-index:100;height:60px;padding:0 16px;
    background:rgba(5,8,16,.85);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--glass-brd)}
  .mnav .logo{font-size:18px;font-weight:800}
  .mnav .logo b{background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .mnav-burger{background:rgba(34,211,238,.1);border:1px solid var(--glass-brd);
    border-radius:10px;width:42px;height:42px;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:.2s}
  .mnav-burger span{display:block;width:20px;height:2px;background:var(--neon);border-radius:2px;transition:.25s}
  .mnav-burger:active{transform:scale(.95)}
  /* Drawer menu geser dari kiri */
  .mnav-drawer{display:block;position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:200;
    background:rgba(8,12,24,.97);backdrop-filter:blur(24px);
    border-right:1px solid var(--glass-brd);padding:20px 14px;
    transform:translateX(-105%);transition:transform .3s cubic-bezier(.4,0,.2,1);
    overflow-y:auto;box-shadow:20px 0 60px rgba(0,0,0,.5)}
  .mnav-drawer.open{transform:translateX(0)}
  .mnav-drawer .logo{font-size:20px;font-weight:800;padding:4px 10px 18px;margin-bottom:6px;
    border-bottom:1px solid var(--glass-brd)}
  .mnav-drawer .logo b{background:linear-gradient(90deg,var(--neon),var(--neon2),var(--neon3));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .mnav-drawer .side-label{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;
    color:var(--mut);padding:0 12px;margin:16px 0 8px}
  .mnav-drawer a.m{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;
    color:var(--mut);font-weight:600;margin-bottom:4px;transition:.2s;
    border:1px solid transparent;font-size:15px;text-decoration:none}
  .mnav-drawer a.m.on{background:linear-gradient(135deg,rgba(14,165,233,.22),rgba(139,92,246,.22));
    color:var(--txt);border:1px solid rgba(34,211,238,.35)}
  .mnav-overlay{display:block;position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.6);
    backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s}
  .mnav-overlay.show{opacity:1;pointer-events:auto}
  .main{padding:20px 14px;max-width:100%}
  .kpis{grid-template-columns:repeat(2,1fr);gap:12px}
  .cgrid{grid-template-columns:1fr;gap:16px}
  .hero-bar{padding:18px;flex-direction:column;align-items:stretch}
  .hero-greet{font-size:19px}
  .hero-actions{width:100%;flex-direction:column}
  .hero-actions .btn{justify-content:center;width:100%}
  .pay-opts{grid-template-columns:1fr}
  table{font-size:13px}
  th,td{padding:9px 8px}
  .grid2{grid-template-columns:1fr}
  .topbar h1{font-size:22px}
}
@media (max-width: 560px) {
  .kpis{grid-template-columns:1fr 1fr;gap:10px}
  .kpi{padding:14px}
  .kpi b{font-size:20px}
  .kpi .k-ico{font-size:24px}
  .topbar{flex-direction:column;align-items:stretch;gap:10px}
  .topbar h1{font-size:20px;margin-bottom:4px}
  .ccard .c-top,.ccard .c-body,.ccard .c-foot{padding-left:16px;padding-right:16px}
  .c-actions .btn{min-width:calc(50% - 4px);justify-content:center}
  .term{font-size:12px;max-height:320px}
  input,select,textarea{font-size:16px} /* cegah zoom otomatis iOS */
  .btn{padding:11px 16px;font-size:14px}
  .panel{padding:18px 14px}
  .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .empty{padding:40px 18px}
  .form-card{margin:24px 14px;padding:24px 18px}
  .hero{padding:50px 0 36px}
}
/* Landing nav mobile — sembunyikan link teks, tampilkan tombol */
@media (max-width: 700px) {
  .nav .wrap{height:56px}
  .nav-links{gap:12px}
  .nav-links a:not(.btn){display:none}
  .nav-links a.btn{padding:8px 16px;font-size:13px}
  .hero h1{font-size:32px}
  .hero p{font-size:15px}
  .stats{gap:10px}
  .stat{padding:14px 18px;min-width:calc(50% - 10px)}
  .stat b{font-size:20px}
  .sec{padding:36px 0}
  .sec h2{font-size:24px}
  .card{padding:18px}
  .price{font-size:24px}
}

/* Payment page premium */
.pay-panel{max-width:560px;margin:0 auto}
.pay-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--glass-brd)}
.pay-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--mut);margin-bottom:4px}
.pay-val{font-weight:700;font-size:15px}
.pay-total{text-align:right;flex-shrink:0}
.pay-amount{font-size:28px;font-weight:800;background:linear-gradient(90deg,var(--neon),var(--neon2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.pay-qr{text-align:center;margin:20px 0}
.pay-qr img{max-width:280px;width:100%;border-radius:16px;border:1px solid var(--glass-brd);
  box-shadow:0 0 40px rgba(34,211,238,.15);background:#fff;padding:12px}
.pay-qr .hint{margin-top:10px}
.pay-actions{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
.pay-actions .btn{flex:1;justify-content:center;min-width:160px}
.pay-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
  padding-top:14px;border-top:1px solid var(--glass-brd)}
@media(max-width:560px){
  .pay-head{flex-direction:column}
  .pay-total{text-align:left}
  .pay-actions .btn{min-width:100%}
}

/* Varian spek produk */
.variant-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:8px}
.variant-card{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--glass-brd);
  border-radius:12px;background:rgba(255,255,255,.02);cursor:pointer;transition:.2s;position:relative}
.variant-card:hover{border-color:rgba(34,211,238,.4);transform:translateY(-2px)}
.variant-card.on{border-color:var(--neon);background:rgba(34,211,238,.08);
  box-shadow:0 0 20px rgba(34,211,238,.2)}
.variant-card.on::after{content:"✓";position:absolute;top:8px;right:10px;color:var(--neon);font-weight:800}
.v-label{font-weight:800;font-size:15px}
.v-spec{font-size:12px;color:var(--mut)}
.v-price{font-weight:800;font-size:16px;color:var(--neon);margin-top:4px}
.v-dur{font-size:11px;color:var(--mut)}
