:root{
  --bg:#fbfbfa; --panel:#fff; --ink:#1a1a19; --muted:#6b6b68;
  --line:#e5e4e1; --accent:#1f6feb; --ok:#16794c; --warn:#8a5a00; --err:#b42318;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#161615; --panel:#1e1e1d; --ink:#f2f2ef; --muted:#a3a29e;
    --line:#33322f; --accent:#6ba4ff; --ok:#5ec294; --warn:#e0b25c; --err:#f0837a;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.55 ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;border-bottom:1px solid var(--line);background:var(--panel)}
.brand{font-weight:650;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.muted{color:var(--muted);font-weight:400}
.status{font-size:13px;color:var(--muted)}
.status.ok{color:var(--ok)} .status.bad{color:var(--err)}
main{max-width:860px;margin:0 auto;padding:24px 20px 64px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:20px;margin-bottom:20px}
h1{font-size:20px;margin:0 0 4px} h2{font-size:16px;margin:0 0 14px}
label{display:block;margin-bottom:12px;font-size:13px;color:var(--muted)}
input,select{display:block;width:100%;margin-top:5px;padding:9px 11px;font:inherit;
  color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px}
button{padding:9px 16px;font:inherit;font-weight:550;color:#fff;background:var(--accent);
  border:0;border-radius:8px;cursor:pointer}
button:disabled{opacity:.55;cursor:not-allowed}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}
.row{display:flex;gap:14px;align-items:flex-end;margin-bottom:20px}
.row.between{align-items:center;justify-content:space-between;margin-bottom:14px}
.grow{flex:1;margin-bottom:0}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--muted);font-weight:600;padding:0 10px 8px 0}
td{padding:9px 10px 9px 0;border-top:1px solid var(--line)}
.banner{border:1px solid var(--line);border-left:3px solid var(--warn);
  background:var(--panel);border-radius:10px;padding:14px 16px;margin-bottom:20px;font-size:14px}
.banner strong{color:var(--warn)}
.error{color:var(--err);font-size:13px;margin:8px 0 0}
.progress{height:7px;background:var(--line);border-radius:99px;overflow:hidden;margin:14px 0 8px}
#progressBar{height:100%;width:0;background:var(--accent);transition:width .2s}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;
  border:1px solid var(--line);color:var(--muted)}
.pill.ready{color:var(--ok);border-color:currentColor}
.pill.processing,.pill.uploading{color:var(--warn);border-color:currentColor}
.pill.failed{color:var(--err);border-color:currentColor}
