:root{--ink:#17332b;--green:#176b55;--pale:#edf6f1;--gold:#d99b2b;--line:#cbd9d3}*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,sans-serif;color:#25352f;background:#f8faf9}header{background:linear-gradient(120deg,#123e32,#23765e);color:white;padding:2.5rem max(5vw,1rem)}header h1{margin:0;font-size:clamp(2rem,5vw,3.4rem)}main{max-width:1200px;margin:auto;padding:1.2rem}.controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.7rem}input,select,button{padding:.75rem;border:1px solid var(--line);border-radius:.45rem;background:white;font:inherit}nav{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}button{cursor:pointer}button:hover{background:var(--pale)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.card,.detail,.notice{background:white;border:1px solid var(--line);border-radius:.65rem;padding:1rem}.card h2,.card h3{margin-top:0}.tag{display:inline-block;background:var(--pale);color:var(--green);border-radius:2rem;padding:.2rem .55rem;margin:.15rem;font-size:.85rem}.candidate{border:1px dashed var(--gold)}.meta{color:#5c6c65;font-size:.9rem}.status{border-left:4px solid var(--gold);padding-left:.7rem}.back{margin-bottom:1rem}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem}footer{padding:2rem;text-align:center;color:#52635b}@media(max-width:700px){.controls{grid-template-columns:1fr}}