
:root {
  --fundo: #f4f7f8;
  --superficie: #ffffff;
  --texto: #17242d;
  --texto-suave: #5d6b74;
  --borda: #dbe3e7;
  --primaria: #176b4d;
  --primaria-hover: #10553d;
  --azul-claro: #edf5f8;
  --sombra: 0 4px 16px rgba(23, 36, 45, .07);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; background: var(--fundo); color: var(--texto); line-height: 1.5; }
a { color: inherit; }
/* Menu lateral (sidebar) com subgrupos — substitui a barra horizontal antiga. */
.alterna-menu { display: none; }
.layout { display: flex; align-items: stretch; min-height: 100vh; }
.barra-lateral { width: 250px; flex-shrink: 0; background: var(--superficie); border-right: 1px solid var(--borda); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 30; }
.barra-lateral-cabecalho { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--borda); }
.marca { color: var(--primaria); font-weight: 800; letter-spacing: .02em; text-decoration: none; white-space: nowrap; }
.fechar-menu { display: none; }
.fundo-menu { display: none; }
.navegacao { display: flex; flex-direction: column; gap: 2px; padding: 14px 12px; flex: 1; }
.navegacao > a { padding: 9px 12px; border-radius: 8px; text-decoration: none; color: #31424d; font-weight: 600; }
.navegacao > a:hover { background: #eef3f5; }
.navegacao details summary { padding: 9px 12px; border-radius: 8px; cursor: pointer; font-weight: 700; color: var(--texto); list-style: none; }
.navegacao details summary::-webkit-details-marker { display: none; }
.navegacao details summary::before { content: "▸"; display: inline-block; width: 12px; margin-right: 6px; color: var(--texto-suave); transition: transform .15s ease; }
.navegacao details[open] summary::before { transform: rotate(90deg); }
.navegacao details summary:hover { background: #eef3f5; }
.navegacao details a { display: block; padding: 8px 12px 8px 32px; border-radius: 8px; text-decoration: none; color: #31424d; font-weight: 600; font-size: .93rem; }
.navegacao details a:hover { background: #eef3f5; }
.subgrupo-navegacao { display: block; padding: 12px 12px 4px 32px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #8a99a1; }
.subgrupo-navegacao:first-of-type { padding-top: 4px; }
.usuario { display: flex; flex-direction: column; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--borda); }
.usuario span { display: flex; flex-direction: column; line-height: 1.2; }
.usuario small { color: var(--texto-suave); margin-top: 3px; }
.usuario .botao { width: 100%; }
.botao-menu { display: none; }
.barra-superior-mobile { display: none; }
.area-principal { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.conteudo { max-width: 1160px; width: 100%; margin: 0 auto; padding: 32px 24px 54px; }
.rodape { max-width: 1160px; width: 100%; margin: 0 auto; padding: 18px 24px 28px; color: var(--texto-suave); display: flex; justify-content: space-between; gap: 16px; font-size: .88rem; }
.cabecalho-pagina { margin-bottom: 24px; display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.cabecalho-pagina h1 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 8px 0 4px; line-height: 1.15; }
.cabecalho-pagina p { margin: 0; color: var(--texto-suave); }
.selo { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #e8f3ee; color: #14573f; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.grade-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 16px; margin-bottom: 20px; }
.grade-cards-compacta { grid-template-columns: repeat(5, minmax(135px, 1fr)); }
.card-indicador, .painel { background: var(--superficie); border: 1px solid var(--borda); border-radius: 13px; box-shadow: var(--sombra); }
.card-indicador { padding: 20px; min-width: 0; }
.card-indicador .rotulo { color: var(--texto-suave); display: block; font-size: .86rem; margin-bottom: 8px; }
.card-indicador strong { display: block; font-size: 1.2rem; overflow-wrap: anywhere; }
.card-indicador small { color: var(--texto-suave); }
.painel { padding: 22px; margin-bottom: 20px; }
.painel h2 { margin: 0 0 6px; font-size: 1.2rem; }
.painel p { color: var(--texto-suave); }
.painel-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.botao { border: 1px solid transparent; border-radius: 9px; padding: 9px 14px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.botao-primario { background: var(--primaria); color: white; }
.botao-primario:hover { background: var(--primaria-hover); }
.botao-secundario { background: white; color: #31424d; border-color: var(--borda); }
.botao-largo { width: 100%; padding: 12px 16px; }
.tabela-responsiva { overflow-x: auto; padding: 0; }
table { width: 100%; border-collapse: collapse; min-width: 900px; }
th { background: #eef3f5; color: #33434d; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; text-align: left; padding: 13px 15px; border-bottom: 1px solid var(--borda); }
td { padding: 14px 15px; border-bottom: 1px solid #edf1f3; vertical-align: middle; }
tbody tr:hover { background: #fbfcfc; }
td small { display: block; color: var(--texto-suave); margin-top: 3px; }
.status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: .78rem; font-weight: 800; }
.status-importado { background: #eef2f6; color: #42566a; }
.status-validado { background: #eaf3ff; color: #245a91; }
.status-bloqueado { background: #fff0ef; color: #9a342e; }
.status-publicado { background: #e7f5ed; color: #1b6a43; }
.status-cartorio { background: #f3ecfb; color: #6b3fa0; }
.status-parcial { background: #fff6e0; color: #8a6100; }
.link-acao { color: var(--primaria); font-weight: 800; text-decoration: none; }
.link-acao:hover { text-decoration: underline; }
button.link-acao { background: none; border: none; padding: 0; font: inherit; font-size: .84rem; cursor: pointer; white-space: nowrap; }
.linha-boleto-clicavel { cursor: pointer; }
.linha-boleto-clicavel:hover { background: #f1f6f4; }
.secao-modal-boleto[hidden] { display: none; }
.subtitulo-secao { margin: 16px 18px 0; font-size: .92rem; }
.secao-modal-boleto:first-of-type .subtitulo-secao { margin-top: 4px; }
.form-enviar-cartorio { padding: 0 18px 14px; }
.texto-quitacao-info { display: block; padding: 0 18px 14px; }
.linha-acoes-pendencia td { padding: 0 15px 14px; border-bottom: 1px solid #edf1f3; }
.linha-acoes-pendencia:hover { background: transparent; }
.acoes-pendencia { display: flex; flex-wrap: wrap; gap: 10px; }
.botao-acao-pendencia { flex: 1 1 200px; cursor: pointer; padding: 11px 14px; font-weight: 750; color: #31424d; border: 1px solid var(--borda); border-radius: 10px; background: #fafbfb; font: inherit; text-align: left; }
.botao-acao-pendencia:hover { background: #f1f4f5; }
.resumo-pedido-modal { padding: 4px 18px 14px; color: #445b52; }
.resumo-pedido-modal p { margin: 0 0 6px; }
.lista-boletos-pedido { display: flex; flex-direction: column; gap: 8px; padding: 0 18px 14px; }
.linha-mini-boleto { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; background: #fafbfb; cursor: pointer; }
.linha-mini-boleto:hover { background: #f1f4f5; }
.acoes-pedido-modal { display: flex; flex-wrap: wrap; gap: 10px; padding: 4px 18px 18px; border-top: 1px solid var(--borda); margin-top: 4px; }
.conteudo-modal-pedido:empty { padding-bottom: 8px; }
.fundo-modal-acao { position: fixed; inset: 0; background: rgba(23, 36, 45, .45); display: flex; align-items: center; justify-content: center; padding: 24px; z-index: 60; }
.fundo-modal-acao[hidden] { display: none; }
.modal-acao-pendencia { background: #fff; border-radius: 14px; max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto; box-shadow: var(--sombra); }
.painel-acao-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px 0; font-weight: 750; position: sticky; top: 0; background: #fff; }
.botao-fecha-modal-acao { background: none; border: none; padding: 0; color: var(--primaria); font-weight: 800; cursor: pointer; font: inherit; }
.grade-acao-pendencia { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px 16px; padding: 2px 18px 18px; border-top: 1px solid var(--borda); margin-top: 10px; }
.grade-acao-pendencia .grupo-campo { margin-bottom: 0; min-width: 0; }
.grupo-campo-largo { grid-column: 1 / -1; }
.grupo-campo-acao { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.estado-vazio { text-align: center; color: var(--texto-suave); padding: 38px; }
.grade-dois { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.lista-dados { margin: 14px 0 0; }
.lista-dados div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid #edf1f3; }
.lista-dados dt { color: var(--texto-suave); }
.lista-dados dd { margin: 0; font-weight: 700; text-align: right; }
.nota { font-size: .9rem; }
.nota-fonte-dados { background: #f1f6f4; border: 1px solid #d9e8e1; border-radius: 9px; padding: 10px 14px; font-size: .86rem; color: #445b52; margin-bottom: 18px; }
.voltar { display: block; margin-bottom: 14px; color: var(--primaria); font-weight: 700; text-decoration: none; }
code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; background: #f1f4f5; border-radius: 5px; padding: 3px 5px; }
.pagina-login { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: linear-gradient(145deg, #eef5f2, #f7f9fa 60%); }
.login-container { width: 100%; max-width: 430px; }
.login-card { background: white; border: 1px solid var(--borda); border-radius: 16px; padding: 30px; box-shadow: 0 12px 38px rgba(24, 47, 59, .10); }
.login-cabecalho h1 { margin: 12px 0 5px; font-size: 1.9rem; }
.login-cabecalho p { margin: 0 0 22px; color: var(--texto-suave); }
.grupo-campo { margin-bottom: 17px; }
.grupo-campo label { display: block; font-weight: 700; margin-bottom: 6px; }
.campo { width: 100%; border: 1px solid #cbd6db; border-radius: 9px; padding: 11px 12px; font: inherit; color: var(--texto); background: white; }
.campo:focus { outline: 3px solid rgba(23, 107, 77, .13); border-color: var(--primaria); }
.alerta { padding: 11px 12px; border-radius: 8px; margin-bottom: 16px; }
.alerta-erro { background: #fff0ef; color: #8c2f2a; border: 1px solid #f0cbc7; }
.alerta-erro ul { margin: 0; padding-left: 18px; }
.erro-campo { color: #9a342e; }
.nota-seguranca { color: var(--texto-suave); font-size: .82rem; margin: 18px 0 0; }
.mensagem { background: #e7f5ed; border: 1px solid #c9e5d5; color: #1b6040; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; }
@media (max-width: 900px) {
  .layout { display: block; }
  .barra-superior-mobile { display: flex; align-items: center; gap: 14px; padding: 14px 18px; background: var(--superficie); border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 15; }
  html { scroll-padding-top: 70px; }
  .cabecalho-pagina { scroll-margin-top: 70px; }
  .botao-menu, .fechar-menu { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; cursor: pointer; font-size: 1.15rem; }
  .botao-menu { background: #eef3f5; }
  .botao-menu:hover, .fechar-menu:hover { background: #e2eaec; }
  .barra-lateral { position: fixed; left: 0; top: 0; transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--sombra); }
  #alterna-menu:checked ~ .layout .barra-lateral { transform: translateX(0); }
  .fundo-menu { display: block; position: fixed; inset: 0; background: rgba(23, 36, 45, .4); z-index: 25; cursor: pointer; }
  #alterna-menu:not(:checked) ~ .layout .fundo-menu { display: none; }
  .conteudo, .rodape { max-width: 100%; }
  .grade-cards-compacta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade-dois { grid-template-columns: 1fr; }
  .rodape { flex-direction: column; }
}
@media (max-width: 560px) {
  .conteudo { padding: 24px 14px 42px; }
  .painel-cabecalho, .cabecalho-pagina { align-items: stretch; flex-direction: column; }
  .grade-cards-compacta { grid-template-columns: 1fr 1fr; }
  .login-card { padding: 23px; }
}
.painel-acao { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.painel-acao p { margin-bottom: 0; }
.grade-formularios { align-items: start; }
.campo-arquivo { background: #fbfcfc; border: 1px solid var(--borda); border-radius: 11px; padding: 16px; }
.campo-arquivo input[type="file"] { padding: 8px; background: white; }
.ajuda-campo { display: block; color: var(--texto-suave); margin-top: 6px; }
.barra-acoes { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 18px; }
.alerta-sucesso { background: #e7f5ed; color: #1b6040; border: 1px solid #c9e5d5; }
.alerta-inline { padding: 8px 10px; background: #fff7e5; border: 1px solid #ecd8a9; border-radius: 8px; color: #6b5422; }
.botao:disabled { opacity: .55; cursor: not-allowed; }
.mensagem-error { background: #fff0ef; border-color: #f0cbc7; color: #8c2f2a; }
.mensagem-success { background: #e7f5ed; border-color: #c9e5d5; color: #1b6040; }
.linha-detalhe td { background: #fbfcfd; color: var(--texto-suave); font-size: .88rem; padding-top: 8px; padding-bottom: 8px; }
.destaque-lote { border-left: 5px solid var(--primaria); }
.lista-status { margin-top: 14px; }
.lista-status div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #edf1f3; }
.lista-status span { color: var(--texto-suave); }
.lista-status strong { text-align: right; }
.quatro-cards { grid-template-columns: repeat(4, minmax(150px, 1fr)); margin-top: 18px; }
.tabela-interna { border: 1px solid var(--borda); border-radius: 10px; margin-top: 16px; }
.tabela-interna table { min-width: 760px; font-size: .85rem; }
.tabela-interna th { padding: 10px 12px; font-size: .72rem; }
.tabela-interna td { padding: 9px 12px; }
.tabela-interna .num { text-align: right; white-space: nowrap; }
.tabela-interna tfoot td { background: #f6faf7; font-weight: 800; border-top: 2px solid var(--borda); }
.filtro-status.barra-acoes { gap: 8px; margin-top: 0; }
.filtro-status .botao { padding: 6px 12px; font-size: .82rem; }
@media (max-width: 900px) {
  .painel-acao { align-items: stretch; flex-direction: column; }
  .quatro-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .quatro-cards { grid-template-columns: 1fr; }
}

/* Correção 0.6.0 R2 — relatórios do ERP, confronto e cobertura */
.cabecalho-pagina { padding-top: 4px; }
.conteudo { position: relative; z-index: 1; }
.painel-informativo { border-left: 5px solid #287ca5; background: #f8fcfe; }
.painel-informativo p { margin-bottom: 0; }
.painel-cabecalho-filtros { align-items: flex-end; }
.filtros-inconsistencias { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .7fr); gap: 10px; min-width: min(520px, 100%); }
.lista-inconsistencias { display: grid; gap: 18px; margin-top: 18px; }
.inconsistencia-card { border: 1px solid var(--borda); border-radius: 13px; background: #fff; overflow: hidden; box-shadow: 0 3px 12px rgba(23, 36, 45, .05); }
.inconsistencia-card[hidden] { display: none; }
.inconsistencia-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px 20px; background: #f6f9fa; border-bottom: 1px solid var(--borda); }
.inconsistencia-cabecalho .rotulo { color: var(--texto-suave); font-size: .78rem; text-transform: uppercase; font-weight: 800; }
.inconsistencia-cabecalho h3 { margin: 2px 0 0; font-size: 1.45rem; }
.inconsistencia-status { display: flex; align-items: flex-end; flex-direction: column; gap: 6px; text-align: right; }
.inconsistencia-status small { color: var(--texto-suave); }
.campos-divergentes { margin: 16px 20px 0; padding: 10px 12px; border: 1px solid #ecd8a9; background: #fff7e5; color: #6b5422; border-radius: 8px; }
.comparacao-lado-a-lado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 16px 20px; }
.lado-relatorio { border: 1px solid var(--borda); border-radius: 11px; padding: 16px; min-width: 0; background: #fcfdfd; }
.lado-relatorio h4 { margin: 0 0 12px; font-size: 1rem; }
.lista-dados-compacta { margin: 0; }
.lista-dados-compacta div { padding: 7px 0; }
.lista-dados-compacta dd { overflow-wrap: anywhere; }
.detalhes-bloco { margin-top: 14px; border: 1px solid var(--borda); border-radius: 9px; background: white; }
.detalhes-bloco summary { cursor: pointer; padding: 10px 12px; font-weight: 750; color: #31424d; }
.detalhes-bloco[open] summary { border-bottom: 1px solid var(--borda); }
.lista-itens-relatorio { margin: 0; padding: 10px 14px 12px 30px; max-height: 250px; overflow: auto; }
.lista-itens-relatorio li { margin: 6px 0; color: #43535d; }
.diferenca-destaque { margin: 0 20px 16px; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 9px; background: #eef5f8; border: 1px solid #d6e7ee; }
.diferenca-destaque span { color: var(--texto-suave); font-weight: 700; }
.diferenca-destaque strong { font-size: 1.1rem; }
.decisao-grade { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 14px 18px; padding: 18px 20px 4px; border-top: 1px solid var(--borda); background: #fbfcfc; }
.decisao-observacao { grid-column: 1 / -1; }
.decisao-grade textarea.campo { resize: vertical; min-height: 86px; }
.registro-decisao { padding: 0 20px 16px; color: var(--texto-suave); font-size: .84rem; background: #fbfcfc; }
.barra-acoes-fixa { position: sticky; bottom: 0; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); border-top: 1px solid var(--borda); padding: 14px 0 0; z-index: 5; }
.lista-downloads { display: grid; gap: 10px; margin-top: 14px; }
.download-card { display: flex; justify-content: space-between; align-items: center; gap: 18px; border: 1px solid var(--borda); border-radius: 10px; padding: 14px; text-decoration: none; background: #fbfcfc; }
.download-card:hover { border-color: #adc7d2; background: #f7fbfc; }
.download-card span:first-child { display: flex; flex-direction: column; min-width: 0; }
.download-card small { color: var(--texto-suave); overflow-wrap: anywhere; }
@media (max-width: 1050px) {
  .comparacao-lado-a-lado { grid-template-columns: 1fr; }
  .painel-cabecalho-filtros { align-items: stretch; flex-direction: column; }
  .filtros-inconsistencias { min-width: 0; width: 100%; }
}
@media (max-width: 700px) {
  .decisao-grade { grid-template-columns: 1fr; }
  .decisao-observacao { grid-column: auto; }
  .inconsistencia-cabecalho, .diferenca-destaque, .download-card { align-items: stretch; flex-direction: column; }
  .inconsistencia-status { align-items: flex-start; text-align: left; }
  .filtros-inconsistencias { grid-template-columns: 1fr; }
}

/* 0.6.1 — upload unificado, classificação e rastreabilidade */
.campo-arquivo-unificado {
  max-width: none;
  padding: 1.25rem;
  border: 1px dashed #9fb6ac;
  border-radius: 14px;
  background: #f8fbf9;
}
.campo-arquivo-unificado input[type="file"] {
  width: 100%;
  padding: 1rem;
  border: 1px solid #cbd8d2;
  border-radius: 10px;
  background: #fff;
  color: #102a43;
}
.tabela-classificacao td {
  vertical-align: top;
}
.tabela-classificacao td:first-child {
  min-width: 240px;
}
.tabela-classificacao td:nth-child(2) {
  min-width: 340px;
}
.tabela-classificacao td small {
  display: block;
  margin-top: .35rem;
  color: #52616b;
}
.linha-detalhe-erro td {
  background: #fff4f2;
  color: #8f261c;
}
.linha-detalhe ul {
  margin: .4rem 0 0 1.25rem;
}
@media (max-width: 900px) {
  .tabela-classificacao td:nth-child(2) {
    min-width: 270px;
  }
}


/* 0.6.2 — Configurações e legibilidade */
.painel-alerta { border-left: 5px solid #b84a3c; background: #fffaf9; }
.celula-colunas { min-width: 210px; max-width: 320px; }
.detalhes-colunas summary { cursor: pointer; color: var(--primaria); font-weight: 700; }
.detalhes-colunas div { margin-top: 8px; max-width: 520px; max-height: 160px; overflow: auto; white-space: normal; overflow-wrap: anywhere; background: #f8fafb; border: 1px solid var(--borda); border-radius: 8px; padding: 9px; }
.tabela-classificacao th:nth-child(6), .tabela-classificacao td:nth-child(6) { min-width: 220px; }
.sugestao-decisao { margin: 0 20px 16px; }


/* 0.6.4 — estoque por SKU e legibilidade das colunas */
.tabela-classificacao { min-width: 1120px; }
.tabela-classificacao th:nth-child(6), .tabela-classificacao td:nth-child(6) { min-width: 360px; width: 360px; }
.celula-colunas { min-width: 360px; max-width: none; }
.detalhes-colunas div { min-width: 320px; max-width: 760px; max-height: 260px; overflow: auto; white-space: normal; overflow-wrap: normal; word-break: normal; line-height: 1.45; }
.lista-colunas-detectadas { columns: 2; column-gap: 28px; margin: 0; padding-left: 18px; min-width: 460px; }
.lista-colunas-detectadas li { break-inside: avoid; margin: 3px 0; }
.detalhes-auditoria div { min-width: 420px; max-width: 820px; }
@media (max-width: 900px) {
  .lista-colunas-detectadas { columns: 1; min-width: 260px; }
}


/* 0.6.4 — balões centralizados e produtos em linha única */
.detalhes-colunas[open] > div {
  position: fixed;
  left: 50%;
  top: 18vh;
  transform: translateX(-50%);
  z-index: 2000;
  width: min(860px, 88vw);
  max-width: 88vw;
  max-height: 62vh;
  overflow: auto;
  box-shadow: 0 18px 42px rgba(14, 39, 52, .20);
}
.lista-colunas-detectadas {
  columns: unset;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 6px 22px;
  min-width: 0;
}
.lista-colunas-detectadas li {
  white-space: nowrap;
}
.tabela-cobertura-produtos th,
.tabela-cobertura-produtos td {
  white-space: nowrap;
}
.tabela-cobertura-produtos td:nth-child(2) {
  min-width: 380px;
}
.lista-produtos-uma-linha {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  max-height: 300px;
  overflow: auto;
}
.lista-produtos-uma-linha li {
  white-space: nowrap;
  border-top: 1px solid var(--borda);
  padding: 8px 0;
}
.card-lista-produtos {
  min-width: min(100%, 520px);
}
.detalhes-produtos-sem-venda .grade-cards {
  align-items: start;
}
@media (max-width: 900px) {
  .detalhes-colunas[open] > div { top: 10vh; width: 94vw; max-width: 94vw; }
}

/* 0.6.10 - ações seguras em equivalências de vendedores */
.acoes-tabela{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.form-inline{display:inline;margin:0}
.botao-mini{padding:.35rem .6rem;font-size:.85rem}
.botao-alerta{background:#fff4f4;border:1px solid #f0b4b4;color:#9f1d1d}
.botao-alerta:hover{background:#ffe7e7}

/* 0.6.10 — clareza do lote atual e das pendências reais */
.painel-atualizacao-relatorios {
  border-left: 5px solid #1d7f5f;
}
.resumo-pendencias-claras {
  border-left: 5px solid #b45309;
}
.tabela-pendencias-claras td,
.tabela-pendencias-claras th {
  vertical-align: top;
}
.tabela-pendencias-claras td:last-child {
  min-width: 280px;
}

/* 0.6.12 — auditoria de pagamentos e prazo médio */
.filtro-lote-financeiro { min-width: min(430px, 100%); }
.filtro-lote-financeiro label { display: block; margin-bottom: 6px; color: var(--texto-suave); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.painel-financeiro { border-left-color: #287ca5; }
.status-financeiro { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.status-financeiro-aprovado { background: #e7f5ed; color: #1b6040; }
.status-financeiro-parcial { background: #fff7e5; color: #6b5422; }
.status-financeiro-pendente, .status-financeiro-bloqueado_por_condicao_pendente { background: #fff0ef; color: #8c2f2a; }
.grade-cards-financeiros { grid-template-columns: repeat(6, minmax(155px, 1fr)); }
.alerta-fechamento { margin-bottom: 20px; }
.tabela-financeira { min-width: 1080px; }
.tabela-financeira tfoot th { background: #e7f5ed; color: #1b6040; border-top: 2px solid #c9e5d5; }
.tabela-condicoes-financeiras { min-width: 1500px; }
.tabela-condicoes-financeiras td:first-child { min-width: 280px; }
.tabela-condicoes-financeiras td:nth-child(9) { min-width: 260px; }
.grade-financeira { align-items: stretch; }
.grade-limites-pmr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.grade-limites-pmr div { border: 1px solid var(--borda); border-radius: 10px; background: #fbfcfd; padding: 15px; }
.grade-limites-pmr span, .grade-limites-pmr small { display: block; color: var(--texto-suave); }
.grade-limites-pmr strong { display: block; margin: 7px 0 3px; font-size: 1.05rem; }
@media (max-width: 1180px) { .grade-cards-financeiros { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .grade-cards-financeiros, .grade-limites-pmr { grid-template-columns: 1fr; } .filtro-lote-financeiro { min-width: 0; width: 100%; } }


/* 0.6.13 — Painel Executivo Geral */
.dashboard-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  padding: 30px 32px;
  margin-bottom: 20px;
  border: 1px solid #d9e5e1;
  border-radius: 20px;
  background:
    radial-gradient(circle at 86% 15%, rgba(64, 145, 115, .13), transparent 27%),
    linear-gradient(135deg, #ffffff 0%, #f2f8f5 58%, #edf5f2 100%);
  box-shadow: 0 14px 38px rgba(23, 60, 48, .08);
}
.dashboard-hero::after { content: ""; position: absolute; right: -70px; bottom: -110px; width: 260px; height: 260px; border: 42px solid rgba(29, 127, 95, .06); border-radius: 50%; pointer-events: none; }
.dashboard-hero-conteudo, .dashboard-hero-acoes { position: relative; z-index: 1; }
.dashboard-hero h1 { margin: 9px 0 6px; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1; letter-spacing: -.045em; }
.dashboard-hero p { margin: 0; max-width: 760px; color: #52646d; font-size: 1rem; }
.selo-dashboard { background: #dff1e9; color: #155d44; }
.dashboard-hero-acoes { min-width: min(420px, 100%); display: grid; gap: 12px; }
.filtro-dashboard label { display: block; margin-bottom: 6px; color: #4e626b; font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.caixa-filtros { background: #fafbfb; border: 1px solid var(--borda); border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; }
.filtro-grupos { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 32px; }
.grupo-segmentado { display: flex; flex-direction: column; gap: 7px; }
.rotulo-grupo-segmentado { color: #4e626b; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.segmentado-status { display: inline-flex; border-radius: 9px; overflow: hidden; border: 1px solid var(--borda); }
.segmentado-status .botao { border-radius: 0; border: none; border-right: 1px solid var(--borda); }
.segmentado-status .botao:last-child { border-right: none; }
.segmentado-status-secundario .botao { font-size: .87rem; padding: 7px 12px; }
.filtro-linha { display: flex; flex-wrap: wrap; align-items: end; gap: 14px 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--borda); }
.filtro-linha .grupo-campo { margin-bottom: 0; flex: 0 1 190px; min-width: 150px; }
.filtro-linha .botao { flex: 0 0 auto; }
.dashboard-confianca { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #d6e6df; border-radius: 11px; background: rgba(255,255,255,.78); }
.indicador-confianca { width: 10px; height: 10px; border-radius: 50%; background: #25835f; box-shadow: 0 0 0 5px rgba(37,131,95,.12); }
.dashboard-confianca div { display: flex; flex-direction: column; line-height: 1.3; }
.dashboard-confianca small { color: var(--texto-suave); }
.dashboard-vazio { padding: 58px 28px; }
.dashboard-vazio .botao { margin-top: 12px; }
.grade-kpis-executivos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.kpi-executivo { position: relative; overflow: hidden; min-width: 0; padding: 18px; border: 1px solid var(--borda); border-radius: 15px; background: #fff; box-shadow: var(--sombra); }
.kpi-executivo::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #b5c7ce; }
.kpi-executivo.kpi-destaque::before { width: 5px; background: var(--primaria); }
.kpi-topo, .kpi-rodape { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kpi-topo { color: var(--texto-suave); font-size: .79rem; font-weight: 760; }
.kpi-icone { display: grid; place-items: center; min-width: 29px; height: 29px; padding: 0 6px; border-radius: 9px; background: #eef5f2; color: #1b6a4e; font-weight: 900; font-size: .72rem; }
.kpi-executivo > strong { display: block; margin: 14px 0 13px; font-size: clamp(1.22rem, 1.8vw, 1.7rem); line-height: 1.05; letter-spacing: -.025em; overflow-wrap: anywhere; }
.kpi-rodape { color: var(--texto-suave); font-size: .75rem; }
.kpi-projecao { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #edf1f3; }
.kpi-projecao .rotulo-projecao { color: var(--texto-suave); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.kpi-projecao b { font-size: .95rem; }
.kpi-nota { font-style: normal; font-size: .67rem; text-transform: uppercase; letter-spacing: .04em; }
.delta { font-style: normal; padding: 3px 6px; border-radius: 999px; font-size: .7rem; font-weight: 850; }
.delta-positivo { background: #e4f4ec; color: #176344; }
.delta-negativo { background: #fff0ef; color: #99382f; }
.delta-neutro { background: #eef2f4; color: #53646d; }
.dashboard-grade-principal { display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, .8fr); gap: 20px; }
.dashboard-grade-financeira, .dashboard-grade-operacional { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dashboard-cabecalho-painel { align-items: flex-start; }
.dashboard-cabecalho-painel h2 { margin: 2px 0 4px; font-size: 1.28rem; }
.dashboard-cabecalho-painel p { margin: 0; }
.microtitulo { display: block; color: #2c785e; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.comparacao-periodo, .contador-alertas { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #eef3f5; color: #52636c; font-size: .72rem; font-weight: 800; }
.grafico-linha-wrapper { margin-top: 16px; min-height: 286px; }
.grafico-linha-svg { width: 100%; height: 246px; overflow: visible; }
.linha-grade { stroke: #e7edef; stroke-width: 1; stroke-dasharray: 5 8; }
.linha-faturamento { fill: none; stroke: #237257; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.ponto-faturamento { fill: #fff; stroke: #237257; stroke-width: 3; vector-effect: non-scaling-stroke; }
.grafico-rotulos { display: flex; justify-content: space-between; color: var(--texto-suave); font-size: .74rem; padding: 0 1.5%; }
.ponto-clicavel { cursor: pointer; }
.area-clique-ponto { fill: transparent; }
.ponto-clicavel .ponto-faturamento { transition: r .1s ease; }
.ponto-clicavel:hover .ponto-faturamento { r: 7; }
.ponto-clicavel.ponto-selecionado .ponto-faturamento { fill: #237257; r: 7; }
.detalhamento-dia { margin-top: 14px; padding: 14px 16px; border-radius: 11px; background: #f4f8f6; border: 1px solid var(--borda); }
.linha-detalhamento-dia { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; border-top: 1px solid var(--borda); font-size: .86rem; }
.linha-detalhamento-dia:first-of-type { border-top: none; }
.linha-detalhamento-numeros { display: flex; gap: 18px; }
.detalhamento-quantidade { color: var(--texto-suave); }
.detalhamento-valor { font-weight: 800; min-width: 96px; text-align: right; }
.lista-alertas-dashboard { display: grid; gap: 9px; margin-top: 15px; }
.alerta-dashboard { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--borda); border-radius: 11px; background: #fbfcfc; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.alerta-dashboard:hover { transform: translateY(-1px); border-color: #adc2ba; }
.alerta-dashboard div { display: flex; flex-direction: column; min-width: 0; }
.alerta-dashboard small { color: var(--texto-suave); margin-top: 2px; line-height: 1.35; }
.alerta-sinal { width: 8px; height: 34px; border-radius: 999px; background: #8ea0a9; }
.alerta-dashboard-critico .alerta-sinal { background: #c24940; }
.alerta-dashboard-atencao .alerta-sinal { background: #d28a2c; }
.alerta-dashboard-info .alerta-sinal { background: #397eae; }
.alerta-dashboard-sucesso .alerta-sinal { background: #25835f; }
.alerta-seta { color: #73828a; font-weight: 900; }
.pagamentos-dashboard-conteudo { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: center; margin-top: 22px; }
.donut-pagamentos { width: 210px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: var(--donut); position: relative; box-shadow: inset 0 0 0 1px rgba(0,0,0,.03); }
.donut-pagamentos::after { content: ""; position: absolute; width: 61%; aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #edf1f2; }
.donut-pagamentos > div { position: relative; z-index: 1; text-align: center; width: 55%; display: flex; flex-direction: column; }
.donut-pagamentos strong { font-size: 1.55rem; letter-spacing: -.04em; }
.donut-pagamentos span { color: var(--texto-suave); font-size: .75rem; line-height: 1.2; }
.legenda-pagamentos { display: grid; gap: 9px; }
.linha-legenda-pagamento { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding-bottom: 8px; border-bottom: 1px solid #edf1f3; }
.cor-legenda { width: 9px; height: 9px; border-radius: 50%; background: var(--cor); }
.linha-legenda-pagamento div { display: flex; flex-direction: column; }
.linha-legenda-pagamento small { color: var(--texto-suave); }
.linha-legenda-pagamento b { font-size: .85rem; }
.exposicao-pmr-dashboard { display: grid; gap: 16px; margin-top: 20px; }
.exposicao-topo { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.exposicao-pmr-dashboard small { display: block; color: var(--texto-suave); margin-top: 5px; }
.barra-dashboard, .barra-mini, .barra-categoria, .barra-ranking { overflow: hidden; border-radius: 999px; background: #eaf0ed; }
.barra-dashboard { height: 9px; }
.barra-dashboard span, .barra-mini i, .barra-categoria i, .barra-ranking i { display: block; width: min(100%, var(--largura)); height: 100%; border-radius: inherit; background: #2b7b5f; }
.barra-atencao span { background: #c9892c; }
.barra-critica span { background: #bd4d43; }
.faixas-pmr-mini { display: grid; gap: 8px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #edf1f3; }
.faixas-pmr-mini > div { display: grid; grid-template-columns: minmax(115px, 1.25fr) minmax(80px, 1fr) 40px minmax(70px, auto); align-items: center; gap: 9px; font-size: .74rem; }
.faixas-pmr-mini b { text-align: right; }
.faixas-pmr-mini small { text-align: right; color: var(--texto-suave); white-space: nowrap; }
.barra-mini { height: 6px; }
.categorias-dashboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.categoria-dashboard { position: relative; overflow: hidden; padding: 15px; border: 1px solid var(--borda); border-radius: 12px; background: #fbfcfc; }
.categoria-dashboard::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #7e9098; }
.categoria-pneus::before { background: #276faf; }
.categoria-rodas::before { background: #6656ad; }
.categoria-acessorios::before { background: #b07c28; }
.categoria-topo { display: flex; justify-content: space-between; color: var(--texto-suave); font-size: .75rem; font-weight: 850; }
.categoria-dashboard > b { display: block; margin: 10px 0 2px; font-size: 1.05rem; }
.categoria-dashboard > small { color: var(--texto-suave); }
.barra-categoria { height: 6px; margin-top: 12px; }
.nota-dashboard { margin: 14px 0 0 !important; padding-top: 12px; border-top: 1px solid #edf1f3; font-size: .78rem; }
.estoque-resumo-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 18px 0; }
.estoque-resumo-dashboard div { padding: 11px; border: 1px solid var(--borda); border-radius: 10px; background: #fbfcfc; }
.estoque-resumo-dashboard span, .estoque-resumo-dashboard strong { display: block; }
.estoque-resumo-dashboard span { color: var(--texto-suave); font-size: .7rem; }
.estoque-resumo-dashboard strong { margin-top: 5px; font-size: .95rem; overflow-wrap: anywhere; }
.lista-cobertura-dashboard { display: grid; gap: 9px; }
.cobertura-linha { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid #edf1f3; }
.cobertura-linha > div:first-child { display: flex; flex-direction: column; }
.cobertura-linha small { color: var(--texto-suave); }
.cobertura-valor { display: flex; align-items: center; gap: 8px; text-align: right; }
.tag-cobertura { padding: 4px 7px; border-radius: 999px; background: #eef2f4; color: #52646e; font-size: .67rem; font-weight: 900; }
.tag-ruptura, .tag-critico { background: #fff0ef; color: #99382f; }
.tag-atencao { background: #fff5df; color: #76551d; }
.tag-equilibrado { background: #e7f5ed; color: #1b6040; }
.tag-excesso { background: #f3eefe; color: #684b9a; }
.resumo-meta-dashboard { display: flex; flex-direction: column; align-items: flex-end; }
.resumo-meta-dashboard strong { font-size: 1.5rem; }
.resumo-meta-dashboard span { color: var(--texto-suave); font-size: .74rem; }
.ranking-vendedores { display: grid; gap: 3px; margin-top: 16px; }
.vendedor-dashboard { display: grid; grid-template-columns: 32px minmax(0, 1fr) minmax(190px, auto); align-items: center; gap: 13px; padding: 12px 6px; border-bottom: 1px solid #edf1f3; }
.posicao-vendedor { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; background: #eef4f1; color: #1d6b50; font-weight: 900; font-size: .78rem; }
.dados-vendedor > div:first-child { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.dados-vendedor span { color: var(--texto-suave); font-size: .74rem; }
.barra-ranking { height: 7px; }
.valores-vendedor { text-align: right; display: flex; flex-direction: column; }
.valores-vendedor small { color: var(--texto-suave); }
.valores-vendedor .rotulo-projecao { color: var(--texto-suave); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.valores-vendedor .sem-meta { color: #9b5a1d; }
.atalhos-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.atalhos-dashboard a { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--borda); border-radius: 13px; background: #fff; box-shadow: var(--sombra); text-decoration: none; }
.atalhos-dashboard a:hover { border-color: #aac5ba; transform: translateY(-1px); }
.atalhos-dashboard a > span { display: grid; place-items: center; min-width: 36px; height: 36px; border-radius: 10px; background: #eaf4ef; color: #1e6b50; font-weight: 900; }
.atalhos-dashboard a > div { display: flex; flex-direction: column; }
.atalhos-dashboard small { color: var(--texto-suave); }
.estado-vazio.compacto { padding: 24px; }
@media (max-width: 1180px) {
  .dashboard-grade-principal { grid-template-columns: 1fr; }
  .painel-alertas-executivos .lista-alertas-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .atalhos-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .dashboard-hero { align-items: stretch; flex-direction: column; }
  .dashboard-hero-acoes { min-width: 0; }
  .dashboard-grade-financeira, .dashboard-grade-operacional { grid-template-columns: 1fr; }
  .pagamentos-dashboard-conteudo { grid-template-columns: 180px minmax(0, 1fr); }
  .donut-pagamentos { width: 175px; }
  .estoque-resumo-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .dashboard-hero { padding: 24px 20px; }
  .grade-kpis-executivos { grid-template-columns: 1fr 1fr; }
  .painel-alertas-executivos .lista-alertas-dashboard { grid-template-columns: 1fr; }
  .pagamentos-dashboard-conteudo { grid-template-columns: 1fr; justify-items: center; }
  .legenda-pagamentos { width: 100%; }
  .categorias-dashboard { grid-template-columns: 1fr; }
  .vendedor-dashboard { grid-template-columns: 30px minmax(0, 1fr); }
  .valores-vendedor { grid-column: 2; text-align: left; }
  .atalhos-dashboard { grid-template-columns: 1fr; }
  .cobertura-linha, .cobertura-valor { align-items: flex-start; flex-direction: column; text-align: left; }
}
@media (max-width: 420px) {
  .grade-kpis-executivos { grid-template-columns: 1fr; }
}

/* 0.6.14 — detalhamento analítico do Dashboard e de Pagamentos/PMR */
.alerta-dashboard { grid-template-columns: 10px minmax(0, 1fr); align-items: stretch; }
.alerta-conteudo { gap: 4px; }
.alerta-titulo-linha { display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: flex-start; gap: 10px; }
.alerta-titulo-linha b { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; background: #eef3f5; color: #445862; font-size: .68rem; }
.alerta-conteudo em { margin-top: 5px; color: #236f56; font-size: .72rem; font-style: normal; font-weight: 850; }
.painel-detalhamento-alertas { scroll-margin-top: 18px; }
.detalhes-dashboard { scroll-margin-top: 18px; margin-top: 14px; border: 1px solid var(--borda); border-radius: 12px; background: #fbfcfc; }
.detalhes-dashboard > summary { padding: 15px 17px; cursor: pointer; font-weight: 850; color: #18313c; }
.detalhes-dashboard[open] > summary { border-bottom: 1px solid var(--borda); background: #f4f8f6; }
.detalhes-dashboard > .tabela-responsiva, .detalhes-dashboard > .resumo-conciliacao-dashboard, .detalhes-dashboard > .abas-detalhes-estoque { margin: 14px; }
.resumo-conciliacao-dashboard { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) auto; gap: 10px; align-items: stretch; }
.resumo-conciliacao-dashboard > div { padding: 12px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; }
.resumo-conciliacao-dashboard span, .resumo-conciliacao-dashboard strong { display: block; }
.resumo-conciliacao-dashboard span { color: var(--texto-suave); font-size: .72rem; }
.resumo-conciliacao-dashboard strong { margin-top: 4px; font-size: 1.1rem; }
.resumo-conciliacao-dashboard .botao { align-self: center; justify-content: center; }
.abas-detalhes-estoque { display: grid; gap: 10px; }
.abas-detalhes-estoque > details { border: 1px solid var(--borda); border-radius: 10px; background: #fff; }
.abas-detalhes-estoque > details > summary { padding: 11px 13px; cursor: pointer; font-weight: 800; }
.resumo-vendedores-detalhado { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.resumo-vendedores-detalhado > div { padding: 13px; border: 1px solid var(--borda); border-radius: 11px; background: #fbfcfc; }
.resumo-vendedores-detalhado span, .resumo-vendedores-detalhado strong { display: block; }
.resumo-vendedores-detalhado span { color: var(--texto-suave); font-size: .72rem; }
.resumo-vendedores-detalhado strong { margin-top: 5px; font-size: 1.08rem; overflow-wrap: anywhere; }
.alerta-vendedor-ausente { margin: 14px 0; }
.cabecalho-analitico { align-items: flex-start; }
.painel-filtros-analiticos { margin-bottom: 20px; }
.grade-filtros-pagamentos { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 12px; align-items: end; }
.grade-filtros-pagamentos label > span { display: block; margin-bottom: 5px; color: var(--texto-suave); font-size: .74rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.acoes-filtros { display: flex; gap: 8px; align-items: center; }
.grade-kpis-pagamentos-detalhados { display: grid; grid-template-columns: repeat(4, minmax(165px, 1fr)); gap: 12px; margin-bottom: 20px; }
.card-pmr-principal { border-left: 5px solid #24775a; }
.tabela-pagamentos-ampliada { min-width: 1450px; }
.exposicao-detalhada { align-items: stretch; }
.painel-exposicao-detalhado { min-width: 0; }
.numero-exposicao { display: block; margin: 12px 0 5px; font-size: 1.45rem; letter-spacing: -.025em; }
.painel-exposicao-detalhado .detalhes-bloco { margin-top: 10px; }
.tabela-pedidos-financeiros { min-width: 1650px; }
.tabela-pedidos-financeiros td:nth-child(3), .tabela-pedidos-financeiros td:nth-child(6) { min-width: 210px; }
@media (max-width: 1180px) {
  .grade-filtros-pagamentos { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
  .grade-kpis-pagamentos-detalhados { grid-template-columns: repeat(2, minmax(165px, 1fr)); }
  .resumo-conciliacao-dashboard { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .resumo-conciliacao-dashboard .botao { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .grade-filtros-pagamentos, .grade-kpis-pagamentos-detalhados, .resumo-vendedores-detalhado, .resumo-conciliacao-dashboard { grid-template-columns: 1fr; }
  .acoes-filtros { flex-direction: column; align-items: stretch; }
  .alerta-titulo-linha { flex-direction: column !important; }
}
.painel-comparacao-financeira { margin-bottom: 20px; border-left: 5px solid #397eae; }
.painel-comparacao-financeira .tabela-financeira { min-width: 760px; }
.grade-responsaveis-prazo { margin-top: 12px; }
.grade-responsaveis-prazo > div { min-width: 0; padding: 11px; border: 1px solid var(--borda); border-radius: 10px; background: #fff; }
.grade-responsaveis-prazo h3 { margin: 0 0 8px; font-size: .88rem; }
.alerta-vendedor-ausente a { font-weight: 850; }

.filtro-anos-historico { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.rotulo-filtro { font-weight: 800; color: #33434d; }
.opcao-ano-historico { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.grafico-barras-historico { display: flex; align-items: flex-end; gap: 10px; height: 220px; padding-top: 10px; }
.barra-coluna-historico { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.barra-coluna-valor { width: 60%; min-height: 2px; background: #237257; border-radius: 5px 5px 0 0; }
.barra-coluna-rotulo { margin-top: 8px; font-size: .74rem; color: var(--texto-suave); }
.grafico-barras-comparacao .grupo-mes-comparacao { flex: 1; display: flex; flex-direction: column; align-items: center; height: 100%; }
.barras-do-mes { display: flex; align-items: flex-end; gap: 3px; height: 100%; width: 100%; justify-content: center; }
.barras-do-mes .barra-coluna-valor { width: 10px; border-radius: 3px 3px 0 0; }
.barra-comparacao-ano0 { background: #237257; }
.barra-comparacao-ano1 { background: #2368c4; }
.barra-comparacao-ano2 { background: #c47a1c; }
.barra-comparacao-ano3 { background: #a65470; }
.legenda-anos-comparacao { display: flex; gap: 16px; margin-top: 12px; font-size: .82rem; color: var(--texto-suave); }
.legenda-item-ano { display: inline-flex; align-items: center; gap: 6px; }
.legenda-item-ano::before { content: ""; width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.legenda-ano0::before { background: #237257; }
.legenda-ano1::before { background: #2368c4; }
.legenda-ano2::before { background: #c47a1c; }
.legenda-ano3::before { background: #a65470; }
.linha-total-historico td { background: #f6faf7; font-weight: 800; border-top: 2px solid var(--borda); }
.variacao-positiva { color: #1b6040; font-weight: 800; }
.variacao-negativa { color: #8c2f2a; font-weight: 800; }
.variacao-neutra { color: var(--texto-suave); }
