:root{--bg:#0b1220;--panel:#0f1a30;--panel-2:#142340;--border:#213057;--text:#e6edf7;--muted:#8a9bbf;--accent:#4f8cff;--accent-soft:rgba(79,140,255,0.18);--warn:#f0b54a;--danger:#ef6878;--ok:#57c897;--radius:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--text);font-weight:600;letter-spacing:-.01em}h1{font-size:28px;margin:0 0 var(--space-5)}h2{font-size:20px;margin:0 0 var(--space-3)}h3{font-size:16px;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-3)}code{background:var(--panel-2);padding:2px 6px;border-radius:4px;font-size:.9em}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);background:var(--panel)}.header .brand{font-weight:600;font-size:17px;letter-spacing:-.01em}.header .brand .muted{color:var(--muted);font-weight:400;margin-left:var(--space-2)}.header nav{display:flex;gap:var(--space-4);align-items:center}.header nav a{color:var(--muted)}.header nav a.active,.header nav a:hover{color:var(--text);text-decoration:none}.header .logout{background:none;border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:var(--radius);cursor:pointer;font:inherit}.header .logout:hover{color:var(--text);border-color:var(--accent)}.role-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.page{max-width:1180px;margin:0 auto;padding:var(--space-6) var(--space-5)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.card,.card h2{margin-bottom:var(--space-4)}.card .muted{color:var(--muted)}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}@media (max-width:800px){.grid.four,.grid.three,.grid.two{grid-template-columns:1fr}}.tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border);margin-bottom:var(--space-5)}.tabs a{padding:var(--space-3) var(--space-4);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--text);border-bottom-color:var(--accent)}.tabs a:hover{color:var(--text);text-decoration:none}label{display:block;color:var(--muted);font-size:13px;margin-bottom:var(--space-1)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);font:inherit}textarea{min-height:140px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.button{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:var(--radius);padding:10px 18px;font:inherit;font-weight:500;cursor:pointer}.button:hover{filter:brightness(1.1)}.button.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.button.ghost:hover{border-color:var(--accent);color:var(--accent)}.button.warn{background:var(--warn);color:#1a1a1a}.button.danger{background:var(--danger)}.form-row{margin-bottom:var(--space-4)}.form-row.inline{display:flex;gap:var(--space-3);align-items:center}.error{color:var(--danger)}.error,.success{margin:var(--space-3) 0}.success{color:var(--ok)}table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}td,th{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:13px;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score.good{color:var(--ok)}.score.mid{color:var(--warn)}.score.bad{color:var(--danger)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.pill.draft{background:rgba(240,181,74,.12);color:var(--warn);border-color:var(--warn)}.pill.submitted{background:rgba(87,200,151,.14);color:var(--ok);border-color:var(--ok)}.pill.late{background:rgba(239,104,120,.14);color:var(--danger);border-color:var(--danger)}.pill.shortlisted{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.auth-wrap{display:flex;align-items:center;justify-content:center;height:100vh;padding:var(--space-5)}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);max-width:420px;width:100%}.auth-card h1{font-size:22px;margin-bottom:var(--space-2)}.auth-card .subtitle{color:var(--muted);margin-bottom:var(--space-5)}.qa-msg{padding:var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-3);background:var(--panel-2);border:1px solid var(--border)}.qa-msg.partner{border-left:3px solid var(--accent)}.qa-msg.admin,.qa-msg.evaluator{border-left:3px solid var(--warn)}.qa-msg .meta{font-size:12px;color:var(--muted);margin-bottom:var(--space-2)}.score-grid{display:grid;grid-template-columns:220px repeat(5,1fr);grid-gap:0;gap:0;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-4)}.score-grid>div{padding:10px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.score-grid .label{color:var(--muted)}.score-grid input[type=radio]{margin:0}.score-grid label{display:flex;align-items:center;justify-content:center;cursor:pointer;padding:4px;margin:0;color:var(--text)}.score-grid label:has(input:checked){background:var(--accent-soft);color:var(--accent)}.brand .accent{color:#00945e}