:root { color-scheme: light; font-family: system-ui, -apple-system, sans-serif; color: #15201c; background: #f2f5f2; }
* { box-sizing: border-box; }
body { min-height: 100dvh; margin: 0; padding: 24px; display: grid; place-items: center; }
main { width: 100%; max-width: 450px; padding: 36px; background: white; border: 1px solid #dce5de; border-radius: 24px; }
.brand { font-size: 22px; font-weight: 750; letter-spacing: -.5px; }
h1 { margin: 28px 0 12px; font-size: clamp(26px, 5vw, 34px); line-height: 1.15; letter-spacing: -.8px; }
p { line-height: 1.55; color: #536159; }
form { margin-top: 28px; }
label { display: block; margin-bottom: 8px; font-weight: 600; }
input, button { width: 100%; padding: 14px 16px; border-radius: 10px; font: inherit; }
input { border: 1px solid #9daa9f; }
input:focus-visible, button:focus-visible { outline: 3px solid #8db7a0; outline-offset: 3px; }
button { margin-top: 16px; border: 0; background: #15201c; color: white; font-weight: 650; cursor: pointer; }
button:hover { background: #294535; }
.help { margin-top: 24px; font-size: 14px; }
.error { color: #a62626; font-size: 14px; }
@media (max-width: 480px) { body { padding: 16px; } main { padding: 26px; } }
