*{box-sizing:border-box}
body{margin:0;font-family:system-ui,sans-serif;background:#f4f5f7;color:#1c1e21}
.bar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#111;color:#fff}
.bar a{color:#9cf}
main{max-width:860px;margin:24px auto;padding:0 16px}
.card{background:#fff;border-radius:10px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.narrow{max-width:380px;margin:60px auto}
label{display:block;margin:12px 0;font-size:14px;font-weight:600}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #ccd0d5;border-radius:6px;font:inherit}
button,.btn{display:inline-block;padding:10px 18px;background:#fe2c55;color:#fff;border:0;border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}
button.ghost{background:#eee;color:#333}
.row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}
.row button{width:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px;border-bottom:1px solid #eee;vertical-align:top}
.err{color:#b00020}.flash{background:#e7f5ea;padding:12px;border-radius:6px}.note{font-size:13px;color:#666}
.s-published{color:#0a7d33}.s-failed{color:#b00020}.s-queued,.s-generating,.s-uploading{color:#b36b00}
