:root { font-family: Arial, sans-serif; color: #12343b; background: #edf3f2; }
* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
main { width: min(100%, 380px); }
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
.brand span { background: #12343b; color: white; padding: 12px; border-radius: 6px; }
.brand strong { font-size: 20px; }
h1 { font-size: 26px; margin: 0 0 24px; }
form { display: grid; gap: 12px; }
label { font-size: 14px; font-weight: 600; }
input { width: 100%; min-height: 44px; border: 1px solid #b8cdcb; border-radius: 6px; padding: 10px 12px; background: white; font-size: 16px; margin-bottom: 8px; }
input:focus-visible, button:focus-visible { outline: 3px solid #579dab; outline-offset: 2px; }
button { min-height: 44px; border: 0; border-radius: 6px; background: #217e65; color: white; font-size: 16px; font-weight: 600; cursor: pointer; }
button:hover { background: #19634f; }
[role=alert] { color: #ae3028; font-size: 14px; line-height: 1.4; }
