:root{--bg:#f4f6f9;--card:#fff;--head:#f8fafc;--line:#dde3ec;--fg:#1b2430;--muted:#64708a;--hijau:#1b7a3c;--biru:#1a3f8f;--merah:#c0392b;--kuning:#8a5a00;--kuning-bg:#fff4d6;--hijau-soft:#e6f4ea;--box:#fbfcfe;--video:#17212c;--bar:#cfd8e6}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font-family:"Segoe UI",system-ui,Arial,sans-serif;font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.bt{border:0;border-radius:10px;padding:10px 16px;color:#fff;background:var(--hijau);font-weight:600}
.bt.bl{background:var(--biru)}.bt.rd{background:var(--merah)}.bt.gr{background:var(--card);color:var(--fg);border:1px solid var(--line)}
.bt:hover{filter:brightness(1.08)}.bt:disabled{opacity:.5;cursor:not-allowed}
.mini{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:5px 9px;font-size:12px}
.mini.on{background:var(--biru);color:#fff;border-color:var(--biru)}.mini.m{background:var(--merah);color:#fff;border-color:var(--merah)}
input,select,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;width:100%;background:var(--card);color:var(--fg)}
:focus-visible{outline:2px solid var(--biru);outline-offset:2px}
label{font-size:13px;color:var(--muted);display:block;margin-bottom:3px}
.mu{color:var(--muted);font-size:13px}.tc{text-align:center}
h1,h2,h3{margin:0}
.net{font-size:12px;padding:6px 10px;border-radius:8px;background:var(--kuning-bg);color:var(--kuning)}
.net.ok{background:var(--hijau-soft);color:var(--hijau)}
.rg{animation:rg 1s infinite}@keyframes rg{50%{opacity:.4}}
@media (prefers-reduced-motion:reduce){.rg{animation:none}}
.vd{background:var(--video);border-radius:10px;position:relative;overflow:hidden;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;color:#cfe3f5;font-size:13px}
.vd video{width:100%;height:100%;object-fit:cover;background:#000;display:block}
.vd .pip{position:absolute;right:8px;bottom:8px;width:23%;max-width:140px;aspect-ratio:4/3;border-radius:8px;background:#2b3a4a;overflow:hidden;border:2px solid rgba(255,255,255,.4)}
.vd .pip video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.vd .ket{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 8px;border-radius:99px}
.rec{background:var(--merah);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;display:inline-block}
.bx{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--box)}
.chat{border:1px solid var(--line);border-radius:10px;background:var(--box);display:flex;flex-direction:column;gap:6px;padding:8px}
.msgs{display:flex;flex-direction:column;gap:4px;max-height:110px;overflow-y:auto;font-size:12px}
.msg b{color:var(--biru)}.msg.s{color:var(--muted);font-style:italic}
.crow{display:flex;gap:6px}
.chips{display:flex;gap:4px;flex-wrap:wrap}
.chip{font-size:11px;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:99px;padding:2px 8px}
.dok{background:#fff;border-radius:10px;border:1px solid var(--line);overflow:hidden}
.dok iframe,.dok img{width:100%;height:100%;border:0;object-fit:contain;display:block;background:#fff}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--hijau)}.dot.off{background:#9aa5b8}.dot.sib{background:#d69a1f}
.pil{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--hijau-soft);color:var(--hijau)}.pil.w{background:var(--kuning-bg);color:var(--kuning)}
.tw{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:12px;min-width:560px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:600}
.fl{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}
.fa{display:flex;gap:6px;flex-wrap:wrap}
.tb{display:flex;gap:6px;flex-wrap:wrap}
