/* Release A: keep the login CTA visible after the global .cf-app button reset. */
.cf-app .entry-primary {
  background: #c8ff3d !important;
  color: #101214 !important;
}

.cf-app .entry-primary:hover:not(:disabled):not([aria-busy="true"]) {
  background: color-mix(in srgb, #c8ff3d 88%, #101214) !important;
  color: #101214 !important;
}

.cf-app .entry-primary:focus-visible {
  background: #c8ff3d !important;
  color: #101214 !important;
  outline: 3px solid rgba(200, 255, 61, 0.72) !important;
  outline-offset: 3px;
}

.cf-app .entry-primary:active:not(:disabled),
.cf-app .entry-primary[aria-pressed="true"] {
  background: color-mix(in srgb, #c8ff3d 76%, #101214) !important;
  color: #101214 !important;
}

.cf-app .entry-primary:disabled,
.cf-app .entry-primary[aria-busy="true"] {
  background: rgba(200, 255, 61, 0.45) !important;
  color: rgba(16, 18, 20, 0.72) !important;
  cursor: not-allowed;
}

.cf-app .entry-primary[aria-invalid="true"],
.cf-app .entry-primary[data-state="error"] {
  background: #fefefe !important;
  color: #101214 !important;
  box-shadow: inset 0 0 0 2px #c8ff3d;
}

/* Release C: mobile touch targets, consent flow, and short-keyboard layout. */
.cf-app .entry-theme-option {
  min-height: 44px;
}

.cf-app .entry-back,
.cf-app .entry-back:hover {
  box-sizing: border-box;
  width: 132px;
  min-width: 132px;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  white-space: nowrap;
}

.cf-app .entry-consent {
  box-sizing: border-box;
  display: block !important;
  min-height: 44px;
  padding: 7px 0;
}

.cf-app .entry-consent::after {
  clear: both;
  content: "";
  display: block;
}

.cf-app .entry-consent input {
  float: left;
  margin: 0 10px 8px 0;
}

@media (max-width: 700px) and (max-height: 620px) {
  .cf-app .entry-auth {
    width: 100%;
    height: 100dvh;
    min-height: 100dvh;
    margin: 0;
  }

  .cf-app .entry-login {
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .cf-app .entry-login-photo {
    min-height: 112px;
  }

  .cf-app .entry-login-form {
    padding: 12px 18px max(20px, env(safe-area-inset-bottom));
  }

  .cf-app .entry-login-form h1 {
    margin: 8px 0 10px;
    font-size: 29px;
  }

  .cf-app .entry-login-form > p {
    font-size: 14px;
  }

  .cf-app .entry-login-form form > label:first-child {
    margin: 12px 0 8px;
  }

  .cf-app .entry-consent {
    margin: 8px 0 !important;
  }

  .cf-app .entry-primary {
    margin-top: 10px;
  }
}
