* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, sans-serif; color: #20252b; background: #f4f5f7; }
main { max-width: 520px; margin: 48px auto; padding: 28px; background: white; border: 1px solid #ddd; border-radius: 8px; }
h1 { font-size: 1.65rem; line-height: 1.25; margin: 20px 0; }
label { display: block; margin: 16px 0 5px; font-weight: 600; }
input:not([type=checkbox]) { width: 100%; padding: 10px; border: 1px solid #888; border-radius: 4px; font: inherit; }
input[readonly] { background: #eee; color: #555; }
button { width: 100%; margin-top: 22px; padding: 11px; font: inherit; font-weight: 600; color: white; background: #254f89; border: 0; border-radius: 4px; cursor: pointer; }
button:hover { background: #193d6e; }
a { color: #254f89; }
.back { display: inline-block; margin-bottom: 8px; }
.consent { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; }
.consent input { margin-top: 6px; }
.error { padding: 12px; background: #fff0f0; color: #9c1f1f; border: 1px solid #dfb3b3; border-radius: 4px; }
:focus-visible { outline: 3px solid #e3a127; outline-offset: 3px; }
@media (max-width: 560px) { main { margin: 16px; padding: 20px; } }
