.sign-in {
  --color-primary: #174ea6;
  --color-selected-dark: #1a73e8;
  background: linear-gradient(135deg, #1a73e8, #174ea6);
  color-scheme: light;
  display: grid;
  font-family: system-ui, sans-serif;
  min-block-size: 100dvh;
  padding: 1rem;
  place-items: center;
}

.sign-in__card {
  background: var(--color-surface);
  border-radius: .75rem;
  box-shadow: var(--shadow-lg);
  color: var(--color-text);
  display: grid;
  gap: 1rem;
  inline-size: min(100%, 25rem);
  padding: clamp(1rem, 6vw, 2.5rem);
}

.sign-in__brand {
  color: var(--color-primary);
  font-weight: 650;
}

.sign-in__card h1 {
  font-size: clamp(1.5rem, 5vw, 1.875rem);
  font-weight: 700;
  line-height: 1.15;
}

.sign-in__form {
  display: grid;
  gap: 1rem;
}

.sign-in__field {
  display: grid;
  font-size: .875rem;
  gap: .375rem;
}

.sign-in__field label {
  font-weight: 600;
}

.sign-in__field .input {
  --input-padding: .625rem .75rem;
  --input-radius: .375rem;
  min-inline-size: 0;
}

.sign-in__field-error {
  color: var(--color-text-negative);
}

.sign-in .btn {
  --btn-cursor: pointer;
  --btn-padding: .625rem .75rem;
  --btn-radius: .375rem;
  white-space: normal;
}

.sign-in__status:not(:empty) {
  font-size: .875rem;
}

.sign-in__status:empty {
  margin-block-start: -1rem;
}
