:root{color-scheme:light;font-family:Assistant,Arial,sans-serif;color:#292632;background:#f5f6f8;letter-spacing:0}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:40px 20px;border-top:4px solid #75509a}
main{width:100%;max-width:400px}
.brand{display:block;width:280px;max-width:85%;height:auto;margin:0 auto 36px}
section{padding:30px 32px 32px;background:#fff;border:1px solid #e2e2e8;border-radius:8px;box-shadow:0 8px 32px #20203506}
header{text-align:center;margin-bottom:28px}
.eyebrow{font-size:12px;font-weight:700;color:#528375}
h1{font-size:26px;line-height:1.3;font-weight:700;margin:6px 0 0}
form{display:flex;flex-direction:column;gap:9px}
label{font-size:15px;font-weight:600}
input:not([type=checkbox]){width:100%;height:46px;min-width:0;border:1px solid #cfcfd9;border-radius:5px;font:inherit;font-size:17px;padding:9px 12px;background:#fff;color:#292632;margin-bottom:10px}
input:focus-visible,button:focus-visible{outline:3px solid #cab9df;outline-offset:2px}
.show-password{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:#615d6e;cursor:pointer;min-height:26px}
input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#75509a}
#login-error{min-height:22px;margin:0;color:#a52d40;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
button{width:100%;min-height:46px;border:0;border-radius:5px;background:#7245b5;color:white;font:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:background .15s}
button:hover{background:#61399e}
button:disabled{background:#9a84b6;cursor:wait}
footer{text-align:center;margin-top:24px;font-size:13px;color:#777281}
@media(max-width:440px){body{padding:28px 20px}.brand{width:250px;margin-bottom:28px}section{padding:25px 24px}h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
