:root { font-family: system-ui, sans-serif; color: #25342f; background: #f4f7f5; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
main { width: 100%; max-width: 400px; background: white; border: 1px solid #e0e7e3; border-radius: 14px; padding: 36px; box-shadow: 0 10px 35px #25342f08; }
.brand { color: #287c63; font-size: 13px; font-weight: 750; letter-spacing: .12em; margin: 0 0 28px; }
h1 { font-size: 28px; margin: 0 0 8px; }
.intro { color: #617269; margin: 0 0 28px; font-size: 15px; }
label { display: block; font-size: 14px; font-weight: 600; margin: 18px 0 7px; }
input, button { font: inherit; width: 100%; border-radius: 6px; padding: 11px 12px; }
input { border: 1px solid #b9c9c0; background: white; }
input:focus { outline: 2px solid #33977b; outline-offset: 2px; }
button { border: 0; background: #287c63; color: white; font-weight: 600; margin-top: 25px; cursor: pointer; }
button:hover { background: #20644f; }
.error { color: #922d2d; background: #fff0f0; border-radius: 6px; padding: 12px; font-size: 14px; }
