.login-screen {
  display: grid;
  grid-column: 1 / -1;
  width: 100%;
  min-height: 100svh;
  place-items: center;
  padding: 24px;
  background: #edf3f8;
}

.login-panel {
  width: min(440px, 100%);
  padding: 42px;
  border: 1px solid #cfd9e4;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(23, 32, 38, 0.14);
}

.login-mark {
  display: block;
  width: 56px;
  height: 56px;
  max-width: 56px;
  max-height: 56px;
  margin: 0 0 24px;
  object-fit: contain;
}

.login-eyebrow {
  margin: 0 0 8px;
  color: var(--primary-strong, #084a9b);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.login-panel h1 {
  margin: 0;
  color: #09244a;
  font-size: 2rem;
}

.login-copy,
.login-security,
.login-note {
  color: var(--muted, #5d6972);
  line-height: 1.5;
}

.login-copy {
  margin: 12px 0 28px;
}

.login-action {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: var(--primary, #0b63ce);
  color: #ffffff;
  cursor: pointer;
  font-weight: 850;
}

.login-action:disabled {
  background: #aebdcb;
  cursor: not-allowed;
}

.login-security,
.login-note,
.login-error {
  margin: 16px 0 0;
  font-size: 0.82rem;
}

.login-error {
  border: 1px solid rgba(180, 35, 24, 0.24);
  border-radius: 8px;
  background: #fff7f6;
  color: var(--danger, #b42318);
  padding: 10px 12px;
}

@media (max-width: 560px) {
  .login-screen {
    place-items: start center;
    padding: 16px;
  }

  .login-panel {
    padding: 28px 22px;
  }

  .login-mark {
    width: 52px;
    height: 52px;
    max-width: 52px;
    max-height: 52px;
    margin-bottom: 20px;
  }
}
