* { box-sizing: border-box; }
body { font-family: -apple-system, system-ui, sans-serif; margin: 0; background: #0e1015; color: #e3e6ea; }
a { color: #6ea8ff; text-decoration: none; } a:hover { text-decoration: underline; }
.topbar { display:flex; justify-content:space-between; padding: 0.8rem 1.2rem; background:#16191f; border-bottom: 1px solid #262b36; }
.topbar .brand { font-weight: 700; font-size: 1.1rem; }
.topbar nav { display:flex; gap:1rem; align-items:center; color:#888; }
main { padding: 1.5rem; }
.grid { display:grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.col h2 { margin: 0 0 0.6rem; }
table { width:100%; border-collapse: collapse; font-size: 0.92rem; }
th, td { text-align:left; padding: 6px 8px; border-bottom: 1px solid #262b36; }
thead th { background: #1a1d24; color:#aaa; font-weight: 600; }
.badge { padding: 2px 8px; border-radius: 8px; background:#222; font-size: 0.78rem; }
.status-running .badge { background:#1f5fbf; }
.status-done .badge { background:#1f8a3b; }
.status-failed .badge { background:#a8331f; }
.status-cancelled .badge { background:#555; }
.status-queued .badge { background:#7a6a23; }
.stats { display:flex; gap:1.4rem; margin: 0.8rem 0 1.2rem; padding: 0.6rem 1rem; background:#16191f; border-radius:6px; }
.stats span { font-size: 0.92rem; }
.job-form { display:flex; gap:1rem; align-items:end; flex-wrap:wrap; padding: 0.8rem 1rem; background:#16191f; border-radius:6px; margin-bottom:1rem; }
.job-form label { display:flex; flex-direction:column; gap:4px; font-size:0.85rem; color:#aaa; }
.job-form input, .job-form select { background:#262b36; color:#e3e6ea; border:1px solid #333a48; padding: 6px 8px; border-radius:4px; min-width: 220px; }
.job-form button { background:#3056b8; color:white; border:none; padding: 8px 14px; border-radius:4px; cursor:pointer; }
.job-form button:hover { background:#3a64cc; }
form button { background:#374151; color:white; border:none; padding: 4px 10px; border-radius:4px; cursor:pointer; }
.auth { max-width: 360px; margin: 6rem auto; padding: 2rem; background:#16191f; border-radius:8px; text-align:center; }
.auth h1 { margin-top:0; }
.auth input { width:100%; padding: 10px; background:#262b36; color:#e3e6ea; border:1px solid #333a48; border-radius:4px; margin-bottom: 0.8rem; }
.auth button { width:100%; padding: 10px; background: #3056b8; color: white; border: none; border-radius: 4px; cursor: pointer; }
.err { color: #ff7676; margin: 0 0 1rem; }
details { background:#16191f; padding: 0.6rem 1rem; border-radius:6px; margin-top:1rem; }
pre { white-space: pre-wrap; max-height: 400px; overflow-y: auto; font-size: 0.82rem; }
