/* O painel do RH: largo no computador, uma coluna no celular. */
.menu { display: flex; gap: 4px; margin-left: 18px; }
.menu a { color: var(--muted); padding: 6px 10px; border-radius: 8px; font-size: 14px; }
.menu a.ativo, .menu a:hover { background: var(--brand-fraco); color: var(--text); }
.tela { max-width: 1280px; margin: 0 auto; padding: 18px 16px 60px; display: flex; flex-direction: column; gap: 14px; }
.cabeca { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cabeca .sub { color: var(--muted); font-size: 13px; display: block; margin-top: 2px; }
.cabeca .botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.voltar { font-size: 13px; color: var(--muted); display: inline-block; margin-bottom: 4px; }
.vazio { color: var(--muted); }
.ruim { color: var(--no); }
/* A entrada: sem a barra do topo, o cartão no meio da tela, com a marca grande em cima. */
body.entrando .topo { display: none; }
body.entrando .tela { padding: 0 16px; }
.entrada-tela { min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center;
  padding: 24px 0; }
.entrada { width: 100%; max-width: 440px; padding: 36px 36px 32px; display: flex; flex-direction: column; gap: 16px; }
.entrada-marca { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 10px; text-align: center; }
.entrada-marca img { display: block; width: 72px; height: 72px; }
.entrada-nome { font-family: var(--fonte-marca); font-weight: 400; font-synthesis: none; text-transform: uppercase;
  font-size: 38px; letter-spacing: .045em; line-height: 1; color: var(--text);
  position: relative; top: .14em; /* a Ethnocentric senta alta na caixa: desce as maiúsculas para o centro */ }
.entrada-sub { font-size: 14px; color: var(--muted); margin-top: -2px; }
.entrada h1 { font-size: 22px; }
.entrada label.campo { font-size: 14px; gap: 6px; }
.entrada input { font-size: 16px; padding: 12px 14px; border-radius: 10px; }
.entrada button[type="submit"] { font-size: 16px; padding: 13px 18px; border-radius: 10px; margin-top: 4px; font-weight: 600; }
.entrada .erro-do-campo { font-size: 14px; }
@media (max-width: 480px) {
  .entrada-tela { padding: 16px 0; }
  .entrada { padding: 28px 20px 24px; }
  .entrada-marca img { width: 60px; height: 60px; }
  .entrada-nome { font-size: 32px; }
}
.formulario { display: flex; flex-direction: column; gap: 12px; max-width: 620px; }
.dica-editor { font-size: 13px; color: var(--muted); margin: 0; }

.lista-lotes { padding: 0; }
.linha-lote { display: grid; grid-template-columns: 1fr 160px 220px; gap: 14px; align-items: center; padding: 14px 16px;
  border-top: 1px solid var(--line); color: var(--text); }
.linha-lote:first-child { border-top: 0; }
.linha-lote:hover { background: var(--brand-fraco); }
.linha-lote small { display: block; color: var(--muted); font-size: 12px; }
.lista-lotes > .vazio { padding: 16px; margin: 0; }
.barra { height: 8px; background: var(--line); border-radius: 99px; overflow: hidden; }
.barra i { display: block; height: 100%; background: var(--ok); }
.numeros { font-size: 13px; color: var(--muted); text-align: right; }
.numeros b { color: var(--text); font-size: 15px; }

.resumo-lote { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.resumo-lote div { background: var(--card); border: 1px solid var(--line); border-radius: var(--raio); padding: 12px 14px; }
.resumo-lote b { font-size: 24px; display: block; }
.resumo-lote span { font-size: 12px; color: var(--muted); }
.filtros { display: flex; gap: 6px; flex-wrap: wrap; }
.tabela-rolavel { padding: 0; overflow-x: auto; }
.tabela-lote { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela-lote th { text-align: left; font-size: 12px; color: var(--fraco); font-weight: 600; padding: 10px 14px;
  border-bottom: 1px solid var(--line); }
.tabela-lote td { padding: 10px 14px; border-top: 1px solid var(--line); vertical-align: top; }
.tabela-lote td small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.tabela-lote td.acoes { text-align: right; white-space: nowrap; }
.tabela-lote td.acoes > * { margin-left: 4px; }
.mais { display: inline-block; position: relative; }
.mais summary { list-style: none; cursor: pointer; padding: 4px 10px; border: 1px solid var(--line-forte); border-radius: 8px;
  font-size: 13px; }
.mais summary::-webkit-details-marker { display: none; }
.mais[open] > div { position: absolute; right: 0; top: 110%; background: var(--card); border: 1px solid var(--line);
  border-radius: 8px; padding: 6px; display: flex; flex-direction: column; gap: 4px; z-index: 5; box-shadow: var(--sombra); }

.avisos-previa ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.avisos-previa li { background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--line-forte);
  border-radius: 8px; padding: 8px 12px; font-size: 14px; }
.avisos-previa li.ok { border-left-color: var(--ok); }
.avisos-previa li.pendente { border-left-color: var(--aviso); background: var(--aviso-fundo); }
.avisos-previa li.ruim { border-left-color: var(--no); color: var(--no); }
.erros-planilha { font-size: 13px; color: var(--muted); }
.erros-planilha summary { cursor: pointer; }

/* O editor de campos. */
.editor { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.folhas { display: flex; flex-direction: column; gap: 14px; }
.folha { position: relative; width: 100%; background: #fff; border: 1px solid var(--line-forte); border-radius: 4px;
  box-shadow: var(--sombra); user-select: none; }
.folha img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.camada { position: absolute; inset: 0; cursor: crosshair; touch-action: none; }
.marca-campo { position: absolute; border: 1.5px solid #2b6cb0; background: rgba(43, 108, 176, .12); cursor: move;
  display: flex; align-items: center; overflow: hidden; }
/* O nome da coluna fica numa etiqueta em cima da caixa, para não cobrir o
   valor que a prévia mostra dentro dela. */
.marca-campo { overflow: visible; }
.marca-campo span { position: absolute; left: -1.5px; bottom: 100%; font-size: 10px; line-height: 14px; color: #fff;
  background: #2b6cb0; padding: 0 4px; border-radius: 3px 3px 0 0; white-space: nowrap; max-width: 220px; overflow: hidden;
  text-overflow: ellipsis; pointer-events: none; font-weight: 600; opacity: .85; }
.marca-campo.assinatura { border-color: #1f7a4c; background: rgba(31, 122, 76, .14); border-style: dashed; }
.marca-campo.assinatura span { background: #1f7a4c; }
.marca-campo.selecionado { box-shadow: 0 0 0 2px #f2a516; }
.marca-campo .alca { position: absolute; right: -1px; bottom: -1px; width: 12px; height: 12px; background: #f2a516; cursor: nwse-resize; }
.lateral { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 12px; background: var(--card);
  border: 1px solid var(--line); border-radius: var(--raio); padding: 14px; max-height: calc(100vh - 24px); overflow-y: auto; }
.ferramentas { display: flex; gap: 6px; flex-wrap: wrap; }
.ferramentas button { flex: 1 1 auto; padding: 8px 10px; }
.ferramentas button.ativa { background: var(--brand); color: var(--brand-texto); border-color: var(--brand); }
.cartao-campo { display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); border-radius: 8px; padding: 10px; }
.cartao-campo p { font-size: 13px; color: var(--muted); margin: 0; }
.cartao-campo .dupla { display: grid; grid-template-columns: 1fr 90px; gap: 8px; }
.cartao-campo .perigo { align-self: flex-start; }
.marcar { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.lista-campos { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
.lista-campos li { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; }
.lista-campos li:hover, .lista-campos li.selecionado { background: var(--brand-fraco); }
.lista-campos li small { margin-left: auto; color: var(--fraco); }
.lista-campos li.vazio { cursor: default; color: var(--muted); }
.marca-tipo { width: 10px; height: 10px; border-radius: 2px; background: #2b6cb0; flex: 0 0 auto; }
.marca-tipo.assinatura { background: #1f7a4c; }
.marca-tipo.data { background: #8a5a00; }
.marca-campo.data { border-color: #a86d00; background: rgba(168, 109, 0, .14); border-style: dashed; }
.marca-campo.data span { background: #a86d00; }
.marca-campo.a-direita span { left: auto; right: -1.5px; border-radius: 3px 3px 0 0; }
.sem-cadastro { display: flex; flex-direction: column; gap: 8px; }
.sem-cadastro .linha { display: grid; grid-template-columns: 120px 1fr 170px 170px auto; gap: 8px; align-items: center; }
.sem-cadastro .linha small { color: var(--muted); }
.opcoes-lote { display: flex; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
.tabela-cadastro td input { padding: 5px 8px; }
#formNovoFuncionario .linha { grid-template-columns: 150px 80px 1fr 150px 150px auto; }
@media (max-width: 860px) { .sem-cadastro .linha, #formNovoFuncionario .linha { grid-template-columns: 1fr 1fr; } }

.aviso-flutuante { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--text); color: var(--bg);
  padding: 10px 16px; border-radius: 8px; font-size: 14px; z-index: 20; max-width: calc(100% - 32px); }
.aviso-flutuante.ruim { background: var(--no); color: #fff; }

@media (max-width: 860px) {
  .menu { margin-left: 0; }
  .topo { flex-wrap: wrap; }
  .editor { grid-template-columns: 1fr; }
  .lateral { position: static; max-height: none; order: -1; }
  .linha-lote { grid-template-columns: 1fr; gap: 6px; }
  .numeros { text-align: left; }
  .resumo-lote { grid-template-columns: repeat(2, 1fr); }
  .tabela-lote td.acoes { white-space: normal; }
}

.aviso { color: var(--aviso); }
.titulo-bloco { padding: 12px 16px 0; }
.resumo-lote { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.sem-cadastro .botoes { display: flex; gap: 6px; }

.envio-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.envio-grade .formulario { max-width: none; }
.lista-pessoas { display: flex; flex-direction: column; gap: 6px; max-height: 340px; overflow-y: auto; }
.lista-pessoas small { color: var(--muted); }
@media (max-width: 860px) { .envio-grade { grid-template-columns: 1fr; } }
.estado-salvo { font-size: 13px; color: var(--muted); align-self: center; }
label.campo.linha-atribuicao { flex-direction: row; align-items: center; gap: 10px; flex: 0 0 auto; }
label.campo.linha-atribuicao span { flex: 0 0 120px; color: var(--muted); }
label.campo.linha-atribuicao select { flex: 1; min-width: 0; padding: 6px 8px; }
.linha-bloco { grid-template-columns: 160px 1fr auto !important; }
.tabela-cadastro td input { width: 100%; min-width: 90px; }
.tabela-cadastro .linha-nova td { background: var(--brand-fraco); }

/* Quem recebe e quem é cada bloco (08/10/2026): por empresa, com busca. */
.painel-pessoas { gap: 10px; }
.cabeca-pessoas { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cabeca-pessoas h2 { margin: 0; }
.contagem { font-size: 13px; color: var(--muted); }
.grupos-pessoas { display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow-y: auto; padding-right: 2px; }
.grupo-pessoas { border: 1px solid var(--line); border-radius: 8px; }
.grupo-pessoas > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px;
  background: var(--brand-fraco); border-radius: 8px 8px 0 0; position: sticky; top: 0; z-index: 1; }
.grupo-pessoas > header b { font-size: 13px; }
.grupo-pessoas > header small { color: var(--muted); font-size: 12px; }
.grade-pessoas { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2px; padding: 6px; }
.pessoa { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; font-size: 14px; }
.pessoa:hover { background: var(--brand-fraco); }
.pessoa.marcada { background: var(--brand-fraco); }
.pessoa span { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pessoa small { color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pessoa[hidden], .grupo-pessoas[hidden] { display: none; }
.pessoa .tirar { background: transparent; border: 0; color: var(--muted); font-size: 18px; padding: 0 6px; line-height: 1; }
.pessoa .tirar:hover { color: var(--no); }
.tabela-blocos { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela-blocos th { text-align: left; font-weight: 600; color: var(--muted); font-size: 13px; padding: 5px 8px 5px 0;
  white-space: nowrap; width: 1%; vertical-align: middle; }
.tabela-blocos td { padding: 4px 0; }
.tabela-blocos select { width: 100%; padding: 6px 8px; }
.tabela-blocos tr.sem select { border-color: var(--aviso); background: var(--aviso-fundo); }
.tabela-blocos tr.repetido select { border-color: var(--no); }
.tabela-blocos td small { display: block; color: var(--no); font-size: 12px; }
.avulso { border: 1px dashed var(--line-forte); border-radius: 8px; padding: 8px 10px; }
.avulso summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.avulso[open] { display: flex; flex-direction: column; gap: 8px; }
.linha-avulso { display: grid; grid-template-columns: 1fr 140px 150px; gap: 6px; margin-top: 8px; }
.linha-avulso-fim { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.linha-avulso-fim label.campo { flex: 1; min-width: 160px; }
.linha-avulso-fim button { margin-left: auto; }
@media (max-width: 860px) { .linha-avulso { grid-template-columns: 1fr; } }

/* Repetir o campo em outras páginas. */
.repetir-em { display: flex; flex-direction: column; gap: 6px; }
.repetir-em p { margin: 0; }
.paginas-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.paginas-chips label { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; padding: 4px 6px;
  border: 1px solid var(--line-forte); border-radius: 6px; font-size: 13px; cursor: pointer; user-select: none; }
.paginas-chips label.ativa { background: var(--brand); color: var(--brand-texto); border-color: var(--brand); }
.paginas-chips label.propria { opacity: .5; cursor: default; border-style: dashed; }
.paginas-chips input { display: none; }
.repetir-em .botoes-mini { display: flex; gap: 6px; flex-wrap: wrap; }
.repetir-em .intervalo { width: 110px; padding: 4px 8px; }
.copiar-pagina { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.copiar-pagina h2 { margin: 0; }
.copiar-pagina p { margin: 0; }
.copiar-pagina .botoes-mini { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.copiar-pagina .intervalo { width: 110px; padding: 4px 8px; }
.copiar-pagina .aviso-copia { color: var(--brand); font-size: 13px; }
.lista-prontos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.lista-prontos li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px;
  border: 1px solid var(--line); border-radius: 8px; }
.lista-prontos small { display: block; color: var(--muted); font-size: 12px; }
.linha-convite { display: flex; gap: 8px; flex-wrap: wrap; }
.linha-convite input { flex: 1; min-width: 220px; }
.link-convite { display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--ok); background: var(--ok-fundo);
  border-radius: 8px; padding: 10px 12px; }
.link-convite p { margin: 0; font-size: 14px; }

/* O documento escrito no painel (09/10/2026). */
.modo-novo { display: flex; gap: 6px; }
#caixaTexto { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--muted); }
.rotulo-texto { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
#novoTexto, #envioTexto { width: 100%; resize: vertical; font-size: 14px; line-height: 1.45; padding: 8px 10px; box-sizing: border-box; }
.texto-escrito summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.texto-escrito > :not(summary) { display: block; margin-top: 8px; }

/* A lista de presença da reunião (27/10/2026). */
.grade-reuniao { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.grade-reuniao .largo, .grade-reuniao label:has(textarea) { grid-column: 1 / -1; }
.grade-reuniao textarea { width: 100%; resize: vertical; font-size: 14px; padding: 6px 8px; box-sizing: border-box; }
@media (max-width: 560px) { .grade-reuniao { grid-template-columns: 1fr; } }

/* A lista que todos assinam no mesmo arquivo (13/10/2026). */
.modo-envio { border: 1px solid var(--line); border-radius: var(--raio); padding: 8px 12px 10px; margin: 0;
  display: flex; flex-direction: column; gap: 8px; }
.modo-envio legend { font-size: 13px; color: var(--muted); padding: 0 4px; }
.modo-envio label.marcar { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.modo-envio label.marcar input { margin-top: 3px; flex: none; }
.modo-envio small { display: block; color: var(--muted); font-size: 12px; }
.caixa-lista { display: flex; flex-direction: column; gap: 8px; }
.caixa-lista .ajustes summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.caixa-lista .ajustes[open] { display: flex; flex-direction: column; gap: 8px; }
.caixa-lista .ajustes[open] summary { margin-bottom: 4px; }
.tabela-lote td.num { color: var(--fraco); font-variant-numeric: tabular-nums; width: 1%; white-space: nowrap; }
.link-grupo { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.link-grupo h2 { margin: 0; }
.link-grupo code { font-size: 13px; overflow-wrap: anywhere; background: var(--line); padding: 6px 8px; border-radius: 6px; }
.link-grupo .botoes { display: flex; flex-wrap: wrap; gap: 6px; }

/* Cargos, benefícios, férias e o fechamento do mês (09/11/2026). */
.abas { display: flex; gap: 2px; flex-wrap: wrap; border-bottom: 1px solid var(--line); margin-bottom: -6px; }
.abas a { padding: 8px 14px; border: 1px solid transparent; border-bottom: 0; border-radius: 8px 8px 0 0;
  color: var(--muted); font-size: 14px; margin-bottom: -1px; }
.abas a:hover { color: var(--text); }
.abas a.ativa { background: var(--card); border-color: var(--line); color: var(--text); font-weight: 600; }
.grade-config { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 12px; }
.grade-config .largo { grid-column: 1 / -1; }
.formulario-empresa { display: flex; flex-direction: column; gap: 12px; }
.tabela-cadastro input.falta { border-color: var(--aviso); background: var(--aviso-fundo); }
.tabela-cadastro input.falta::placeholder { color: var(--aviso); font-weight: 600; opacity: 1; }
.falta-texto { color: var(--aviso); font-weight: 600; }
.com-erro { border-color: var(--no) !important; background: var(--no-fundo) !important; }
.tabela-cargos td input { min-width: 110px; }
.tabela-cargos td:first-child input { min-width: 220px; }
.tabela-lote th.num, .tabela-lote td.num { text-align: right; width: auto; }
.tabela-lote th.dinheiro, .tabela-lote td.dinheiro { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tabela-lote tfoot td { border-top: 2px solid var(--line-forte); font-weight: 600; }
.tabela-lote tr.desligado td, .lista-prontos li.desligado { color: var(--muted); }
.lista-prontos li.desligado b { text-decoration: line-through; font-weight: 500; }
.tabela-lote td small.sem-margem { margin-top: 0; font-size: 13px; color: var(--text); }
.tabela-fechamento .campo-horas { width: 80px; min-width: 70px; }
.tabela-fechamento tr.com-falta td { background: var(--aviso-fundo); }
.tabela-fechamento tr.fora-do-fechamento td { color: var(--muted); opacity: .7; }
.acoes-fechamento { align-items: flex-end; }
.acoes-fechamento label.campo { flex-direction: row; align-items: center; gap: 8px; }
.acoes-fechamento input[type="month"] { width: auto; padding: 7px 10px; }
.desativados { padding: 12px 16px; }
.desativados > summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.desativados[open] { display: flex; flex-direction: column; gap: 10px; }
.desativados .tabela-rolavel { border: 1px solid var(--line); border-radius: 8px; }
.lista-regras { margin: 8px 0; padding-left: 18px; font-size: 14px; display: flex; flex-direction: column; gap: 4px; }
.dados-perfil { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 18px; margin: 10px 0; }
.dados-perfil dt { font-size: 12px; color: var(--muted); }
.dados-perfil dd { margin: 0; font-size: 15px; }
.dados-perfil dd small { color: var(--muted); font-size: 12px; }
.formulario-ferias { display: flex; flex-direction: column; gap: 10px; }
.linha-ferias { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
.linha-ferias label.campo { flex: 0 1 190px; }
.fechamento-mes { border: 1px solid var(--line); border-radius: 8px; margin-top: 8px; }
.fechamento-mes > summary { cursor: pointer; padding: 10px 12px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 14px; }
.fechamento-mes > summary small { color: var(--muted); font-size: 12px; margin-left: auto; }
.fechamento-mes.substituido > summary { color: var(--muted); }
.fechamento-mes[open] > summary { border-bottom: 1px solid var(--line); }
.fechamento-mes .foto { padding: 4px 12px 12px; display: flex; flex-direction: column; gap: 10px; }
.fechamento-mes .tabela-rolavel { border: 1px solid var(--line); border-radius: 8px; }
/* O fechamento do mês no perfil: o cálculo de agora, tracejado até gravar. */
.fechamento-do-perfil { display: flex; flex-direction: column; gap: 10px; }
.fechamento-do-perfil .linha-mes label.campo { flex: 1 1 140px; max-width: 190px; }
.fechamento-do-perfil .linha-mes .campo-horas { width: 100%; }
.fechamento-do-perfil p { margin: 0; }
.fechamento-mes.simulado { border-style: dashed; margin-top: 0; }
/* As tabelas largas rolam de lado dentro do cartão, em vez de espremer as colunas. */
.tabela-fechamento { min-width: 1040px; }
.tabela-fechamento td.num { color: var(--text); white-space: nowrap; }
.tabela-cargos { min-width: 820px; }
.fechamento-mes .tabela-lote { min-width: 620px; }
#tabelaFuncionarios { min-width: 1080px; }
#tabelaFuncionarios td { padding: 8px 8px; }
#tabelaFuncionarios th { padding: 10px 8px; }
#tabelaFuncionarios td:nth-child(1) input { min-width: 230px; }
#tabelaFuncionarios td:nth-child(2) { white-space: nowrap; }
#tabelaFuncionarios select { padding: 5px 8px; }
#tabelaFuncionarios td:nth-child(3) select { min-width: 195px; }
#tabelaFuncionarios td:nth-child(4) select { min-width: 230px; }
@media (max-width: 860px) {
  .menu { flex-wrap: wrap; order: 3; width: 100%; }
  .fechamento-mes > summary small { margin-left: 0; width: 100%; }
}
