:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#16334a;background:#f3f7fa}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font:inherit}
.topbar{background:#fff;border-bottom:1px solid #dce6ed}.topbar-inner,.footer-inner{width:min(1180px,calc(100% - 2rem));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}.topbar-inner{min-height:74px}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.12rem;font-weight:750;letter-spacing:-.025em}.brand strong{color:#007dab}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#0c2238,#087eaa);color:#fff;font-weight:900}.topbar nav{display:flex;align-items:center;gap:1.2rem;font-weight:650}.topbar form{margin:0}.topbar button{border:0;background:none;color:#16334a;cursor:pointer;font-weight:650}.topbar a:hover,.topbar button:hover{color:#007dab}
.shell{width:min(1180px,calc(100% - 2rem));margin:auto;flex:1}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:center;gap:3.5rem;padding:clamp(3rem,8vw,7rem) 0 3rem}.eyebrow,.card-kicker{text-transform:uppercase;letter-spacing:.12em;color:#007dab;font-size:.77rem;font-weight:850}.hero h1,.page-heading h1{max-width:760px;margin:.8rem 0 1.2rem;font-size:clamp(2.6rem,6vw,5rem);line-height:1.03;letter-spacing:-.055em}.hero p,.page-heading p{max-width:650px;color:#536a7d;font-size:1.1rem;line-height:1.7}.button{display:inline-flex;margin-top:1rem;padding:.88rem 1.2rem;border-radius:10px;color:#fff;background:#007dab;font-weight:750;box-shadow:0 9px 24px rgba(0,125,171,.18)}.button:hover{background:#006a97}.hero-card,.feature-grid article{background:#fff;border:1px solid #dce6ed;border-radius:20px;box-shadow:0 18px 55px rgba(15,35,55,.06)}.hero-card{padding:2rem}.hero-card ol{margin:1rem 0;padding-left:1.3rem;line-height:1.95;font-weight:650}.hero-card p{font-size:.88rem;margin-bottom:0}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:4rem}.feature-grid article{padding:1.5rem}.feature-grid article span{color:#007dab;font-size:.85rem;font-weight:850}.feature-grid h2{margin:.8rem 0 .35rem;font-size:1.18rem}.feature-grid p{margin:0;color:#536a7d;line-height:1.6}.page-heading{padding:3.5rem 0 2rem}footer{border-top:1px solid #dce6ed;background:#fff;color:#64798a;font-size:.85rem}.footer-inner{min-height:65px}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:2rem}.feature-grid{grid-template-columns:1fr}.topbar-inner{align-items:flex-start;padding:1rem 0;flex-direction:column}.topbar nav{flex-wrap:wrap}.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:1rem 0}}
.login-wrap{display:grid;place-items:center;min-height:calc(100vh - 145px);padding:3rem 0}.login-card,.form-card,.empty-state,.position-card,.candidate-card{background:#fff;border:1px solid #dce6ed;border-radius:18px;box-shadow:0 12px 40px rgba(15,35,55,.05)}.login-card{width:min(480px,100%);padding:2rem}.login-card h1{font-size:2rem;letter-spacing:-.04em;margin:.6rem 0}.login-card p,.form-card p{color:#536a7d;line-height:1.6}.login-card form,.form-card form{display:grid;gap:.65rem}.login-card label,.form-card label{font-weight:750;font-size:.9rem;margin-top:.5rem}.login-card input,.form-card input,.form-card textarea{width:100%;padding:.85rem;border:1px solid #bfd0dd;border-radius:10px;font:inherit;color:#16334a;background:#fff}.login-card .button,.form-card .button{border:0;cursor:pointer;justify-content:center}.login-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;color:#007dab;font-size:.88rem}.validation,.success{padding:.8rem 1rem;border-radius:10px;margin:1rem 0}.validation{background:#fef2f2;color:#991b1b}.success{background:#ecfdf5;color:#065f46}.validation:empty{display:none}.form-card{max-width:760px;padding:1.6rem;margin-bottom:3rem}.form-actions{display:flex;align-items:center;gap:1rem}.form-actions a,.back-link{color:#007dab;font-weight:700}.back-link{display:block;margin-bottom:1.5rem}.description{white-space:pre-wrap}.empty-state{padding:2rem;text-align:center;margin-bottom:3rem}.position-list,.candidate-list{display:grid;gap:1rem;margin-bottom:3rem}.position-card{display:block;padding:1.4rem}.position-card span{color:#007dab;font-size:.8rem;font-weight:800}.position-card h2{margin:.5rem 0}.position-card p{color:#536a7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-section{margin-bottom:4rem}.candidate-section h2 span{color:#007dab}.candidate-card{display:flex;align-items:center;gap:1rem;padding:1.2rem}.candidate-card>div:first-child{flex:1;min-width:0}.candidate-card h3{margin:0}.candidate-card p{color:#536a7d;margin:.3rem 0}.candidate-card small{color:#6b7f8d}.candidate-score{font-size:1.5rem;font-weight:850;color:#007dab;text-align:center}.candidate-score small{display:block;font-size:.68rem}.candidate-links{display:flex;gap:.8rem;color:#007dab;font-weight:700}@media(max-width:640px){.candidate-card{align-items:flex-start;flex-wrap:wrap}.candidate-links{width:100%}}
.evaluation-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);gap:1.2rem;align-items:start}.evaluation-grid .form-card{width:100%;max-width:none}.evaluation-aside{display:grid;gap:1rem}.evaluation-aside .hero-card{padding:1.4rem}.evaluation-aside strong{display:block;font-size:3rem;color:#007dab;margin:.6rem 0}.evaluation-aside a{color:#007dab;text-decoration:underline}@media(max-width:800px){.evaluation-grid{grid-template-columns:1fr}}
.analysis-button{border:1px solid #007dab;border-radius:10px;background:#fff;color:#007dab;padding:.65rem .9rem;font:inherit;font-weight:750;cursor:pointer}.analysis-button:hover{background:#eaf7fb}.analysis-button:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.button.danger{border:0;background:#a12b39;cursor:pointer}.button.danger:hover{background:#84222e}.candidate-links{flex-wrap:wrap}
