body.nimbus-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: clamp(12px, 5vw, 44px);
  background: radial-gradient(ellipse at top, var(--nimbus-soft), var(--nimbus-page) 75%);
}
body.nimbus-login > .login-card {
  width: min(100%, 450px);
  min-width: 0;
  margin: 0;
  padding: clamp(18px, 6vw, 38px);
  overflow-wrap: anywhere;
}
.login-card > img { display: block; margin-bottom: 18px; }
.login-card h1 { margin: 8px 0; }
.login-card > p { line-height: 1.55; }
.login-card form { display: grid; gap: 14px; margin-block: 20px; }
.login-card .field { margin: 0; }
.login-card .field input { width: 100%; min-width: 0; font-size: 16px; }
.login-card .primary { width: 100%; min-height: 48px; }
.login-install { padding-top: 14px; border-top: 1px solid var(--nimbus-line); }
.login-install summary { cursor: pointer; font-weight: 800; color: var(--nimbus-accent); }
.login-install p { font-size: 13px; line-height: 1.65; }
.login-error { padding: 10px 12px; border-radius: 8px; background: #ffe3ed; color: #781338; }

.nimbus-login { text-transform: uppercase; }
.nimbus-login input[name="username"] { text-transform: uppercase; }
.nimbus-login input[name="password"] { text-transform: none; }
