/* SIGE Dashboard Financeiro — complementos do produto. Carregado DEPOIS de app.css.
   Usa apenas tokens do :root de app.css. */

/* Marca: logo branca real (sem depender do filtro) e fallback textual */
.sige-sidebar-brand { justify-content: center; }
/* Logo ocupa toda a largura útil do menu (248px − 2 × 18px de padding). */
.sige-sidebar-brand img { display: block; width: 100%; height: auto; filter: none; }
.sige-brand-texto { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; font-size: 20px; letter-spacing: .02em; }
.auth-logo .sige-brand-texto { font-size: 28px; }

/* Itens de menu ainda não disponíveis */
.sige-nav-link.is-disabled { opacity: .55; cursor: not-allowed; }
.sige-nav-link.is-disabled:hover { background: transparent; color: rgba(255,255,255,.72); }
.sige-nav-breve { margin-left: auto; white-space: nowrap; flex-shrink: 0; font-size: 10px; font-weight: 600; padding: 1px 7px; border-radius: 10px; background: rgba(255,255,255,.14); }

/* Foco visível na navegação escura */
.sige-nav-link:focus-visible, .sige-hamburger:focus-visible { outline: 2px solid rgba(255,255,255,.8); outline-offset: 1px; }
.sige-hamburger:focus-visible { outline-color: var(--sige-azul); }

/* Link para pular direto ao conteúdo (teclado/leitor de tela) */
.sige-skip { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: var(--surface); padding: 8px 14px; border-radius: var(--radius); box-shadow: var(--shadow-md); }
.sige-skip:focus { left: 8px; }

/* Fundo escurecido quando o menu móvel está aberto */
.sige-sidebar-fundo { position: fixed; inset: 0; background: rgba(15, 24, 41, .45); z-index: 1025; }

/* KPI com texto (estado) em vez de número */
.sige-kpi-texto { font-size: 20px; }

.sige-passos { padding-left: 1.2rem; }
.sige-passos li { margin-bottom: 8px; line-height: 1.5; max-width: 72ch; }

