:root { --fg: #1d2330; --muted: #5b6475; --line: #cfd5df; --accent: #0b5cad; --bad: #a3231a; --good: #1d6b35; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, sans-serif; color: var(--fg); background: #f6f7f9; }
header { display: flex; gap: 1rem; align-items: center; padding: .75rem 1rem; background: #fff; border-bottom: 1px solid var(--line); }
header .brand { font-weight: 600; margin-right: auto; }
header .who { color: var(--muted); }
header form { margin: 0; }
main { max-width: 40rem; margin: 2rem auto; padding: 0 1rem; }
h1 { font-size: 1.5rem; margin: 0 0 1rem; }
label { display: block; margin: 1rem 0 .25rem; font-weight: 600; }
input, textarea { width: 100%; padding: .5rem; font: inherit; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
button, .button { display: inline-block; margin-top: 1.25rem; padding: .55rem 1.2rem; font: inherit; color: #fff; background: var(--accent); border: 0; border-radius: 4px; text-decoration: none; cursor: pointer; }
button.link { margin: 0; padding: 0; color: var(--accent); background: none; text-decoration: underline; }
.muted { color: var(--muted); }
.errors { color: var(--bad); }
.ok { color: var(--good); }
ul.errors { padding-left: 1.2rem; }
