/* Fonts, colors and control styling come from the original app stylesheets. */
:root{color-scheme:light dark}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.brand-header{background:var(--header);border-bottom:3px solid var(--brand);padding-block:22px}
.brand-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1100px;margin:0 auto;padding-inline:16px}
.brand-header img{display:block;width:200px;height:32px;max-width:100%}
.brand-header .eyebrow{margin:0}
main{flex:1;width:100%;max-width:1100px;padding:clamp(42px,8vh,88px) 24px 56px}
.sign-in{width:min(100%,400px);margin:0 auto}
h1{font-family:"Big Shoulders Display","Arial Narrow",sans-serif;font-stretch:condensed;font-weight:800;font-size:clamp(24px,3.6vw,32px);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;border-left:4px solid var(--brand);padding-left:12px;margin:10px 0}
.intro{margin:0 0 32px;color:var(--ink-2);line-height:1.55}
label{display:block;margin:20px 0 8px;font-weight:600}
input{display:block;width:100%;min-height:44px;padding:8px 10px;border-radius:8px;border:2px solid var(--input-border);background:var(--input-bg);color:var(--input-ink);font-weight:500}
input[aria-invalid=true]{border-color:var(--bad)}
.password-field{position:relative}
.password-field input{padding-right:78px}
#show-password{position:absolute;right:4px;top:4px;bottom:4px;min-width:62px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--input-ink);font-size:13px;font-weight:600;cursor:pointer}
#show-password:hover{background:var(--surface)}
.recovery{display:flex;justify-content:flex-end;margin:10px 0 24px}
#forgot-password{border:0;padding:4px 0;background:transparent;color:var(--link);font-size:14px;font-weight:600;cursor:pointer;text-underline-offset:3px}
#forgot-password:hover{text-decoration:underline}
.submit{width:100%;min-height:48px}
button:disabled{cursor:wait;opacity:.5}
button:focus-visible{outline:3px solid #2c7be5;outline-offset:2px}
#status{margin:0 0 20px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--na-bg);color:var(--na);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#status[data-kind=error]{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
#status[data-kind=success]{border-color:var(--good);color:var(--good);background:var(--good-bg)}
[hidden]{display:none!important}
.access-note{margin:18px 0 0;color:var(--ink-2);font-size:13.5px;line-height:1.6}
.help{margin-top:32px;padding-top:22px;border-top:1px solid var(--border);font-size:14px;color:var(--ink-2)}
.help p{margin:2px 0}.help p:first-child{font-weight:600;color:var(--ink)}
footer{width:calc(100% - 32px);text-align:center}
@media(max-width:600px){.brand-header-inner{align-items:flex-start;flex-direction:column;gap:12px}.brand-header img{width:175px;height:28px}main{padding-top:38px}.intro{margin-bottom:26px}footer{text-align:left}}
