:root { --blue:#2b6cb0; --bg:#f6f7f9; --card:#fff; --line:#e2e6ea; --txt:#2d3540; --muted:#8a94a0; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--txt);
  font:16px/1.65 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif; }
.wrap { max-width:640px; margin:0 auto; padding:20px 16px 60px; }
h1 { font-size:22px; margin:10px 0 4px; }
.sub { color:var(--muted); font-size:14px; margin-bottom:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px; margin-bottom:14px; }
label { display:block; font-size:14px; color:var(--muted); margin:14px 0 4px; }
input[type=text], input[type=password], textarea, select {
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px;
  font-size:16px; background:#fff; color:var(--txt); }
textarea { min-height:90px; resize:vertical; }
button, .btn { display:inline-block; background:var(--blue); color:#fff; border:none;
  border-radius:8px; padding:11px 22px; font-size:16px; cursor:pointer; text-decoration:none; }
button:disabled { background:#a9bfd4; }
.btn-ghost { background:#fff; color:var(--blue); border:1px solid var(--blue); }
.btn-sm { padding:6px 14px; font-size:14px; }
.filelist { font-size:14px; color:var(--muted); margin-top:8px; }
.ok { color:#1a7f37; } .err { color:#c0392b; }
.row { display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:12px 4px; border-bottom:1px solid var(--line); }
.row:last-child { border-bottom:none; }
.tag { font-size:12px; padding:2px 8px; border-radius:10px; background:#eef2f6; color:var(--muted); white-space:nowrap; }
.tag.pending { background:#fdecea; color:#c0392b; }
.tag.synced { background:#fef5e7; color:#b7791f; }
.tag.graded { background:#e8f5ee; color:#1a7f37; }
a { color:var(--blue); text-decoration:none; }
.imgprev { max-width:100%; border:1px solid var(--line); border-radius:8px; margin:8px 0; }
.topnav { display:flex; gap:14px; margin-bottom:14px; font-size:14px; flex-wrap:wrap; }
pre.fb { white-space:pre-wrap; font:15px/1.7 inherit; background:#fafbfc;
  border:1px solid var(--line); border-radius:8px; padding:14px; }
.muted { color:var(--muted); font-size:13px; }
