/* Shared pointer/keyboard focus behavior for every PrepEx browser page.
   Keep these fallbacks weaker than each component's branded keyboard styles. */
:is(a, button, select, summary):focus-visible,
:where([role="button"], [role="tab"], [tabindex]):focus-visible {
    outline: 2px solid var(--lime, var(--det-primary, var(--primary, #5c8a72)));
    outline-offset: 2px;
}

/* Override page-specific and dynamically loaded :focus outlines only when the
   browser does not require a visible focus cue. Text entry and keyboard focus
   continue to use :focus-visible. Never blur controls or remove their selection. */
:focus:not(:focus-visible) {
    outline: none !important;
}

/* Tailwind draws focus rings with shadows. Clear only its focus-ring layers;
   ordinary/selected rings, elevation shadows and input focus cues stay intact. */
[class*="focus:ring"]:not([class~="ring"], [class^="ring-"], [class*=" ring-"]):focus:not(:focus-visible) {
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}
