/* ============================================================
   Acessibilidade (06/11/2026) — em todos os sistemas, no Painel SIST e nas páginas públicas
   Botão na direita (acima do VLibras) e painel que entra pela direita, nas cores do sistema aberto
   (--ac-* do SICI, SIMAP, SIFAB, SIGIN ou SIST) e no modo claro/escuro. As escolhas viram classes
   no <html> (static/js/acessibilidade.js) e valem também nas abas abertas em quadro.
   ============================================================ */

@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/atkinson-hyperlegible-latin-400.82a5516b3709.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/atkinson-hyperlegible-latin-ext-400.bee495dfc341.woff2") format("woff2");
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/atkinson-hyperlegible-latin-700.833b135521b5.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/atkinson-hyperlegible-latin-ext-700.cb155ae09e92.woff2") format("woff2");
  unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ============================================================
   Pente-fino (06/11/2026, auditoria axe-core / WCAG 2.1 AA nas telas do menu de cada sistema):
   valem sempre, com ou sem escolha no painel
   ============================================================ */

/* o cabeçalho (logo + barra superior) é um marco para o leitor de tela, sem mexer na grade da moldura */
.sist-cabecalho{display:contents}

/* contraste mínimo de 4,5:1 no texto pequeno — modo claro (os cinzas e as cores "-600" do Tailwind ficavam em 2,5 a 4,4) */
@media screen{
  html:not([data-theme="dark"]){--muted:#5b6678}
  html:not([data-theme="dark"]) :is(.text-slate-400,.text-gray-400,.text-zinc-400,.text-neutral-400){color:#5f6b7c}
  html:not([data-theme="dark"]) :is(.text-slate-500,.text-gray-500,.text-zinc-500,.text-neutral-500){color:#576274}
  html:not([data-theme="dark"]) :is(.placeholder-slate-400,.placeholder-gray-400)::placeholder,
  html:not([data-theme="dark"]) ::placeholder{color:#6b7584}
  html:not([data-theme="dark"]) :is(.text-blue-500,.text-blue-600){color:var(--ac-700)}
  html:not([data-theme="dark"]) :is(.text-emerald-500,.text-emerald-600){color:#047857}
  html:not([data-theme="dark"]) :is(.text-green-500,.text-green-600){color:#15803d}
  html:not([data-theme="dark"]) :is(.text-amber-500,.text-amber-600,.text-yellow-500,.text-yellow-600){color:#b45309}
  html:not([data-theme="dark"]) :is(.text-orange-500,.text-orange-600){color:#c2410c}
  html:not([data-theme="dark"]) :is(.text-red-400,.text-red-500,.text-rose-500){color:#dc2626}
  html:not([data-theme="dark"]) :is(.text-sky-500,.text-sky-600,.text-cyan-600,.text-teal-500,.text-teal-600){color:#0e7490}
  html:not([data-theme="dark"]) :is(.text-violet-500,.text-purple-500,.text-indigo-500){color:#6d28d9}
  html:not([data-theme="dark"]) .side-foot{color:var(--muted)}
  html:not([data-theme="dark"]) :is(.btn.pri,.tour-botoes .tour-prox){background:var(--ac-700);border-color:var(--ac-700)}
  /* modo escuro: a cor do sistema em tom claro sobre o fundo escuro */
  html[data-theme="dark"] :is(.tour-passo,.side-foot .tour-link){color:var(--ac-300)}
  html[data-theme="dark"] :is(.btn.pri,.tour-botoes .tour-prox){background:var(--ac-700);border-color:var(--ac-700);color:#fff}
  html[data-theme="dark"] .pill.na{color:#a3afbe}
  html[data-theme="dark"] .rep .pill.na{color:#55666f}   /* o relatório é "papel": claro também no modo escuro */
  html[data-theme="dark"] :is(input,textarea)::placeholder{color:#a8b3c2 !important}
  /* cor do sistema escrita direto na tela (style="color:var(--ac-700)"): no escuro, o tom claro */
  html[data-theme="dark"] :is([style*="color:var(--ac-700)"],[style*="color:var(--ac-800)"],[style*="color: var(--ac-700)"],[style*="color: var(--ac-800)"]){color:var(--ac-300) !important}
  html[data-theme="dark"] .seg button[aria-pressed="true"]:is([data-v="s"],[data-v="p"],[data-v="n"],[data-v="x"]){color:#111}
}
/* selo de nível III+ (verde médio): texto escuro, que lê bem nele */
.lvl.lvl3,.rep .lvl3{color:#06221a}

/* link no meio do texto: sublinhado, não só pela cor (WCAG 1.4.1) */
:is(p,li,dd,td,small,.small,.muted,.text-sm,.text-xs) > a[href]:not(.btn):not([class*="btn"]):not(.nav-item):not(.pill):not(.chip){
  text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
/* texto só para leitor de tela */
.a11y-so-leitor{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* área com rolagem que recebe o foco do teclado (para rolar com as setas) */
[data-a11y-rolagem]:focus-visible{outline:3px solid var(--ac-500,#1371B7);outline-offset:2px}

/* ---------- pular para o conteúdo (aparece no primeiro Tab) ---------- */
.a11y-pular{position:fixed;left:12px;top:-60px;z-index:2147483646;padding:10px 16px;border-radius:10px;
  background:var(--ac-800,#002C7D);color:#fff !important;font:600 14px/1.2 'Segoe UI',Arial,sans-serif;text-decoration:none !important;
  box-shadow:0 6px 22px rgba(0,0,0,.25);transition:top .15s}
.a11y-pular:focus{top:12px;outline:3px solid #fbbf24;outline-offset:2px}

/* ---------- barrinha da direita (11/11/2026): Acessibilidade + Libras num fundo só, acima do bate-papo,
   com botão para recolher; o botão próprio do VLibras fica escondido (o daqui abre o tradutor) ---------- */
.a11y-dock{position:fixed;right:0;top:112px;z-index:2147483600;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:7px 6px 4px;background:var(--card,#fff);border:1px solid var(--line,#e3e8ee);border-right:0;border-radius:14px 0 0 14px;
  box-shadow:0 6px 22px rgba(15,23,42,.16);transition:transform .25s ease,opacity .25s ease}
html.a11y-recolhido .a11y-dock{transform:translateX(calc(100% + 4px));opacity:0;pointer-events:none;visibility:hidden}
.a11y-dock-libras{width:40px;height:40px;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:pointer;background:#1351b4;display:block}
.a11y-dock-libras img{width:40px;height:40px;display:block}
.a11y-dock-libras:hover{filter:brightness(1.1)}
.a11y-dock-libras:focus-visible{outline:2px solid #fff;box-shadow:0 0 0 4px #1351b4}
html.a11y-sem-vlibras .a11y-dock-libras{display:none}
.a11y-dock-recolher{width:40px;height:20px;padding:0;border:0;background:none;color:var(--muted,#64748b);border-radius:6px;cursor:pointer;
  display:grid;place-items:center}
.a11y-dock-recolher:hover{background:var(--bg,#f1f5f9);color:var(--ink,#0f172a)}
.a11y-dock-recolher svg,.a11y-dock-mostrar svg{width:16px;height:16px}
.a11y-dock-mostrar{position:fixed;right:0;top:142px;z-index:2147483600;width:18px;height:46px;padding:0;border:1px solid var(--line,#e3e8ee);
  border-right:0;border-radius:10px 0 0 10px;background:var(--card,#fff);color:var(--ac-600,#0058B2);cursor:pointer;display:none;
  place-items:center;box-shadow:0 4px 14px rgba(15,23,42,.14)}
.a11y-dock-mostrar:hover{width:24px}
html.a11y-recolhido .a11y-dock-mostrar{display:grid}
.a11y-dock-recolher:focus-visible,.a11y-dock-mostrar:focus-visible{outline:2px solid var(--ac-500,#1371B7);outline-offset:1px}
#vlibras-access-wrapper{display:none !important}
html.embed .a11y-dock,html.embed .a11y-dock-mostrar{display:none !important}
@media (prefers-reduced-motion:reduce){.a11y-dock{transition:none}}
.a11y-aba{position:relative;width:40px;height:40px;padding:0;border:0;
  border-radius:8px;cursor:pointer;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,var(--ac-600,#0058B2),var(--ac-800,#002C7D));
  box-shadow:0 4px 14px rgba(0,0,0,.22);transition:transform .15s,filter .15s}
.a11y-aba:hover{filter:brightness(1.12)}
.a11y-aba:focus-visible{outline:2px solid #fff;box-shadow:0 0 0 4px var(--ac-500,#1371B7),0 4px 14px rgba(0,0,0,.22)}
.a11y-aba svg{width:26px;height:26px}
.a11y-aba[aria-expanded="true"]{background:var(--ac-900,#002060)}
html.embed .a11y-aba,html.embed .a11y-painel,html.embed .a11y-pular,html.embed #vlibras-access-wrapper{display:none !important}

/* ---------- painel (acima do botão do VLibras, que usa z-index 2147483639) ---------- */
.a11y-fundo{position:fixed;inset:0;z-index:2147483644;background:rgba(15,23,42,.28);opacity:0;pointer-events:none;transition:opacity .2s}
.a11y-fundo.on{opacity:1;pointer-events:auto}
.a11y-painel{position:fixed;top:0;right:0;bottom:0;z-index:2147483645;width:min(360px,100vw);display:flex;flex-direction:column;
  background:var(--card,#fff);color:var(--ink,#1f272e);border-left:1px solid var(--line,#e3e8ee);
  box-shadow:-12px 0 36px rgba(0,0,0,.18);transform:translateX(104%);visibility:hidden;
  transition:transform .22s ease,visibility 0s linear .22s;font:14px/1.45 'Segoe UI','Helvetica Neue',Arial,sans-serif;
}
.a11y-painel.on{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}
.a11y-cab{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;color:#fff;
  background:linear-gradient(135deg,var(--ac-800,#002C7D),var(--ac-600,#0058B2))}
.a11y-cab svg{width:28px;height:28px;flex:none}
.a11y-cab h2{margin:0;font-size:17px;font-weight:700;line-height:1.2;color:#fff}
.a11y-cab small{display:block;font-size:12px;opacity:.85;font-weight:400}
.a11y-fechar{margin-left:auto;width:34px;height:34px;border:0;border-radius:9px;background:rgba(255,255,255,.14);color:#fff;
  font-size:20px;line-height:1;cursor:pointer}
.a11y-fechar:hover{background:rgba(255,255,255,.26)}
.a11y-fechar:focus-visible{outline:2px solid #fff;outline-offset:2px}
.a11y-corpo{flex:1;overflow:auto;padding:14px 16px 8px}
.a11y-sec{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748b);margin:14px 2px 8px}
.a11y-sec:first-child{margin-top:2px}

/* tamanho do texto */
.a11y-tam{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line,#e3e8ee);border-radius:12px;background:var(--bg,#f5f7fa)}
.a11y-tam button{width:44px;height:38px;border-radius:9px;border:1px solid var(--line,#e3e8ee);background:var(--card,#fff);
  color:var(--ac-800,#002C7D);font-weight:700;cursor:pointer}
html[data-theme="dark"] .a11y-tam button{color:var(--ac-300,#7fb0e2)}
.a11y-tam button:disabled{opacity:.4;cursor:default}
.a11y-tam button:not(:disabled):hover{border-color:var(--ac-400,#3f8ed0)}
.a11y-tam .a1{font-size:13px}.a11y-tam .a2{font-size:18px}
.a11y-tam output{flex:1;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.a11y-tam output small{display:block;font-weight:400;font-size:11.5px;color:var(--muted,#64748b)}

/* chaves liga/desliga */
.a11y-op{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;margin:0 0 6px;text-align:left;cursor:pointer;
  border:1px solid var(--line,#e3e8ee);border-radius:12px;background:var(--card,#fff);color:inherit;font:inherit}
.a11y-op:hover{border-color:var(--ac-300,#7fb0e2);background:color-mix(in srgb,var(--ac-500,#1371B7) 5%,var(--card,#fff))}
.a11y-op[aria-checked="true"]{border-color:var(--ac-500,#1371B7);background:color-mix(in srgb,var(--ac-500,#1371B7) 9%,var(--card,#fff))}
.a11y-op .ic{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--ac-500,#1371B7) 12%,var(--card,#fff));color:var(--ac-700,#00459A)}
html[data-theme="dark"] .a11y-op .ic{color:var(--ac-300,#7fb0e2)}
.a11y-op .ic svg{width:19px;height:19px}
.a11y-op .tx{flex:1;min-width:0}
.a11y-op .tx b{display:block;font-weight:600;font-size:14px}
.a11y-op .tx small{display:block;color:var(--muted,#64748b);font-size:12px;line-height:1.35}
.a11y-op .sw{flex:none;width:38px;height:22px;border-radius:22px;background:var(--line-strong,#cbd5e1);position:relative;transition:background .15s}
.a11y-op .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.a11y-op[aria-checked="true"] .sw{background:var(--ac-600,#0058B2)}
.a11y-op[aria-checked="true"] .sw::after{transform:translateX(16px)}
.a11y-op:focus-visible,.a11y-tam button:focus-visible,.a11y-rod button:focus-visible,.a11y-libras:focus-visible{
  outline:3px solid var(--ac-500,#1371B7);outline-offset:2px}
.a11y-libras{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:-2px 0 8px;padding:9px 12px;
  border-radius:10px;border:1px dashed var(--ac-400,#3f8ed0);background:transparent;color:var(--ac-700,#00459A);font:600 13px/1.2 inherit;cursor:pointer}
html[data-theme="dark"] .a11y-libras{color:var(--ac-300,#7fb0e2)}
.a11y-libras:hover{background:color-mix(in srgb,var(--ac-500,#1371B7) 8%,transparent)}
.a11y-libras[hidden]{display:none}

.a11y-atalhos{margin:4px 0 6px;padding:10px 12px;border-radius:12px;background:var(--bg,#f5f7fa);border:1px solid var(--line,#e3e8ee);font-size:12.5px}
.a11y-atalhos div{display:flex;justify-content:space-between;gap:8px;padding:3px 0}
.a11y-atalhos kbd{font:600 11.5px/1 ui-monospace,Consolas,monospace;padding:3px 6px;border-radius:6px;border:1px solid var(--line-strong,#cbd5e1);
  background:var(--card,#fff);color:var(--ink,#1f272e);white-space:nowrap}
.a11y-rod{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--line,#e3e8ee)}
.a11y-rod small{flex:1;color:var(--muted,#64748b);font-size:11.5px;line-height:1.35}
.a11y-rod button{flex:none;padding:8px 12px;border-radius:9px;border:1px solid var(--line,#e3e8ee);background:var(--card,#fff);
  color:var(--ink,#1f272e);font:600 13px/1 inherit;cursor:pointer}
.a11y-rod button:hover{border-color:var(--crit,#dc2626);color:var(--crit,#dc2626)}

/* régua de leitura: escurece acima e abaixo da linha do mouse */
.a11y-regua{position:fixed;left:0;right:0;z-index:2147483590;pointer-events:none;background:rgba(15,23,42,.55);display:none}
html.a11y-regua-on .a11y-regua{display:block}
.a11y-regua.cima{top:0}.a11y-regua.baixo{bottom:0}

/* ============================================================
   As escolhas
   ============================================================ */

/* tamanho do texto: conteúdo e menu crescem; a moldura (100vh) fica no tamanho da tela */
html.a11y-zoom .sici-main-inner,html.a11y-zoom .sidebar{zoom:var(--a11y-zoom,1)}
html.a11y-zoom body:not(:has(.sici-app)){zoom:var(--a11y-zoom,1)}

/* alto contraste: preto e branco nas superfícies, texto e linhas no máximo */
html.a11y-contraste{--ink:#000;--muted:#1b1b1b;--line:#000;--line-strong:#000;--bg:#fff;--card:#fff;--shadow:none;
  --acc-ink:var(--ac-900);--acc-ink-strong:#000;--acc-border:#000}
@media screen{
  html.a11y-contraste[data-theme="dark"]{--ink:#fff;--muted:#f1f5f9;--line:#fff;--line-strong:#fff;--bg:#000;--card:#000;
    --acc-ink:var(--ac-200);--acc-ink-strong:#fff;--acc-border:#fff}
}
html.a11y-contraste body{background:var(--bg);color:var(--ink)}
html.a11y-contraste :is(.text-gray-300,.text-gray-400,.text-gray-500,.text-gray-600,.text-gray-700,.text-slate-400,.text-slate-500,.text-slate-600,.text-slate-700,.text-muted,.muted,.small.muted){color:var(--muted) !important}
html.a11y-contraste :is(.border,.border-gray-100,.border-gray-200,.border-gray-300,.border-slate-200){border-color:var(--line) !important}
html.a11y-contraste a[href]:not(.nav-item):not(.btn):not([class*="btn"]){text-decoration:underline;text-underline-offset:2px}
html.a11y-contraste :focus-visible{outline:3px solid currentColor !important;outline-offset:2px}
html.a11y-contraste ::placeholder{color:var(--muted);opacity:1}

/* fonte de leitura fácil (Atkinson Hyperlegible, do Braille Institute) */
html.a11y-leitura body,html.a11y-leitura body :where(*:not(code,pre,kbd,samp,.ico,svg,svg *)){
  font-family:"Atkinson Hyperlegible","Segoe UI",Arial,sans-serif !important}

/* mais espaço entre linhas, letras e palavras (WCAG 1.4.12) */
html.a11y-espaco :is(p,li,td,th,label,dd,dt,blockquote,figcaption,h1,h2,h3,h4,h5,h6,.prose *,small){
  line-height:1.65 !important;letter-spacing:.035em !important;word-spacing:.12em !important}

/* links destacados */
html.a11y-links a[href]:not(.nav-item):not(.btn):not([class*="btn"]):not(.a11y-pular){
  text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px !important;font-weight:600}
html.a11y-links .nav-item{text-decoration:underline;text-underline-offset:3px}

/* foco do teclado bem visível */
html.a11y-foco :focus-visible{outline:3px solid #f59e0b !important;outline-offset:2px !important;
  box-shadow:0 0 0 7px rgba(245,158,11,.35) !important;border-radius:4px}
html.a11y-foco :focus:not(:focus-visible):is(input,select,textarea){outline:3px solid #f59e0b !important;outline-offset:1px !important}

/* pausar animações e transições */
html.a11y-movimento *,html.a11y-movimento *::before,html.a11y-movimento *::after{
  animation-duration:.001ms !important;animation-iteration-count:1 !important;animation-delay:0s !important;
  transition-duration:.001ms !important;transition-delay:0s !important;scroll-behavior:auto !important}
html.a11y-movimento{scroll-behavior:auto !important}

/* cursor grande */
html.a11y-cursor,html.a11y-cursor *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M6 3l29 21-13 2.4 7.6 14.2-5.4 2.9-7.6-14.3L6 38z' fill='%23000' stroke='%23fff' stroke-width='2.4' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3,auto !important}
html.a11y-cursor :is(a[href],button,[role="button"],[role="switch"],summary,label,select,input[type="checkbox"],input[type="radio"]),
html.a11y-cursor :is(a[href],button,[role="button"],[role="switch"],summary,label) *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M15 21V6.5a3 3 0 016 0V18l.4-2.6a3 3 0 015.9.9l-.3 2.3.6-1.6a3 3 0 015.6 2l-.5 1.6.7-1a3 3 0 015 3.2L35 31c-1.8 6-6 10-12 10h-1c-5 0-8-2.6-10.6-6.8L7 26.4a3 3 0 015.2-3z' fill='%23000' stroke='%23fff' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") 16 4,pointer !important}
html.a11y-cursor :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="number"],input[type="password"],input[type="tel"],input[type="date"],textarea){cursor:text !important}

/* VLibras desligado pela pessoa */
html.a11y-sem-vlibras #vlibras-access-wrapper,html.a11y-sem-vlibras #vlibras-app-root{display:none !important}

@media print{
  .a11y-aba,.a11y-dock,.a11y-dock-mostrar,.a11y-painel,.a11y-fundo,.a11y-regua,.a11y-pular,#vlibras-access-wrapper,#vlibras-app-root{display:none !important}
  html.a11y-zoom .sici-main-inner,html.a11y-zoom .sidebar,html.a11y-zoom body{zoom:1 !important}
}
@media (prefers-reduced-motion:reduce){.a11y-painel,.a11y-fundo,.a11y-aba,.a11y-pular{transition:none}}
