
:root { color-scheme:light; font-family:Inter,ui-sans-serif,system-ui,sans-serif; background:#f4f7fb; color:#172033; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; display:grid; place-items:center; padding:28px; }
.card { width:min(100%,540px); background:#fff; border:1px solid #dfe5ef; border-radius:18px; padding:32px; box-shadow:0 18px 50px #263b5d18; }
h1,h2 { margin:0 0 8px; } h2 { font-size:1.15rem; margin-top:26px; } .lead { color:#5c677d; margin:0 0 24px; line-height:1.5; }
label { display:block; margin:15px 0 6px; font-weight:650; } input { width:100%; padding:11px 12px; border:1px solid #abb6c8; border-radius:9px; font:inherit; }
input:focus { outline:3px solid #2764e52c; border-color:#2764e5; } .hint { color:#677289; font-size:.84rem; margin:6px 0 0; }
.captcha { margin:22px 0 12px; min-height:65px; } button { width:100%; border:0; border-radius:9px; padding:12px 16px; background:#215bd6; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
button:hover { background:#1849b4; } .secondary { background:#e9eef8; color:#263b5d; } .secondary:hover { background:#dce4f2; }
.alert { padding:11px 13px; border-radius:9px; margin:0 0 18px; line-height:1.4; } .error { background:#fff0f0; color:#8a1f2c; border:1px solid #f0c6cc; }
.success { background:#ebf8ef; color:#176334; border:1px solid #b9dfc5; } a { color:#174fbf; } .links { display:flex; justify-content:space-between; gap:16px; margin-top:18px; }
.details { padding:16px; background:#f6f8fc; border-radius:10px; } .details dt { color:#677289; font-size:.82rem; } .details dd { margin:3px 0 14px; font-weight:650; }
.divider { border:0; border-top:1px solid #e2e7ef; margin:28px 0; } .inline { margin:0; }
.oauth { display:grid; gap:12px; } .oauth a { display:block; padding:13px 16px; border:1px solid #abb6c8; border-radius:9px; text-align:center; text-decoration:none; font-weight:700; color:#172033; }
.oauth a:hover { background:#f2f5fa; } .privacy { color:#677289; font-size:.88rem; line-height:1.5; margin:22px 0 0; }
