:root{--bg:#0f1113;--card:#181c20;--line:#262c33;--txt:#eef1f4;--mut:#9aa3ad;--acc:#3ddc84;--warn:#ffb020;--err:#ff5d5d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.appbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#14181c;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.3px}
.conn{color:var(--acc)}
.sheet,.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px}
h1,h2{font-size:18px;margin:0 0 10px}
.muted{color:var(--mut)}.err{color:var(--err)}.warn{color:var(--warn);font-size:14px}
input,select{width:100%;padding:14px;margin:8px 0;border-radius:10px;border:1px solid var(--line);background:#0c0e10;color:var(--txt);font-size:16px}
button{width:100%;padding:14px;margin:8px 0;border:0;border-radius:12px;background:var(--acc);color:#06110b;font-weight:700;font-size:16px;min-height:48px}
button:active{transform:scale(.99)}
.tabs{display:flex;gap:8px;padding:12px}
.tabs button{background:#20262c;color:var(--txt);margin:0}
.tabs button.active{background:var(--acc);color:#06110b}
.tab{padding-bottom:40px}
.row{display:flex;gap:10px;align-items:center}
.row input{width:auto}
.grid{display:grid;gap:12px;padding:12px;grid-template-columns:1fr}
@media(min-width:700px){.grid{grid-template-columns:1fr 1fr}}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pcard img{width:100%;height:220px;object-fit:cover;display:block;background:#000}
.pcard .meta{padding:10px 12px;font-size:14px;color:var(--mut)}
.pcard .btnrow{display:flex;gap:8px;padding:0 12px 12px}
.pcard .btnrow button{margin:0}
.btnrow{display:flex;gap:8px}.btnrow button{margin:8px 0}
.hidden{display:none!important}
/* ---- Tab Riwayat ---- */
.audit-hint{font-size:13px;margin-top:0}
.audit-input{padding:10px 12px;font-size:14px;margin-bottom:8px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.pill{width:auto;min-height:0;margin:0;padding:8px 14px;font-size:13px;font-weight:600;background:#20262c;color:var(--mut);border:1px solid var(--line)}
.pill.active{background:var(--acc);color:#06110b;border-color:var(--acc)}
.ret-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--mut);margin-top:6px}
.ret-row input{width:110px;padding:10px;margin:0}
.audit-count{font-size:12px;padding:0 16px;margin:2px 0}
.logs{padding:12px;display:grid;gap:8px}
.log{background:#121518;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--mut);transition:border-color .15s,background .15s}
.log.clickable{cursor:pointer}
.log.clickable:hover{border-color:#3a444f}
.log.hl{border-color:var(--acc);background:#122018;box-shadow:0 0 0 1px var(--acc) inset}
.log-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.log-head b{color:var(--txt);font-size:13.5px}
.log-ico{font-size:14px}
.log-time{margin-left:auto;font-size:11.5px;color:var(--mut)}
.log-meta{font-size:12px;margin-bottom:3px}
.log-loc{font-size:12px;margin-bottom:3px}
.log-loc a{color:var(--acc);text-decoration:none}
.log-detail{font-size:11.5px;color:var(--mut);font-family:ui-monospace,monospace;margin-top:4px;word-break:break-all}
.log code,.ua code{font-family:ui-monospace,monospace;font-size:11.5px;background:#0c0e10;padding:1px 5px;border-radius:5px;color:#c9d3dc}
.badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.3px}
.badge.ok{background:rgba(61,220,132,.15);color:var(--acc)}
.badge.bad{background:rgba(255,93,93,.15);color:var(--err)}
.badge.warn{background:rgba(255,176,32,.15);color:var(--warn)}
.loadmore-wrap{padding:0 12px 16px}
.loadmore-wrap button{width:100%}
progress{width:100%}
#share-link{font-size:14px}
