*{box-sizing:border-box}
body{margin:0;background:#f5f4ef;color:#203049;font:16px/1.5 system-ui,sans-serif}
.login-page{min-height:100dvh;display:grid;place-items:center;padding:32px 20px}
.login-card{width:min(100%,440px);padding:36px;border:1px solid #dedfdc;border-radius:24px;background:#fff;box-shadow:0 14px 48px #2430570b}
.login-brand{display:inline-block;font-family:Georgia,serif;font-size:28px;line-height:1.2;text-decoration:none;color:#202cab}
.hint{margin:9px 0 30px;color:#6d7684;font-size:13px}
h1{font:400 31px/1.15 Georgia,serif;letter-spacing:-.6px;color:#182643;margin:0 0 12px}
#login-status{margin:0 0 24px;font-size:15px;line-height:1.55;color:#5a677a;overflow-wrap:anywhere}
#login-status.error{color:#a12424}
label{display:block;font-size:14px;font-weight:600;margin:16px 0 8px}
input{display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid #b9c3d6;border-radius:12px;background:#fff;color:#203049;font:inherit}
button,.login-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border:1px solid #bec7d9;border-radius:12px;background:#fff;color:#202cab;font:600 15px/1.4 system-ui;cursor:pointer;text-decoration:none;margin-top:12px}
.primary{width:100%;min-height:52px;background:#222cad;color:#fff;border-color:#222cad;box-shadow:0 3px 10px #222cad16}
.primary:hover{background:#1b2498;border-color:#1b2498}
button:disabled{opacity:.55;cursor:wait}
.login-text{border:0;background:none;box-shadow:none;padding:10px 0;text-decoration:underline;text-underline-offset:3px;margin-right:18px;font-size:14px;font-weight:500}
#login-content>.login-text{display:flex;justify-content:flex-start;width:100%;margin:4px 0 0;min-height:44px;font-size:14px}
#login-content>.login-account-switch{color:#627086;font-size:13px;margin-top:12px}
.login-footer{border-top:1px solid #e8e9ed;margin:24px 0 0;padding-top:18px;color:#6d7684;font-size:12px;display:flex;gap:10px;align-items:center}
.login-footer a{color:#627086;text-underline-offset:3px}
a{color:#202cab}
#login-content img{display:block;max-width:220px;width:100%;margin:12px auto}
code{display:block;background:#f2f3f8;padding:10px;border-radius:8px;overflow-wrap:anywhere;font-size:14px}
.backup-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.backup-codes code{text-align:center}
input[name=code]{font-size:24px;letter-spacing:.16em;text-align:center}
details{margin-top:16px}summary{cursor:pointer;color:#202cab}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c88128;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:500px){.login-page{padding:20px 16px}.login-card{padding:28px 24px;border-radius:22px}.hint{margin-bottom:26px}h1{font-size:29px}}
@media(max-height:660px){.login-page{place-items:start center;padding-top:24px;padding-bottom:24px}}
@media(prefers-reduced-motion:no-preference){button,.login-action{transition:background-color .15s,border-color .15s}}
