:root{--bg:#f6f6f4;--card:#fff;--fg:#1d1d1f;--mute:#777;--line:#e2e2de;--chip:#f0f0ec;--hot:#e8590c;--link:#2f6fd6;
  --c-推荐:#e8590c;--c-合格:#2f9e44;--c-红旗:#d6336c;--c-低分:#f2b84b;--c-待查:#9775fa;--c-未审:#6b8fd6;--c-过滤:#c9c9c4}
@media (prefers-color-scheme:dark){:root{--bg:#141416;--card:#1e1e21;--fg:#ececec;--mute:#999;--line:#2e2e33;--chip:#2a2a2e;--hot:#ff8a4c;--link:#7aa7ff;
  --c-推荐:#ff8a4c;--c-合格:#51cf66;--c-红旗:#f06595;--c-低分:#e0a83a;--c-待查:#b197fc;--c-未审:#6b8fff;--c-过滤:#4a4a50}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 -apple-system,"PingFang SC",sans-serif}
a{color:var(--link)}
.top{display:flex;align-items:baseline;gap:12px;padding:16px 20px 4px;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;letter-spacing:-.5px;color:var(--fg);text-decoration:none}
.logo span{color:var(--hot)}
h1{font-size:20px;margin:0}
.sub{color:var(--mute);font-size:13px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:0}
.btn{padding:4px 12px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;font-size:13px}
.btn:hover{background:var(--chip)}
.btn.danger{color:var(--c-红旗)}
.pill{display:inline-block;border-radius:4px;padding:0 6px;font-size:11px;font-weight:600;background:var(--chip);color:var(--mute)}
.chip{display:inline-block;background:var(--chip);border-radius:4px;padding:0 5px;margin:2px 3px 0 0;font-size:11px;color:var(--mute)}
input[type=number],input[type=text],input[type=password]{padding:3px 6px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:6px;font:inherit}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg);padding:0}
dialog::backdrop{background:rgba(0,0,0,.4)}
dialog.login form{display:flex;flex-direction:column;gap:10px;padding:24px;width:260px}
dialog.login input{padding:8px}dialog.login button{padding:8px;border:0;border-radius:6px;background:var(--hot);color:#fff;font-weight:600;cursor:pointer}
dialog.login .err{color:var(--c-红旗);margin:0;font-size:12px;min-height:1em}
.empty{color:var(--mute);padding:40px 10px;text-align:center}
.tabs{display:inline-flex;gap:4px;margin-left:8px}
.tabs a{padding:3px 10px;border-radius:6px;color:var(--mute);text-decoration:none;font-size:14px}
.tabs a:hover{background:var(--chip)}
.tabs a.on{background:var(--fg);color:var(--bg)}
.btn.primary{background:var(--hot);color:#fff;border-color:var(--hot);font-weight:600}
.btn.primary:disabled{opacity:.4;cursor:default}
dialog.pick label{display:flex;gap:6px;align-items:center;font-size:14px}
