:root{--bg:#0f1221;--card:#151933;--acc:#2b4cff;--ok:#1db954;--ng:#ff4d6d;--text:#e8ecff;--muted:#a9b1d6}
*{box-sizing:border-box} #jhb-root{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial; color:var(--text)}
.jhb-wrap{background:var(--bg); padding:12px; border-radius:14px; box-shadow:0 6px 24px rgba(0,0,0,.25)}
.jhb-top{display:flex; gap:12px; flex-wrap:wrap}
.jhb-card{background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:12px; flex:1; min-width:280px}
.jhb-title{display:flex;align-items:center;gap:8px;font-weight:700}
.jhb-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:12px;background:rgba(255,255,255,.04)}
.btn{background:var(--acc);color:#fff;border:none;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:700}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.18);color:var(--text)}
.btn-ok{background:var(--ok)} .btn-ng{background:var(--ng)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}
.li{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:8px;border-radius:10px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.small{font-size:12px;color:var(--muted)}
.kpi{font-size:13px}
.kpi b{font-size:16px;margin-right:2px}
.hr{height:1px;background:rgba(255,255,255,.08);margin:8px 0}
.emoji{font-size:20px}
input[type=number]{width:80px;background:#0b0f26;color:var(--text);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 8px}
.progress{height:8px;background:#0b0f26;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--ok),#4ade80)}
.footer{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:8px}
a.jhb-link{color:#a4b8ff;text-decoration:none}
.log{max-height:120px;overflow:auto;font-size:12px;line-height:1.4;background:#0b0f26;border:1px solid rgba(255,255,255,.1);padding:8px;border-radius:8px}
.char{display:flex;gap:10px}
.avatar{width:64px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #ddd}
.tag{font-size:12px;padding:1px 6px;border:1px solid #aaa;border-radius:999px;margin-left:6px}