:root { color-scheme: light; font-family: Aptos, "Segoe UI", sans-serif; color: #101828; background: #f5f7fa; }
* { box-sizing: border-box; }
body { margin: 0; padding: 24px 16px; }
main { max-width: 540px; margin: 32px auto; padding: 28px; border-radius: 16px; background: white; }
.brand { font-size: 1.4rem; font-weight: 800; color: #174c84; text-decoration: none; }
h1 { font-size: 1.8rem; line-height: 1.2; text-wrap: balance; }
p { line-height: 1.55; overflow-wrap: anywhere; }
label { display: block; font-weight: 600; margin: 18px 0 8px; }
input[type=password] { width: 100%; border: 1px solid #667085; border-radius: 8px; padding: 12px; font: inherit; min-height: 44px; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; min-height: 44px; line-height: 1.5; }
.check input { flex: 0 0 auto; margin-top: 5px; width: 20px; height: 20px; }
.hint { font-size: .9rem; color: #475467; }
.error { border: 1px solid #b42318; padding: 12px; border-radius: 8px; color: #b42318; }
button, .button { display: inline-block; background: #174c84; color: white; border: 0; border-radius: 8px; min-height: 44px; padding: 12px 18px; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
button:hover, .button:hover { background: #0f2642; }
:focus-visible { outline: 3px solid #f28c00; outline-offset: 3px; }
@media (max-width: 480px) { main { margin: 0 auto; padding: 20px; } button, .button { width: 100%; text-align: center; } }
