/* Match the gathering timer: a 1px purple edge with a pale 3px halo. */
body :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible {
  outline:1px solid #9188ff!important;
  outline-offset:0!important;
  box-shadow:0 0 0 3px #eeebff!important;
}
body :where(input:not([type="checkbox"]):not([type="radio"]),textarea,select):focus {
  outline:1px solid #9188ff!important;
  outline-offset:0!important;
  box-shadow:0 0 0 3px #eeebff!important;
}
/* Composite search controls receive one rounded ring, not an inner rectangle. */
body :is(.fr-header-search,.fr-search,.ft-search):has(input:focus) {
  outline:1px solid #9188ff!important;
  outline-offset:0!important;
  box-shadow:0 0 0 3px #eeebff!important;
}
body :is(.fr-header-search,.fr-search,.ft-search) input:focus,
body :is(.fr-header-search,.fr-search,.ft-search) input:focus-visible {
  outline:none!important;
  box-shadow:none!important;
}
/* The timer already has a border: reuse it to avoid doubling the thin edge. */
body .fr-timer .ft-search:has(input:focus){outline:none!important;border-color:#9188ff!important}
