.auth {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
}

.auth__card {
  width: 100%;
  max-width: 400px;
  border-radius: var(--md-sys-shape-corner-large-default-size);
  background-color: var(--md-sys-color-surface-container-low);
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

.auth__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
}

.auth__icon {
  font-size: 40px;
  line-height: 40px;
  color: var(--md-sys-color-primary);
}

.auth__form {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.auth__field {
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}

.auth__label {
  color: var(--md-sys-color-on-surface-variant);
}

.auth__input {
  height: 56px;
  padding: 8px 16px;
  border-radius: var(--md-sys-shape-corner-extra-small-default-size);
  border: 1px solid var(--md-sys-color-outline);
  background-color: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  transition: border-color 200ms;
}

.auth__input:focus {
  border-color: var(--md-sys-color-primary);
  border-width: 2px;
}

.auth__submit {
  margin-top: 4px;
  width: 100%;
}

.auth__footer {
  display: flex;
  justify-content: center;
}

.auth__link {
  color: var(--md-sys-color-primary);
}

.auth__divider {
  display: flex;
  align-items: center;
  column-gap: 16px;
  color: var(--md-sys-color-on-surface-variant);
}

.auth__divider-line {
  flex: 1;
  height: 1px;
  background-color: var(--md-sys-color-outline-variant);
}

.auth__google {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  width: 100%;
  height: 40px;
  border-radius: 20px;
  border: 1px solid var(--md-sys-color-outline);
  background-color: var(--md-sys-color-surface);
  color: var(--md-sys-color-on-surface);
  cursor: pointer;
  transition: background-color 200ms;
}

.auth__google:hover {
  background-color: var(--md-sys-color-surface-container);
}

.auth__google-icon {
  width: 18px;
  height: 18px;
}

@media (max-width: 599px) {
  .auth {
    padding: 16px;
    align-items: flex-start;
    padding-top: 64px;
  }

  .auth__card {
    padding: 24px 16px;
  }
}
