/**
 * Rudocode Admin — Material outlined form fields.
 * Static labels only (no floating / notch). Focus = border thickening + brand color.
 */

:root {
  --rc-m3-field-height: 2.75rem;
  --rc-m3-radius: 0.375rem;
  --rc-m3-padding-x: 0.875rem;
  --rc-m3-padding-y: 0.625rem;
  --rc-m3-label-gap: 0.4375rem;
  --rc-m3-outline: #E5E7EB;
  --rc-m3-outline-hover: #D1D5DB;
  --rc-m3-surface: #FFFFFF;
  --rc-m3-on-surface: #111111;
  --rc-m3-on-surface-variant: #6B7280;
  --rc-m3-primary: #BF1914;
  --rc-m3-primary-rgb: 191, 25, 20;
  --rc-m3-error: #DC2626;
  --rc-m3-disabled-bg: #F3F4F6;
  --rc-m3-disabled-text: #9CA3AF;
  --rc-m3-transition: 0.15s ease;
}

/* ── Shared Material outline control ─────────────────────────────────────── */

.page-content .form-control,
.page-content .form-select,
.page-content .rc-form-control,
.modal .form-control,
.modal .form-select,
.modal .rc-form-control,
.rc-material .rc-field__input {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  min-height: var(--rc-m3-field-height);
  padding: var(--rc-m3-padding-y) var(--rc-m3-padding-x);
  font-size: 0.875rem;
  line-height: 1.35;
  color: var(--rc-m3-on-surface);
  background-color: var(--rc-m3-surface);
  border: 1px solid var(--rc-m3-outline);
  border-radius: var(--rc-m3-radius);
  box-shadow: none !important;
  outline: none;
  transition:
    border-color var(--rc-m3-transition),
    background-color var(--rc-m3-transition);
  -webkit-appearance: none;
  appearance: none;
}

.page-content textarea.form-control,
.page-content textarea.rc-form-control,
.modal textarea.form-control,
.modal textarea.rc-form-control {
  height: auto;
  min-height: 6rem;
  line-height: 1.5;
  resize: vertical;
}

.page-content .form-control::placeholder,
.page-content .form-select::placeholder,
.page-content .rc-form-control::placeholder,
.modal .form-control::placeholder,
.rc-material .rc-field__input::placeholder {
  color: var(--rc-m3-on-surface-variant);
  opacity: 1;
}

.page-content .form-control:hover:not(:disabled):not(:focus):not(.is-invalid),
.page-content .form-select:hover:not(:disabled):not(:focus):not(.is-invalid),
.page-content .rc-form-control:hover:not(:disabled):not(:focus):not(.is-invalid),
.modal .form-control:hover:not(:disabled):not(:focus):not(.is-invalid),
.modal .form-select:hover:not(:disabled):not(:focus):not(.is-invalid),
.rc-material .rc-field__input:hover:not(:disabled):not(:focus) {
  border-color: var(--rc-m3-outline-hover);
}

.page-content .form-control:focus,
.page-content .form-control:focus-visible,
.page-content .form-select:focus,
.page-content .form-select:focus-visible,
.page-content .rc-form-control:focus,
.page-content .rc-form-control:focus-visible,
.modal .form-control:focus,
.modal .form-control:focus-visible,
.modal .form-select:focus,
.modal .form-select:focus-visible,
.modal .rc-form-control:focus,
.modal .rc-form-control:focus-visible,
.rc-material .rc-field__input:focus {
  border: 2px solid var(--rc-m3-primary) !important;
  padding: calc(var(--rc-m3-padding-y) - 1px) calc(var(--rc-m3-padding-x) - 1px);
  box-shadow: none !important;
  outline: none !important;
  background-color: var(--rc-m3-surface);
}

.page-content textarea.form-control:focus,
.page-content textarea.rc-form-control:focus,
.modal textarea.form-control:focus {
  padding: calc(var(--rc-m3-padding-y) - 1px) calc(var(--rc-m3-padding-x) - 1px);
}

.page-content .form-control:disabled,
.page-content .form-select:disabled,
.page-content .rc-form-control:disabled,
.modal .form-control:disabled,
.rc-material .rc-field__input:disabled {
  background-color: var(--rc-m3-disabled-bg);
  color: var(--rc-m3-disabled-text);
  cursor: not-allowed;
  opacity: 1;
}

.page-content .form-control.is-invalid,
.page-content .form-select.is-invalid,
.page-content .rc-form-control.is-invalid,
.modal .form-control.is-invalid,
.rc-material .rc-field--error .rc-field__input,
.rc-material .rc-field__input.is-invalid {
  border-color: var(--rc-m3-error) !important;
}

.page-content .form-control.is-invalid:focus,
.page-content .form-select.is-invalid:focus,
.page-content .rc-form-control.is-invalid:focus,
.modal .form-control.is-invalid:focus {
  border: 2px solid var(--rc-m3-error) !important;
  box-shadow: none !important;
}

.page-content .form-control:-webkit-autofill,
.page-content .form-control:-webkit-autofill:hover,
.page-content .form-control:-webkit-autofill:focus,
.rc-material .rc-field__input:-webkit-autofill,
.rc-material .rc-field__input:-webkit-autofill:hover,
.rc-material .rc-field__input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--rc-m3-on-surface);
  box-shadow: 0 0 0 1000px var(--rc-m3-surface) inset !important;
  transition: background-color 99999s ease-out;
}

/* Labels stay static above the field */
.page-content .rc-form-label,
.page-content .form-label,
.modal .rc-form-label,
.modal .form-label,
.rc-material .rc-field__label {
  position: static;
  display: block;
  float: none;
  margin: 0 0 var(--rc-m3-label-gap);
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  color: var(--rc-m3-on-surface);
  pointer-events: auto;
  transform: none;
  background: transparent;
}

