:root { color-scheme: light; font: 15px/1.5 "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #191b2e; background: #f7f8fc; }
* { box-sizing: border-box; }
body { display: grid; place-items: center; min-height: 100dvh; margin: 0; padding: 20px; }
main { width: min(100%, 405px); background: #fff; border: 1px solid #e5e7ef; border-radius: 15px; padding: 28px; box-shadow: 0 8px 36px #191b2e0b; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 700; margin-bottom: 22px; }
.brand img { width: 35px; height: 35px; }
h1 { font-size: 25px; line-height: 1.15; letter-spacing: -.035em; margin: 0 0 8px; }
p { color: #606779; margin: 0 0 16px; }
form { display: grid; gap: 12px; }
label { display: grid; gap: 5px; font-size: 13px; font-weight: 650; }
input, button { font: inherit; width: 100%; border-radius: 8px; padding: 9px 10px; }
input { background: #fff; color: #191b2e; border: 1px solid #dfe2ed; font-size: 15px; }
button { cursor: pointer; color: #fff; background: #5745dc; border: 1px solid #5745dc; font-weight: 650; margin-top: 3px; }
button:hover { background: #4937c7; }
:focus-visible { outline: 3px solid #a99eff; outline-offset: 2px; }
.error { border: 1px solid #f4cfd2; background: #fff0f0; color: #912a32; border-radius: 8px; padding: 8px 10px; font-size: 13px; }
footer { display: flex; gap: 13px; margin-top: 18px; font-size: 12px; }
a { color: #4937c7; text-decoration: none; }
a:hover { text-decoration: underline; }
