/* Shared button focus treatment. Keep native borders and existing component shadows. */
:root {
    --control-focus-color: var(--app-primary, #0893b8);
}

body :is(button, input[type="button"], input[type="submit"], input[type="reset"], a.btn, [role="button"]):focus {
    outline-color: var(--control-focus-color);
}

body :is(button, input[type="button"], input[type="submit"], input[type="reset"], a.btn, [role="button"]):focus:not(:focus-visible) {
    outline: none;
}

body :is(button, input[type="button"], input[type="submit"], input[type="reset"], a.btn, [role="button"]):focus-visible {
    outline: 2px solid var(--control-focus-color);
    outline-offset: 3px;
}
