/* Admin theme for the forms-only Bootstrap build. Maps Bootstrap's form variables onto the
   admin palette in dkc-admin.css, so fields follow light and dark mode automatically. Load after dkc-admin.css. */
:root {
  --dkc-field-accent: var(--accent);
  --dkc-field-ring: var(--accent-soft);
  --dkc-field-radius: 9px;
  --dkc-field-radius-sm: 7px;
  --dkc-field-radius-lg: 12px;
  --bs-body-color: var(--text);
  --bs-body-bg: var(--surface);
  --bs-border-color: var(--border-strong);
  --bs-secondary-color: var(--muted);
  --bs-secondary-bg: var(--surface-3);
  --bs-tertiary-bg: var(--surface-2);
  --bs-emphasis-color: var(--text);
  --bs-form-invalid-color: var(--danger);
  --bs-form-invalid-border-color: var(--danger);
  --bs-form-valid-color: var(--success);
  --bs-form-valid-border-color: var(--success);
}

/* Compact admin sizing (38px fields, 32px in tables). */
.form-control, .form-select { min-height: 38px; padding-top: .4375rem; padding-bottom: .4375rem; font-size: 13.5px; }
.form-control-sm, .form-select-sm { min-height: 32px; padding-top: .25rem; padding-bottom: .25rem; font-size: 13px; }
textarea.form-control { min-height: 96px; resize: vertical; }
.form-control::placeholder { color: var(--muted); opacity: 1; }
.form-control[type="file"] { padding-top: .375rem; padding-bottom: .375rem; }

/* Existing admin markup: <label class="field"><span>Label</span><input class="form-control"></label> */
.field .form-control, .field .form-select { width: 100%; }
.field > .form-text, .field > .hint { margin-top: 0; }

/* Checkbox rows (.check) keep their inline layout; Bootstrap's float offsets aren't needed there. */
.check .form-check-input { float: none; margin: 0; flex: none; }

/* Dark mode: Bootstrap's built-in arrow/check/switch icons are dark grey; swap for light versions. */
:root[data-theme="dark"] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8c2d3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
:root[data-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.35%29'/%3e%3c/svg%3e");
}
:root[data-theme="dark"] .form-control[type="date"]::-webkit-calendar-picker-indicator,
:root[data-theme="dark"] .form-control[type="month"]::-webkit-calendar-picker-indicator { filter: invert(.85); }

/* Existing scripts flag problems with aria-invalid or .invalid; show them the Bootstrap way. */
.form-control[aria-invalid="true"], .form-select[aria-invalid="true"], .form-control.invalid, .form-select.invalid { border-color: var(--danger); }
