/* RENTBOT theme — token dari foto referensi */
:root{
  --bg:#09090B; --surface:#141419; --surface-2:#1b1b22; --line:#2a2a33; --line-2:#3a3a45;
  --lime:#A3FF12; --lime-d:#86d40c; --blue:#2563FF; --blue-d:#1b4fd6;
  --text:#fff; --muted:#9a9aa6; --danger:#ff4d5e; --ok:#3ddc84;
  --r:10px; --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.55 var(--font);min-height:100vh;
  background-image:radial-gradient(1200px 500px at 70% -10%,rgba(37,99,255,.10),transparent 60%),radial-gradient(900px 500px at 0% 0%,rgba(163,255,18,.05),transparent 60%);background-attachment:fixed}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;line-height:1.1;letter-spacing:-.02em}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)} .lime{color:var(--lime)} .blue{color:#6d95ff} .danger{color:var(--danger)}
.mono{font-family:var(--mono)} .center{text-align:center} .right{text-align:right}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap} .grow{flex:1}
.stack>*+*{margin-top:14px}
.hide{display:none!important}

/* logo */
.logo{display:inline-flex;align-items:center;gap:0;font-weight:800;letter-spacing:-.02em;font-size:20px}
.logo svg{height:26px;width:auto;margin-right:8px}
.logo .sq{width:7px;height:7px;background:var(--lime);align-self:flex-start;margin-left:1px;margin-top:2px}

