/* Form Fix CSS - Prevent text cutting issues */
/* This file ensures all form elements display text properly without cutting */
/* NOTE: .form-control-feedback is defined in corporate-theme.css to avoid duplication */

/* Universal form control fixes */
.form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  font-size: 14px !important;
}

/* Input specific fixes */
input.form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
  padding: 8px 12px !important;
}

/* Textarea specific fixes */
textarea.form-control {
  height: auto !important;
  min-height: 80px;
  line-height: 1.4 !important;
  padding: 10px 12px !important;
  resize: vertical;
}

/* Select specific fixes */
select.form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
  padding: 8px 12px !important;
}

/* Button fixes */
.btn {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
  padding: 8px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  font-size: 14px !important;
}

/* Input group fixes */
.input-group .form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
}

.input-group-addon {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
}

.input-group-btn .btn {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
}

/* Label fixes */
label {
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  display: block !important;
}

/* Checkbox and radio fixes */
.checkbox label,
.radio label {
  line-height: 1.4 !important;
  padding-left: 20px !important;
  min-height: 20px !important;
  display: inline-block !important;
}

/* Form group fixes */
.form-group {
  margin-bottom: 16px !important;
}

/* Modal form fixes */
.modal .form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
}

/* Table form fixes */
table .form-control {
  height: auto !important;
  min-height: 34px;
  line-height: 1.3 !important;
  padding: 6px 10px !important;
}

/* Small form controls */
.form-control.input-sm {
  height: auto !important;
  min-height: 32px;
  line-height: 1.3 !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}

/* Large form controls */
.form-control.input-lg {
  height: auto !important;
  min-height: 44px;
  line-height: 1.5 !important;
  padding: 10px 16px !important;
  font-size: 16px !important;
}

/* Validation states */
.has-error .form-control,
.has-warning .form-control,
.has-success .form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
}

/* Help text */
.help-block {
  font-size: 12px !important;
  line-height: 1.3 !important;
  margin-top: 4px !important;
}

/* Bootstrap override for consistent height */
.form-control:not(textarea) {
  height: auto !important;
}

/* Ensure proper display in all contexts */
.form-horizontal .form-control,
.form-inline .form-control {
  height: auto !important;
  min-height: 38px;
  line-height: 1.4 !important;
}

/* DataTables form controls */
.dataTables_wrapper .form-control {
  height: auto !important;
  min-height: 34px;
  line-height: 1.3 !important;
  padding: 6px 10px !important;
}

/* Responsive form fixes */
@media (max-width: 768px) {
  .form-control {
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 16px !important; /* Prevent zoom on iOS */
  }
  
  .btn {
    min-height: 42px !important;
    padding: 10px 16px !important;
  }
}

/* Print media fixes */
@media print {
  .form-control {
    border: 1px solid #000 !important;
    background: transparent !important;
    height: auto !important;
    min-height: 20px !important;
    line-height: 1.2 !important;
  }
}
