/* Public site appearance only. Native controls must use the same light palette
   as the custom pages, even when the OS requests dark appearance. */
:root,
:root[data-theme="light"],
:root[data-theme="dark"] {
  color-scheme: only light !important;
}

/* Pair foreground/background explicitly, including WebKit's text-fill layer.
   Exclude disabled and readonly controls so their state remains distinguishable. */
body input:is(:not([type]), [type="text"], [type="email"], [type="password"], [type="search"], [type="tel"], [type="url"], [type="number"]):not(:disabled):not([readonly]),
body textarea:not(:disabled):not([readonly]),
body select:not(:disabled) {
  color: #243b53 !important;
  -webkit-text-fill-color: #243b53 !important;
  background-color: #ffffff !important;
  caret-color: #243b53;
  font-size: max(1rem, 16px);
}
body input::placeholder,
body textarea::placeholder {
  color: #586a7c !important;
  -webkit-text-fill-color: #586a7c !important;
  opacity: 1;
}
body input:is([type="text"], [type="email"], [type="password"], [type="search"], [type="tel"], [type="url"]):not(:disabled):not([readonly]):-webkit-autofill {
  -webkit-text-fill-color: #243b53 !important;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  caret-color: #243b53;
}
