:root { color-scheme: light; font: 16px system-ui, sans-serif; color: #14233e; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(at 15% 10%, #e0edff, transparent 45%), radial-gradient(at 95% 95%, #fff1e2, transparent 38%), #f5f8fd; }
main { width: min(100%, 420px); padding: clamp(22px, 7vw, 36px); background: #fff; border: 1px solid #e0e7f1; border-radius: 22px; box-shadow: 0 18px 60px #18365718; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 750; }
h1 { margin: 24px 0 6px; font-size: 1.8rem; }
p { color: #465775; margin: 0 0 24px; }
label { display: block; margin-bottom: 7px; font-weight: 600; }
input, button { width: 100%; font: inherit; border-radius: 9px; padding: 11px 12px; }
input { border: 1px solid #aebbd0; margin-bottom: 16px; }
button { border: 0; background: #2046aa; color: #fff; font-weight: 700; cursor: pointer; }
:focus-visible { outline: 3px solid #ed8228; outline-offset: 2px; }
.error { padding: 10px; color: #8d1c23; background: #fff0f1; border-radius: 8px; }

