/* Public pages only. Keep field geometry, validation, and header expansion intact.
   Interaction-only overrides intentionally beat older page-specific focus outlines. */
body:has(.precision-header){--field-hover:#b8c1cc;--field-focus:#8996a5;--field-halo:rgb(107 122 140 / 8%)}
body:has(.precision-header) :is(input,select,textarea):not(.site-search input):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=reset],[type=image],[type=color]){
  transition:border-color .18s ease,box-shadow .18s ease;
}
@media(hover:hover) and (pointer:fine){
  body:has(.precision-header) :is(input,select,textarea):not(.site-search input):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=reset],[type=image],[type=color]):enabled:not([readonly]):not([aria-invalid=true],.is-invalid):not(:user-invalid):hover:not(:focus){
    border-color:var(--field-hover)!important;
  }
}
body:has(.precision-header) :is(input,select,textarea):not(.site-search input):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=reset],[type=image],[type=color]):enabled:focus{
  outline:none!important;
  outline-offset:0!important;
  box-shadow:0 0 0 2px var(--field-halo)!important;
}
body:has(.precision-header) :is(input,select,textarea):not(.site-search input):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=submit],[type=button],[type=reset],[type=image],[type=color]):enabled:not([aria-invalid=true],.is-invalid):not(:user-invalid):focus{
  border-color:var(--field-focus)!important;
}
/* Native choice controls retain a restrained but visible keyboard position marker. */
body:has(.precision-header) :is(input[type=checkbox],input[type=radio],input[type=range]):focus-visible{
  outline:1px solid #8996a5!important;outline-offset:2px!important;
}
@media(prefers-reduced-motion:reduce){
  body:has(.precision-header) :is(input,select,textarea){transition:none!important}
}
