:root { font-family: system-ui, sans-serif; color: #253044; background: #f5f7fa; }
* { box-sizing: border-box; }
body { margin: 0; padding: 24px 16px; }
main { max-width: 900px; margin: auto; }
h1 { margin-bottom: 8px; }
h2 { font-size: 20px; margin: 0 0 16px; }
section { background: #fff; border: 1px solid #dce2e8; border-radius: 10px; padding: 24px; margin: 24px 0; }
form { display: grid; gap: 16px; }
label, p { line-height: 1.6; }
input { max-width: 100%; min-width: 0; font: inherit; }
button { justify-self: start; border: 0; border-radius: 6px; padding: 12px 18px; background: #24763e; color: white; font: inherit; cursor: pointer; }
button:hover { background: #185d2e; }
:focus-visible { outline: 3px solid #326de2; outline-offset: 4px; }
.error { padding: 16px; border: 1px solid #d79191; background: #fff0f0; color: #842424; border-radius: 6px; }
.note { color: #596579; font-size: 14px; }