.sige-auth-rodape { margin: 28px 0 0; text-align: center; font-size: 12px; color: var(--text-muted); }
.sige-erro-detalhe { max-height: 260px; overflow: auto; font-size: 11px; background: var(--bg-2); border: 1px solid var(--border-light); border-radius: var(--radius); padding: 10px; white-space: pre-wrap; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.auth-card h1.auth-subtitle { font-family: inherit; font-size: .95rem; font-weight: 600; }

/* Usuário logado: rodapé da sidebar e ações do cabeçalho */
.sige-usuario { display: flex; flex-direction: column; min-width: 0; color: #fff; text-decoration: none; line-height: 1.25; }
.sige-usuario:hover { color: #fff; text-decoration: underline; }
.sige-usuario-nome { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sige-usuario-papel { font-size: 11px; color: rgba(255,255,255,.7); }
.sige-usuario:focus-visible { outline: 2px solid rgba(255,255,255,.8); outline-offset: 2px; border-radius: 4px; }
.sige-header-acoes { display: flex; align-items: center; gap: 8px; }
.sige-header-acoes .btn-sm { padding: 5px 12px; font-size: 12px; }

/* Lista de marcação longa (empresas do usuário) */
.sige-lista-marcar { max-height: 420px; overflow-y: auto; padding-right: 4px; }
.sige-lista-marcar .form-check { padding-top: 4px; padding-bottom: 4px; border-bottom: 1px solid var(--border-light); }

/* Contador no menu (ex.: pendências abertas) */
.sige-nav-contador { margin-left: auto; min-width: 20px; padding: 1px 7px; border-radius: 10px; background: var(--warning); color: hsl(38, 80%, 18%); font-size: 11px; font-weight: 700; text-align: center; }

/* Resultado de teste/diagnóstico */
.sige-lista-diag { list-style: none; padding: 0; margin: 0; }
.sige-lista-diag li { display: flex; gap: 8px; align-items: flex-start; padding: 5px 0; border-bottom: 1px solid var(--border-light); font-size: 13px; }
.sige-lista-diag li:last-child { border-bottom: 0; }
.sige-lista-diag .bi { flex-shrink: 0; margin-top: 2px; }
.sige-ok { color: var(--success); } .sige-falha { color: var(--danger); } .sige-atencao { color: hsl(38, 80%, 38%); }

/* Ações em linha (details) nas pendências */
.sige-acao-pend > summary { cursor: pointer; font-size: 12px; font-weight: 600; color: var(--sige-azul); list-style: none; padding: 4px 0; }
.sige-acao-pend > summary::-webkit-details-marker { display: none; }
.sige-acao-pend[open] > summary { color: var(--sige-azul-dark); }
.sige-acao-pend form { background: var(--bg-2); border: 1px solid var(--border-light); border-radius: var(--radius); padding: 12px; margin: 4px 0 8px; }
.sige-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; white-space: nowrap; }
.sige-tabela-topo td { vertical-align: top; }
.sige-col-acoes { min-width: 280px; }
.sige-url-webhook { white-space: normal; word-break: break-all; background: var(--bg-2); border: 1px solid var(--border-light); border-radius: var(--radius); padding: 6px 8px; margin-top: 2px; }

/* Abas da fila de conciliação */
.sige-abas { display: flex; flex-wrap: wrap; gap: 6px; }
.sige-aba { padding: 7px 12px; border-radius: 20px; border: 1px solid var(--border); color: var(--text-muted); font-size: 13px; font-weight: 600; text-decoration: none; background: var(--surface); }
.sige-aba:hover { border-color: var(--sige-azul); color: var(--sige-azul); }
.sige-aba.ativa { background: var(--sige-azul); border-color: var(--sige-azul); color: #fff; }
.sige-aba-n { display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 4px; border-radius: 10px; background: var(--bg); color: var(--text); font-size: 11px; text-align: center; }
.sige-aba.ativa .sige-aba-n { background: rgba(255,255,255,.25); color: #fff; }
/* Motivos de uma sugestão */
.sige-motivos { margin: 4px 0 0; padding-left: 16px; font-size: 11.5px; color: var(--text-muted); }
.sige-valor { max-width: 120px; text-align: right; }
.sige-details-card > summary { cursor: pointer; list-style: none; }
.sige-details-card > summary::-webkit-details-marker { display: none; }

/* Painel: dicas, barras e série */
.sige-dica { margin-top: 8px; font-size: 11.5px; color: var(--text-muted); }
.sige-dica > summary { cursor: pointer; color: var(--sige-azul); font-weight: 600; list-style: none; }
.sige-dica > summary::-webkit-details-marker { display: none; }
.sige-dica > summary::before { content: "ⓘ "; }
.sige-dica p { margin: 4px 0 0; }
.sige-tabela-barras th { font-weight: 500; font-size: 12.5px; max-width: 220px; }
.sige-col-barra { width: 40%; min-width: 90px; }
.sige-col-barra progress { width: 100%; height: 10px; accent-color: var(--sige-azul); }
.sige-serie { width: 100%; height: 160px; }
.sige-serie rect { fill: var(--sige-azul); }
.sige-serie rect:hover { fill: var(--sige-azul-dark); }
a.kpi-value:hover { color: var(--sige-azul) !important; }

/* Painel do gestor: barras horizontais em SVG (uma série, uma escala) */
.sige-barras-rolagem { overflow-x: auto; }
.sige-barras { width: 100%; min-width: 560px; height: auto; display: block; }
.sige-barras-base { stroke: var(--border); stroke-width: 1; }
.sige-barra-alvo { fill: transparent; }
.sige-barra:hover .sige-barra-alvo { fill: var(--sige-azul-light); }
.sige-barra-valor-rect { fill: var(--sige-azul); }
.sige-barra:hover .sige-barra-valor-rect { fill: var(--sige-azul-dark); }
.sige-barra-rotulo { fill: var(--text); font-size: 13px; }
.sige-barra-valor { fill: var(--text-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
