* { box-sizing: border-box; }
body { font: 14px/1.5 system-ui, -apple-system, sans-serif; max-width: 900px; margin: 1.5em auto; padding: 0 1em; color: #222; background: #fafafa; }
nav { display: flex; align-items: center; gap: 1em; border-bottom: 1px solid #ddd; padding-bottom: 0.5em; margin-bottom: 1.5em; }
nav .spacer { flex: 1; }
nav form.inline { display: inline; margin: 0; }
nav button { background: none; border: none; color: #555; cursor: pointer; }
h1 { font-size: 1.5em; }
h2 { font-size: 1.15em; margin-top: 2em; }
label { display: block; margin: 0.5em 0; }
input[type=url], input[type=password], input[type=file] { display: block; width: 100%; padding: 0.4em; border: 1px solid #bbb; border-radius: 4px; font-size: 14px; }
button[type=submit] { background: #2563eb; color: white; border: none; padding: 0.5em 1em; border-radius: 4px; cursor: pointer; font-size: 14px; }
form.inline button { background: none; color: #c00; border: 1px solid #c00; padding: 0.2em 0.5em; }
form.inline button:hover { background: #fee; }
table { width: 100%; border-collapse: collapse; margin-top: 1em; }
th, td { text-align: left; padding: 0.4em 0.6em; border-bottom: 1px solid #eee; }
th { background: #f0f0f0; font-weight: 600; }
.status-done { color: #15803d; }
.status-error { color: #b91c1c; }
.status-running { color: #1d4ed8; }
.status-pending { color: #6b7280; }
.error { color: #b91c1c; }
.ok { color: #15803d; }
code { font-size: 12px; background: #f0f0f0; padding: 1px 4px; border-radius: 3px; }
progress { width: 100%; height: 8px; }
