@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("assets/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("assets/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root { color-scheme: dark; font-family: Manrope, "Segoe UI", sans-serif; background: #101010; color: #f1f1f1; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: 24px; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
.login-card { width: 100%; max-width: 380px; padding: 36px; border: 1px solid #2c2c2c; border-radius: 10px; background: #141414; }
h1 { margin: 0; font-size: 23px; font-weight: 650; letter-spacing: -.5px; line-height: 1.4; }
.subtitle { margin: 5px 0 30px; color: #a6a6a6; font-size: 12px; line-height: 1.6; }
.field + .field { margin-top: 19px; }
label { display: block; margin-bottom: 8px; font-size: 12px; color: #d0d0d0; }
input { display: block; width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #383838; border-radius: 5px; background: #0e0e0e; color: #f1f1f1; font: 400 14px/1.5 Manrope, "Segoe UI", sans-serif; }
input:hover { border-color: #505050; }
input[aria-invalid="true"] { border-color: #bd7777; }
.password-field { position: relative; }
.password-field input { padding-right: 47px; }
button { font: inherit; cursor: pointer; touch-action: manipulation; }
.password-toggle { position: absolute; top: 1px; right: 1px; display: grid; place-items: center; width: 44px; height: calc(100% - 2px); border: 0; border-radius: 4px; color: #999; background: transparent; }
.password-toggle:hover { color: #eee; }
.password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.submit-button { width: 100%; min-height: 46px; margin-top: 26px; padding: 12px 18px; border: 0; border-radius: 5px; background: #ededed; color: #101010; font-size: 12px; font-weight: 650; line-height: 1.5; }
.submit-button:hover { background: #d8d8d8; }
.submit-button:disabled { cursor: wait; opacity: .65; }
.form-error { color: #f0b3b3; font-size: 11px; line-height: 1.7; margin: 17px 0 0; }
.form-error:not([hidden]) + .submit-button { margin-top: 18px; }
input:focus-visible, button:focus-visible { outline: 2px solid #96bde6; outline-offset: 3px; }
@media (max-width: 420px) {
  body { padding: 20px; }
  .login-card { padding: 29px 25px; }
  input { font-size: 16px; }
}
