/* Audio de los informes (includes/tts.php, assets/js/tts.js). Colores solo con los tokens de .av. */
.av-tts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:.6rem 0 .2rem}
.av-tts-play,.av-tts-voice,.av-tts-all{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--av-rule);border-radius:6px;background:transparent;color:var(--av-ink);font:500 .875rem/1 var(--av-sans);cursor:pointer;transition:border-color .15s,background .15s}
.av-tts-voice{padding:0 8px;min-width:36px;justify-content:center;color:var(--av-muted)}
.av-tts-play:hover,.av-tts-voice:hover,.av-tts-all:hover{border-color:var(--av-accent);color:var(--av-accent)}
.av-tts-play:focus-visible,.av-tts-voice:focus-visible,.av-tts-all:focus-visible,.av-tts-menu button:focus-visible{outline:2px solid var(--av-accent);outline-offset:2px}
.av-tts svg,.av-tts-all svg{width:16px;height:16px;fill:currentColor;flex:none}
.av-tts .av-tts-voice svg{fill:none}
.av-tts.is-playing .av-tts-play,.av-tts-all.is-playing{border-color:var(--av-accent);background:var(--av-accent);color:var(--av-on-accent)}
.av-tts.is-playing .av-tts-play:hover,.av-tts-all.is-playing:hover{color:var(--av-on-accent);opacity:.92}
.av-tts-all{margin:.4rem 0 1rem}
.av-tts-msg{color:var(--av-err);font-size:.8125rem}
.av-tts-spin{width:14px;height:14px;border:2px solid var(--av-rule);border-top-color:var(--av-accent);border-radius:50%;animation:av-tts-rot .8s linear infinite;flex:none}
@keyframes av-tts-rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.av-tts-spin{animation:none;border-top-color:var(--av-rule)}}
[data-tts].is-speaking{box-shadow:-3px 0 0 var(--av-accent);padding-left:.75rem;transition:box-shadow .2s}
.av-tts-menu{position:absolute;z-index:1000;min-width:230px;display:flex;flex-direction:column;padding:6px;background:var(--av-surface);border:1px solid var(--av-rule);border-radius:8px;box-shadow:0 8px 24px rgba(15,23,36,.16)}
.av-tts-menu button{display:flex;align-items:center;gap:8px;text-align:left;padding:10px 12px;min-height:44px;border:0;border-radius:6px;background:transparent;color:var(--av-ink);font:400 .9375rem/1.3 var(--av-sans);cursor:pointer}
.av-tts-menu button:hover{background:var(--av-paper)}
.av-tts-menu button.is-on{font-weight:600;color:var(--av-accent)}
.av-tts-menu button.is-on::before{content:"✓";font-size:.85em}
.av-tts-menu button:not(.is-on)::before{content:"";display:inline-block;width:.85em}
