/**
 * Shared form field UI (reference: modules/student/register.php).
 * Loaded on all non-admin module headers — not on admin.
 */

:root {
  --lms-input-radius: 10px;
  --lms-input-border: rgba(15, 23, 42, 0.12);
  --lms-input-focus: #22d3ee;
  --lms-input-success: #059669;
  --lms-input-danger: #e11d48;
}

/* Field groups */
.lms-form-field,
.login_register .form-group,
.register .form-group,
.login .form-group,
.auth-card__content .lms-form-field {
  margin-bottom: 1rem;
}

/* Inputs — override legacy .register/.login rules from style.css */
.lms-form-field .form-control,
.lms-form-field .form-select,
.login_register .form-control:not(.form-control-sm):not(.form-control-lg),
.login_register .form-select:not(.form-select-sm):not(.form-select-lg),
.login_register textarea.form-control,
.register .form-control:not(.form-control-sm):not(.form-control-lg),
.register .form-select:not(.form-select-sm):not(.form-select-lg),
.register textarea.form-control,
.login .form-control:not(.form-control-sm):not(.form-control-lg),
.login .form-select:not(.form-select-sm):not(.form-select-lg),
.auth-card__content .lms-form-field .form-control,
.auth-card__content .lms-form-field .form-select,
.auth-card__content .form-control:not(.form-control-sm):not(.form-control-lg),
.auth-card__content .form-select:not(.form-select-sm):not(.form-select-lg),
form .form-control:not(.form-control-sm):not(.form-control-lg):not(.form-check-input),
form .form-select:not(.form-select-sm):not(.form-select-lg),
form textarea.form-control:not(.form-control-sm):not(.form-control-lg) {
  border-radius: var(--lms-input-radius);
  border: 1px solid var(--lms-input-border);
  background: #fff !important;
  min-height: 48px;
  height: auto !important;
  margin-bottom: 0 !important;
  font-family: 'Roboto Slab', 'Times New Roman', serif;
  font-size: 1rem;
  transition: border-color 0.24s ease, box-shadow 0.24s ease;
}

form textarea.form-control:not(.form-control-sm):not(.form-control-lg) {
  min-height: 120px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

input[type="file"].form-control {
  min-height: 48px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.lms-form-field .form-control,
.lms-form-field .form-select,
.login_register .form-control:not(.form-control-sm):not(.form-control-lg),
.login_register .form-select:not(.form-select-sm):not(.form-select-lg),
.register .form-control:not(.form-control-sm):not(.form-control-lg),
.register .form-select:not(.form-select-sm):not(.form-select-lg),
.login .form-control:not(.form-control-sm):not(.form-control-lg),
.login .form-select:not(.form-select-sm):not(.form-select-lg),
.auth-card__content .form-control:not(.form-control-sm):not(.form-control-lg),
.auth-card__content .form-select:not(.form-select-sm):not(.form-select-lg),
form .form-control:not(.form-control-sm):not(.form-control-lg):not(.form-check-input),
form .form-select:not(.form-select-sm):not(.form-select-lg) {
  width: 100%;
}

/* Labels */
.lms-form-field > .form-label,
.lms-form-field > label:first-child:not(.form-check-label),
.login_register label:not(.form-check-label):not(.btn),
.register label:not(.form-check-label):not(.btn),
.login label:not(.form-check-label):not(.btn),
.auth-card__content .form-label {
  display: block;
  color: #000 !important;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

/* Placeholders */
form .form-control::placeholder,
form textarea.form-control::placeholder,
form .form-control::-webkit-input-placeholder,
form textarea.form-control::-webkit-input-placeholder,
.auth-card__content .form-control::placeholder,
.auth-card__content .form-control::-webkit-input-placeholder {
  color: #64748b;
  font-size: calc(1rem - 3px);
  opacity: 1;
}

/* Focus */
form .form-control:focus,
form .form-select:focus,
form textarea.form-control:focus,
.login_register .form-control:focus,
.login_register .form-select:focus,
.register .form-control:focus,
.register .form-select:focus,
.login .form-control:focus,
.login .form-select:focus,
.auth-card__content .form-control:focus,
.auth-card__content .form-select:focus {
  border-color: var(--lms-input-focus);
  box-shadow: 0 0 0 0.26rem rgba(34, 211, 238, 0.2);
  outline: none;
}

/* Validation */
form .form-control.is-valid,
form .form-select.is-valid,
.auth-card__content .form-control.is-valid,
.auth-card__content .form-select.is-valid {
  border-color: var(--lms-input-success);
  box-shadow: 0 0 0 0.2rem rgba(5, 150, 105, 0.16);
}

form .form-control.is-invalid,
form .form-select.is-invalid,
.auth-card__content .form-control.is-invalid,
.auth-card__content .form-select.is-invalid {
  border-color: var(--lms-input-danger);
  box-shadow: 0 0 0 0.2rem rgba(225, 29, 72, 0.14);
}

form .invalid-feedback,
.auth-card__content .invalid-feedback {
  font-size: 0.78rem;
}

.card-panel__body .lms-form-field,
.card-panel__body form .lms-form-field {
  margin-bottom: 0;
}

.card-panel__body form .form-control:not(.form-control-sm):not(.form-control-lg):not(.form-check-input),
.card-panel__body form .form-select:not(.form-select-sm):not(.form-select-lg),
.card-panel__body form textarea.form-control:not(.form-control-sm):not(.form-control-lg) {
  border-radius: var(--lms-input-radius);
  border: 1px solid var(--lms-input-border);
  background: #fff !important;
  min-height: 48px;
  height: auto !important;
  margin-bottom: 0 !important;
  font-family: 'Roboto Slab', 'Times New Roman', serif;
  font-size: 1rem;
  transition: border-color 0.24s ease, box-shadow 0.24s ease;
  width: 100%;
}

.card-panel__body form textarea.form-control:not(.form-control-sm):not(.form-control-lg) {
  min-height: 120px;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.card-panel__body form .form-control:focus,
.card-panel__body form .form-select:focus,
.card-panel__body form textarea.form-control:focus {
  border-color: var(--lms-input-focus);
  box-shadow: 0 0 0 0.26rem rgba(34, 211, 238, 0.2);
  outline: none;
}

.card-panel__body .lms-form-field > .form-label,
.card-panel__body form .form-label {
  display: block;
  color: #000 !important;
  font-weight: 600;
  margin-bottom: 0.35rem;
}
