:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #f4f7fb; color: #152033; }
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 1.5rem; background: radial-gradient(circle at top, #e8f0ff, #f7f9fc 55%); }
.card { width: min(100%, 28rem); background: #fff; border: 1px solid #dfe6f0; border-radius: 1rem; padding: 2rem; box-shadow: 0 1.25rem 3rem rgb(31 55 90 / 12%); }
.eyebrow { margin: 0 0 .5rem; color: #3157a4; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(1.65rem, 5vw, 2.15rem); line-height: 1.15; }
.intro { color: #536178; margin: .75rem 0 1.5rem; }
label { display: block; margin-bottom: .45rem; font-weight: 650; }
input { width: 100%; min-height: 3rem; border: 1px solid #aebbd0; border-radius: .55rem; padding: .7rem .85rem; font: inherit; }
input:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #8bb4ff; outline-offset: 2px; }
button { width: 100%; min-height: 3rem; border: 0; border-radius: .55rem; background: #244f9e; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: #183d83; }
.error { min-height: 1.25rem; margin: .45rem 0; color: #a62020; font-size: .9rem; }
.register { margin: 1.25rem 0 0; text-align: center; color: #536178; }
a { color: #244f9e; font-weight: 650; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
