/* Accesibilidad de las cinco apps. Conserva el diseño y los flujos existentes. */
[hidden]{display:none!important}
.nam-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* Foco en el rojo de marca (D3-02: el azul no es de ¡Ñam!). #D83429 da 4,4:1 sobre el fondo claro y 3,9:1 sobre el oscuro (WCAG 2.4.11 pide 3:1). */
:is(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--nam-r,#D83429)!important;outline-offset:3px;scroll-margin-block:96px}
[role="button"],[role="switch"]{touch-action:manipulation}
.sheet-p h2{font-size:17.5px;font-weight:800;letter-spacing:-.2px;margin-bottom:6px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Escala existente de OP: normalizar separaciones sin mover su armazón. */
body[data-nam-app="op"] .sec{margin-top:16px!important}
body[data-nam-app="op"] .empty{margin-bottom:12px}
body[data-nam-app="op"] .op-origen{padding-inline:12px}
body[data-nam-app="op"] .empty[style*="padding:18px"]{padding-block:16px!important}
/* Reflow de 320 px y espaciado de texto del usuario, sin recortar controles. */
@media(max-width:340px){
  body[data-nam-app="op"] header{gap:4px;padding-inline:8px}
  body[data-nam-app="op"] header h1{min-width:0;overflow-wrap:anywhere}
  body[data-nam-app="op"] .bnav .tab{padding-inline:0;white-space:normal}
  body[data-nam-app="op"] .bnav .tab span{white-space:normal}
  body[data-nam-app="op"] .vlente{display:flex;flex-wrap:wrap}
  body[data-nam-app="op"] .vlente button{flex:1 1 auto;white-space:normal}
}
