:root{color-scheme:light;--ink:#153939;--muted:#476264;--accent:#075d60;--paper:#fff;--line:#cbdad6;--wash:#e9f3ef;font:16px/1.55 system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#f4f8f6;color:var(--ink)}
header,footer{padding:1rem max(1rem,calc((100vw - 65rem)/2));display:flex;gap:1rem;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);align-items:center}
header a{font-weight:850;font-size:1.5rem;text-decoration:none;color:var(--ink)}
header a span,a{color:var(--accent)}
main{width:min(65rem,100% - 2rem);margin:2.5rem auto}
h1,h2,h3,p{margin:0 0 .7rem}
h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08;letter-spacing:-.045em}
h2{font-size:1.35rem;line-height:1.25}
.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:750}
.lead{font-size:1.08rem;max-width:65ch;color:var(--muted)}
.panel,.item{background:white;border:1px solid var(--line);border-radius:12px;padding:1.15rem 1.3rem;margin:1rem 0}
.item{margin:.55rem 0}
.item p{overflow-wrap:anywhere}
.toolbar,.actions{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}
.grow{flex:1 1 19rem}
label{display:block;font-weight:650;margin:.35rem 0}
input,select,textarea{display:block;width:100%;margin:.2rem 0 0;border:1px solid #8ca9a3;border-radius:7px;padding:.58rem;background:white;color:var(--ink);font:inherit}
button{border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:white;padding:.63rem .83rem;font:inherit;font-weight:650;cursor:pointer}
button.secondary{color:var(--accent);background:white}
button:disabled{opacity:.55;cursor:default}
:focus-visible{outline:3px solid #257a99;outline-offset:3px}
#status:not(:empty){background:var(--wash);border-left:4px solid var(--accent);padding:.7rem 1rem;white-space:pre-line}
#status[data-error=true]{border-color:#a13e36;background:#fff1ed;color:#70251f}
dialog{width:min(40rem,100% - 1.5rem);max-height:90vh;border:1px solid var(--line);border-radius:12px;padding:1.4rem;color:var(--ink)}
dialog::backdrop{background:#12343480}
dialog .actions{margin-top:1rem}
.confirm{display:flex;gap:.6rem;align-items:center;margin:1rem 0}
.confirm input{width:auto}
.badge{font-size:.79rem;font-weight:750;color:var(--accent);background:var(--wash);border-radius:4px;padding:.14rem .42rem}
.diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}
footer{color:var(--muted);font-size:.9rem}
@media(max-width:38rem){main{margin-top:1.5rem}.diff{grid-template-columns:1fr}}

.list-heading{margin-top:1.65rem}
#candidate-section .item{border-left:4px solid #c88e39}
#candidate-section .actions{margin-top:.65rem}
#candidate-jump{display:inline-block;margin-top:.75rem}
