:root { --fg:#1a2332; --muted:#5b6677; --line:#dde3ec; --accent:#1f5fbf; --bg:#f6f8fb; }
* { box-sizing: border-box; }
body { font-family: -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--fg); background: var(--bg); margin: 0; line-height: 1.5; }
header { background:#fff; border-bottom:1px solid var(--line); padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; }
header .brand { font-weight:700; }
header nav a { margin-left:16px; color:var(--accent); text-decoration:none; }
main { max-width: 920px; margin: 28px auto; padding: 0 24px; }
h1 { font-size: 1.4rem; } h2 { font-size: 1.1rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:20px; margin-bottom:18px; }
label { display:block; font-weight:600; margin:14px 0 4px; }
input[type=text], textarea, select { width:100%; padding:9px 11px; border:1px solid var(--line);
  border-radius:8px; font-size:0.95rem; font-family:inherit; }
textarea { min-height:80px; resize:vertical; }
.checks label { display:inline-flex; align-items:center; font-weight:500; margin-right:18px; }
.checks input { margin-right:6px; }
button { background:var(--accent); color:#fff; border:0; padding:10px 18px; border-radius:8px;
  font-size:0.95rem; cursor:pointer; }
button:disabled { opacity:0.5; cursor:default; }
button.secondary { background:#fff; color:var(--accent); border:1px solid var(--accent); }
table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); font-size:0.92rem; }
th { color:var(--muted); font-weight:600; }
a { color:var(--accent); }
.muted { color:var(--muted); font-size:0.88rem; }
.progress { height:8px; background:var(--line); border-radius:6px; overflow:hidden; margin-top:6px; }
.progress > div { height:100%; width:0; background:var(--accent); transition:width .2s; }
.badge { display:inline-block; padding:2px 9px; border-radius:20px; font-size:0.78rem; font-weight:600; }
.badge.queued{background:#fff3cd;color:#7a5b00;} .badge.uploading{background:#e7eefc;color:#1f5fbf;}
.badge.draft{background:#eef1f5;color:#5b6677;}
ul{margin:6px 0;padding-left:20px;} li{font-size:0.92rem;}
.badge.processing{background:#e7eefc;color:#1f5fbf;} .badge.complete{background:#d6f3e0;color:#176b3a;}
.badge.error{background:#fbe0e0;color:#9b1c1c;}
.notice { background:#fff8e6; border:1px solid #ffe6a8; padding:10px 14px; border-radius:8px; font-size:0.9rem; }
.error-msg { color:#9b1c1c; }
