:root {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color: #1d282d;
  background: #eef2f3;
}


* {
  box-sizing: border-box;
}


html,
body {
  margin: 0;
  min-height: 100%;
}


body {
  min-height: 100vh;
  min-height: 100dvh;
}


.login-page {
  min-height: 100vh;
  min-height: 100dvh;

  display: flex;
  align-items: center;
  justify-content: center;

  padding:
    calc(24px + env(safe-area-inset-top))
    20px
    calc(24px + env(safe-area-inset-bottom));
}


.login-card {
  width: min(420px, 100%);

  padding: 30px 24px;

  background: white;

  border-radius: 24px;

  box-shadow:
    0 8px 30px
    rgba(20,45,55,.10);
}


.avatar {
  width: 72px;
  height: 72px;

  margin: 0 auto 14px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #176c82;
  color: white;

  font-size: 36px;
  font-weight: 750;
}


h1 {
  margin: 0;

  text-align: center;

  font-size: 34px;
}


.subtitle {
  margin:
    4px
    0
    28px;

  text-align: center;

  color: #69787e;

  font-size: 18px;
}


label {
  display: block;

  margin-bottom: 8px;

  font-size: 18px;
  font-weight: 650;
}


input[type="password"] {
  width: 100%;

  min-height: 58px;

  padding: 12px 14px;

  border:
    1px solid #bac8cd;

  border-radius: 14px;

  font-size: 22px;

  outline: none;
}


input[type="password"]:focus {
  border-color: #176c82;

  box-shadow:
    0 0 0 3px
    rgba(23,108,130,.12);
}


.remember {
  margin:
    20px
    0;

  display: flex;
  align-items: center;

  gap: 11px;

  font-size: 17px;
  font-weight: 500;
}


.remember input {
  width: 24px;
  height: 24px;
}


button {
  width: 100%;

  min-height: 58px;

  border: 0;

  border-radius: 14px;

  background: #176c82;
  color: white;

  font-size: 21px;
  font-weight: 750;
}


button:disabled {
  opacity: .55;
}


.error {
  margin-top: 16px;

  padding: 12px;

  border-radius: 12px;

  background: #fff0f0;
  color: #7d2424;

  text-align: center;
}


.note {
  margin:
    22px
    0
    0;

  color: #738087;

  text-align: center;

  font-size: 14px;
  line-height: 1.4;
}


.recovery-link {
  margin-top: 16px;
  text-align: center;
}

.recovery-link a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

