/* DKC v46 — unified, accessible form-field styling. Visual only; no form behavior changes. */
:root { --dkc-field-ink:#25263e; --dkc-field-border:#dfe2eb; --dkc-field-focus:#18a9a5; --dkc-field-surface:#ffffff; }
/* Text inputs, search inputs, dates, numbers, dropdowns and textareas across all pages. */
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea) {
  font:inherit; font-size:14px; font-weight:500; line-height:1.45;
  color:var(--dkc-field-ink); background:var(--dkc-field-surface);
  border:1.5px solid var(--dkc-field-border); border-radius:14px;
  min-height:46px; padding:11px 15px;
  box-shadow:0 2px 5px rgba(32,36,59,.025),inset 0 1px 1px rgba(32,36,59,.02);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
  max-width:100%;
}
:where(textarea){ min-height:104px; resize:vertical; }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), textarea)::placeholder {
  color:#8991a4; opacity:1;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), select, textarea):hover:not(:disabled):not(:focus) {
  border-color:#b8c6d4; background:#fff;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), select, textarea):focus-visible,
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]), select, textarea):focus {
  outline:none; border-color:var(--dkc-field-focus);
  box-shadow:0 0 0 4px rgba(24,169,165,.15),0 4px 12px rgba(32,36,59,.05);
  background:#fff;
}
:where(input,select,textarea):disabled { opacity:.63; cursor:not-allowed; background:#f3f5f8; }
:where(input,select,textarea)[aria-invalid="true"] { border-color:#d94a6c; }
:where(input,select,textarea)[aria-invalid="true"]:focus { box-shadow:0 0 0 4px rgba(217,74,108,.13); }
/* Dropdown indicator remains readable in Chrome, Edge, Firefox and mobile browsers. */
:where(select:not([multiple])) {
  appearance:none; -webkit-appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b637a' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:16px;
}
:where(select:not([multiple])):focus { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2318a9a5' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
/* Give common search fields a distinct, polished search affordance. */
:where(input[type="search"],input[id*="search" i],input[name*="search" i],input[placeholder*="search" i]) {
  border-radius:999px; padding-left:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237a8294' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:left 16px center; background-size:18px;
}
/* Avoid interfering with native toggle and slider UI. */
:where(input[type="checkbox"],input[type="radio"],input[type="range"],input[type="file"]) { accent-color:#18a9a5; }
/* Consistent labels and spacing in structured admin/account forms. */
:where(.adminContent,.account-form,.accountForm,.account-form,.accountForm,.account-page,.dataSection) label { color:inherit; }
@media(max-width:640px) {
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea) { font-size:16px; min-height:46px; }
}
@media(prefers-reduced-motion:reduce) {
  :where(input,select,textarea) { transition:none; }
}
