/* Sign-in screen. Uses the brand tokens from app.css. */

.login-body {
  background: var(--burg);
  color: var(--cream);
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login {
  width: 100%;
  max-width: 380px;
  text-align: left;
}

.login-mark {
  width: 160px;
  height: 43px;
  background: var(--cream);
  -webkit-mask: var(--logo) left center/contain no-repeat;
  mask: var(--logo) left center/contain no-repeat;
  margin-bottom: 34px;
}

.login h1 {
  font: 400 44px/1.05 var(--serif);
  margin: 0 0 6px;
  color: var(--cream);
}

.login-lede {
  font: italic 400 19px/1.4 var(--serif);
  color: var(--gold);
  margin: 0 0 32px;
}

.login-fld {
  display: block;
  margin-bottom: 18px;
}

.login-fld > span {
  display: block;
  font: 500 12.5px/1 var(--sans);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.login-fld input {
  width: 100%;
  padding: 13px 14px;
  background: rgba(251, 241, 229, .06);
  border: 1px solid rgba(201, 162, 94, .4);
  border-radius: 7px;
  color: var(--cream);
  font: 16px/1.3 var(--sans);
}

.login-fld input:focus {
  outline: 2px solid var(--gold);
  outline-offset: 1px;
  background: rgba(251, 241, 229, .1);
}

.login-btn {
  width: 100%;
  margin-top: 8px;
  padding: 14px 18px;
  background: var(--cream);
  color: var(--burg);
  border: 0;
  border-radius: 7px;
  font: 600 15.5px/1 var(--sans);
  cursor: pointer;
}

.login-btn:hover { background: #fff; }

.login-btn[disabled] {
  opacity: .55;
  cursor: default;
}

.login-err {
  margin: 0 0 16px;
  padding: 11px 13px;
  border-radius: 7px;
  background: rgba(236, 122, 107, .14);
  border: 1px solid rgba(236, 122, 107, .45);
  color: #ffd9d2;
  font: 14px/1.45 var(--sans);
}

.login-foot {
  margin: 30px 0 0;
  font: 13px/1.5 var(--sans);
  color: rgba(251, 241, 229, .55);
}
