.empresa { color: var(--azul-700); font-size: .78rem; font-weight: 750; letter-spacing: .06em; margin: 0 0 5px; text-transform: uppercase; }
.filtros-principais { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.4fr); align-items: end; gap: 18px; margin-bottom: 18px; padding: 16px 18px; }
.filtros-principais .campo { min-width: 0; }
.competencia-acoes, .busca-acoes { display: flex; gap: 8px; }
.competencia-acoes select, .busca-acoes input { flex: 1; }
.resumo-recebimentos { display: grid; grid-template-columns: repeat(5, minmax(135px, 1fr)); gap: 12px; margin-bottom: 20px; }
.resumo-recebimentos article { position: relative; min-width: 0; padding: 18px; overflow: hidden; border: 1px solid var(--cinza-200); border-radius: 12px; background: var(--branco); box-shadow: 0 4px 14px rgb(16 45 66 / 6%); }
.resumo-recebimentos article::before { position: absolute; inset: 0 0 auto; height: 4px; background: var(--azul-700); content: ""; }
.resumo-recebimentos article.positivo::before { background: #168167; }
.resumo-recebimentos article.negativo::before { background: #c74738; }
.resumo-recebimentos span, .resumo-recebimentos small { display: block; color: var(--cinza-700); }
.resumo-recebimentos span { min-height: 40px; font-size: .79rem; }
.resumo-recebimentos strong { display: block; margin-top: 4px; color: var(--azul-950); font-size: clamp(1.15rem, 2vw, 1.48rem); }
.resumo-recebimentos small { margin-top: 4px; font-size: .72rem; }
.resumo-recebimentos .positivo strong { color: #14735f; }
.resumo-recebimentos .negativo strong { color: #a44032; }
.aviso-anteriores { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 12px 15px; border: 1px solid #e6ce91; border-radius: 8px; background: #fff8e5; color: #705313; font-size: .84rem; }
.aviso-anteriores a { color: inherit; font-weight: 750; white-space: nowrap; }
.aviso-pagamentos { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 12px 15px; border: 1px solid #d8a447; border-radius: 8px; background: #fff3d6; color: #704d06; font-size: .84rem; }
.aviso-pagamentos a { color: inherit; font-weight: 800; white-space: nowrap; }
.filtros-situacao { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; padding: 7px; border: 1px solid var(--cinza-200); border-radius: 11px; background: var(--branco); box-shadow: 0 2px 8px rgb(16 45 66 / 4%); }
.filtros-situacao a { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 12px; border: 1px solid transparent; border-radius: 8px; color: var(--cinza-700); font-size: .82rem; font-weight: 700; text-decoration: none; }
.filtros-situacao a:hover { border-color: var(--cinza-200); background: var(--cinza-100); color: var(--azul-950); }
.filtros-situacao a.ativo { border-color: var(--azul-950); background: var(--azul-950); color: var(--branco); box-shadow: 0 2px 6px rgb(16 45 66 / 18%); }
.filtros-situacao span { min-width: 22px; padding: 1px 6px; border-radius: 20px; background: rgb(127 145 157 / 16%); text-align: center; font-size: .72rem; }
.filtros-situacao a.ativo span { background: rgb(255 255 255 / 16%); }
.painel-tabela { padding: 0; overflow: hidden; }
.painel-tabela .painel-cabecalho { margin: 0; padding: 20px 22px 16px; }
.painel-tabela .painel-cabecalho p { font-size: .82rem; }
.tabela-recebimentos { max-width: 100%; overflow-x: auto; border-top: 1px solid var(--cinza-200); }
.tabela-recebimentos table { min-width: 940px; }
.tabela-recebimentos th { white-space: nowrap; }
.tabela-recebimentos td { font-size: .84rem; }
.tabela-recebimentos td strong, .tabela-recebimentos td small, .fatura-resumo { display: block; }
.tabela-recebimentos td small, .fatura-resumo, .texto-secundario { margin-top: 3px; color: var(--cinza-700); font-size: .73rem; }
.tabela-recebimentos td a { display: inline-block; margin-top: 4px; font-size: .78rem; font-weight: 700; }
.tabela-recebimentos .acao-associar { padding: 5px 9px; border: 1px solid #8eb7ca; border-radius: 6px; background: #f2f8fb; text-decoration: none; }
.tabela-recebimentos .acao-associar:hover { border-color: var(--azul-700); background: var(--azul-100); }
.acoes-whatsapp { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 6px; }
.acoes-whatsapp form { display: inline; }
.acao-whatsapp, .copiar-checkout, .marcar-enviado { min-height: 30px; padding: 5px 8px; border: 1px solid #60aa87; border-radius: 6px; background: #edf9f4; color: #155f48; font: inherit; font-size: .72rem !important; font-weight: 750; text-decoration: none; cursor: pointer; }
.copiar-checkout, .marcar-enviado { border-color: var(--cinza-300); background: #fff; color: var(--azul-950); }
.checkout-enviado { color: #14735f; font-size: .73rem; font-weight: 750; }
.numero { text-align: right; font-variant-numeric: tabular-nums; }
.sem-quebra { white-space: nowrap; }
.situacao { display: inline-block; padding: 4px 9px; border-radius: 20px; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.situacao-quitada { background: #168167; color: #fff; }
.situacao-antecipada { background: #674ba5; color: #fff; }
.situacao-a-vencer { background: #fff0cf; color: #875400; }
.situacao-vencida, .situacao-anterior { background: #c74738; color: #fff; }
.vazio-tabela { padding: 40px 22px; border-top: 1px solid var(--cinza-200); text-align: center; }
.vazio-tabela h3 { margin: 0 0 6px; color: var(--azul-950); font-size: 1rem; }
.vazio-tabela p { margin: 0; color: var(--cinza-700); font-size: .85rem; }
.nota { color: var(--cinza-700); font-size: .8rem; }
.associacao-formulario { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); align-items: start; gap: 18px; }
.associacao-etapa { grid-column: 1; }
.etapa-cabecalho { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.etapa-cabecalho > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--azul-950); color: #fff; font-weight: 800; }
.etapa-cabecalho h2, .etapa-cabecalho p { margin: 0; }
.etapa-cabecalho p { color: var(--cinza-700); font-size: .84rem; }
.tabela-selecao { min-width: 760px; }
.tabela-selecao input[type="radio"] { width: 18px; min-height: 18px; accent-color: var(--azul-700); }
.tabela-selecao small { display: block; margin-top: 3px; }
.competencias-selecao { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 10px; }
.competencias-selecao label, .confirmar-baixa { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid var(--cinza-200); border-radius: 9px; background: #fff; cursor: pointer; }
.competencias-selecao label:has(input:checked) { border-color: var(--azul-700); background: #f0f8fb; box-shadow: 0 0 0 1px var(--azul-700); }
.competencias-selecao input, .confirmar-baixa input { width: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--azul-700); }
.competencias-selecao strong, .competencias-selecao small, .confirmar-baixa strong, .confirmar-baixa small { display: block; }
.competencias-selecao small, .confirmar-baixa small { margin-top: 2px; color: var(--cinza-700); font-size: .75rem; }
.associacao-resumo { position: sticky; top: 90px; grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 13px; }
.associacao-resumo > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding-bottom: 9px; border-bottom: 1px solid var(--cinza-200); }
.associacao-resumo > div span { color: var(--cinza-700); font-size: .78rem; }
.associacao-resumo > div strong { color: var(--azul-950); font-size: 1rem; }
.associacao-alerta { margin: 0; padding: 11px; border-radius: 8px; font-size: .8rem; font-weight: 650; }
.associacao-alerta.atencao { background: #fff3d6; color: #75550a; }
.associacao-alerta.ok { background: #e4f5ed; color: #14604e; }
.confirmar-baixa:has(input:disabled) { cursor: not-allowed; opacity: .58; }
.associacao-resumo .botao { width: 100%; }
.tabela-faturas-revisao { min-width: 1120px !important; }
.tabela-faturas-revisao code { font-size: .7rem; }
.acoes-fatura { min-width: 190px; }
.acoes-fatura .botao, .acoes-fatura form { display: block; width: 100%; margin: 0 0 7px; }
.acoes-fatura .botao { text-align: center; }
.acoes-fatura small { color: var(--cinza-700); }

@media (max-width: 1050px) {
    .filtros-principais { grid-template-columns: minmax(250px, .85fr) minmax(340px, 1.15fr); }
    .resumo-recebimentos { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .associacao-formulario { grid-template-columns: 1fr; }
    .associacao-resumo { position: static; grid-column: 1; grid-row: auto; }
}
@media (max-width: 720px) {
    .filtros-principais { grid-template-columns: 1fr; align-items: stretch; }
    .filtros-principais .campo { width: 100%; min-width: 0; }
    .resumo-recebimentos { grid-template-columns: repeat(2, minmax(135px, 1fr)); }
    .competencias-selecao { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .competencia-acoes, .busca-acoes { align-items: stretch; flex-direction: column; }
    .resumo-recebimentos { grid-template-columns: 1fr; }
    .resumo-recebimentos span { min-height: 0; }
    .aviso-anteriores, .aviso-pagamentos { align-items: flex-start; flex-direction: column; }
    .filtros-situacao { flex-wrap: nowrap; margin-inline: -16px; padding-inline: 16px; overflow-x: auto; }
    .filtros-situacao a { white-space: nowrap; }
}
