:root { font-family: system-ui, sans-serif; color: #183049; background: #f3f6fa; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; }
main { width: min(360px, calc(100vw - 80px)); padding: 32px; background: white; border: 1px solid #dce4ed; border-radius: 16px; box-shadow: 0 8px 32px #1830490c; }
h1 { margin: 0 0 12px; font-size: 26px; }
p { color: #52657a; line-height: 1.5; }
form { display: grid; gap: 12px; margin-top: 24px; }
label { font-weight: 600; }
input, button { box-sizing: border-box; width: 100%; font: inherit; padding: 12px; border-radius: 8px; }
input { border: 1px solid #a8b7c7; }
input:focus { outline: 2px solid #2370c9; outline-offset: 2px; }
button { border: 0; background: #216bc2; color: white; font-weight: 600; cursor: pointer; }
.error { color: #a52929; }
