*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
header{display:flex;align-items:center;gap:13px;background:var(--brand);color:var(--brand-ink);padding:20px 32px;border-bottom:2px solid var(--gold);font-size:17px;font-weight:600;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #ffffff40;border-radius:11px;background:#ffffff0b;color:var(--brand-ink)}
main{display:grid;place-items:center;padding:48px 24px}
.access{width:100%;max-width:440px;background:var(--sheet);border:1px solid var(--rule);border-radius:18px;padding:38px 36px 28px;box-shadow:0 16px 48px #102a320a}
.eyebrow{font-size:10.5px;letter-spacing:.16em;font-weight:700;color:var(--accent)}
h1{font-size:29px;line-height:1.2;font-weight:650;letter-spacing:-.035em;margin:13px 0 12px}
.intro p{margin:0 0 26px;color:var(--ink2);font-size:14px;line-height:1.65}
label{display:block;font-size:13px;font-weight:600;margin:18px 0 7px}
input{width:100%;min-width:0;padding:12px 13px;border:1px solid var(--rule);border-radius:9px;background:var(--sheet);color:var(--ink);font:inherit;min-height:47px}
input::placeholder{color:var(--ink3);opacity:1;font-size:14px}
input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.password-field{position:relative}.password-field input{padding-right:86px}
button{font:inherit;cursor:pointer}.show-password{position:absolute;right:5px;top:4px;bottom:4px;border:0;background:transparent;border-radius:6px;color:var(--accent);font-size:12px;font-weight:600;padding:0 12px;min-width:74px}.show-password:hover{background:var(--accent-soft)}
.submit{margin-top:24px;width:100%;min-height:47px;padding:12px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:14px}.submit:hover:not(:disabled){filter:brightness(.92)}.submit:disabled{opacity:.65;cursor:wait}
.err{color:var(--accent);font-size:13px;line-height:1.5;margin-top:12px}.err:empty{display:none}.caps{color:var(--ink2);font-size:12px;margin:8px 0 0;background:var(--gold-soft);padding:7px 10px;border-radius:6px}
.help{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--rule2);font-size:12px;line-height:1.8;color:var(--ink2)}
footer{padding:0 20px 24px;text-align:center;font-size:11px;letter-spacing:.02em;color:var(--ink3)}
@media(max-width:520px){header{padding:16px 20px;font-size:14px;gap:10px}.brand-mark{width:36px;height:36px}main{padding:28px 16px}.access{padding:28px 24px 24px;border-radius:14px}h1{font-size:27px}input{font-size:16px}.desktop-break{display:none}footer{padding-bottom:18px}}
