/* Native form controls must use the colour scheme of their surface, not the OS alone. */
:root {
  color-scheme:light;
  color-scheme:only light;
  --form-control-ink:#182536;
  --form-control-bg:#ffffff;
  --form-placeholder:#586b80;
  --form-disabled-ink:#566779;
  --form-disabled-bg:#edf1f6;
  --form-readonly-ink:#40556b;
  --form-readonly-bg:#f3f6fa;
}
html[data-theme-resolved="dark"],body.theme-dark {
  color-scheme:dark;
  --form-control-ink:#edf4fb;
  --form-control-bg:#111c29;
  --form-placeholder:#abbacd;
  --form-disabled-ink:#a9b8c8;
  --form-disabled-bg:#182534;
  --form-readonly-ink:#bccbdd;
  --form-readonly-bg:#0d1823;
}
/* These panels intentionally stay light inside the workshop's dark theme. */
#authShell .auth-card,
#platformModal,
.public-enquiry-modal-card,
.tenant-support-card,
.legal-acceptance-card,
.signin-preview-card,
.customer-portal-body {
  color-scheme:light;
  color-scheme:only light;
  --form-control-ink:#182536;
  --form-control-bg:#ffffff;
  --form-placeholder:#586b80;
  --form-disabled-ink:#566779;
  --form-disabled-bg:#edf1f6;
  --form-readonly-ink:#40556b;
  --form-readonly-bg:#f3f6fa;
}
#settingsModal.settings-premium {
  --form-control-ink:var(--settings-ink);
  --form-control-bg:var(--settings-surface);
  --form-placeholder:var(--settings-muted);
}
/* Keep WebKit's text paint linked to CSS color, including revealed passwords. */
input,select,textarea {
  -webkit-text-fill-color:currentColor!important;
  caret-color:currentColor;
}
input::placeholder,textarea::placeholder {
  color:var(--form-placeholder)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1;
}
input:disabled,select:disabled,textarea:disabled {
  opacity:1!important;
  --form-autofill-ink:var(--form-disabled-ink);
  --form-autofill-bg:var(--form-disabled-bg);
}
body :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="hidden"],[type="button"],[type="submit"],[type="reset"],[type="image"]),select,textarea):disabled {
  color:var(--form-disabled-ink)!important;
  background-color:var(--form-disabled-bg)!important;
}
input[readonly],textarea[readonly] {
  --form-autofill-ink:var(--form-readonly-ink);
  --form-autofill-bg:var(--form-readonly-bg);
}
/* A light native scheme also needs matching author colours inside dark workspaces. */
body :is(#authShell.signin-premium .auth-card,#platformModal,.public-enquiry-modal-card,.tenant-support-card,.customer-portal-body) :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="hidden"],[type="button"],[type="submit"],[type="reset"],[type="image"]),textarea,select) {
  color:var(--form-control-ink)!important;
  background-color:var(--form-control-bg)!important;
}
body :is(#authShell.signin-premium .auth-card,#platformModal,.public-enquiry-modal-card,.tenant-support-card,.customer-portal-body) :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="hidden"],[type="button"],[type="submit"],[type="reset"],[type="image"]),textarea,select):disabled {
  color:var(--form-disabled-ink)!important;
  background-color:var(--form-disabled-bg)!important;
}
body :is(#authShell.signin-premium .auth-card,#platformModal,.public-enquiry-modal-card,.tenant-support-card,.customer-portal-body) :is(input:not([type="checkbox"],[type="radio"],[type="range"],[type="color"],[type="file"],[type="hidden"],[type="button"],[type="submit"],[type="reset"],[type="image"]),textarea,select)[readonly] {
  color:var(--form-readonly-ink)!important;
  background-color:var(--form-readonly-bg)!important;
}
body :is(#authShell.signin-premium .auth-card,#platformModal,#settingsModal.settings-premium,.public-enquiry-modal-card,.tenant-support-card,.customer-portal-body) :is(input,textarea)::placeholder {
  color:var(--form-placeholder)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1;
}

/* Separate selectors keep the standard rule valid in engines without the prefix. */
input:autofill,textarea:autofill,select:autofill,
#authShell.signin-premium .auth-card :is(input,textarea,select):autofill,
#settingsModal.settings-premium :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):autofill,
body.theme-dark.platform-admin-active #platformModal :is(input,textarea,select):autofill,
body.theme-dark :is(.public-enquiry-form,.tenant-support-form) :is(input,textarea,select):autofill {
  -webkit-text-fill-color:var(--form-autofill-ink,var(--form-control-ink))!important;
  caret-color:var(--form-autofill-ink,var(--form-control-ink));
  box-shadow:0 0 0 1000px var(--form-autofill-bg,var(--form-control-bg)) inset!important;
}
input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill,
#authShell.signin-premium .auth-card :is(input,textarea,select):-webkit-autofill,
#settingsModal.settings-premium :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):-webkit-autofill,
body.theme-dark.platform-admin-active #platformModal :is(input,textarea,select):-webkit-autofill,
body.theme-dark :is(.public-enquiry-form,.tenant-support-form) :is(input,textarea,select):-webkit-autofill {
  -webkit-text-fill-color:var(--form-autofill-ink,var(--form-control-ink))!important;
  caret-color:var(--form-autofill-ink,var(--form-control-ink));
  box-shadow:0 0 0 1000px var(--form-autofill-bg,var(--form-control-bg)) inset!important;
}
/* Preserve a focus indication when the autofill inset covers existing box shadows. */
input:autofill:focus,textarea:autofill:focus,select:autofill:focus {
  outline:2px solid var(--form-control-ink);
  outline-offset:2px;
}
input:-webkit-autofill:focus,textarea:-webkit-autofill:focus,select:-webkit-autofill:focus {
  outline:2px solid var(--form-control-ink);
  outline-offset:2px;
}
select option,select optgroup {
  color:var(--form-control-ink);
  background-color:var(--form-control-bg);
  -webkit-text-fill-color:currentColor;
}
input::-webkit-datetime-edit {
  color:inherit;
  -webkit-text-fill-color:currentColor;
}
/* Let Windows high-contrast mode choose its own field colours. */
@media(forced-colors:active) {
  input,select,textarea {
    -webkit-text-fill-color:currentColor!important;
    box-shadow:none!important;
    forced-color-adjust:auto;
  }
  /* Separate selectors keep the standard rule valid in engines without the prefix. */
input:autofill,textarea:autofill,select:autofill,
#authShell.signin-premium .auth-card :is(input,textarea,select):autofill,
#settingsModal.settings-premium :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):autofill,
body.theme-dark.platform-admin-active #platformModal :is(input,textarea,select):autofill,
body.theme-dark :is(.public-enquiry-form,.tenant-support-form) :is(input,textarea,select):autofill {
    -webkit-text-fill-color:currentColor!important;
    box-shadow:none!important;
  }
  input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill,
#authShell.signin-premium .auth-card :is(input,textarea,select):-webkit-autofill,
#settingsModal.settings-premium :is(input,textarea,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):-webkit-autofill,
body.theme-dark.platform-admin-active #platformModal :is(input,textarea,select):-webkit-autofill,
body.theme-dark :is(.public-enquiry-form,.tenant-support-form) :is(input,textarea,select):-webkit-autofill {
    -webkit-text-fill-color:currentColor!important;
    box-shadow:none!important;
  }
  input::placeholder,textarea::placeholder {color:GrayText!important;}
  select option,select optgroup {color:FieldText;background-color:Field;}
}
