/*
 * Pagina di accesso.
 *
 * Non esisteva nel prototipo: l'applicazione si autenticava da sola chiamando un
 * endpoint di sviluppo. Qui è la prima cosa che un operatore vede, quindi porta
 * l'identità visiva della Fondazione già a questo punto.
 */

body.login {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
  background:
    radial-gradient(circle at 15% 15%, color-mix(in srgb, var(--coral) 16%, transparent), transparent 45%),
    radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--lavender) 28%, transparent), transparent 50%),
    var(--cream);
}

.login-card {
  width: min(420px, 100%);
  padding: 34px 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}

.login-brand .brand-mark {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(135deg, var(--coral), var(--amber));
  color: #272623;
  font-weight: 900;
  overflow: hidden;
}

.login-brand .brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.login-brand strong {
  display: block;
  font-size: 17px;
  font-weight: 780;
}

.login-brand small {
  color: var(--muted);
  font-size: 12px;
}

.login-title {
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: 760;
  letter-spacing: -.02em;
}

.login-sub {
  margin-bottom: 22px;
  font-size: 13px;
  color: var(--muted);
}

.login-card .btn {
  width: 100%;
  justify-content: center;
  padding: 12px;
  text-align: center;
}

.login-error {
  display: none;
  margin-bottom: 16px;
}

.login-error.show {
  display: flex;
}

.login-foot {
  margin-top: 20px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--muted);
}
