:root{font:15px/1.5 system-ui,sans-serif;color:#172d46;background:#edf4fc;color-scheme:light;--accent:#18589b;--border:#d3dfed}
*{box-sizing:border-box}
body{margin:0}
main{max-width:770px;margin:auto;padding:22px 14px 44px}
header{display:flex;gap:15px;align-items:center;padding:16px;border-radius:15px;background:#112740;color:#fff}
header img{object-fit:contain;border-radius:11px;flex:none}
h1,h2,p{margin:0}h1{font-size:clamp(20px,5vw,28px)}h2{font-size:18px;margin-bottom:10px}
header small{letter-spacing:.15em;color:#b8dafa;font-weight:650}
.stages{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;list-style:none;font-size:13px;font-weight:650;color:#375575}
section{margin:12px 0;padding:clamp(14px,3vw,24px);background:#fff;border:1px solid var(--border);border-radius:13px}
.checks{margin:0;padding:0;list-style:none}.checks li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}
.checks li:last-child{border:0}.checks strong{color:#315575;text-align:right}.checks+p{margin-top:10px}
label{display:grid;gap:4px;font-weight:600;margin:9px 0;font-size:13px}
input,select{min-width:0;width:100%;font:inherit;padding:10px;background:#fff;color:#172d46;border:1px solid #a9bbd2;border-radius:7px}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #18589b;outline-offset:3px}
details{margin:14px 0;padding:10px 12px;background:#f1f6fc;border:1px solid var(--border);border-radius:8px}
summary{font-weight:650;cursor:pointer}details p{margin-top:8px}
.button,.secondary{display:inline-flex;align-items:center;font:inherit;font-weight:650;padding:9px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;text-decoration:none;cursor:pointer;margin-top:12px}
.secondary{margin-top:4px;background:#fff;color:var(--accent)}
.result,.error{padding:12px;border-radius:8px;background:#e3f4e8;border:1px solid #a8d5b9}.error{background:#fff0f2;color:#8f1a35;border-color:#efc2cc}
@media(min-width:560px){.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
