:root{color-scheme:light;--auth-blue:#2463d4;--auth-text:#253850;--auth-muted:#5f6f85;--auth-border:#dee5ef}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:32px 18px;background:#f5f7fa;color:var(--auth-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}
.auth-page{width:100%;max-width:420px}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:11px;color:inherit;text-decoration:none;margin-bottom:24px;width:fit-content;margin-left:auto;margin-right:auto}
.auth-mark{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:11px;background:var(--auth-blue);color:#fff;font-size:16px;font-weight:750}
.auth-brand strong{font-size:18px;font-weight:700;letter-spacing:-.3px;display:block}
.auth-brand small{display:block;font-size:12px;color:var(--auth-muted);margin-top:1px}
.auth-card{padding:29px 30px 28px;background:#fff;border:1px solid var(--auth-border);border-radius:14px;box-shadow:0 8px 26px #18324d06}
h1{margin:0;font-size:26px;font-weight:700;line-height:1.25;letter-spacing:-.5px}
.auth-description{font-size:13px;color:var(--auth-muted);margin:9px 0 0}
.auth-form{display:grid;gap:18px;margin-top:24px}
.auth-field{display:grid;gap:7px;min-width:0}
.auth-field label{font-size:13px;font-weight:550;color:#50647e}
.auth-input{width:100%;height:48px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;color:#263d59;font-family:inherit;font-size:16px;padding:11px 13px;min-width:0;transition:border-color .12s,box-shadow .12s}
.auth-input::placeholder{color:#a0acbb;font-size:14px}
.auth-input:focus{outline:none;border-color:#6694df;box-shadow:0 0 0 3px #2463d415}
.auth-input[aria-invalid=true]{border-color:#daaaa1}
.auth-password{position:relative}
.auth-password .auth-input{padding-right:93px}
.auth-reveal{position:absolute;right:3px;top:2px;height:44px;min-width:82px;background:transparent;border:0;border-radius:6px;padding:9px;color:#54709a;font-family:inherit;font-size:12px;cursor:pointer}
.auth-reveal:hover{color:#245ab3;background:#f5f8fd}
.auth-submit{width:100%;min-height:48px;border:1px solid var(--auth-blue);border-radius:8px;padding:11px 16px;background:var(--auth-blue);color:#fff;font-family:inherit;font-size:14px;font-weight:650;cursor:pointer;margin-top:3px}
.auth-submit:hover{background:#1d57bd;border-color:#1d57bd}
.auth-submit:disabled{cursor:wait;opacity:.7}
.auth-help{text-align:center;font-size:12px;line-height:1.6;color:#5f6f85;margin:18px auto 0;max-width:320px;padding:0 8px}
.auth-help strong{display:block;font-weight:500}
.auth-error{border:1px solid #f0d8d1;background:#fff6f3;color:#995a4d;border-radius:8px;padding:11px 12px;font-size:13px;line-height:1.5;margin-top:20px}
.auth-error:focus{outline:none}
.auth-page button:focus-visible,.auth-brand:focus-visible{outline:3px solid #9fc0f6;outline-offset:3px}
@media(max-width:520px){body{padding:26px 16px;align-items:center}.auth-page{max-width:380px}.auth-brand{margin-bottom:20px}.auth-brand strong{font-size:17px}.auth-card{padding:24px 23px;border-radius:12px}h1{font-size:25px}.auth-form{margin-top:22px;gap:17px}.auth-help{margin-top:16px}.auth-description{font-size:13px}}
@media(max-height:620px){body{place-items:start center;padding-top:22px;padding-bottom:22px}.auth-brand{margin-bottom:16px}.auth-card{padding-top:21px;padding-bottom:22px}.auth-form{gap:14px;margin-top:19px}.auth-help{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.auth-input{transition:none}}
