:root { --ink: #1d2733; --muted: #5b6776; --line: #d7dde4; --accent: #0b5cad; --bad: #a31515; --bg: #f7f9fb; }
* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.5 system-ui, sans-serif; color: var(--ink); background: var(--bg); }
header { display: flex; gap: 1rem; align-items: center; padding: .75rem 1rem; background: #fff; border-bottom: 1px solid var(--line); }
header .who { margin-left: auto; color: var(--muted); }
main { max-width: 960px; margin: 0 auto; padding: 1rem; }
button { font: inherit; padding: .35rem .8rem; border: 1px solid var(--accent); background: var(--accent); color: #fff; border-radius: 4px; cursor: pointer; }
button.small { padding: .1rem .5rem; font-size: 13px; background: #fff; color: var(--accent); }
button:disabled { opacity: .5; cursor: default; }
.sites { list-style: none; padding: 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.sites button { background: #fff; color: var(--accent); }
.upload { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 1rem; margin: 1rem 0; }
.hint, .note { color: var(--muted); }
progress { width: 100%; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: .4rem; border-bottom: 1px solid var(--line); font-size: 14px; vertical-align: top; }
.error { color: var(--bad); }
.mono { font-family: ui-monospace, monospace; font-size: 13px; }
