:root{--ink:#14213D;--text:#2B3240;--muted:#5A6272;--line:#D5DAE3;--soft:#F3F5F8;--ok:#1E6B4F;--ok-bg:#E3F2EC;--warn:#8A5300;--warn-bg:#FBF0DC;--bad:#9B1C1C;--bad-bg:#FBE7E7;--focus:#1F5FD1}
*{box-sizing:border-box}
html{font:17px/1.6 'Atkinson Hyperlegible',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:#fff}
body{margin:0}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5rem 1rem}
.skip:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
header{border-bottom:1px solid var(--line)}
.bar{max-width:62rem;margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-weight:700;color:var(--ink);font-size:1.05rem;letter-spacing:.01em}
.brand span{font-weight:400;color:var(--muted)}
main{max-width:62rem;margin:0 auto;padding:2rem 1.25rem 4rem}
h1{color:var(--ink);font-size:2rem;line-height:1.2;margin:0 0 .5rem;max-width:30ch}
h2{color:var(--ink);font-size:1.25rem;margin:2.5rem 0 .75rem}
.lede{max-width:60ch;margin:0 0 1.75rem;color:var(--text)}
button,.btn{font:inherit;font-size:.95rem;border-radius:8px;padding:.55rem 1rem;cursor:pointer;border:2px solid var(--ink);background:#fff;color:var(--ink);text-decoration:none;display:inline-block;line-height:1.3}
button.primary{background:var(--ink);color:#fff}
button:disabled{opacity:.55;cursor:not-allowed}
.link{border:0;background:none;padding:.25rem 0;color:var(--focus);text-decoration:underline;font-size:.95rem}
.drop{border:2px dashed #8C96A8;border-radius:12px;padding:1.75rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:var(--soft)}
.drop.over{border-color:var(--focus);background:#EAF1FD}
.drop p{margin:0;max-width:40ch}
.picked{margin:.75rem 0 0;color:var(--muted);font-size:.95rem}
.msg{margin:.75rem 0 0;font-size:.95rem}.msg.err{color:var(--bad)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:.65rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{color:var(--ink);border-bottom:2px solid var(--ink);white-space:nowrap}
td.file{word-break:break-all;max-width:22rem}
.status{display:inline-block;padding:.1rem .55rem;border-radius:6px;font-size:.88rem;white-space:nowrap}
.s-done{background:var(--ok-bg);color:var(--ok)}.s-needs_review{background:var(--warn-bg);color:var(--warn)}
.s-failed{background:var(--bad-bg);color:var(--bad)}.s-queued,.s-processing{background:var(--soft);color:var(--ink)}
.score{white-space:nowrap}
.actions{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.empty{color:var(--muted);padding:1.25rem 0}
.note{color:var(--muted);font-size:.9rem;max-width:60ch}
.login{max-width:24rem;margin:5rem auto;padding:0 1.25rem}
.login label{display:block;font-weight:700;color:var(--ink);margin:1.25rem 0 .35rem}
.login input{font:inherit;width:100%;padding:.6rem .7rem;border:2px solid #8C96A8;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){thead{display:none}tr{display:block;border-bottom:1px solid var(--line);padding:.5rem 0}td{display:block;border:0;padding:.2rem 0}}

fieldset.ai{border:0;margin:0;padding:0;flex:1 1 100%;display:grid;gap:.3rem}
fieldset.ai legend{font-weight:700;color:var(--ink);padding:0;margin-bottom:.3rem}
fieldset.ai label{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
fieldset.ai input:disabled+b{color:var(--muted)}
.aiinfo{margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}
.cert{display:inline-block;padding:.1rem .55rem;border-radius:6px;font-size:.82rem;background:var(--ok-bg);color:var(--ok);font-weight:700;margin-top:.25rem}
.s-applying{background:var(--soft);color:var(--ink)}
a.btn.small,.btn.small{font-size:.88rem;padding:.25rem .7rem}
/* review screen */
.items{display:grid;gap:1rem;margin:1rem 0}
.item{border:1px solid var(--line);border-radius:12px;padding:1rem;display:grid;grid-template-columns:12rem 1fr;gap:1.2rem}
.item img{width:12rem;max-height:10rem;object-fit:contain;background:var(--soft);border-radius:8px}
.item h3{margin:0 0 .2rem;font-size:1.05rem;color:var(--ink)}
.item .why{color:var(--warn);font-size:.92rem;margin:.1rem 0 .6rem}
.item textarea{font:inherit;width:100%;min-height:3.2rem;resize:vertical;padding:.5rem .6rem;border:2px solid #8C96A8;border-radius:8px}
.item fieldset{border:0;padding:0;margin:.6rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.item legend{font-size:.9rem;color:var(--muted);padding:0;margin-bottom:.2rem}
.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:.06rem .45rem;border-radius:5px;vertical-align:.1em}
.c-AI{background:#ECE8F8;color:#5236A0}.c-Open{background:var(--warn-bg);color:var(--warn)}
.who{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1.5rem 0}
.who label{display:block;font-weight:700;color:var(--ink);margin-bottom:.3rem}
.who input{font:inherit;padding:.5rem .6rem;border:2px solid #8C96A8;border-radius:8px;min-width:16rem}
@media (max-width:640px){.item{grid-template-columns:1fr}.item img{width:100%}}
