:root{--bg:#fbfbfa;--panel:#fff;--ink:#1b1b1a;--muted:#6b6b68;--line:#e4e4e1;
--accent:#1b5e8f;--good:#1a6d4a;--warn:#8a5a00;--bad:#9b2c2c;--chip:#f0efec;
--pursue:#1a6d4a;--pursue-bg:#e7f4ed;--skip:#9b2c2c;--skip-bg:#fbeaea}
@media(prefers-color-scheme:dark){:root{
--bg:#17181a;--panel:#1f2124;--ink:#e9e8e5;--muted:#9b9b97;--line:#323438;
--accent:#6fb3e0;--good:#5fc295;--warn:#e0b060;--bad:#e08585;--chip:#2a2c30;
--pursue:#5fc295;--pursue-bg:#1d3b2e;--skip:#e08585;--skip-bg:#3b2222}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
font:15px/1.5 ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
-webkit-text-size-adjust:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px 64px}
header.top{border-bottom:1px solid var(--line);background:var(--panel);
position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;align-items:center;gap:16px;padding:10px 16px;
flex-wrap:wrap}
header.top a{color:var(--ink);text-decoration:none;font-weight:600}
header.top nav{display:flex;gap:14px;margin-left:auto;align-items:center}
header.top nav a{font-weight:400;color:var(--muted)}
header.top nav a:hover{color:var(--accent)}
h1{font-size:1.4rem;margin:22px 0 4px;letter-spacing:-.01em}
h2{font-size:1.05rem;margin:32px 0 10px}
h2 .rule{font-weight:400;color:var(--muted);font-size:.85rem;margin-left:8px}
.sub{color:var(--muted);font-size:.9rem;margin:0 0 18px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;
padding:14px 16px;margin:0 0 16px;overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);
white-space:nowrap;vertical-align:top}
th{font-weight:600;color:var(--muted);font-size:.76rem;text-transform:uppercase;
letter-spacing:.04em}
tr:last-child td{border-bottom:none}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}
.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.muted{color:var(--muted)}.wide{white-space:normal;min-width:190px}
.chip{display:inline-block;background:var(--chip);border-radius:999px;
padding:2px 9px;font-size:.73rem;color:var(--muted)}
.chip.d{color:var(--warn)}
.chip.pursue{background:var(--pursue-bg);color:var(--pursue);font-weight:600}
.chip.skip{background:var(--skip-bg);color:var(--skip);font-weight:600}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;margin:0}
.kv dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.kv dd{margin:1px 0 0;font-variant-numeric:tabular-nums}
.d1{border-left:3px solid var(--accent);padding-left:10px}
.note{font-size:.84rem;color:var(--muted);line-height:1.55;margin:8px 0 0}
.final{font-weight:650;color:var(--accent)}
a{color:var(--accent)}
button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);
color:var(--ink);border-radius:7px;padding:6px 12px;cursor:pointer}
button:hover{border-color:var(--accent)}
button.pursue{background:var(--pursue-bg);color:var(--pursue);border-color:transparent;font-weight:600}
button.skip{background:var(--skip-bg);color:var(--skip);border-color:transparent;font-weight:600}
button.primary{background:var(--accent);color:#fff;border-color:transparent;font-weight:600}
select,input[type=text],input[type=password],input[type=file]{font:inherit;
padding:6px 8px;border:1px solid var(--line);border-radius:7px;
background:var(--bg);color:var(--ink);max-width:100%}
form.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.flash{background:var(--chip);border-left:3px solid var(--accent);
padding:9px 13px;border-radius:7px;margin:14px 0;font-size:.9rem}
.tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.tabs a{padding:5px 12px;border-radius:999px;background:var(--chip);
text-decoration:none;color:var(--muted);font-size:.86rem}
.tabs a.on{background:var(--accent);color:#fff;font-weight:600}
.decided{opacity:.55}
.login{max-width:330px;margin:14vh auto 0}
.login label{display:block;margin:12px 0 4px;font-size:.8rem;color:var(--muted);
text-transform:uppercase;letter-spacing:.04em}
.login input{width:100%}
.login button{width:100%;margin-top:18px}
.spark{display:inline-block;vertical-align:middle}
@media(max-width:640px){table{font-size:.82rem}th,td{padding:6px 7px}
h1{font-size:1.2rem}.wrap{padding:0 12px 48px}}

/* Candidate table: the review buttons are the point of the page, so pin that
   column to the right edge while the rest of the wide row scrolls under it. */
table.actions td:last-child,
table.actions th:last-child{
  position:sticky;right:0;background:var(--panel);
  box-shadow:-10px 0 10px -10px rgba(0,0,0,.28);min-width:210px}
table.actions tr:hover td:last-child{background:var(--panel)}
table.actions select{max-width:170px}
table.actions form.inline{gap:5px}
table.actions form.inline button{padding:5px 10px}