.page-content .rc-form-group .text-danger,
.rc-material .rc-field__label .rc-field__required {
  color: var(--rc-m3-error);
  font-weight: 600;
}

/* ── Select2 (admin searchable selects) ──────────────────────────────────── */

.page-content .select2-container--default .select2-selection--single,
.page-content .select2-container--default .select2-selection--multiple,
.modal .select2-container--default .select2-selection--single,
.modal .select2-container--default .select2-selection--multiple {
  min-height: var(--rc-m3-field-height);
  border: 1px solid var(--rc-m3-outline) !important;
  border-radius: var(--rc-m3-radius) !important;
  background-color: var(--rc-m3-surface);
  box-shadow: none !important;
  transition: border-color var(--rc-m3-transition);
}

.page-content .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--rc-m3-field-height) - 2px);
  padding-left: var(--rc-m3-padding-x);
  color: var(--rc-m3-on-surface);
  font-size: 0.875rem;
}

.page-content .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: calc(var(--rc-m3-field-height) - 2px);
}

.page-content .select2-container--default.select2-container--focus .select2-selection--single,
.page-content .select2-container--default.select2-container--open .select2-selection--single,
.page-content .select2-container--default.select2-container--focus .select2-selection--multiple,
.page-content .select2-container--default.select2-container--open .select2-selection--multiple,
.modal .select2-container--default.select2-container--focus .select2-selection--single,
.modal .select2-container--default.select2-container--open .select2-selection--single,
.modal .select2-container--default.select2-container--focus .select2-selection--multiple,
.modal .select2-container--default.select2-container--open .select2-selection--multiple {
  border: 2px solid var(--rc-m3-primary) !important;
  box-shadow: none !important;
}

.page-content .select2-container--default.select2-container--focus .select2-selection--single .select2-selection__rendered,
.page-content .select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered {
  line-height: calc(var(--rc-m3-field-height) - 4px);
  padding-left: calc(var(--rc-m3-padding-x) - 1px);
}

.page-content .select2-container--default.select2-container--focus .select2-selection--single .select2-selection__arrow,
.page-content .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
  height: calc(var(--rc-m3-field-height) - 4px);
}

.select2-container--default .select2-dropdown {
  border: 1px solid var(--rc-m3-outline);
  border-radius: var(--rc-m3-radius);
  box-shadow: 0 4px 16px rgba(17, 24, 39, 0.08);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
  background-color: var(--rc-m3-primary) !important;
  color: #fff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: color-mix(in srgb, var(--rc-m3-primary) 12%, transparent);
  color: var(--rc-m3-on-surface, #1f2937);
}

.select2-container--default .select2-results__option--highlighted[aria-selected="true"] {
  background-color: var(--rc-m3-primary) !important;
  color: #fff !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid var(--rc-m3-outline) !important;
  border-radius: var(--rc-m3-radius);
  outline: none;
  box-shadow: none !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
  border: 2px solid var(--rc-m3-primary) !important;
  box-shadow: none !important;
}

/* ── Flatpickr ───────────────────────────────────────────────────────────── */

.page-content .flatpickr-input,
.modal .flatpickr-input {
  background-color: var(--rc-m3-surface) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--rc-m3-primary) !important;
  border-color: var(--rc-m3-primary) !important;
}

/* ── Login / auth fields (.rc-material) ──────────────────────────────────── */

.rc-material .rc-field {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 0;
}

.rc-material .rc-field__control {
  position: relative;
  display: block;
  width: 100%;
}

.rc-material .rc-field__input {
  height: var(--rc-m3-field-height);
  font-size: 0.9375rem;
}

.rc-material .rc-field--with-icon .rc-field__input {
  padding-left: 2.75rem;
}

.rc-material .rc-field--with-icon .rc-field__input:focus {
  padding-left: calc(2.75rem - 1px);
}

.rc-material .rc-field--with-toggle .rc-field__input {
  padding-right: 2.75rem;
}

.rc-material .rc-field--with-toggle .rc-field__input:focus {
  padding-right: calc(2.75rem - 1px);
}

.rc-material .rc-field--with-icon.rc-field--with-toggle .rc-field__input {
  padding-left: 2.75rem;
  padding-right: 2.75rem;
}

.rc-material .rc-field--with-icon.rc-field--with-toggle .rc-field__input:focus {
  padding-left: calc(2.75rem - 1px);
  padding-right: calc(2.75rem - 1px);
}

.rc-material .rc-field__icon {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  font-size: 1.125rem;
  line-height: 1;
  color: var(--rc-m3-on-surface-variant);
  pointer-events: none;
}

.rc-material .rc-field__toggle {
  position: absolute;
  right: 0.35rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: var(--rc-m3-radius);
  background: transparent;
  color: var(--rc-m3-on-surface-variant);
  cursor: pointer;
}

.rc-material .rc-field__toggle:hover,
.rc-material .rc-field__toggle:focus-visible {
  color: var(--rc-m3-on-surface);
  background: rgba(17, 17, 17, 0.04);
  outline: none;
}

.rc-material .rc-field__toggle:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--rc-m3-primary-rgb), 0.25);
}

.rc-material .rc-field--error .rc-field__label {
  color: var(--rc-m3-error);
}

.rc-material .rc-field__error {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--rc-m3-error);
}

.rc-material .rc-field__hint {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: var(--rc-m3-on-surface-variant);
}

/* DataTables filter — keep compact height, same focus border */
.page-content .dataTables_filter .form-control:focus,
.page-content .dataTables_filter .form-control:focus-visible {
  padding-top: 0;
  padding-bottom: 0;
}

.rc-editor-surface{
  min-height: 200px !important;
}