/* Keep credentials above native touch keyboards, including desktop overlays. */
.login-page #login-form input { scroll-margin-block: 20px; }
.login-page.login-editing .login-panel { display: block; min-height: 0; }
.login-page.login-editing .login-visual { display: none; }
.login-page.login-editing .login-form-wrap {
  display: block;
  min-height: var(--login-visible-height, 100dvh);
  padding: 10px 20px calc(24px + var(--login-keyboard-inset, 0px));
  border: 0;
  overflow: visible;
}
.login-page.login-editing .login-form {
  width: min(640px, 100%);
  margin-inline: auto;
}
.login-page.login-editing .login-language {
  position: static;
  float: right;
  margin: 0 0 6px 10px;
}
.login-page.login-editing .mobile-brand {
  display: block;
  padding-top: 6px;
  margin: 0 0 6px;
  font-size: 11px;
  line-height: 18px;
}
.login-page.login-editing .login-form > .eyebrow,
.login-page.login-editing .login-form > p.text-secondary,
.login-page.login-editing .login-context-card,
.login-page.login-editing .nfc-login-panel,
.login-page.login-editing .login-divider,
.login-page.login-editing .security-note { display: none; }
.login-page.login-editing .login-context-actions {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin: 0 0 8px;
}
.login-page.login-editing .login-context-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.2;
}
.login-page.login-editing .login-form h2 {
  clear: both;
  font-size: 23px;
  line-height: 1.2;
  margin: 4px 0 10px;
}
.login-page.login-editing #machine-login-idle {
  margin: 0 0 6px;
  font-size: 11px;
}
.login-page.login-editing #login-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 6px 12px;
}
.login-page.login-editing #login-error {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0;
  padding: 6px 10px;
}
.login-page.login-editing label[for="username"] { grid-column: 1; grid-row: 2; }
.login-page.login-editing label[for="password"] { grid-column: 2; grid-row: 2; }
.login-page.login-editing #username { grid-column: 1; grid-row: 3; }
.login-page.login-editing #password { grid-column: 2; grid-row: 3; }
.login-page.login-editing #login-form .form-label {
  margin: 0 !important;
  font-size: 14px;
}
.login-page.login-editing #login-form .form-control {
  min-width: 0;
  min-height: 48px;
  font-size: 20px;
  padding: 8px 12px;
}
.login-page.login-editing #login-form > .form-text:not(#login-progress) { display: none; }
.login-page.login-editing #login-form > button[type="submit"] {
  grid-column: 1 / -1;
  grid-row: 4;
  min-height: 46px;
  padding: 8px 12px;
  margin-top: 4px !important;
}
.login-page.login-editing #login-progress {
  grid-column: 1 / -1;
  grid-row: 5;
  margin: 0 !important;
}
@media (max-width: 540px) {
  .login-page.login-editing .login-form-wrap { padding-inline: 14px; }
  .login-page.login-editing .mobile-brand { clear: both; }
  .login-page.login-editing .login-form h2 { font-size: 20px; }
  .login-page.login-editing #login-form { grid-template-columns: minmax(0, 1fr); }
  .login-page.login-editing label[for="username"] { grid-column: 1; grid-row: 2; }
  .login-page.login-editing #username { grid-column: 1; grid-row: 3; }
  .login-page.login-editing label[for="password"] { grid-column: 1; grid-row: 4; }
  .login-page.login-editing #password { grid-column: 1; grid-row: 5; }
  .login-page.login-editing #login-form > button[type="submit"] { grid-row: 6; }
  .login-page.login-editing #login-progress { grid-row: 7; }
}
