/*
 * Elevate UI/UX Form & Control Standard — UI06
 * Functional baseline: R37. Builds on UI05.
 * Presentation only. Names, values, validation, submit behavior and persistence
 * are unchanged.
 */

/* Text-entry controls only; checkboxes/radios/files/buttons are excluded. */
.dashboard-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.dashboard-page select,
.dashboard-page textarea,
.account-setup-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.account-setup-page select,
.account-setup-page textarea,
.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.admin-page select,
.admin-page textarea,
.registration-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.registration-page select,
.registration-page textarea,
.change-password-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.login-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]) {
  box-sizing: border-box;
  min-height: var(--elevate-control-height-default);
  border-radius: var(--elevate-radius-md);
  padding: 0.5rem 0.625rem;
}

.dashboard-page textarea,
.account-setup-page textarea,
.admin-page textarea,
.registration-page textarea {
  min-height: 4.5rem;
  line-height: var(--elevate-line-height-normal);
}

/* Predictable focus treatment without changing validation logic. */
.dashboard-page input:focus-visible,
.dashboard-page select:focus-visible,
.dashboard-page textarea:focus-visible,
.account-setup-page input:focus-visible,
.account-setup-page select:focus-visible,
.account-setup-page textarea:focus-visible,
.admin-page input:focus-visible,
.admin-page select:focus-visible,
.admin-page textarea:focus-visible,
.registration-page input:focus-visible,
.registration-page select:focus-visible,
.registration-page textarea:focus-visible,
.change-password-page input:focus-visible,
.login-page input:focus-visible {
  outline: 3px solid rgba(120,169,255,.30);
  outline-offset: 1px;
}

/* Disabled/read-only controls remain clearly non-editable. */
.dashboard-page input:disabled,
.dashboard-page select:disabled,
.dashboard-page textarea:disabled,
.account-setup-page input:disabled,
.account-setup-page select:disabled,
.account-setup-page textarea:disabled,
.admin-page input:disabled,
.admin-page select:disabled,
.registration-page input:disabled,
.registration-page select:disabled {
  cursor: not-allowed;
}

/* Keep label-to-control rhythm consistent where labels already exist. */
.dashboard-page label,
.account-setup-page label,
.admin-page label,
.registration-page label,
.change-password-page label,
.login-page label {
  line-height: var(--elevate-line-height-tight);
}

@media (max-width: 700px) {
  .dashboard-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  .dashboard-page select,
  .dashboard-page textarea,
  .account-setup-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  .account-setup-page select,
  .account-setup-page textarea,
  .admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  .admin-page select,
  .registration-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  .registration-page select,
  .change-password-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
  .login-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]) {
    min-height: var(--elevate-touch-target-min);
    font-size: 1rem !important; /* avoids browser zoom on focus */
  }
}
