/* A single rounded focus treatment; keep keyboard focus visible. */
:root { --focus-ring:#8b416e; --focus-halo:#8b416e24; }
:root body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
body .report-form input[type=file]:focus-visible {
    outline:2px solid transparent;
    outline-offset:3px;
    box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--focus-ring);
}
body :is(a,summary):focus-visible { border-radius:5px; }
body :is(input,select,textarea):focus-visible { border-color:var(--focus-ring); }
/* Search controls sit inside a rounded field with an icon. Focus the whole field. */
.filters .field:focus-within {
    border-color:var(--focus-ring);
    box-shadow:0 0 0 3px var(--focus-halo);
}
.filters .field:has(:focus-visible) {
    box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--focus-ring);
}
body .filters .field :is(input,select):focus {
    outline:none;
    box-shadow:none;
}
@media (forced-colors:active) {
    :root body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
    body .report-form input[type=file]:focus-visible,
    .filters .field:has(:focus-visible) { outline:2px solid Highlight; box-shadow:none; }
}
