.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 18px;
  background: linear-gradient(135deg, #dce8ef, #f4f6f0);
}

.login-panel {
  width: min(360px, 100%);
  background: #ffffff;
  border: 1px solid #d9e0e6;
  border-radius: 6px;
  padding: 24px;
  box-shadow: 0 12px 28px rgba(40, 58, 75, 0.12);
}

.login-panel h1 {
  margin: 0 0 6px;
  font-size: 22px;
}

.login-panel p {
  margin: 0 0 18px;
  color: #667789;
}

.form-stack {
  display: grid;
  gap: 12px;
}

.form-stack label {
  display: grid;
  gap: 4px;
}

.captcha-row {
  display: grid;
  grid-template-columns: 1fr 78px;
  gap: 6px;
}

.captcha-box {
  background: repeating-linear-gradient(45deg, #edf3f6, #edf3f6 8px, #dbe6ec 8px, #dbe6ec 16px);
  font-weight: 700;
}

.message {
  min-height: 20px;
  color: #b42318;
}
