/* Sign-in presentation only. Scoped to the signed-out surface, including MFA. */
#login{min-height:100vh;min-height:100dvh;padding:32px 20px;align-items:safe center}
#login .lcard{box-sizing:border-box;width:100%;max-width:428px;padding:32px;border-radius:22px;background:var(--card);border:1px solid var(--line2);box-shadow:0 24px 64px rgba(12,24,32,.16);animation:none}
#login .logo{gap:8px;align-items:flex-start;flex-direction:column;margin:0 0 26px}
#login .logo img{display:block;width:204px!important;max-width:100%;height:auto!important;max-height:38px!important;object-fit:contain;object-position:left center}
#login .auth-brand a{display:inline-flex;max-width:100%;border-radius:4px}
#login .auth-heading{margin:0 0 26px}
#login .auth-heading h1{color:var(--ink);font-size:28px;font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px}
#login .auth-heading p{margin:0;color:var(--ink);font-size:15px;line-height:1.5}
#login .auth-heading span{display:block;margin-top:3px;color:var(--mut);font-size:12px;line-height:1.5}
#login .auth-fields{display:grid;gap:18px}
#login .auth-field{min-width:0}
#login label{display:block;margin:0 0 8px;font-size:13px;font-weight:650;line-height:1.4;color:var(--ink)}
#login .auth-label-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin:-6px 0 4px}
#login .auth-label-row label{margin:0}
#login .auth-action{min-height:32px;padding:6px 0;font-size:12px;color:var(--accent-d);white-space:normal}
#login input{box-sizing:border-box;width:100%;height:50px;margin:0;padding:12px 14px;border-radius:11px;border:1px solid var(--control-border);background:var(--field);color:var(--ink);font-size:16px;line-height:1.4;letter-spacing:normal;box-shadow:inset 0 1px 2px rgba(0,0,0,.025);color-scheme:light}
html[data-theme=dark] #login input{color-scheme:dark}
#login input::placeholder{color:var(--mut);opacity:.8;font-size:14px}
#login input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16);outline:none}
#login input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Cover browser autofill paint without changing the saved value or autofill itself. */
#login input:is(:-webkit-autofill,:autofill){-webkit-box-shadow:0 0 0 1000px var(--field) inset!important;box-shadow:0 0 0 1000px var(--field) inset!important;-webkit-text-fill-color:var(--ink)!important;caret-color:var(--ink)}
#login .auth-password{position:relative}
#login .auth-password:has(.auth-visibility:not([hidden])) input{padding-right:68px}
#login .auth-visibility{position:absolute;right:4px;top:3px;min-width:54px;min-height:44px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--accent-d);font:650 12px/1.3 var(--font-sans);cursor:pointer}
#login .auth-visibility[hidden]{display:none}
#login .auth-visibility:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
#login .auth-visibility:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#login .auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:24px;padding:12px 20px;border-radius:11px;background:#416b94;color:#fff;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(30,62,90,.12)}
#login .auth-submit:hover:not(:disabled){background:#355d83;transform:none}
#login .auth-submit:disabled{opacity:.72;cursor:wait}
#login .auth-submit:disabled::before{content:"";width:12px;height:12px;flex:none;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-working .8s linear infinite}
#login .auth-notice{margin:16px 0 0;padding:12px 14px;border:1px solid var(--line2);border-radius:10px;background:var(--field);color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#login .auth-notice:empty{display:none}
#login .auth-support{margin:20px 0 0;text-align:center;color:var(--mut);font-size:12px;line-height:1.5}
#login .auth-support a{color:var(--accent-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#login .auth-legal{display:flex;justify-content:center;align-items:center;gap:10px;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:11px}
#login .auth-legal a{display:inline-flex;align-items:center;min-height:28px}
#login .auth-legal span{color:var(--mut)}
@keyframes auth-working{to{transform:rotate(360deg)}}
@media(max-width:480px){#login{padding:20px 16px}#login .lcard{padding:26px 22px;border-radius:18px}#login .auth-heading h1{font-size:26px}#login .auth-label-row{min-height:40px;margin-top:-8px;margin-bottom:2px}#login .auth-action{min-height:44px;padding:10px 0}#login .auth-legal a,#login .auth-support a{min-height:44px;display:inline-flex;align-items:center}#login .auth-support{margin-top:12px}#login .auth-legal{margin-top:10px;padding-top:8px}}
@media(max-height:650px){#login{align-items:flex-start;padding-block:16px}}
@media(prefers-reduced-motion:reduce){#login .auth-submit:disabled::before{animation:none}#login *{scroll-behavior:auto}}
