/* Shared form control styles — consistent borders, padding, and focus */
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="file"],
select,
textarea {
  width: 100%;
  padding: 0.5rem; /* Tailwind p-2 */
  border: 1px solid #cbd5e1; /* slate-300 */
  border-radius: 0.375rem; /* rounded-md */
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03); /* shadow-sm */
  background-color: #fff;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #f97316; /* orange-500 */
  outline-offset: 0;
  border-color: #f97316; /* focus:border-orange-500 */
}

/* Checkboxes */
input[type="checkbox"] {
  height: 1rem; /* 16px */
  width: 1rem;  /* 16px */
  border: 1px solid #cbd5e1; /* slate-300 */
  border-radius: 0.25rem;
}

input[type="checkbox"]:focus {
  outline: 2px solid #f97316;
  outline-offset: 1px;
}

/* Ensure buttons show hand cursor on hover (unless disabled) */
button,
button[type="button"],
button[type="submit"],
input[type="button"],
input[type="submit"],
.btn {
  cursor: pointer;
}

button[disabled],
button[disabled]:hover,
button[aria-disabled="true"],
input[type="submit"][disabled],
input[type="button"][disabled] {
  cursor: not-allowed;
}