/* Painel operacional de saldos: mantém as regras e a edição anual existentes. */

#painel-saldos-ferias { padding: 22px 24px 26px; border-color: #d9e2e9; box-shadow: 0 6px 24px #1b344110; }
#painel-saldos-ferias > .cabecalho-cartao { align-items: center; margin-bottom: 0; }
#painel-saldos-ferias > .cabecalho-cartao h2 { margin-bottom: 4px; }
#painel-saldos-ferias > .cabecalho-cartao p { margin-top: 0; }
#painel-saldos-ferias .botao-adicionar-saldo { min-height: 42px; color: #fff; background: #286348; border-color: #286348; box-shadow: 0 4px 12px #20553b25; }
#painel-saldos-ferias .botao-adicionar-saldo:hover { background: #1c5038; }
.conteudo-saldos-ferias { gap: 14px; margin-top: 20px; padding-top: 20px; border-top-color: #dce5e8; }
.visao-geral-saldos { gap: 16px; padding: 18px; background: #f0f5f6; border-color: #dbe4e7; }
.cabecalho-visao-geral-saldos h3 { font-size: .88rem; }
.cabecalho-visao-geral-saldos p { font-size: .75rem; }
.cartoes-resumo-saldos { gap: 12px; }
.cartao-resumo-saldo { gap: 6px; min-height: 92px; padding: 15px 17px; background: #fff; border-color: #dbe4e7; border-radius: 7px; }
.cartao-resumo-saldo strong { color: #172a35; font-size: 1.65rem; }
.cartao-resumo-saldo span { color: #50677a; font-size: .77rem; }
.cartao-resumo-saldo:hover { transform: translateY(-1px); box-shadow: 0 4px 12px #1b344112; }
.cartao-resumo-saldo[aria-pressed="true"] { border-color: #286348; box-shadow: inset 0 0 0 1px #286348; }
.cartao-resumo-saldo.resumo-zero { background: #fff9eb; border-color: #e7cc89; }
.cartao-resumo-saldo.resumo-pendencia { background: #fff4f2; border-color: #e8b4ae; }
.cartao-resumo-saldo.resumo-pendencia[aria-pressed="true"] { border-color: #a83b34; box-shadow: inset 0 0 0 1px #a83b34; }

.filtros-saldos-ferias { grid-template-columns: minmax(200px, 1.8fr) minmax(150px, 1fr) minmax(150px, 1fr) auto; gap: 12px; }
.filtros-saldos-ferias label { min-width: 0; color: #364d5c; font-weight: 750; }
.filtros-saldos-ferias :is(input, select) { width: 100%; min-width: 0; color: #273b48; background: #fff; border-color: #cbd9dd; font-weight: 500; }
.filtros-saldos-ferias :is(input, select, button) { min-height: 42px; }
.dica-quadro-saldos { color: #5c6f79; font-style: normal; }
.dica-quadro-saldos span { margin-left: 6px; }

.tabela-saldos-ferias { max-height: min(68vh, 800px); border-color: #dbe4e7; }
.tabela-saldos-ferias table { min-width: 970px; }
.tabela-saldos-ferias th { padding: 10px 9px; color: #3e5260; background: #e5ecee; font-size: .68rem; text-align: left; text-transform: uppercase; letter-spacing: .025em; }
.tabela-saldos-ferias td { padding: 6px 9px; color: #293b45; font-size: .74rem; }
.tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias td:nth-child(1) { width: 170px; min-width: 170px; background: #f0f4f4; }
.tabela-saldos-ferias th:nth-child(2), .tabela-saldos-ferias td:nth-child(2) { left: 170px; width: 145px; min-width: 145px; background: #f8faf9; }
.tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias th:nth-child(2) { background: #e5ecee; }
.tabela-saldos-ferias th:nth-child(3), .tabela-saldos-ferias td:nth-child(3) { width: 135px; min-width: 135px; }
.tabela-saldos-ferias th:nth-child(4) { width: 82px; }
.tabela-saldos-ferias th:last-child, .tabela-saldos-ferias td:last-child { width: 75px; text-align: center; }
.tabela-saldos-ferias tbody tr:nth-child(even) td:nth-child(1) { background: #eaf0f0; }
.tabela-saldos-ferias tbody tr:nth-child(even) td:nth-child(2) { background: #f2f6f5; }
.tabela-saldos-ferias .linha-saldo-pendente td { background: #fde8e7; }
.tabela-saldos-ferias .linha-saldo-pendente td:nth-child(1), .tabela-saldos-ferias .linha-saldo-pendente td:nth-child(2), .tabela-saldos-ferias .linha-saldo-pendente:nth-child(even) td:nth-child(1), .tabela-saldos-ferias .linha-saldo-pendente:nth-child(even) td:nth-child(2) { background: #f8d6d3; }
.identificacao-saldo strong, .identificacao-saldo span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.identificacao-saldo strong { color: #243744; font-size: .77rem; }
.identificacao-saldo span { margin-top: 2px; color: #667985; font-size: .68rem; }
.celula-saldo-anual { width: 82px; }
.botao-celula-saldo { min-height: 30px; padding: 4px 6px; border-radius: 5px; font-size: .72rem; }
.botao-acao-saldo { min-height: 30px; padding: 4px 7px; color: #215c43; background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: .7rem; }
.botao-acao-saldo:hover { color: #174c35; background: #e3eee8; border-color: #a8c6b6; }
.tabela-saldos-ferias :is(button, a):focus-visible, .filtros-saldos-ferias :is(input, select, button):focus-visible, .cartao-resumo-saldo:focus-visible { outline: 3px solid #287653; outline-offset: 2px; }

@media (max-width: 1000px) {
  .filtros-saldos-ferias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtros-saldos-ferias button { justify-self: start; }
}
@media (max-width: 650px) {
  #painel-saldos-ferias { padding: 18px 14px; }
  #painel-saldos-ferias > .cabecalho-cartao { align-items: stretch; }
  #painel-saldos-ferias .botao-adicionar-saldo { width: 100%; }
  .cartoes-resumo-saldos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cartao-resumo-saldo { min-height: 76px; padding: 11px; }
  .cartao-resumo-saldo strong { font-size: 1.3rem; }
  .filtros-saldos-ferias { grid-template-columns: 1fr; }
  .filtros-saldos-ferias button { width: 100%; }
  .dica-quadro-saldos span { display: block; margin: 3px 0 0; }
  .tabela-saldos-ferias th:nth-child(1), .tabela-saldos-ferias td:nth-child(1) { width: 128px; min-width: 128px; }
  .tabela-saldos-ferias th:nth-child(2), .tabela-saldos-ferias td:nth-child(2) { left: 128px; width: 110px; min-width: 110px; }
}
