:root{--ink:#17233b;--soft:#5d6880;--line:#dfe4ee;--bg:#f5f7fb;--card:#fff;--brand:#12356b;--accent:#e2572b;--ok:#17734a;--okbg:#e4f5ec;--bad:#a52222;--badbg:#fbe6e6;--warn:#8a5a00;--warnbg:#fdf2d6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}
h1{font-size:1.75rem;line-height:1.2;margin:.2em 0 .5em}
h2{font-size:1.25rem;margin:1.4em 0 .5em}
h3{font-size:1.05rem;margin:1em 0 .3em}
h1 small{font-size:.9rem;color:var(--soft);font-weight:400}
.wrap{max-width:1060px;margin:0 auto;padding:0 16px}
main.wrap{padding-top:22px;padding-bottom:48px;min-height:70vh}
.top{background:var(--brand);color:#fff}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.brand strong{display:block;line-height:1.15}
.brand em{display:block;font-style:normal;font-size:.8rem;opacity:.8;letter-spacing:.06em;text-transform:uppercase}
.mark{width:38px;height:38px;border-radius:9px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}
.top nav{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.top nav a,.top nav .linkish{color:#fff;text-decoration:none;font-size:.95rem;opacity:.92}
.top nav a:hover,.top nav .linkish:hover{text-decoration:underline;opacity:1}
body.hr .top{background:#22293a}
.foot{border-top:1px solid var(--line);background:#fff;color:var(--soft);font-size:.9rem;padding:18px 0}
.foot p{margin:.3em 0}
.hero{background:linear-gradient(135deg,#12356b,#1d4f9a);color:#fff;border-radius:14px;padding:30px 26px;margin-bottom:22px}
.hero h1{font-size:2rem;color:#fff}
.hero p{max-width:720px}
.hero .btn{background:var(--accent);border-color:var(--accent)}
.hero .btn.ghost{background:transparent;border-color:#fff;color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:0 0 18px}
.card.narrow{max-width:460px;margin:30px auto}
.card.danger{border-color:#eab8b8}
.card.off,.qcard.off{opacity:.6}
.card h1:first-child,.card h2:first-child{margin-top:0}
.lead{font-size:1.1rem}
.muted,.meta{color:var(--soft);font-size:.92rem}
.crumb{font-size:.9rem;margin:0 0 6px}
.head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.head h1{margin:0}
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.role{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:var(--ink);text-decoration:none}
.role:hover{border-color:var(--brand);box-shadow:0 2px 10px rgba(18,53,107,.1)}
.role h3{margin:0 0 4px;color:var(--brand)}
.role p{margin:.3em 0}
.role .more{color:var(--accent);font-weight:600;font-size:.92rem}
.btn{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:8px;padding:9px 18px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:#fff;color:var(--brand)}
.btn.bad{background:var(--bad);border-color:var(--bad)}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--brand);cursor:pointer;text-decoration:underline;margin-left:10px}
form.inline{display:inline}
.form .f{margin:0 0 14px}
.form label,.f label{display:block;font-weight:600;margin-bottom:4px}
.f.check label,.written label{font-weight:400}
.f small{display:block;color:var(--soft);font-size:.86rem;margin-top:3px}
.req{color:var(--accent)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=file],select,textarea{width:100%;font:inherit;color:inherit;padding:9px 10px;border:1px solid #b9c2d3;border-radius:8px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #7fa6e6;outline-offset:1px}
input.num{width:84px;text-align:right}
textarea{resize:vertical}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 18px}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.flash{border-radius:10px;padding:11px 14px;margin:0 0 16px;background:var(--okbg);color:var(--ok);border:1px solid #bfe3cf}
.flash.bad{background:var(--badbg);color:var(--bad);border-color:#eab8b8}
.flash.warn{background:var(--warnbg);color:var(--warn);border-color:#ecd798}
.flash ul{margin:.3em 0 0 1.1em;padding:0}
table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 14px}
.t th,.t td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.t th{background:#eef1f7;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em;color:var(--soft)}
.t .r{text-align:right}
.t.small td,.t.small th{padding:6px 9px;font-size:.92rem}
.pill{display:inline-block;border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:600;background:#e8ecf4;color:#3d4963;white-space:nowrap}
.s-test_passed,.s-shortlisted,.s-interview,.s-offer,.s-hired,.v-open{background:var(--okbg);color:var(--ok)}
.s-test_failed,.s-rejected,.s-test_expired{background:var(--badbg);color:var(--bad)}
.s-submitted,.v-draft{background:var(--warnbg);color:var(--warn)}
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filters a{border:1px solid var(--line);background:#fff;border-radius:99px;padding:3px 11px;font-size:.86rem;text-decoration:none}
.filters a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:5px 12px;margin:0}
dt{color:var(--soft)}dd{margin:0;word-break:break-word}
.score strong{font-size:1.6rem}
.written{border-top:1px solid var(--line);padding:12px 0}
.prompt{font-weight:600}
.answer{background:#f6f8fc;border-radius:8px;padding:10px 12px;margin-bottom:8px;white-space:normal}
.qcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin-bottom:10px}
.qcard ol{margin:.2em 0 .4em 1.4em;padding:0}
.qcard li.right{font-weight:600}
.qmeta{margin:.2em 0;font-size:.9rem}
.rules li{margin-bottom:6px}
.paper{padding-top:8px}
.paper .q{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 0 14px;min-width:0}
.paper legend,.paper .q>label{font-weight:600;padding:0 4px;display:block}
.qn{display:inline-block;min-width:28px;height:28px;line-height:28px;text-align:center;border-radius:99px;background:var(--brand);color:#fff;font-size:.85rem;margin-right:6px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;cursor:pointer;font-weight:400}
.opt:hover{background:#f1f4fa}
.opt input{margin-top:5px}
.paper textarea{margin-top:10px}
.clock{position:sticky;top:8px;z-index:5;margin-left:auto;width:max-content;background:#fff;border:2px solid var(--brand);border-radius:10px;padding:5px 14px;display:flex;gap:10px;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.clock span{font-size:.8rem;color:var(--soft);text-transform:uppercase}
.clock strong{font-size:1.25rem;font-variant-numeric:tabular-nums}
.clock.low{border-color:var(--bad);color:var(--bad)}
@media (max-width:640px){h1{font-size:1.45rem}.hero{padding:22px 18px}.hero h1{font-size:1.55rem}.t{display:block;overflow-x:auto}.card{padding:16px}}
.searchbar{display:flex;gap:8px;max-width:520px;margin:0 0 10px}
.jump{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.92rem;margin:0 0 14px}
.rowform{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0}
.rf-main{flex:1 1 300px}
.rf-edit{flex:1 1 380px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rf-edit select{width:auto;flex:0 0 auto}.rf-edit input[type=text]{flex:1 1 200px;width:auto}.rf-edit input[type=file]{flex:1 1 200px;width:auto;padding:5px}
.rf-edit form.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.btn.ghost{padding:6px 12px}
.tick{display:flex;gap:10px;align-items:center;padding:5px 0}
.box{width:26px;height:26px;border:2px solid #9aa5ba;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;line-height:1;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0}
.box.on{background:var(--ok);border-color:var(--ok)}
.s-ok,.ck-passed,.st-active{background:var(--okbg);color:var(--ok)}
.s-part,.ck-waived,.st-onboarding{background:var(--warnbg);color:var(--warn)}
.ck-failed{background:var(--badbg);color:var(--bad)}
code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 7px;font-size:1rem;user-select:all}
.t.small input[type=text]{margin-bottom:4px}
