/* P17 · Foco visible común (Fase 1, 2026-11-09)
   Se carga al final de cada página. Garantiza un indicador de foco de teclado
   aunque una regla anterior use `outline: none` (incluidas las que llevan !important).
   No cambia el aspecto con mouse: solo aplica a :focus-visible.
   Los contenedores con tabindex="-1" (p. ej. <main> como destino del salto) quedan fuera.
   Solo tema claro: el panel no tiene modo oscuro (P20 pospuesto).
*/
:root { --focus-ring: var(--dg-focus-ring, #7828a8); --focus-ring-offset: 2px; }

html :is(a[href], button, input, select, textarea, summary, [role="button"], [role="tab"], [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 3px solid var(--focus-ring) !important;
    outline-offset: var(--focus-ring-offset) !important;
}

/* Campos con borde propio: el anillo va pegado al campo para no chocar con etiquetas vecinas. */
html :is(input, select, textarea):focus-visible { --focus-ring-offset: 1px; }

/* Buscador global de Bandeja: el input no tiene borde (contrato de diseño), así que el anillo va en su contenedor. */
html .global-inbox-search:focus-within {
    outline: 3px solid var(--focus-ring) !important;
    outline-offset: 2px !important;
}
