/* AUDIPAT — camada de layout sobre o gov.br Design System (core 3.7).
   Cores, tipografia e componentes vêm do DS; aqui ficam só o arranjo das telas
   e alguns estados específicos do sistema. */

:root {
  --sg-azul: var(--blue-warm-vivid-70, #1351b4);
  --sg-azul-escuro: var(--blue-warm-vivid-80, #0c326f);
  --sg-azul-noite: var(--blue-warm-vivid-90, #071d41);
  --sg-azul-claro: var(--blue-warm-10, #dbe8fb);
  --sg-azul-fundo: #eef3fa;
  --sg-fundo: #f3f5f8;
  --sg-borda: #e1e6ed;
  --sg-texto: #1b1f24;
  --sg-texto-2: #5c6672;
  --sg-alerta: #a04a00;
  --sg-alerta-fundo: #fff0dc;
  --sg-alerta-borda: #f2d2a8;
  --sg-ok: #126e1a;
  --sg-ok-fundo: #e3f2e5;
  --sg-erro: #9b1c1c;
  --sg-raio: 12px;
}

html, body { background: var(--sg-fundo); color: var(--sg-texto); }
body { font-family: var(--font-family-base, Rawline, Raleway, sans-serif); margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nowrap { white-space: nowrap; }
.muted { color: var(--sg-texto-2); }
.small { font-size: 13px; }

/* ----------------------------------------------------------------- estrutura */
.sg-app { display: flex; flex-wrap: wrap; align-items: stretch; min-height: 100vh; }
.sg-side { flex: 1 1 240px; max-width: 100%; background: #fff; border-right: 1px solid var(--sg-borda); padding: 18px 14px 24px; box-sizing: border-box; }
.sg-main-col { flex: 999 1 640px; min-width: 0; display: flex; flex-direction: column; }
.sg-content { padding: 24px 28px 48px; display: flex; flex-direction: column; gap: 18px; max-width: 1180px; width: 100%; box-sizing: border-box; }

/* ----------------------------------------------------------------- menu lateral */
.sg-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; padding: 4px 8px 22px; }
.sg-marca-icone { width: 36px; height: 36px; border-radius: 9px; background: var(--sg-azul); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.sg-marca-nome { display: block; font-weight: 700; font-size: 16px; color: var(--sg-azul-noite); }
.sg-marca-sub { display: block; font-size: 11.5px; color: var(--sg-texto-2); }
.sg-menu { display: flex; flex-direction: column; gap: 2px; }
.sg-menu a, .sg-menu summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 14px; border-radius: 8px; color: #33404f; text-decoration: none; font-size: 14px; cursor: pointer; }
.sg-menu a:hover, .sg-menu summary:hover { background: var(--sg-azul-fundo); color: var(--sg-azul-escuro); }
.sg-menu a[aria-current="page"] { background: var(--sg-azul); color: #fff; font-weight: 600; }
.sg-menu i.fa-fw { width: 18px; text-align: center; }
.sg-menu .sg-badge { margin-left: auto; font-size: 12px; font-weight: 700; min-width: 22px; text-align: center; padding: 2px 6px; border-radius: 999px; background: var(--sg-azul-fundo); color: var(--sg-azul-escuro); }
.sg-menu a[aria-current="page"] .sg-badge { background: #fff; }
.sg-menu details summary { list-style: none; }
.sg-menu details summary::-webkit-details-marker { display: none; }
.sg-menu details summary .fa-chevron-down { margin-left: auto; transition: transform .15s; font-size: 12px; }
.sg-menu details[open] summary .fa-chevron-down { transform: rotate(180deg); }
.sg-menu details.ativo summary { color: var(--sg-azul-escuro); font-weight: 600; }
.sg-submenu { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 6px 23px; padding-left: 10px; border-left: 2px solid var(--sg-borda); }
.sg-submenu a { min-height: 40px; font-size: 13.5px; justify-content: space-between; padding: 0 10px 0 12px; }
.sg-submenu a[aria-current="page"] { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }
.sg-submenu .qtd { font-size: 12px; color: var(--sg-texto-2); }
.sg-menu-toggle { display: none; }

/* ----------------------------------------------------------------- barra superior */
.sg-topbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 12px 28px; background: #fff; border-bottom: 1px solid var(--sg-borda); }
.sg-busca { flex: 1 1 320px; max-width: 560px; position: relative; }
.sg-busca i { position: absolute; left: 14px; top: 14px; color: var(--sg-texto-2); }
.sg-busca input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 0 16px 0 42px; border: 1px solid #d3dae3; border-radius: 999px; background: #f6f8fb; font: inherit; font-size: 14px; color: var(--sg-texto); }
.sg-topbar-dir { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.sg-chip-edicao { font-size: 13px; font-weight: 600; color: var(--sg-azul-escuro); background: var(--sg-azul-fundo); padding: 6px 12px; border-radius: 999px; }
.sg-usuario { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.3; }
.sg-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--sg-azul-escuro); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.sg-ambiente { font-size: 12px; font-weight: 700; background: var(--sg-alerta-fundo); color: #8a4500; padding: 4px 10px; border-radius: 999px; }

/* ----------------------------------------------------------------- blocos */
.sg-card { background: #fff; border: 1px solid var(--sg-borda); border-radius: var(--sg-raio); padding: 20px; }
.sg-card h2, .sg-card h3 { margin-top: 0; }
.sg-titulo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; }
.sg-titulo h1 { margin: 0; font-size: 24px; font-weight: 700; color: var(--sg-azul-escuro); }
.sg-titulo p { margin: 6px 0 0; font-size: 14px; color: var(--sg-texto-2); }
.sg-grid-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 12px; }
.sg-kpi { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--sg-borda); border-radius: var(--sg-raio); padding: 16px; text-decoration: none; color: inherit; }
a.sg-kpi:hover { border-color: var(--sg-azul); }
.sg-kpi-icone { width: 38px; height: 38px; flex: none; border-radius: 10px; background: var(--sg-azul-fundo); color: var(--sg-azul); display: flex; align-items: center; justify-content: center; }
.sg-kpi-rotulo { font-size: 12.5px; color: var(--sg-texto-2); }
.sg-kpi-valor { font-size: 24px; font-weight: 700; line-height: 1.25; }
.sg-kpi-valor.medio { font-size: 18px; margin-top: 4px; }
.sg-kpi-nota { font-size: 12px; color: var(--sg-texto-2); }
.sg-kpi.alerta .sg-kpi-icone { background: var(--sg-alerta-fundo); color: var(--sg-alerta); }
.sg-kpi.alerta .sg-kpi-valor { color: var(--sg-alerta); }
.sg-kpi.ok .sg-kpi-icone { background: var(--sg-ok-fundo); color: var(--sg-ok); }
.sg-kpi.ok .sg-kpi-valor { color: var(--sg-ok); }
.sg-kpi.azul .sg-kpi-icone { background: var(--sg-azul-claro); }
.sg-kpi.azul .sg-kpi-valor { color: var(--sg-azul); }
.sg-barra-dist { display: flex; gap: 3px; height: 8px; border-radius: 999px; overflow: hidden; }

/* tags de situação */
.sg-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.sg-tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sg-tag.em_analise, .sg-tag.em_validacao { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }
.sg-tag.aguardando_informacao { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-tag.concluido { background: var(--sg-ok-fundo); color: var(--sg-ok); }
.sg-tag.suspenso { background: #eef1f5; color: #3e4a57; }
.sg-tag.ficticio { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-tag.ficticio::before, .sg-tag.semponto::before { display: none; }

/* progresso */
.sg-prog { display: flex; align-items: center; gap: 8px; }
.sg-prog-trilho { width: 72px; height: 6px; background: #e4eaf2; border-radius: 999px; overflow: hidden; }
.sg-prog-barra { height: 6px; background: var(--sg-azul); border-radius: 999px; }
.sg-prog-barra.completo { background: #168821; }
.sg-etapas-mini { display: flex; gap: 3px; }
.sg-etapas-mini span { width: 18px; height: 6px; border-radius: 3px; background: #dce3ec; }
.sg-etapas-mini .concluida, .sg-etapas-mini .dispensada { background: #168821; }
.sg-etapas-mini .em_andamento { background: var(--sg-azul); }

/* tabelas */
.sg-tabela-box { overflow-x: auto; }
.sg-tabela { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.sg-tabela th { text-align: left; font-size: 12px; font-weight: 600; color: var(--sg-texto-2); padding: 10px 12px; border-bottom: 1px solid var(--sg-borda); white-space: nowrap; background: #f8fafc; }
.sg-tabela td { padding: 12px; border-bottom: 1px solid #edf1f5; vertical-align: middle; }
.sg-tabela tr.destaque td { background: #fff8ee; }
.sg-tabela tfoot td { font-weight: 700; border-bottom: none; }
.sg-sub { font-size: 12px; color: var(--sg-texto-2); }
.sg-sub.alerta { color: var(--sg-alerta); font-weight: 600; }

/* filtros */
.sg-filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.sg-campo { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: #33404f; }
.sg-campo select, .sg-campo input, .sg-campo textarea { font: inherit; font-size: 14px; font-weight: 400; min-height: 42px; box-sizing: border-box; padding: 0 12px; border: 1px solid #a9b4c2; border-radius: 8px; background: #fff; color: var(--sg-texto); }
.sg-campo textarea { padding: 10px 12px; min-height: 84px; resize: vertical; }
.sg-campo select:focus, .sg-campo input:focus, .sg-campo textarea:focus, .sg-busca input:focus { outline: 2px solid var(--focus-color, #c2850c); outline-offset: 2px; }
.sg-segmentado { display: inline-flex; background: #eef1f5; border-radius: 999px; padding: 3px; }
.sg-segmentado a { min-height: 36px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #4a5868; text-decoration: none; }
.sg-segmentado a[aria-current="true"] { background: #fff; color: var(--sg-azul-escuro); box-shadow: 0 1px 2px rgba(0,0,0,.08); }

/* paginação */
.sg-paginacao { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid #edf1f5; }
.sg-paginas { display: flex; gap: 4px; flex-wrap: wrap; }
.sg-paginas a, .sg-paginas span { min-width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d3dae3; border-radius: 8px; color: var(--sg-texto); text-decoration: none; font-size: 14px; box-sizing: border-box; padding: 0 8px; }
.sg-paginas a[aria-current="page"] { background: var(--sg-azul); border-color: var(--sg-azul); color: #fff; font-weight: 600; }
.sg-paginas span { border: none; color: var(--sg-texto-2); }

/* listas de acesso rápido */
.sg-atalho { display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; border: 1px solid var(--sg-borda); border-radius: 10px; padding: 14px 16px; background: #fff; }
.sg-atalho:hover { border-color: var(--sg-azul); }
.sg-atalho .ic { width: 40px; height: 40px; border-radius: 10px; background: var(--sg-azul-fundo); color: var(--sg-azul); display: flex; align-items: center; justify-content: center; flex: none; }
.sg-atalho strong { display: block; font-size: 15px; color: var(--sg-azul); }
.sg-atalho .muted { display: block; font-size: 13px; margin-top: 2px; }
.sg-atalho .seta { margin-left: auto; color: var(--sg-azul); }
.sg-pendencias { background: #fff8ee; border-color: var(--sg-alerta-borda); }
.sg-pendencias .sg-atalho { border-color: var(--sg-alerta-borda); }
.sg-pendencias .sg-atalho .ic { background: var(--sg-alerta-fundo); color: var(--sg-alerta); }
.sg-pendencias .sg-atalho strong { color: var(--sg-texto); }
.sg-pendencias .sg-atalho .seta { color: var(--sg-alerta); }

/* boas-vindas */
.sg-hero { background: var(--sg-azul-escuro); color: #fff; border-radius: 14px; padding: 28px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.sg-hero h1 { color: #fff; margin: 20px 0 6px; font-size: 24px; }
.sg-hero p { margin: 0; color: #dce6f5; font-size: 15px; }
.sg-hero .edicao { font-size: 26px; font-weight: 700; }
.sg-hero .edicao-sub { font-size: 14px; color: #c9d8ef; }
.sg-hero .ilustra { font-size: 84px; color: #9fb7dd; opacity: .9; }

/* ----------------------------------------------------------------- caso */
.sg-caso-cab { background: var(--sg-azul-fundo); border-radius: 14px; padding: 18px 24px; }
.sg-caso-cab .topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #cfdaea; color: var(--sg-azul-escuro); }
.sg-caso-cab h1 { margin: 14px 0 10px; font-size: 22px; color: var(--sg-texto); }
.sg-caso-cab dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px 24px; margin: 0; }
.sg-caso-cab dt { font-size: 12px; color: #4a5868; }
.sg-caso-cab dd { margin: 4px 0 0; font-weight: 600; }
.sg-caso-corpo { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.sg-etapas { flex: 1 1 230px; max-width: 100%; background: #0b2a55; color: #fff; border-radius: 14px; padding: 18px 12px; box-sizing: border-box; }
.sg-etapas .rotulo { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #b8c9e4; padding: 0 10px 10px; }
.sg-etapas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.sg-etapas a { display: block; padding: 10px; border-radius: 8px; text-decoration: none; color: #fff; }
.sg-etapas a:hover { background: #163a6d; color: #fff; }
.sg-etapas a[aria-current="step"] { background: #1e4176; font-weight: 700; }
.sg-etapas .estado { display: block; font-size: 12px; color: #b8c9e4; font-weight: 400; }
.sg-etapas .estado.ok { color: #9fe0a8; }
.sg-etapas .extra { border-top: 1px solid #2a4a7c; margin: 16px 10px 0; padding-top: 12px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.sg-etapas .extra span { display: flex; justify-content: space-between; color: #dce6f5; }
.sg-caso-painel { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.sg-segmentos { display: grid; gap: 4px; }
.sg-segmentos a { height: 6px; border-radius: 3px; background: #dce3ec; display: block; }
.sg-segmentos a.respondida { background: #168821; }
.sg-segmentos a.atual { background: var(--sg-azul); }
.sg-atividade-num { font-size: 12px; font-weight: 700; color: var(--sg-texto-2); letter-spacing: .03em; }
.sg-decisao { border: 1px solid var(--sg-borda); border-radius: 10px; padding: 18px 20px; }
.sg-opcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-top: 14px; }
.sg-opcao { position: relative; }
.sg-opcao input { position: absolute; opacity: 0; inset: 0; }
.sg-opcao label { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 46px; padding: 6px 14px; border: 1px solid #a9b4c2; border-radius: 8px; color: var(--sg-azul); font-weight: 600; font-size: 14px; cursor: pointer; background: #fff; box-sizing: border-box; }
.sg-opcao input:checked + label { background: var(--sg-azul); border-color: var(--sg-azul); color: #fff; }
.sg-opcao input:focus-visible + label { outline: 3px solid var(--focus-color, #c2850c); outline-offset: 2px; }
.sg-efeito { margin-top: 12px; background: var(--sg-azul-fundo); border-radius: 8px; padding: 10px 14px; font-size: 13px; line-height: 1.5; display: none; }
.sg-efeito.visivel { display: block; }
.sg-acoes { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.sg-acoes .grupo { display: flex; flex-wrap: wrap; gap: 10px; }
.sg-achado { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 0; border-top: 1px solid #edf1f5; font-size: 14px; }
.sg-achado .tipo { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; margin-right: 8px; }
.sg-achado .tipo.inconsistencia, .sg-achado .tipo.pendencia { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-achado .tipo.causa { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }

/* assistente */
.sg-assistente { background: #fff; border: 1px solid var(--sg-borda); border-radius: 14px; padding: 16px 24px; }
.sg-assistente summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.sg-assistente summary::-webkit-details-marker { display: none; }
.sg-assistente .ic { width: 36px; height: 36px; border-radius: 10px; background: var(--sg-azul-fundo); color: var(--sg-azul); display: flex; align-items: center; justify-content: center; }
.sg-assistente .abrir { margin-left: auto; font-size: 13px; font-weight: 600; border: 1px solid #c2ccd8; border-radius: 999px; padding: 6px 14px; }
.sg-assistente[open] .abrir .fechado, .sg-assistente:not([open]) .abrir .aberto { display: none; }
.sg-sugestao { background: #f5f7fa; border: 1px solid var(--sg-borda); border-radius: 10px; padding: 14px 16px; margin-top: 14px; }
.sg-sugestao .rot { font-size: 11px; font-weight: 700; color: var(--sg-azul-escuro); letter-spacing: .04em; }
.sg-sugestao p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; }
.sg-sugestao .fonte { font-size: 12px; color: var(--sg-texto-2); margin-top: 6px; }
.sg-orientacao { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 14px; font-size: 13.5px; }
.sg-orientacao div { background: #f8fafc; border-radius: 8px; padding: 12px 14px; }
.sg-orientacao strong { display: block; font-size: 12px; color: var(--sg-azul-escuro); margin-bottom: 4px; }

/* login */
.sg-login { min-height: 100vh; display: flex; flex-direction: column; background: var(--sg-fundo); }
.sg-login-header { background: #fff; border-bottom: 1px solid var(--sg-borda); padding: 14px 24px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sg-login-header .sep { width: 1px; height: 28px; background: var(--sg-borda); }
.sg-login-corpo { flex: 1; display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
.sg-login-card { width: 100%; max-width: 440px; background: #fff; border-radius: var(--sg-raio); box-shadow: 0 1px 6px rgba(0,0,0,.12); padding: 32px; box-sizing: border-box; }
.sg-login-card h1 { font-size: 22px; margin: 0 0 4px; color: var(--sg-azul-escuro); }
.sg-login-card .br-input { margin-top: 18px; }
.sg-login-card .br-input input { width: 100%; }
.sg-login-footer { background: var(--sg-azul-noite); color: #dce6f5; padding: 16px 24px; font-size: 13px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.feedback-erro { color: var(--sg-erro); font-size: 13px; margin-top: 4px; display: flex; gap: 6px; align-items: center; }

/* mensagens */
.sg-msg { display: flex; gap: 10px; align-items: flex-start; border-radius: 8px; padding: 12px 16px; font-size: 14px; }
.sg-msg.success { background: var(--sg-ok-fundo); color: #0d4a12; }
.sg-msg.info { background: var(--sg-azul-fundo); color: var(--sg-azul-escuro); }
.sg-msg.warning { background: var(--sg-alerta-fundo); color: #6b3500; }
.sg-msg.danger { background: #fde7e7; color: var(--sg-erro); }

/* ----------------------------------------------------------------- celular */
@media (max-width: 900px) {
  .sg-side { flex-basis: 100%; padding: 10px 14px; border-right: none; border-bottom: 1px solid var(--sg-borda); }
  .sg-marca { padding-bottom: 6px; }
  .sg-menu-toggle { display: inline-flex; margin-left: auto; }
  .sg-side .sg-menu { display: none; }
  .sg-side.aberto .sg-menu { display: flex; }
  .sg-side-topo { display: flex; align-items: center; }
  .sg-content { padding: 18px 16px 40px; }
  .sg-topbar { padding: 10px 16px; }
}
@media (min-width: 901px) { .sg-side-topo { display: block; } }

/* ajustes após revisão visual */
.sg-content h2, .sg-card h2, .sg-card h3 { font-weight: 600; }
.sg-kpi-valor.medio { font-size: 17px; white-space: nowrap; }
.sg-grid-kpi { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.sg-tabela td:first-child { min-width: 200px; }
.sg-tabela.compacta td, .sg-tabela.compacta th { padding: 10px 8px; }
.sg-tabela.compacta td:first-child { min-width: 0; }
.sg-hero .ilustra { flex: none; width: 110px; text-align: center; }
@media (max-width: 600px) { .sg-grid-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sg-kpi { flex-direction: column; gap: 8px; } }

/* ---------- Base histórica e importação ---------- */
.sg-versoes { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; color: var(--sg-texto-2); }
.sg-versoes i { color: var(--sg-azul); margin-right: 4px; }
.sg-versoes .alerta { color: var(--sg-alerta); font-weight: 600; }
.sg-abas-linha { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; border-bottom: 1px solid var(--sg-borda); }
.sg-abas { display: flex; flex-wrap: wrap; gap: 4px; }
.sg-abas a { padding: 10px 14px; font-size: 14px; font-weight: 600; color: var(--sg-texto-2); text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.sg-abas a:hover { color: var(--sg-azul-escuro); }
.sg-abas a[aria-current="page"] { color: var(--sg-azul); border-bottom-color: var(--sg-azul); }
.sg-uf-filtro { padding-bottom: 8px; }
.sg-uf-filtro .sg-campo { min-width: 120px; }
.sg-legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13px; }
.sg-legenda a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.sg-legenda a:hover { text-decoration: underline; }
.sg-legenda i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.sg-barras { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.sg-barras li { display: grid; grid-template-columns: minmax(0, 1fr) 90px 32px; align-items: center; gap: 10px; font-size: 13px; }
.sg-barras li > a, .sg-barras li > span:first-child { overflow: hidden; text-overflow: ellipsis; }
.sg-barras .trilho { height: 8px; background: #edf1f5; border-radius: 999px; overflow: hidden; }
.sg-barras .trilho span { display: block; height: 100%; background: var(--sg-azul); border-radius: 999px; }
.sg-barras strong { text-align: right; }
.sg-lista-alertas { list-style: none; margin: 0; padding: 0; }
.sg-lista-alertas li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #edf1f5; font-size: 13.5px; }
.sg-lista-alertas li:last-child { border-bottom: 0; }
.sg-lista-alertas a { color: inherit; text-decoration: none; }
.sg-lista-alertas a:hover, .sg-lista-alertas a[aria-current="true"] { color: var(--sg-azul); text-decoration: underline; }
.sg-nivel { display: inline-block; min-width: 40px; text-align: center; font-size: 11.5px; font-weight: 700; padding: 2px 6px; border-radius: 6px; margin-right: 8px; }
.sg-nivel.erro { background: #fde7e7; color: var(--sg-erro); }
.sg-nivel.aviso { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-nivel.indicador { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }
.sg-sit { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 999px; white-space: nowrap; background: #eef1f5; color: #3e4a57; }
.sg-sit.concluida_no_prazo { background: var(--sg-ok-fundo); color: var(--sg-ok); }
.sg-sit.concluida_apos_prazo, .sg-sit.concluida_sem_data { background: #eef6ef; color: #3d6b42; }
.sg-sit.aberta_vencida { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-sit.aberta_no_prazo, .sg-sit.aberta_sem_prazo { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }
.sg-alerta-txt { color: var(--sg-alerta); font-weight: 600; }
.sg-filtros-hist { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; border-bottom: 1px solid #edf1f5; }
.sg-filtros-hist .campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.sg-filtros-hist .linha { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sg-acao-hist { border: 1px solid var(--sg-borda); border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; }
.sg-acao-hist header { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.sg-acao-hist dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 20px; margin: 0; }
.sg-acao-hist dt { font-size: 12px; color: var(--sg-texto-2); }
.sg-acao-hist dd { margin: 2px 0 0; font-size: 13.5px; }
.sg-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.sg-passos li { background: #fff; border: 1px solid var(--sg-borda); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.sg-passos li span { font-size: 12.5px; color: var(--sg-texto-2); }
.sg-passos li.atual { border-color: var(--sg-azul); box-shadow: inset 0 3px 0 var(--sg-azul); }
.sg-passos li.feito { background: var(--sg-ok-fundo); border-color: #bfe0c3; }
.sg-opcoes-layout { border: 0; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 10px; }
.sg-opcao-layout { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--sg-borda); border-radius: 10px; padding: 12px; cursor: pointer; }
.sg-opcao-layout:has(input:checked) { border-color: var(--sg-azul); background: var(--sg-azul-fundo); }
.sg-opcao-layout > span { display: flex; flex-direction: column; gap: 4px; }
.sg-opcao-layout input { margin-top: 4px; }
.sg-mensagens { list-style: none; margin: 0 0 12px; padding: 0; max-height: 360px; overflow: auto; }
.sg-mensagens li { font-size: 13px; padding: 7px 10px; border-left: 3px solid; margin-bottom: 6px; border-radius: 0 6px 6px 0; }
.sg-mensagens li.erro { border-color: var(--sg-erro); background: #fdf1f1; }
.sg-mensagens li.aviso { border-color: #e08a2e; background: #fff8ee; }
.sg-sit-versao { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #eef1f5; color: #3e4a57; }
.sg-sit-versao.grande { font-size: 14px; padding: 6px 14px; }
.sg-sit-versao.confirmada { background: var(--sg-ok-fundo); color: var(--sg-ok); }
.sg-sit-versao.em_conferencia { background: var(--sg-alerta-fundo); color: #8a4500; }
.sg-dif { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 6px; }
.sg-dif.nova { background: var(--sg-ok-fundo); color: var(--sg-ok); }
.sg-dif.alterada { background: var(--sg-azul-claro); color: var(--sg-azul-escuro); }
.sg-dif.removida { background: #fde7e7; color: var(--sg-erro); }
.sg-decisao-importacao { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; border-color: var(--sg-azul); }
@media (max-width: 900px) { .sg-qualidade { grid-template-columns: 1fr !important; } }

.sg-ano { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--sg-azul-escuro); background: var(--sg-azul-fundo); padding: 4px 6px 4px 12px; border-radius: 999px; }
.sg-ano select { font: inherit; font-weight: 700; color: var(--sg-azul-escuro); border: 1px solid #c5d5ee; border-radius: 999px; background: #fff; padding: 4px 10px; min-height: 32px; }

.sg-montagem .cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.sg-montagem-itens { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.sg-montagem-itens li { padding-left: 22px; position: relative; }
.sg-montagem-itens li::before { position: absolute; left: 0; font-family: "Font Awesome 5 Free"; font-weight: 900; }
.sg-montagem-itens li.ok::before { content: "\f00c"; color: var(--sg-ok); }
.sg-montagem-itens li.falta::before { content: "\f00d"; color: var(--sg-erro); }
.sg-montagem-itens li.opcional::before { content: "\f068"; color: var(--sg-texto-2); }
.sg-montagem .acoes { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.sg-encerrar summary { cursor: pointer; color: var(--sg-azul); padding-top: 10px; }
.sg-encerrar form { margin-top: 8px; padding: 12px; border: 1px solid var(--sg-borda); border-radius: 10px; max-width: 460px; }
.sg-total td { font-weight: 700; background: #f6f8fb; }
