* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
       background: #0f172a; color: #e2e8f0; display: flex; justify-content: center; padding: 24px 12px; }
.card { width: 100%; max-width: 760px; background: #111827; border: 1px solid #1f2937; border-radius: 14px; padding: 24px; }
h1 { margin: 0; font-size: 26px; }
h3 { margin-top: 28px; font-size: 16px; color: #94a3b8; }
.sub { color: #64748b; margin: 4px 0 20px; font-size: 13px; }
label { display: block; margin: 12px 0 6px; font-size: 14px; color: #cbd5e1; }
input, select, textarea { width: 100%; margin-top: 6px; padding: 10px; border-radius: 8px; border: 1px solid #334155;
       background: #0b1220; color: #e2e8f0; font: inherit; }
textarea { resize: vertical; }
button { padding: 10px 18px; border: 0; border-radius: 8px; background: #6366f1; color: white; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .5; cursor: not-allowed; }
button.secondary { background: #334155; }
button.link { background: none; color: #94a3b8; padding: 0; font-weight: normal; }
.actions { margin-top: 16px; display: flex; gap: 10px; }
.bar { display: flex; justify-content: space-between; font-size: 13px; color: #94a3b8; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.grid .wide { grid-column: 1 / -1; }
.status { margin-top: 20px; }
.badge { padding: 2px 10px; border-radius: 999px; background: #334155; font-size: 13px; }
.badge.queued, .badge.starting { background: #a16207; }
.badge.running { background: #2563eb; }
.badge.completed { background: #15803d; }
.badge.failed, .badge.timeout { background: #b91c1c; }
.badge.cancelled { background: #475569; }
.muted { color: #94a3b8; font-size: 13px; margin-top: 6px; }
.err { color: #f87171; }
.result { min-height: 80px; white-space: pre-wrap; word-break: break-word; background: #0b1220; border: 1px solid #334155;
          border-radius: 8px; padding: 12px; }
pre { white-space: pre-wrap; word-break: break-word; font-size: 12px; }
#history { list-style: none; padding: 0; font-size: 13px; }
#history li { padding: 6px 0; border-bottom: 1px solid #1f2937; cursor: pointer; }
#history li:hover { color: #a5b4fc; }
.hidden { display: none !important; }
