@font-face{font-family:Nunito;src:url('assets/nunito-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
*{box-sizing:border-box}
:root{font-family:Nunito,sans-serif;font-size:clamp(16px,1.40845vw,32px);color:#111;background:#fff;font-synthesis:none}
body{margin:0;min-height:100svh;display:grid;place-items:center;padding:24px}
.login-card{width:calc(24.375rem - 8px);min-height:calc(25.875rem - 8px);border:1px solid #aaa;border-radius:.8125rem;background:#fff;display:flex;justify-content:center;padding:calc(2.375rem - 4px) 0 calc(2.4375rem - 4px)}
.content{width:14.375rem;position:relative}
.logo-placeholder{display:grid;place-items:center;width:4.5rem;height:2.5rem;margin:0 auto 1.5rem;border:1px dashed #a7a7a7;border-radius:.375rem;color:#0b7485;background:#fafafa;font-size:.875rem;font-weight:700;letter-spacing:.12em}
h1{font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#0b7485;margin:0 0 1.3125rem}
label{display:block;font-size:.8125rem;line-height:1.0625rem;font-weight:700;margin-bottom:.6875rem}
input{display:block;width:100%;height:2.4375rem;border:1px solid #a7a7a7;border-radius:.4375rem;background:#f3f3f3;color:#111;padding:0 .75rem;font:500 1rem Nunito,sans-serif;outline-offset:3px}
button{font-family:inherit;cursor:pointer;color:inherit}
a{color:inherit;text-underline-offset:3px;text-decoration-style:dotted}
input[hidden]{display:none}
.password-card{min-height:calc(27.5rem - 8px)}
.account{display:flex;align-items:center;gap:.625rem;margin:0 0 1.125rem}
.account-icon{display:grid;place-items:center;width:2.375rem;height:2.375rem;flex-shrink:0;background:#ededed;border-radius:50%}
.account-icon svg{width:1.125rem;height:1.125rem}
.account-details{min-width:0;font-size:.8125rem;line-height:1.125rem}
.account-details strong{display:block;font-weight:700;overflow-wrap:anywhere}
.account-details a{display:block}
.show-password{display:flex;align-items:center;gap:.4375rem;margin:.875rem 0 1.125rem;font-weight:500;cursor:pointer}
.show-password input{appearance:none;flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;margin:0;border-radius:.1875rem;display:grid;place-content:center;cursor:pointer}
.show-password input:checked{background:#111;border-color:#111}
.show-password input:checked::after{content:'';width:.75rem;height:.375rem;border-left:2px solid white;border-bottom:2px solid white;transform:translateY(-.125rem) rotate(-45deg)}
.password-card .primary{margin-top:0}
.text-link{display:block;border:0;padding:0;background:none;font-size:.8125rem;line-height:1.125rem;font-weight:500;text-decoration:underline dotted;text-underline-offset:3px;text-align:left}
.forgot-password{color:#0b7485;margin-top:1.5rem}
.password-card .cancel{margin-top:2.5rem}
.thank-you-card{min-height:23rem}
.thank-you-content h1{font-size:1.2rem;line-height:1.45;margin-bottom:1rem;text-align:center}
.thank-you-content p{margin:0;color:#222;font-size:.875rem;line-height:1.5;text-align:center}
.primary.button-link{display:grid;place-items:center;text-align:center;text-decoration:none;margin-top:2rem}
.primary,.secondary{display:block;width:100%;height:2.4375rem;border-radius:1.0625rem;font-size:.8125rem;line-height:1;font-weight:700}
.primary{margin-top:1rem;border:1px solid #111;background:#111;color:#fff}
.signup{margin-top:2rem}
.signup p{margin:0 0 1rem;font-size:1rem;line-height:1.25rem;font-weight:500;letter-spacing:-.02em}
.secondary{border:1.5px solid #111;background:#fff}
.cancel{display:block;margin-top:3.0625rem;border:0;padding:0;background:transparent;text-decoration:underline dotted;text-underline-offset:3px;font-size:.8125rem;line-height:1.0625rem;font-weight:500}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #0b7485;outline-offset:4px}
.primary:hover{background:#292929}.secondary:hover{background:#f5f5f5}.cancel:hover{color:#0b7485}
.status{position:absolute;top:100%;margin:.6rem 0 0;font-size:.75rem;line-height:1.2;color:#0b7485}
@media(max-width:600px){
  :root{font-size:16px}
  body{display:block;padding:48px 12.85vw;min-height:100svh}
  .login-card{display:block;width:100%;min-height:0;border:0;border-radius:0;padding:0}
  .content{width:100%;max-width:none}
  .logo-placeholder{display:none}
  h1{font-size:24px;line-height:30px;margin-bottom:26px}
  label{font-size:16px;line-height:20px;margin-bottom:12px}
  input{height:48px;border-radius:8px;font-size:18px}
  .primary,.secondary{height:48px;border-radius:20px;font-size:16px}
  .primary{margin-top:20px}
  .signup{margin-top:40px}
  .signup p{font-size:20px;line-height:26px;margin-bottom:20px}
  .secondary{border-width:2px}
  .cancel{margin-top:64px;font-size:16px;line-height:20px;text-decoration-style:solid}
  .status{font-size:14px}
  .password-page .logo-placeholder{display:grid;height:32px;width:64px;margin-bottom:20px;font-size:12px}
  .password-card h1{margin-bottom:20px}
  .account{gap:12px;margin-bottom:22px}
  .account-icon{width:48px;height:48px}
  .account-icon svg{width:24px;height:24px}
  .account-details{font-size:15px;line-height:22px}
  .show-password{gap:9px;margin:18px 0 22px;font-size:15px;line-height:20px}
  .show-password input{width:36px;height:36px;border-radius:4px}
  .forgot-password{font-size:16px;line-height:22px;margin-top:32px;text-decoration-style:solid}
  .password-card .cancel{margin-top:52px}
  .account-details a{text-decoration-style:solid}
  .thank-you-page .logo-placeholder{display:grid;height:32px;width:64px;margin-bottom:24px;font-size:12px}
  .thank-you-card{min-height:0}
  .thank-you-content h1{font-size:24px;line-height:32px;margin-bottom:18px}
  .thank-you-content p{font-size:17px;line-height:26px}
  .thank-you-content .button-link{margin-top:32px}
}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,color .15s}}
