:root{
  --bg:#0f1115; --card:#1a1d24; --fg:#e6e6e6; --muted:#9aa0a6; --line:#2a2e37;
  --accent:#4f9dff; --done:#39c07a; --pending:#e0a44a; --failed:#e0524a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.6}
header{padding:24px 28px 8px}
header h1{margin:0;font-size:22px}
.sub{color:var(--muted);margin:4px 0 0;font-size:13px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;padding:16px 28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.card .k{color:var(--muted);font-size:12px}
.card .v{font-size:22px;font-weight:600;margin-top:4px;word-break:break-all}
.panel{margin:8px 28px 32px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:16px}
.search-row{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.search-row input{flex:1;min-width:200px;background:#0c0e12;border:1px solid var(--line);
  color:var(--fg);padding:8px 10px;border-radius:8px}
button{background:var(--accent);color:#fff;border:0;padding:8px 14px;border-radius:8px;cursor:pointer}
button:disabled{opacity:.4;cursor:default}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}
a{color:var(--accent);text-decoration:none}
.badge{padding:2px 8px;border-radius:20px;font-size:12px}
.badge.done{background:rgba(57,192,122,.18);color:var(--done)}
.badge.pending{background:rgba(224,164,74,.18);color:var(--pending)}
.badge.failed{background:rgba(224,82,74,.18);color:var(--failed)}
#pager{margin-top:12px;color:var(--muted);font-size:13px;display:flex;gap:10px;align-items:center}
.back{display:inline-block;margin:18px 0 0 28px;color:var(--accent)}
.field{border-bottom:1px solid var(--line);padding:12px 0}
.fk{color:var(--accent);font-size:13px;margin-bottom:4px}
.fv{white-space:pre-wrap}
ul{margin:4px 0;padding-left:20px}

/* 名单进度条 */
.progress{position:relative;height:26px;background:#0c0e12;border:1px solid var(--line);
  border-radius:8px;overflow:hidden;margin:0 0 14px;display:flex;align-items:center}
.progress .bar{position:absolute;left:0;top:0;bottom:0;width:0;
  background:linear-gradient(90deg,#2f7fd6,#4f9dff);transition:width .6s ease}
.progress .ptext{position:relative;z-index:1;padding:0 12px;font-size:13px;color:var(--fg)}
.table-wrap{width:100%;overflow-x:auto}

/* 移动端适配 */
@media (max-width:640px){
  header{padding:16px 16px 4px}
  header h1{font-size:18px}
  .sub{font-size:12px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:12px 16px}
  .card{padding:10px 12px}
  .card .v{font-size:18px}
  .panel{margin:8px 16px 24px;padding:12px}
  .search-row input{min-width:0}
  th,td{font-size:13px;padding:8px 6px;white-space:nowrap}
  .back{margin-left:16px}
}