/* buttons: label dibungkus [ ] seperti di desain */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:11px 18px;font:700 13px/1 var(--font);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:filter .15s,background .15s,transform .05s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-lime{background:var(--lime);color:#0a0f00} .btn-lime:hover{filter:brightness(1.08)}
.btn-blue{background:var(--blue);color:#fff} .btn-blue:hover{background:#3a72ff}
.btn-ghost-blue{background:transparent;border-color:var(--blue);color:#6d95ff} .btn-ghost-blue:hover{background:rgba(37,99,255,.12)}
.btn-ghost-lime{background:transparent;border-color:var(--lime);color:var(--lime)} .btn-ghost-lime:hover{background:rgba(163,255,18,.1)}
.btn-dark{background:var(--surface-2);border-color:var(--line);color:#fff} .btn-dark:hover{border-color:var(--line-2)}
.btn-danger{background:transparent;border-color:#5b2530;color:var(--danger)} .btn-danger:hover{background:rgba(255,77,94,.1)}
.btn-block{width:100%} .btn-sm{padding:8px 12px;font-size:12px} .btn[disabled]{opacity:.45;cursor:not-allowed}
.br::before{content:"[ "} .br::after{content:" ]"}

/* topbar (landing) */
.topbar{position:sticky;top:0;z-index:20;background:rgba(14,14,18,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:28px;height:68px}
.nav{display:flex;gap:26px;margin-left:12px;flex:1}
.nav a{color:#fff;font-size:14px;padding:6px 0} .nav a.on,.nav a:hover{color:var(--lime)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:#fff;border-radius:6px;padding:8px 10px;cursor:pointer}
@media(max-width:820px){.nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;gap:0;margin:0;padding:8px 20px}
  .nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid var(--line)}.menu-btn{display:block;margin-left:auto}.topbar .cta{display:none}}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:64px 0 40px}
.hero h1{font-size:clamp(40px,6.4vw,76px);font-weight:800;line-height:.98;letter-spacing:-.035em;white-space:pre-line}
.hero h2{font-size:clamp(20px,2.6vw,30px);font-weight:700;color:#b8b8c2;margin:18px 0 16px;letter-spacing:-.01em}
.hero p{color:#b4b4be;max-width:520px;margin:0 0 26px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:36px}}

/* terminal window */
.term{background:var(--surface);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.term-h{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--line);font:700 11px var(--font);letter-spacing:.04em;color:#d6d6de}
.term-h i{display:inline-block;width:9px;height:9px;border:1px solid #666;margin-left:8px}
.term-b{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tp{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px;font-size:11px}
.tp b{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}
.tp b em{font-style:normal;color:var(--lime);background:rgba(163,255,18,.12);padding:1px 6px;border-radius:3px;font-size:10px}
.bar{height:5px;background:#26262e;border-radius:2px;margin:5px 0;overflow:hidden}.bar i{display:block;height:100%;background:var(--lime)}
.spark{display:flex;align-items:flex-end;gap:3px;height:70px}.spark i{flex:1;background:var(--lime);opacity:.9;min-height:4px}
.tlog{grid-column:1/-1;background:#050507;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font:12px/1.7 var(--mono);color:#cfd0d8;min-height:100px}
.tlog .g{color:var(--lime)} .cur{display:inline-block;width:8px;height:14px;background:var(--lime);vertical-align:-2px;animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.cur{animation:none}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:1px solid var(--line);background:var(--surface);padding:12px;border-radius:10px;margin:28px 0 56px}
.stat{border:2px solid var(--lime);border-radius:8px;background:#050507;padding:18px 10px;text-align:center}
.stat b{display:block;font-size:clamp(26px,4.2vw,46px);font-weight:700;letter-spacing:-.02em}
.stat span{color:#b0b0ba;font-size:14px;letter-spacing:.03em}
@media(max-width:560px){.stats{grid-template-columns:1fr}}

/* section title */
.sec-t{display:flex;align-items:center;gap:16px;margin:8px 0 20px}
.sec-t h2{font-size:28px;font-weight:700}.sec-t::after{content:"";flex:1;height:1px;background:var(--line)}

/* cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.g3,.g2,.g4{grid-template-columns:1fr}}
.feat{display:flex;flex-direction:column;min-height:250px;transition:border-color .2s}
.feat:hover{border-color:var(--lime);box-shadow:0 0 0 1px rgba(163,255,18,.25) inset}
.feat .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.feat .ic{width:48px;height:48px;color:var(--lime)} .feat h3{font-size:22px;font-weight:700;margin-bottom:10px}
.feat p{color:#a9a9b4;font-size:13.5px;margin:0 0 auto}
.feat .foot{display:flex;justify-content:space-between;margin-top:22px}
.pill{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--font);padding:5px 10px;border-radius:5px;background:#26262e;color:#d4d4dc;letter-spacing:.03em}
.pill.lime{background:var(--lime);color:#0a0f00}
.pill.online{background:rgba(163,255,18,.08);border:1px solid #4a8a07;color:var(--lime)}
.pill.warn{background:rgba(255,184,0,.1);border:1px solid #7a5a00;color:#ffc933}
.pill.off{background:#1f1f26;border:1px solid var(--line);color:var(--muted)}
.pill.bad{background:rgba(255,77,94,.1);border:1px solid #6b2a33;color:var(--danger)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}

/* pricing */
.plan{display:flex;flex-direction:column;gap:12px}.plan .price{font-size:34px;font-weight:800;letter-spacing:-.02em}.plan small{color:var(--muted);font-weight:500;font-size:14px}
.plan.hot{border-color:var(--lime)}

/* forms */
label.f{display:block;font:600 12px var(--font);letter-spacing:.04em;color:#d6d6de;margin:0 0 6px;text-transform:none}
label.f.up{text-transform:uppercase}
.in{width:100%;background:var(--bg);border:1px solid var(--line);color:#fff;border-radius:6px;padding:12px 14px;font:400 14px var(--font);transition:border-color .15s}
.in::placeholder{color:#676774}.in:focus{outline:none;border-color:var(--lime)}
.in.ok{border-color:#2a9d57}.in.bad{border-color:var(--danger)}
textarea.in{min-height:90px;resize:vertical}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.field{margin-bottom:14px}.hint{font-size:12px;color:var(--muted);margin-top:6px}.hint.bad{color:var(--danger)}.hint.ok{color:var(--ok)}
.pw{position:relative}.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:#8a8a96;cursor:pointer;padding:8px}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;color:#d0d0d8}
.chk input{accent-color:var(--lime);width:16px;height:16px}

/* auth */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth{width:100%;max-width:420px}.auth .logo{margin-bottom:22px}
.auth h1{font-size:28px;font-weight:800;margin-bottom:6px;text-align:center}
.auth .box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px}
.welcome h1{font-size:clamp(40px,8vw,64px);font-weight:800;line-height:1;white-space:pre-line;margin:6px 0 28px}

/* flash */
.flash{border-radius:8px;padding:12px 14px;margin:0 0 16px;font-size:14px;border:1px solid}
.flash.ok{background:rgba(61,220,132,.08);border-color:#256c47;color:#8df0b6}
.flash.err{background:rgba(255,77,94,.08);border-color:#6b2a33;color:#ff9aa5}
.flash.info{background:rgba(37,99,255,.1);border-color:#27479c;color:#a5bfff}

/* app shell */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:#0e0e12;border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px}
.side .logo{padding:2px 8px 18px}
.side a.it{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#c8c8d1;font-size:14px;font-weight:500}
.side a.it svg{width:20px;height:20px;flex:none}.side a.it:hover{background:var(--surface-2);color:#fff}
.side a.it.on{background:rgba(163,255,18,.1);color:var(--lime)}
.side .sp{flex:1}.side .sect{font:700 10px var(--font);letter-spacing:.1em;color:#6b6b78;padding:14px 12px 4px;text-transform:uppercase}
.main{padding:28px;min-width:0}.main>header{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.main h1{font-size:28px;font-weight:800}
.mtop{display:none}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none;position:fixed;inset:0 30% 0 0;z-index:40;height:auto;box-shadow:20px 0 60px #000}.side.open{display:flex}
  .mtop{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:#0e0e12;position:sticky;top:0;z-index:30}.main{padding:18px 16px}}
.kpi{display:flex;flex-direction:column;gap:4px}.kpi b{font-size:30px;font-weight:800;letter-spacing:-.02em}.kpi span{color:var(--muted);font-size:13px}

/* table */
.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font:600 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:#7c7c89;padding:10px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px;border-bottom:1px solid #1d1d24;vertical-align:middle}.tbl tr:hover td{background:#17171d}
.scroll-x{overflow-x:auto}
.codebox{font:800 34px/1 var(--mono);letter-spacing:.18em;text-align:center;padding:22px 10px;border:2px dashed var(--lime);border-radius:10px;color:var(--lime);background:rgba(163,255,18,.05);user-select:all}
.logbox{background:#050507;border:1px solid var(--line);border-radius:8px;padding:12px;font:12px/1.6 var(--mono);color:#b9bac4;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-all}
.preview{max-width:180px;max-height:120px;border-radius:6px;border:1px solid var(--line);display:block;margin-bottom:8px}
details.card summary{cursor:pointer;font-weight:700}
footer.site{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:13px;margin-top:70px}
