:root{--bg: #f6f7f9;--surface: #ffffff;--border: #d9dde3;--text: #15181d;--muted: #5e6672;--accent: #1d4ed8;--accent-text: #ffffff;--ok: #0f7b47;--warn: #8a5a00;--err: #b3261e;--radius: 10px}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--surface: #1c1f25;--border: #2f343c;--text: #e8eaed;--muted: #9aa3b0;--accent: #6f9bff;--accent-text: #0b1020;--ok: #52c58a;--warn: #e0ad4a;--err: #ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.3rem;margin:0}h2{font-size:1.05rem;margin:0 0 .75rem}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.page{max-width:820px;margin:0 auto;padding:1rem}.centred{min-height:100vh;display:grid;place-items:center;padding:1rem}.topbar{padding-bottom:.75rem;margin-bottom:1rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.7rem}.login{width:min(380px,100%)}.row{display:flex;align-items:center;gap:.5rem}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.row.gap{gap:.5rem;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:.3rem;font-weight:500}label.inline{flex-direction:row;align-items:center;font-weight:400;gap:.4rem}input[type=text],input[type=password],input[type=number],input[type=file]{font:inherit;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);width:100%}input:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}fieldset{border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem;margin:0}legend{font-weight:500;padding:0 .3rem}button{font:inherit;font-weight:500;padding:.5rem .9rem;border:1px solid transparent;border-radius:8px;background:var(--accent);color:var(--accent-text);cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border-color:var(--border)}button.danger{background:transparent;color:var(--err);border-color:var(--err)}button.link{background:none;border:none;color:var(--accent);padding:0;align-self:flex-start;text-decoration:underline}button.small,.small{font-size:.85rem}a{color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--err);margin:0}.warn{color:var(--warn)}.status{color:var(--muted);margin:0;font-variant-numeric:tabular-nums}.advanced{display:flex;flex-direction:column;gap:.7rem;padding:.8rem;border:1px dashed var(--border);border-radius:8px}.badge{margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);color:var(--muted);vertical-align:middle}.badge.running,.badge.queued{color:var(--accent);border-color:currentColor}.badge.done{color:var(--ok);border-color:currentColor}.badge.failed{color:var(--err);border-color:currentColor}.bar{height:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;overflow:hidden}.fill{height:100%;background:var(--accent);transition:width .4s ease}.job header{flex-wrap:wrap;gap:.4rem}.job ul{margin:.5rem 0 0;padding-left:1.2rem}.job li{margin-bottom:.3rem}summary{cursor:pointer;color:var(--muted)}.foot{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:560px){.page{padding:.75rem}.row.between{flex-direction:column;align-items:flex-start}.topbar{flex-direction:row;align-items:center}}
