* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 1rem; color: #17251d; background: #f3f5f2; font: 16px/1.5 system-ui, sans-serif; }
main { width: min(100%, 28rem); padding: 2rem; background: white; border: 1px solid #d5ddd7; border-radius: .75rem; box-shadow: 0 1rem 3rem #17251d14; }
.eyebrow { color: #385e48; font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
h1 { margin: .5rem 0; }
form, label { display: grid; gap: .75rem; }
form { margin-top: 1.5rem; gap: 1rem; }
label { font-weight: 600; }
input, select, button { min-height: 2.75rem; padding: .5rem .75rem; font: inherit; }
button { cursor: pointer; }
.primary { color: white; background: #285d3b; border: 0; border-radius: .35rem; font-weight: 700; }
.error { min-height: 1.5rem; color: #9c2525; }
