body {
    margin: 0;
    padding-bottom: 32px;
    font-family: Georgia, "Times New Roman", serif;
    background: #f4f6f8;
    color: #061b33;
}

.ec-autoria-global {
    position: fixed;
    z-index: 9990;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 31px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 6px 14px;
    border-top: 1px solid #d8e1e9;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -3px 14px rgba(6, 27, 51, .07);
    color: #4d6074;
    font-family: Arial, sans-serif;
    font-size: 9px;
    line-height: 1.25;
    pointer-events: none;
    text-align: center;
}

.ec-autoria-global strong {
    color: #082b50;
    letter-spacing: .04em;
}

.ec-autoria-global span + span::before {
    margin-right: 7px;
    color: #22a868;
    content: "•";
}

@media (max-width: 760px) {
    body {
        padding-bottom: 48px;
    }

    .ec-autoria-global {
        min-height: 45px;
        flex-wrap: wrap;
        gap: 3px 6px;
        padding: 5px 10px;
    }
}

.topo {
    background: linear-gradient(135deg, #061b33, #0b2f55);
    color: white;
    padding: 24px 36px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topo h1 {
    margin: 0;
    font-size: 34px;
    letter-spacing: 1px;
}

.verde {
    color: #2ecc71;
}

.topo small {
    color: #d6e4f0;
}

.usuario-topo {
    text-align: right;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 12px;
    padding: 10px 16px;
}

.layout {
    display: flex;
    min-height: calc(100vh - 92px);
}

.menu {
    width: 250px;
    background: white;
    border-right: 1px solid #d9e2ec;
    padding: 18px;
}

.menu button {
    width: 100%;
    margin-bottom: 9px;
    padding: 11px 13px;
    border: 1px solid #d9e2ec;
    background: #f8fafc;
    border-radius: 9px;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
}

.menu button:hover {
    background: #eafaf1;
    border-color: #2ecc71;
    font-weight: bold;
}

#conteudo {
    flex: 1;
    padding: 28px;
}

.titulo-pagina {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.titulo-pagina h2 {
    margin: 0;
    font-size: 28px;
}

.titulo-pagina p {
    margin-top: 6px;
    color: #52616b;
}

.status {
    background: #eafaf1;
    color: #166534;
    border: 1px solid #2ecc71;
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: bold;
}

.resumo-empresa {
    background: white;
    border-radius: 16px;
    padding: 22px;
    display: grid;
    grid-template-columns: 90px 1fr 190px;
    gap: 20px;
    align-items: center;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    margin-bottom: 20px;
}

.logo-box {
    width: 80px;
    height: 80px;
    background: #061b33;
    color: #2ecc71;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-weight: bold;
}

.plano {
    text-align: right;
}

.plano strong {
    display: block;
    font-size: 18px;
}

.abas {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.abas button {
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid #d9e2ec;
    background: white;
    cursor: pointer;
}

.abas button.ativo {
    background: #061b33;
    color: white;
}

.painel {
    background: white;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
}

.grade-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.campo {
    display: flex;
    flex-direction: column;
}

.campo label {
    font-size: 12px;
    color: #52616b;
    margin-bottom: 5px;
}

.campo input,
.campo select,
.campo textarea {
    padding: 10px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    font-size: 14px;
}

.campo.largo {
    grid-column: span 3;
}

.campo textarea {
    min-height: 80px;
}

.acoes {
    margin-top: 22px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.btn-secundario {
    background: white;
    border: 1px solid #d9e2ec;
    padding: 10px 18px;
    border-radius: 8px;
}

.btn-principal {
    background: #2ecc71;
    border: none;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: bold;
    cursor: pointer;
}
.card-licenca {
    background: white;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    border-left: 5px solid #2ecc71;
}

.card-licenca div {
    border-right: 1px solid #e5e7eb;
}

.card-licenca div:last-child {
    border-right: none;
}

.card-licenca small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 5px;
}

.card-licenca strong {
    font-size: 18px;
    color: #061b33;
}

.verde-texto {
    color: #166534 !important;
}
.progresso-empresa {
    background: white;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 220px 1fr 70px;
    gap: 16px;
    align-items: center;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    border-left: 5px solid #061b33;
}

.progresso-empresa strong {
    color: #061b33;
}

.progresso-empresa small {
    display: block;
    color: #52616b;
    margin-top: 4px;
}

.barra-progresso {
    height: 10px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
}

.barra-progresso span {
    display: block;
    height: 100%;
    background: #2ecc71;
    border-radius: 999px;
}
.painel-inteligente {
    background: white;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    border-left: 5px solid #2ecc71;
}

.painel-inteligente small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 5px;
}

.painel-inteligente strong {
    color: #061b33;
    font-size: 15px;
}

.alerta-texto {
    color: #b45309 !important;
}
.central-executiva {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.executivo-card {
    background: white;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    border-top: 4px solid #061b33;
}

.executivo-card small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 6px;
}

.executivo-card strong {
    color: #061b33;
    font-size: 15px;
}
.acoes-rapidas {
    background: white;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-acoes h3 {
    margin: 0;
    color: #061b33;
}

.titulo-acoes p {
    margin: 5px 0 16px;
    color: #52616b;
    font-size: 13px;
}

.grid-acoes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.acao-card{
    border:1px solid #d9e2ec;
    background:#f8fafc;
    border-radius:12px;
    padding:12px 14px;
    text-align:left;
    cursor:pointer;

    display:flex;
    align-items:center;
    gap:12px;

    transition:all .25s ease;
    min-height:72px;
}
/* ===========================================================
   REFINAMENTO — AÇÕES RÁPIDAS COMPACTAS
=========================================================== */

.acoes-rapidas {
    padding: 16px 18px;
}

.titulo-acoes h3 {
    font-size: 18px;
}

.titulo-acoes p {
    margin-bottom: 12px;
    font-size: 12px;
}

.grid-acoes {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.acao-card {
    min-height: 58px;
    padding: 9px 12px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.acao-card span {
    font-size: 21px;
    width: 28px;
    text-align: center;
    flex-shrink: 0;
}

.acao-card strong {
    display: block;
    font-size: 13px;
    color: #061b33;
    line-height: 1.1;
}

.acao-card small {
    display: block;
    font-size: 11px;
    color: #52616b;
    margin-top: 2px;
}

.acao-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    border-color: #2ecc71;
    background: white;
}
.empresa-info h3 {
    margin-bottom: 4px;
}

.empresa-info p {
    margin: 0 0 8px;
    color: #061b33;
}

.empresa-detalhes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.empresa-detalhes span {
    background: #f8fafc;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    color: #52616b;
}
.painel-hoje {
    background: white;
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-hoje h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-hoje p {
    margin: 5px 0 14px;
    color: #52616b;
    font-size: 12px;
}

.lista-hoje {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.item-hoje {
    border-radius: 12px;
    padding: 12px 14px;
    border: 1px solid #d9e2ec;
    background: #f8fafc;
}

.item-hoje strong {
    display: block;
    font-size: 14px;
    color: #061b33;
}

.item-hoje small {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #52616b;
}

.item-hoje.alerta {
    border-left: 4px solid #f59e0b;
}

.item-hoje.ok {
    border-left: 4px solid #2ecc71;
}
/* Refinamento compacto - Painel Hoje */
.painel-hoje {
    padding: 14px 16px;
}

.titulo-hoje h3 {
    font-size: 17px;
}

.titulo-hoje p {
    margin-bottom: 10px;
}

.item-hoje {
    padding: 9px 12px;
}

.item-hoje strong {
    font-size: 13px;
}

.item-hoje small {
    font-size: 10.5px;
}
/*=====================================================*/
/* Agenda do Dia */
/*=====================================================*/

.agenda-hoje{

    background:white;

    border-radius:16px;

    padding:18px;

    margin-bottom:20px;

    box-shadow:0 6px 18px rgba(15,23,42,.06);

}

.titulo-agenda h3{

    margin:0;

    color:#061b33;

}

.titulo-agenda p{

    margin:4px 0 14px;

    color:#52616b;

    font-size:12px;

}

.tabela-agenda{

    width:100%;

    border-collapse:collapse;

}

.tabela-agenda th{

    text-align:left;

    padding:10px;

    border-bottom:1px solid #d9e2ec;

    font-size:13px;

}

.tabela-agenda td{

    padding:10px;

    border-bottom:1px solid #eef2f7;

    font-size:13px;

}

.status-ok{

    color:#16a34a;

    font-weight:bold;

}

.status-alerta {

    color: #d97706;

    font-weight: bold;

}
.pesquisa-global {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-pesquisa h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-pesquisa p {
    margin: 5px 0 12px;
    color: #52616b;
    font-size: 12px;
}

.barra-pesquisa {
    display: flex;
    gap: 10px;
}

.barra-pesquisa input {
    flex: 1;
    padding: 11px 14px;
    border-radius: 10px;
    border: 1px solid #d9e2ec;
    font-size: 14px;
}

.barra-pesquisa button {
    padding: 11px 18px;
    border: none;
    border-radius: 10px;
    background: #061b33;
    color: white;
    font-weight: bold;
    cursor: pointer;
}

.resultado-pesquisa {
    margin-top: 12px;
}

.item-pesquisa {
    border: 1px solid #d9e2ec;
    border-left: 4px solid #2ecc71;
    border-radius: 10px;
    padding: 10px 12px;
    background: #f8fafc;
}

.item-pesquisa strong {
    display: block;
    color: #061b33;
    font-size: 14px;
}

.item-pesquisa small,
.resultado-pesquisa small {
    color: #52616b;
    font-size: 12px;
}
/* ===========================================================
   REFINAMENTO — MENU LATERAL PREMIUM
=========================================================== */

.menu {
    width: 235px;
    padding: 16px 14px;
}

.menu button {
    position: relative;
    margin-bottom: 8px;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 13px;
    transition: all .22s ease;
}

.menu button:hover {
    transform: translateX(3px);
    background: #f0fdf4;
    border-color: #2ecc71;
}

.menu button.ativo,
.menu button:focus {
    background: #061b33;
    color: white;
    border-color: #061b33;
    font-weight: bold;
    outline: none;
}

.menu button.ativo::before,
.menu button:focus::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 9px;
    width: 4px;
    height: calc(100% - 18px);
    background: #2ecc71;
    border-radius: 999px;
}
/*======================================================
TABELA PADRÃO DO EQUUSCONTROL
======================================================*/

.tabela-geral{

    width:100%;

    border-collapse:collapse;

}

.tabela-geral th{

    background:#061b33;

    color:white;

    padding:11px;

    font-size:13px;

    text-align:left;

}

.tabela-geral td{

    padding:11px;

    border-bottom:1px solid #e5e7eb;

    font-size:13px;

}

.tabela-geral tr:hover{

    background:#f8fafc;

}
/* ===========================================================
   CENTRAL FINANCEIRA
=========================================================== */

.financeiro-indicadores {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.financeiro-card {
    background: white;
    border-radius: 14px;
    padding: 15px 17px;
    border-top: 4px solid #061b33;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.financeiro-card small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 6px;
}

.financeiro-card strong {
    display: block;
    color: #061b33;
    font-size: 20px;
    margin-bottom: 4px;
}

.financeiro-card span {
    color: #6b7280;
    font-size: 11px;
}

.financeiro-card.destaque-aporte {
    border-top-color: #f59e0b;
}

.financeiro-acoes {
    grid-template-columns: repeat(4, 1fr);
}

.painel-financeiro-atencao {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.painel-financeiro-atencao h3 {
    margin: 0;
    font-size: 18px;
    color: #061b33;
}

.painel-financeiro-atencao p {
    margin: 5px 0 12px;
    color: #52616b;
    font-size: 12px;
}

.financeiro-alertas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.alerta-financeiro {
    border: 1px solid #d9e2ec;
    border-left: 4px solid #64748b;
    border-radius: 11px;
    padding: 10px 12px;
    background: #f8fafc;
}

.alerta-financeiro strong {
    display: block;
    color: #061b33;
    font-size: 13px;
}

.alerta-financeiro small {
    display: block;
    margin-top: 4px;
    color: #52616b;
    font-size: 11px;
}

.cabecalho-movimentacoes {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}

.cabecalho-movimentacoes h3 {
    margin: 0;
}

.cabecalho-movimentacoes p {
    margin: 4px 0 0;
    color: #52616b;
    font-size: 12px;
}

.pesquisa-movimentacao {
    min-width: 270px;
    padding: 10px 13px;
    border: 1px solid #d9e2ec;
    border-radius: 10px;
}

.tabela-vazia {
    text-align: center;
    padding: 30px !important;
    color: #52616b;
}
/* ===========================================================
   CENTRAL DE RECEBIMENTOS
=========================================================== */

.recebimentos-indicadores {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.recebimento-card {
    background: white;
    border-radius: 14px;
    padding: 15px 17px;
    border-top: 4px solid #061b33;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.recebimento-card.recebido {
    border-top-color: #2ecc71;
}

.recebimento-card.vencido {
    border-top-color: #dc2626;
}

.recebimento-card small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 6px;
}

.recebimento-card strong {
    display: block;
    color: #061b33;
    font-size: 20px;
    margin-bottom: 4px;
}

.recebimento-card span {
    color: #6b7280;
    font-size: 11px;
}

.recebimentos-acoes {
    grid-template-columns: repeat(4, 1fr);
}

.filtros-recebimentos {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}

.filtros-recebimentos button {
    padding: 8px 13px;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: white;
    color: #061b33;
    cursor: pointer;
    font-size: 12px;
}

.filtros-recebimentos button:hover,
.filtros-recebimentos .filtro-ativo {
    background: #061b33;
    color: white;
    border-color: #061b33;
}
/* ===========================================================
   CENTRAL DE CONTRATOS
=========================================================== */

.contratos-indicadores {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.contrato-card {
    background: white;
    border-radius: 14px;
    padding: 15px 17px;
    border-top: 4px solid #061b33;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.contrato-card.vigente {
    border-top-color: #2ecc71;
}

.contrato-card.pendente {
    border-top-color: #f59e0b;
}

.contrato-card.atraso {
    border-top-color: #dc2626;
}

.contrato-card.quitado {
    border-top-color: #2563eb;
}

.contrato-card.cancelado {
    border-top-color: #64748b;
}

.contrato-card small {
    display: block;
    color: #52616b;
    font-size: 12px;
    margin-bottom: 6px;
}

.contrato-card strong {
    display: block;
    color: #061b33;
    font-size: 20px;
    margin-bottom: 4px;
}

.contrato-card span {
    color: #6b7280;
    font-size: 11px;
}

.contratos-acoes {
    grid-template-columns: repeat(4, 1fr);
}

.painel-contratos-atencao {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.painel-contratos-atencao h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.painel-contratos-atencao p {
    margin: 5px 0 12px;
    color: #52616b;
    font-size: 12px;
}

.contratos-alertas {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.alerta-contrato {
    border: 1px solid #d9e2ec;
    border-left: 4px solid #64748b;
    border-radius: 11px;
    padding: 10px 12px;
    background: #f8fafc;
}

.alerta-contrato strong {
    display: block;
    color: #061b33;
    font-size: 13px;
}

.alerta-contrato small {
    display: block;
    margin-top: 4px;
    color: #52616b;
    font-size: 11px;
}

.filtros-contratos {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.filtros-contratos button {
    padding: 8px 13px;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: white;
    color: #061b33;
    cursor: pointer;
    font-size: 12px;
}

.filtros-contratos button:hover,
.filtros-contratos .filtro-contrato-ativo {
    background: #061b33;
    color: white;
    border-color: #061b33;
}
/* ===========================================================
   INDICADORES DE COBRANÇAS
=========================================================== */

.cobrancas-indicadores {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}

.cobranca-card {
    background: white;
    border-radius: 13px;
    padding: 13px 15px;
    border-top: 4px solid #061b33;
    box-shadow: 0 5px 15px rgba(15, 23, 42, 0.06);
}

.cobranca-card small {
    display: block;
    color: #52616b;
    font-size: 11px;
    margin-bottom: 5px;
}

.cobranca-card strong {
    display: block;
    color: #061b33;
    font-size: 18px;
    margin-bottom: 3px;
}

.cobranca-card span {
    color: #6b7280;
    font-size: 10.5px;
}

.cobranca-card.vence-hoje {
    border-top-color: #2563eb;
}

.cobranca-card.vencidas {
    border-top-color: #dc2626;
}

.cobranca-card.cobrar,
.cobranca-card.sem-retorno {
    border-top-color: #f59e0b;
}

.cobranca-card.promessa {
    border-top-color: #8b5cf6;
}

.cobranca-card.automacao {
    border-top-color: #2ecc71;
}

.cobranca-card.juridico {
    border-top-color: #7f1d1d;
}
/* ===========================================================
   RÉGUA AUTOMÁTICA DE COBRANÇA
=========================================================== */

.regua-cobranca {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-regua {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.titulo-regua h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-regua p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 12px;
}

.status-regua {
    background: #eafaf1;
    color: #166534;
    border: 1px solid #2ecc71;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: bold;
}

.etapas-regua {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.etapa-regua {
    border: 1px solid #d9e2ec;
    border-left: 4px solid #2563eb;
    border-radius: 11px;
    padding: 11px 12px;
    background: #f8fafc;
}

.etapa-regua strong {
    display: block;
    color: #061b33;
    font-size: 13px;
    margin-bottom: 4px;
}

.etapa-regua span {
    display: block;
    color: #52616b;
    font-size: 10.5px;
    line-height: 1.35;
}

.etapa-regua.destaque {
    border-left-color: #2ecc71;
}

.etapa-regua.atraso {
    border-left-color: #f59e0b;
}

.etapa-regua.critica {
    border-left-color: #dc2626;
}

.etapa-regua.juridica {
    border-left-color: #7f1d1d;
}

.acoes-regua {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
}
/* ===========================================================
   MODELOS DE MENSAGENS DE COBRANÇA
=========================================================== */

.modelos-cobranca {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-modelos {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.titulo-modelos h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-modelos p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 12px;
}

.lista-modelos-cobranca {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.modelo-mensagem-card {
    border: 1px solid #d9e2ec;
    border-left: 4px solid #061b33;
    background: #f8fafc;
    border-radius: 11px;
    padding: 11px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    text-align: left;
    cursor: pointer;
}

.modelo-mensagem-card:hover {
    background: white;
    border-color: #2ecc71;
    transform: translateY(-2px);
}

.modelo-mensagem-card strong {
    display: block;
    color: #061b33;
    font-size: 13px;
}

.modelo-mensagem-card small {
    display: block;
    color: #52616b;
    font-size: 10.5px;
    margin-top: 3px;
}

.modelo-mensagem-card > span {
    color: #166534;
    font-size: 11px;
    font-weight: bold;
}

.editor-modelo-cobranca {
    margin-top: 16px;
    border: 1px solid #d9e2ec;
    border-radius: 14px;
    padding: 16px;
    background: #f8fafc;
}

.cabecalho-editor-modelo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.cabecalho-editor-modelo h4 {
    margin: 0;
    color: #061b33;
    font-size: 17px;
}

.cabecalho-editor-modelo small {
    display: block;
    margin-top: 4px;
    color: #52616b;
}

.btn-fechar-editor {
    border: none;
    background: transparent;
    color: #52616b;
    font-size: 24px;
    cursor: pointer;
}

.grade-editor-cobranca {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 12px;
}

.grade-editor-cobranca .campo.largo {
    grid-column: span 2;
}

.grade-editor-cobranca textarea {
    min-height: 190px;
    resize: vertical;
    line-height: 1.5;
}

.variaveis-cobranca {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
}

.variaveis-cobranca strong {
    color: #061b33;
    font-size: 12px;
    margin-right: 5px;
}

.variaveis-cobranca button {
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    padding: 6px 9px;
    background: white;
    color: #061b33;
    font-size: 10.5px;
    cursor: pointer;
}

.variaveis-cobranca button:hover {
    border-color: #2ecc71;
    background: #eafaf1;
}
/* ===========================================================
   HISTÓRICO DE COBRANÇAS E PROMESSAS
=========================================================== */

.historico-cobrancas {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-historico-cobrancas {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.titulo-historico-cobrancas h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-historico-cobrancas p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 12px;
}

.resumo-historico-cobrancas {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

.resumo-cobranca-card {
    border: 1px solid #d9e2ec;
    border-top: 4px solid #061b33;
    border-radius: 11px;
    padding: 10px 12px;
    background: #f8fafc;
}

.resumo-cobranca-card small {
    display: block;
    color: #52616b;
    font-size: 11px;
    margin-bottom: 4px;
}

.resumo-cobranca-card strong {
    color: #061b33;
    font-size: 18px;
}

.filtros-historico-cobrancas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.filtros-historico-cobrancas button {
    padding: 7px 12px;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: white;
    color: #061b33;
    cursor: pointer;
    font-size: 11px;
}

.filtros-historico-cobrancas button:hover,
.filtros-historico-cobrancas .filtro-historico-ativo {
    background: #061b33;
    color: white;
    border-color: #061b33;
}

.tabela-historico-wrapper {
    overflow-x: auto;
}

.form-registro-cobranca {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #d9e2ec;
    border-radius: 14px;
    background: #f8fafc;
}

.cabecalho-registro-cobranca {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.cabecalho-registro-cobranca h4 {
    margin: 0;
    color: #061b33;
    font-size: 17px;
}

.cabecalho-registro-cobranca small {
    display: block;
    margin-top: 4px;
    color: #52616b;
    font-size: 11px;
}

.campos-promessa-pagamento {
    display: none;
    grid-column: span 3;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 12px;
    border: 1px solid #ddd6fe;
    border-left: 4px solid #8b5cf6;
    border-radius: 11px;
    background: #faf5ff;
}

.campos-promessa-pagamento.visivel {
    display: grid;
}

.campo-largo-oculto {
    grid-column: span 3;
}
/* ===========================================================
   FILA DE COBRANÇAS AUTOMÁTICAS
=========================================================== */

.fila-cobranca {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-fila-cobranca {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

.titulo-fila-cobranca h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-fila-cobranca p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 12px;
}

.acoes-fila-superior {
    display: flex;
    gap: 8px;
}

.resumo-fila-cobranca {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

.fila-resumo-card {
    border: 1px solid #d9e2ec;
    border-top: 4px solid #061b33;
    border-radius: 11px;
    padding: 10px 12px;
    background: #f8fafc;
}

.fila-resumo-card.sucesso {
    border-top-color: #2ecc71;
}

.fila-resumo-card.erro {
    border-top-color: #dc2626;
}

.fila-resumo-card.pausada {
    border-top-color: #f59e0b;
}

.fila-resumo-card small {
    display: block;
    color: #52616b;
    font-size: 11px;
    margin-bottom: 4px;
}

.fila-resumo-card strong {
    color: #061b33;
    font-size: 18px;
}

.filtros-fila-cobranca {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.filtros-fila-cobranca button {
    padding: 7px 12px;
    border: 1px solid #d9e2ec;
    border-radius: 999px;
    background: white;
    color: #061b33;
    cursor: pointer;
    font-size: 11px;
}

.filtros-fila-cobranca button:hover,
.filtros-fila-cobranca .filtro-fila-ativo {
    background: #061b33;
    color: white;
    border-color: #061b33;
}

.tabela-fila-wrapper {
    overflow-x: auto;
}
/* ===========================================================
   CONFIGURAÇÕES DA AUTOMAÇÃO DE COBRANÇA
=========================================================== */

.configuracoes-automacao-cobranca {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
}

.titulo-configuracoes-automacao {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.titulo-configuracoes-automacao h3 {
    margin: 0;
    color: #061b33;
    font-size: 18px;
}

.titulo-configuracoes-automacao p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 12px;
}

.grade-configuracoes-cobranca {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.dias-envio-cobranca,
.regras-pausa-cobranca {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    border: 1px solid #d9e2ec;
    border-radius: 12px;
    padding: 13px 14px;
    margin-bottom: 12px;
    background: #f8fafc;
}

.dias-envio-cobranca strong,
.regras-pausa-cobranca strong {
    width: 100%;
    color: #061b33;
    font-size: 13px;
}

.dias-envio-cobranca label,
.regras-pausa-cobranca label {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #52616b;
    font-size: 11px;
}

.aviso-seguranca-cobranca {
    border: 1px solid #bbf7d0;
    border-left: 4px solid #2ecc71;
    border-radius: 12px;
    padding: 12px 14px;
    background: #f0fdf4;
}

.aviso-seguranca-cobranca strong {
    color: #166534;
    font-size: 13px;
}

.aviso-seguranca-cobranca p {
    margin: 5px 0 0;
    color: #52616b;
    font-size: 11px;
    line-height: 1.45;
}

/* ===========================================================
   COBRANÇAS CARREGADAS DA API
=========================================================== */

.acoes-linha-cobranca {
    display: flex;
    gap: 5px;
    white-space: nowrap;
}

.acoes-linha-cobranca button {
    padding: 5px 8px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: white;
    color: #061b33;
    font-size: 10px;
    cursor: pointer;
}

.acoes-linha-cobranca button:hover {
    border-color: #2ecc71;
    background: #eafaf1;
}

.status-cobranca {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #374151;
    font-size: 10px;
    font-weight: bold;
}

.status-cobranca.status-ativa,
.status-cobranca.status-enviada {
    background: #dcfce7;
    color: #166534;
}

.status-cobranca.status-pausada {
    background: #fef3c7;
    color: #92400e;
}

.status-cobranca.status-juridico {
    background: #fee2e2;
    color: #991b1b;
}
/* ===========================================================
   COBRANÇAS CARREGADAS DA API
=========================================================== */

.acoes-linha-cobranca {
    display: flex;
    gap: 5px;
    white-space: nowrap;
}

.acoes-linha-cobranca button {
    padding: 5px 8px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: white;
    color: #061b33;
    font-size: 10px;
    cursor: pointer;
}

.acoes-linha-cobranca button:hover {
    border-color: #2ecc71;
    background: #eafaf1;
}

.status-cobranca {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #374151;
    font-size: 10px;
    font-weight: bold;
}

.status-cobranca.status-ativa,
.status-cobranca.status-enviada {
    background: #dcfce7;
    color: #166534;
}

.status-cobranca.status-pausada {
    background: #fef3c7;
    color: #92400e;
}

.status-cobranca.status-juridico {
    background: #fee2e2;
    color: #991b1b;
}
/* ===========================================================
   ARQUIVO SELECIONADO — ABCCMM
=========================================================== */

.arquivo-abccmm-selecionado {
    display: grid;
    grid-template-columns: 2fr 0.8fr 0.8fr 1.4fr 1.6fr;
    gap: 14px;
    align-items: center;
    margin-bottom: 20px;
    border-left: 5px solid #2ecc71;
}

.arquivo-abccmm-selecionado div {
    padding-right: 14px;
    border-right: 1px solid #e5e7eb;
}

.arquivo-abccmm-selecionado div:last-child {
    border-right: none;
}

.arquivo-abccmm-selecionado small {
    display: block;
    color: #52616b;
    font-size: 11px;
    margin-bottom: 5px;
}

.arquivo-abccmm-selecionado strong {
    display: block;
    color: #061b33;
    font-size: 14px;
}
/* ===========================================================
   ETAPA ATIVA — IMPORTAÇÃO ABCCMM
=========================================================== */

.grid-acoes .acao-card.acao-card-ativo {
    background: #061b33 !important;
    border-color: #061b33 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(6, 27, 51, 0.22);
    transform: translateY(-2px);
}

.grid-acoes .acao-card.acao-card-ativo strong,
.grid-acoes .acao-card.acao-card-ativo small,
.grid-acoes .acao-card.acao-card-ativo span,
.grid-acoes .acao-card.acao-card-ativo div {
    color: #ffffff !important;
}

.grid-acoes .acao-card.acao-card-ativo:hover {
    background: #0b2f55 !important;
    border-color: #0b2f55 !important;
}
/* ===========================================================
   TELA PRINCIPAL DE LOGIN
=========================================================== */

.tela-login {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    background: #f4f6f8;
}

.login-identidade {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 54px 64px;
    color: white;
    background:
            radial-gradient(
                    circle at 75% 20%,
                    rgba(46, 204, 113, 0.18),
                    transparent 34%
            ),
            linear-gradient(
                    145deg,
                    #061b33 0%,
                    #0b2f55 62%,
                    #123a63 100%
            );
}

.login-identidade::after {
    content: "EQUUS";
    position: absolute;
    right: -35px;
    bottom: -35px;
    font-size: 130px;
    font-weight: bold;
    letter-spacing: 8px;
    color: rgba(255, 255, 255, 0.035);
    pointer-events: none;
}

.login-marca {
    position: relative;
    z-index: 1;
}

.login-marca h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 39px;
    letter-spacing: 1px;
}

.login-marca h1 span {
    color: #2ecc71;
}

.login-marca p {
    margin: 7px 0 0;
    color: #d6e4f0;
    font-size: 13px;
    letter-spacing: 0.8px;
}

.login-apresentacao {
    position: relative;
    z-index: 1;
    max-width: 570px;
    margin-bottom: 55px;
}

.login-apresentacao h2 {
    margin: 0 0 14px;
    font-size: 35px;
    line-height: 1.15;
}

.login-apresentacao p {
    margin: 0;
    max-width: 510px;
    color: #d6e4f0;
    font-size: 15px;
    line-height: 1.65;
}

.login-acesso {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: #f4f6f8;
}

.login-formulario {
    width: 100%;
    max-width: 390px;
    padding: 34px;
    border: 1px solid #d9e2ec;
    border-radius: 18px;
    background: white;
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.10);
}

.login-cabecalho {
    margin-bottom: 25px;
}

.login-cabecalho small {
    color: #2e8b57;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1.4px;
}

.login-cabecalho h2 {
    margin: 7px 0 5px;
    color: #061b33;
    font-size: 27px;
}

.login-cabecalho p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.campo-login {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.campo-login label {
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: bold;
}

.campo-login input,
.campo-login select {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #d9e2ec;
    border-radius: 9px;
    background: white;
    color: #061b33;
    font-size: 13px;
    outline: none;
}

.campo-login input:focus,
.campo-login select:focus {
    border-color: #2ecc71;
    box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.12);
}

.campo-senha-login {
    position: relative;
}

.campo-senha-login input {
    padding-right: 46px;
}

.btn-mostrar-senha {
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 34px;
    height: 32px;
    border: none;
    border-radius: 7px;
    background: transparent;
    cursor: pointer;
}

.btn-mostrar-senha:hover {
    background: #f1f5f9;
}

.mensagem-login {
    min-height: 18px;
    margin: 2px 0 8px;
    color: #b91c1c;
    font-size: 11px;
}

.btn-entrar-login {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 9px;
    background: #061b33;
    color: white;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.22s ease;
}

.btn-entrar-login:hover {
    background: #0b2f55;
    transform: translateY(-1px);
}

.btn-recuperar-senha {
    width: 100%;
    margin-top: 10px;
    padding: 8px;
    border: none;
    background: transparent;
    color: #52616b;
    font-size: 11px;
    cursor: pointer;
}

.btn-recuperar-senha:hover {
    color: #2e8b57;
}

@media (max-width: 850px) {
    .tela-login {
        grid-template-columns: 1fr;
    }

    .login-identidade {
        min-height: 210px;
        padding: 32px;
    }

    .login-apresentacao {
        margin: 35px 0 0;
    }

    .login-apresentacao h2 {
        font-size: 25px;
    }

    .login-acesso {
        padding: 28px 18px;
    }
}
/* ===========================================================
   ACESSO À ADMINISTRAÇÃO DA PLATAFORMA
=========================================================== */

.acesso-administracao-plataforma {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
    text-align: center;
}

.btn-acesso-administracao {
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 11px;
    cursor: pointer;
}

.btn-acesso-administracao:hover {
    color: #061b33;
    font-weight: bold;
}

.tela-login-administracao {
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    padding: 30px;
    box-sizing: border-box;
    background:
            radial-gradient(
                    circle at 80% 20%,
                    rgba(46, 204, 113, 0.12),
                    transparent 30%
            ),
            linear-gradient(
                    145deg,
                    #061b33,
                    #0b2f55
            );
}

.painel-login-administracao {
    width: 100%;
    max-width: 430px;
    padding: 36px;
    box-sizing: border-box;
    border-radius: 18px;
    background: white;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}

.btn-voltar-login {
    margin-bottom: 24px;
    padding: 0;
    border: none;
    background: transparent;
    color: #52616b;
    font-size: 12px;
    cursor: pointer;
}

.btn-voltar-login:hover {
    color: #2e8b57;
}

.cabecalho-login-administracao {
    margin-bottom: 25px;
}

.cabecalho-login-administracao small {
    color: #2e8b57;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1.4px;
}

.cabecalho-login-administracao h2 {
    margin: 8px 0 7px;
    color: #061b33;
    font-size: 26px;
}

.cabecalho-login-administracao p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}
/* ===========================================================
   EQUUSCONTROL PLATFORM — ADMINISTRAÇÃO
=========================================================== */

.app-administracao {
    min-height: 100vh;
    background: #eef1f4;
    color: #17202a;
}

.topo-administracao {
    min-height: 72px;
    box-sizing: border-box;
    padding: 15px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(135deg, #061b33, #0b2f55);
    color: white;
}

.marca-administracao h1 {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 0;
    font-size: 27px;
    letter-spacing: 0.8px;
}

.marca-administracao h1 span {
    color: #2ecc71;
}

.marca-administracao h1 small {
    color: #cbd5e1;
    font-family: Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 2px;
}

.marca-administracao p {
    margin: 3px 0 0;
    color: #cbd5e1;
    font-size: 11px;
}

.usuario-administracao {
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.06);
    text-align: right;
}

.usuario-administracao small,
.usuario-administracao strong {
    display: block;
}

.usuario-administracao small {
    color: #cbd5e1;
    font-size: 9px;
}

.usuario-administracao strong {
    margin-top: 3px;
    font-size: 13px;
}

.layout-administracao {
    display: flex;
    min-height: calc(100vh - 72px);
}

.menu-administracao {
    position: relative;
    width: 235px;
    box-sizing: border-box;
    padding: 18px 14px 90px;
    background: #222a32;
    border-right: 1px solid #343e48;
}

.identificacao-menu-admin {
    padding: 4px 8px 17px;
    margin-bottom: 8px;
    border-bottom: 1px solid #3a444e;
}

.identificacao-menu-admin small,
.identificacao-menu-admin strong {
    display: block;
}

.identificacao-menu-admin small {
    color: #8fa0af;
    font-size: 8px;
    letter-spacing: 1.2px;
}

.identificacao-menu-admin strong {
    margin-top: 5px;
    color: white;
    font-size: 12px;
}

.menu-administracao > button,
.rodape-menu-admin button {
    width: 100%;
    margin-bottom: 7px;
    padding: 10px 11px;
    border: 1px solid #3a444e;
    border-radius: 8px;
    background: #2b343d;
    color: #dbe4ec;
    text-align: left;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.menu-administracao > button:hover,
.menu-administracao > button.ativo {
    padding-left: 14px;
    border-color: #2ecc71;
    background: #35414b;
    color: white;
}

.menu-administracao > button.ativo {
    box-shadow: inset 4px 0 0 #2ecc71;
}

.rodape-menu-admin {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 18px;
}

.rodape-menu-admin button {
    color: #f8c8c8;
}

#conteudoAdministracao {
    flex: 1;
    box-sizing: border-box;
    padding: 26px;
    overflow-x: hidden;
}

.titulo-pagina-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
}

.titulo-pagina-admin small {
    color: #2e8b57;
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 1.4px;
}

.titulo-pagina-admin h2 {
    margin: 5px 0;
    color: #17202a;
    font-size: 26px;
}

.titulo-pagina-admin p {
    margin: 0;
    color: #65727e;
    font-size: 12px;
}

.titulo-pagina-admin > span {
    padding: 7px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: white;
    color: #475569;
    font-size: 10px;
    font-weight: bold;
}

.indicadores-admin {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 11px;
    margin-bottom: 18px;
}

.indicadores-admin > div {
    padding: 14px 15px;
    border-top: 4px solid #35414b;
    border-radius: 11px;
    background: white;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06);
}

.indicadores-admin small,
.indicadores-admin strong,
.indicadores-admin span {
    display: block;
}

.indicadores-admin small {
    color: #64748b;
    font-size: 10px;
}

.indicadores-admin strong {
    margin: 5px 0 3px;
    color: #17202a;
    font-size: 21px;
}

.indicadores-admin span {
    color: #7b8794;
    font-size: 9px;
}

.acoes-admin,
.painel-clientes-admin,
.painel-admin-vazio {
    margin-bottom: 18px;
    padding: 17px;
    border-radius: 13px;
    background: white;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06);
}

.cabecalho-acoes-admin h3,
.cabecalho-lista-admin h3 {
    margin: 0;
    font-size: 16px;
}

.cabecalho-acoes-admin p,
.cabecalho-lista-admin p {
    margin: 4px 0 12px;
    color: #65727e;
    font-size: 10px;
}

.grid-acoes-admin {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.grid-acoes-admin button {
    min-height: 60px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #d7dee5;
    border-radius: 9px;
    background: #f8fafc;
    text-align: left;
    cursor: pointer;
}

.grid-acoes-admin button:hover {
    border-color: #2ecc71;
    background: white;
    transform: translateY(-1px);
}

.grid-acoes-admin button > span {
    width: 25px;
    font-size: 19px;
    text-align: center;
}

.grid-acoes-admin strong,
.grid-acoes-admin small {
    display: block;
}

.grid-acoes-admin strong {
    color: #17202a;
    font-size: 12px;
}

.grid-acoes-admin small {
    margin-top: 2px;
    color: #65727e;
    font-size: 9px;
}

.estado-vazio-admin {
    padding: 34px 20px;
    border: 1px dashed #cbd5e1;
    border-radius: 11px;
    background: #f8fafc;
    text-align: center;
}

.estado-vazio-admin > span {
    font-size: 31px;
}

.estado-vazio-admin h3 {
    margin: 10px 0 5px;
    color: #17202a;
    font-size: 16px;
}

.estado-vazio-admin p {
    margin: 0 auto 14px;
    max-width: 430px;
    color: #65727e;
    font-size: 11px;
}

.estado-vazio-admin button,
.cartao-inicio-implantacao > button {
    padding: 10px 15px;
    border: none;
    border-radius: 8px;
    background: #2ecc71;
    color: #10261a;
    font-weight: bold;
    cursor: pointer;
}

.painel-admin-vazio {
    padding: 45px 25px;
    text-align: center;
}

.icone-painel-admin {
    font-size: 34px;
}

.painel-admin-vazio h3 {
    margin: 10px 0 5px;
}

.painel-admin-vazio p {
    max-width: 520px;
    margin: auto;
    color: #65727e;
    font-size: 11px;
}

.inicio-implantacao-admin {
    min-height: calc(100vh - 125px);
}

.btn-voltar-clientes-admin {
    margin-bottom: 17px;
    padding: 0;
    border: none;
    background: transparent;
    color: #53616d;
    font-family: inherit;
    cursor: pointer;
}

.cartao-inicio-implantacao {
    max-width: 630px;
    margin: 50px auto;
    padding: 40px;
    border-radius: 16px;
    background: white;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.09);
    text-align: center;
}

.cartao-inicio-implantacao > small {
    color: #2e8b57;
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 1.4px;
}

.icone-implantacao-admin {
    margin: 17px 0 9px;
    font-size: 39px;
}

.cartao-inicio-implantacao h2 {
    margin: 0 0 9px;
    color: #17202a;
    font-size: 24px;
}

.cartao-inicio-implantacao p {
    max-width: 510px;
    margin: 0 auto 22px;
    color: #65727e;
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .menu-administracao {
        width: 200px;
    }

    .indicadores-admin,
    .grid-acoes-admin {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* ===========================================================
   ASSISTENTE DE IMPLANTAÇÃO — ETAPA 1
=========================================================== */

.implantacao-admin {
    max-width: 1080px;
    margin: 0 auto;
}

.cabecalho-implantacao-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
}

.cabecalho-implantacao-admin small {
    color: #2e8b57;
    font-size: 9px;
    font-weight: bold;
    letter-spacing: 1.4px;
}

.cabecalho-implantacao-admin h2 {
    margin: 5px 0;
    color: #17202a;
    font-size: 25px;
}

.cabecalho-implantacao-admin p {
    margin: 0;
    color: #65727e;
    font-size: 11px;
}

.cabecalho-implantacao-admin > span {
    padding: 7px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: white;
    color: #475569;
    font-size: 10px;
    font-weight: bold;
}

.progresso-implantacao-admin {
    display: grid;
    grid-template-columns: 210px 1fr 55px;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border-left: 5px solid #2ecc71;
    border-radius: 11px;
    background: white;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06);
}

.progresso-implantacao-admin strong,
.progresso-implantacao-admin small {
    display: block;
}

.progresso-implantacao-admin strong {
    color: #17202a;
    font-size: 12px;
}

.progresso-implantacao-admin small {
    margin-top: 3px;
    color: #65727e;
    font-size: 9px;
}

.barra-progresso-admin {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.barra-progresso-admin span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #2ecc71;
}

.formulario-implantacao-admin {
    padding: 21px;
    border-radius: 14px;
    background: white;
    box-shadow: 0 7px 20px rgba(15, 23, 42, 0.07);
}

.grade-formulario-implantacao {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.campo-implantacao {
    display: flex;
    flex-direction: column;
}

.campo-implantacao-largo {
    grid-column: span 2;
}

.campo-implantacao label {
    margin-bottom: 6px;
    color: #34414d;
    font-size: 11px;
    font-weight: bold;
}

.campo-implantacao input,
.campo-implantacao select {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 11px;
    border: 1px solid #d7dee5;
    border-radius: 8px;
    background: white;
    color: #17202a;
    font-family: inherit;
    font-size: 12px;
    outline: none;
}

.campo-implantacao input:focus,
.campo-implantacao select:focus {
    border-color: #2ecc71;
    box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.12);
}

.campo-implantacao > small {
    margin-top: 5px;
    color: #7b8794;
    font-size: 9px;
}

.mensagem-implantacao-admin {
    min-height: 18px;
    margin-top: 14px;
    font-size: 11px;
}

.mensagem-implantacao-admin.erro {
    color: #b91c1c;
}

.mensagem-implantacao-admin.sucesso {
    color: #166534;
}

.acoes-implantacao-admin {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 19px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

.acoes-implantacao-admin > div {
    display: flex;
    gap: 9px;
}

.btn-voltar-implantacao-admin,
.btn-rascunho-implantacao-admin,
.btn-proximo-implantacao-admin {
    padding: 9px 14px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
}

.btn-voltar-implantacao-admin {
    border: 1px solid #cbd5e1;
    background: white;
    color: #475569;
}

.btn-rascunho-implantacao-admin {
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
}

.btn-proximo-implantacao-admin {
    border: none;
    background: #2ecc71;
    color: #10261a;
}

.btn-voltar-implantacao-admin:hover,
.btn-rascunho-implantacao-admin:hover {
    border-color: #2ecc71;
    background: white;
}

.btn-proximo-implantacao-admin:hover {
    background: #25b862;
}

@media (max-width: 760px) {
    .grade-formulario-implantacao {
        grid-template-columns: 1fr;
    }

    .campo-implantacao-largo {
        grid-column: span 1;
    }

    .progresso-implantacao-admin {
        grid-template-columns: 1fr;
    }

    .acoes-implantacao-admin {
        align-items: stretch;
        flex-direction: column;
    }

    .acoes-implantacao-admin > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
/* ===========================================================
   SAÍDA DO AMBIENTE DO CLIENTE
=========================================================== */

.usuario-topo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.usuario-topo > div {
    text-align: right;
}

.usuario-topo strong,
.usuario-topo small {
    display: block;
}

.btn-sair-cliente {
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: white;
    font-family: inherit;
    font-size: 11px;
    cursor: pointer;
}

.btn-sair-cliente:hover {
    border-color: #2ecc71;
    background: rgba(46, 204, 113, 0.14);
}

.ec-abccmm-resumo{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:18px;align-items:start;border-left:4px solid #20c972}.ec-abccmm-resumo>div{display:flex;flex-direction:column;gap:5px}.ec-abccmm-resumo small{color:#526579}.ec-abccmm-mensagem{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid #dbe4ec}.ec-abccmm-previa{margin-top:18px}.ec-abccmm-previa-titulo{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.ec-abccmm-previa-titulo h3,.ec-abccmm-previa-titulo p{margin:0 0 5px}.ec-tabela-scroll{overflow:auto}.ec-status-erro{background:#fee2e2!important;color:#991b1b!important;white-space:normal!important;max-width:260px;display:inline-block}@media(max-width:1000px){.ec-abccmm-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-abccmm-previa-titulo{align-items:flex-start;flex-direction:column}}

.ec-cards-config .acao-card {
    min-height: 124px;
    align-items: flex-start;
    border: 1px solid #dce5ee;
    box-shadow: 0 5px 16px rgba(6, 27, 51, .06);
}

.ec-cards-config .acao-card > span {
    font-size: 26px;
}

.ec-cards-config .acao-card em {
    display: block;
    margin-top: 10px;
    color: var(--ec-cliente-secundaria, #168f50);
    font-style: normal;
    font-weight: 700;
}

.ec-aviso-seguranca {
    border-left: 5px solid #e5a11a;
    background: #fffaf0;
}

/* ===========================================================
   COMPONENTES V3 — MODAIS, TABELAS E ÁREA DO CLIENTE
=========================================================== */
.ec-modal-fundo {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(5, 24, 43, 0.62);
    backdrop-filter: blur(3px);
}

.ec-modal {
    width: min(560px, 100%);
    max-height: 90vh;
    overflow: auto;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

.ec-modal header,
.ec-modal footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 22px;
}

.ec-modal header { border-bottom: 1px solid #e3e9ee; }
.ec-modal footer { justify-content: flex-end; padding-inline: 0; }
.ec-modal header h3 { margin: 0; }
.ec-modal header button { border: 0; background: transparent; font-size: 25px; cursor: pointer; }
.ec-modal > p { margin: 20px 22px 0; color: #435466; }
.ec-modal form { display: grid; gap: 15px; padding: 20px 22px; }
.ec-modal-campo { display: grid; gap: 6px; font-weight: 700; }
.ec-modal-campo input,
.ec-modal-campo select,
.ec-modal-campo textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #cbd6df;
    border-radius: 9px;
    background: #fff;
    font: inherit;
}

.ec-btn-primario,
.ec-btn-secundario,
.ec-btn-perigo,
.ec-btn-tabela {
    border: 1px solid transparent;
    border-radius: 9px;
    padding: 10px 15px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.ec-btn-primario { background: #25c86f; color: #071f32; }
.ec-btn-secundario, .ec-btn-tabela { border-color: #c8d4de; background: #fff; color: #102c43; }
.ec-btn-perigo { background: #b42318; color: #fff; }
.ec-btn-tabela { padding: 7px 10px; font-size: 12px; }

.ec-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 10000;
    max-width: 380px;
    padding: 14px 18px;
    border-radius: 10px;
    background: #12324a;
    color: #fff;
    box-shadow: 0 12px 35px rgba(0, 0, 0, .25);
}
.ec-toast.sucesso { border-left: 5px solid #25c86f; }
.ec-toast.erro { border-left: 5px solid #e5484d; }

.ec-titulo-v3 { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.ec-titulo-v3 h2 { margin: 4px 0; }
.ec-titulo-v3 p { margin: 0; }
.ec-titulo-v3 small { color: #168755; font-weight: 800; letter-spacing: .12em; }
.ec-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.ec-kpis article { padding: 18px; border-top: 4px solid #34434f; border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(14, 38, 55, .07); }
.ec-kpis small, .ec-kpis strong { display: block; }
.ec-kpis strong { margin-top: 8px; font-size: 22px; }
.ec-dashboard-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:16px; margin:16px 0; }
.ec-barra-legenda { display:flex; height:18px; overflow:hidden; border-radius:999px; background:#e8edf2; margin:22px 0 12px; }
.ec-barra-legenda .recebido { background:#20b66b; }
.ec-barra-legenda .receber { background:#f3ad32; }
.ec-barra-legenda .vencido { background:#d9343a; }
.ec-legendas { display:flex; flex-wrap:wrap; gap:14px; color:#425466; }
.ec-legendas span:nth-child(1) { color:#178b52; }
.ec-legendas span:nth-child(2) { color:#a66a00; }
.ec-legendas span:nth-child(3) { color:#bd2730; }
.ec-perfil-empresa { display:flex; align-items:center; gap:18px; }
.ec-perfil-empresa .ec-status { margin-left:auto; }
.ec-dados-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:20px; }
.ec-dados-grid div { border:1px solid #dbe4ec; border-radius:10px; padding:12px; }
.ec-dados-grid small,.ec-dados-grid strong { display:block; }
.ec-secao { margin-top:16px; }
.ec-linha-acoes { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ec-matriz p { padding:9px 0; border-bottom:1px solid #e7edf2; margin:0; }
.ec-dados-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ec-dados-grid > div { display: grid; gap: 5px; padding: 15px; border: 1px solid #e0e7ed; border-radius: 10px; }
.ec-dados-grid small, .ec-dados-grid span { color: #627487; }
.ec-tabela-wrap { overflow-x: auto; margin-top: 20px; }
.ec-tabela { width: 100%; border-collapse: collapse; }
.ec-tabela th, .ec-tabela td { padding: 13px 11px; border-bottom: 1px solid #dbe3e9; text-align: left; vertical-align: middle; }
.ec-tabela td small, .ec-tabela td strong { display: block; }
.ec-tabela td small { margin-top: 4px; color: #617385; }
.ec-status { display: inline-block; padding: 5px 9px; border-radius: 999px; background: #dff7e9; color: #126a3a; font-size: 11px; font-weight: 800; }
.ec-vazio { display: grid; place-items: center; min-height: 250px; margin-top: 20px; padding: 30px; border: 1px dashed #c8d5df; border-radius: 13px; text-align: center; }
.ec-vazio span { font-size: 34px; }
.ec-vazio h3 { margin: 10px 0 2px; }
.ec-vazio p { margin: 0; color: #617385; }
#appSistema .menu button.ativo { border-color: #2ed47a; box-shadow: inset 5px 0 #2ed47a; }

@media (max-width: 900px) {
    .ec-dashboard-grid { grid-template-columns:1fr; }
    .ec-linha-acoes { align-items:stretch; flex-direction:column; }
    .ec-kpis, .ec-dados-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .ec-kpis, .ec-dados-grid { grid-template-columns: 1fr; }
    .ec-titulo-v3 { align-items: stretch; flex-direction: column; }
}

/* Painel executivo, identidade visual e recebimentos bancários */
.ec-resumo-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.ec-resumo-kpis article{display:grid;justify-items:center;gap:5px;padding:17px 10px;border:1px solid #dfe7ed;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(10,35,55,.055);text-align:center}.ec-resumo-kpis small{font-size:10px;font-weight:900;letter-spacing:.04em}.ec-resumo-kpis strong{font-size:20px;color:#071f38}.ec-resumo-kpis em{font-size:11px;color:#65788a;font-style:normal}.ec-kpi-icone{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:18px;font-weight:900}.ec-kpi-icone.azul{background:#e8f3fa;color:#14648a}.ec-kpi-icone.verde{background:#e2f7eb;color:#0c8b4b}.ec-kpi-icone.laranja{background:#fff1d9;color:#b66c00}.ec-kpi-icone.vermelho{background:#ffe8e9;color:#cc2834}.ec-kpi-icone.roxo{background:#eeeafd;color:#6741b7}.ec-dashboard-executivo{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin:16px 0}.ec-painel-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5ebf0;padding-bottom:12px}.ec-painel-cab h3{margin:0}.ec-painel-cab>span{font-size:10px;color:#66798b;font-weight:800}.ec-painel-cab .critico{color:#b4232d}.ec-painel-cab .regular{color:#15884d}.ec-composicao-corpo{display:flex;align-items:center;justify-content:center;gap:36px;padding:24px 4px 8px}.ec-donut{display:grid;place-items:center;width:160px;height:160px;border-radius:50%;background:conic-gradient(#20ad67 0 var(--p1),#f0aa32 var(--p1) var(--p2),#d7353f var(--p2) 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}.ec-donut>div{display:grid;place-items:center;width:105px;height:105px;border-radius:50%;background:#fff}.ec-donut small,.ec-donut strong,.ec-donut b{display:block}.ec-donut strong{font-size:17px}.ec-donut b{font-size:12px}.ec-legenda-vertical{display:grid;gap:15px}.ec-legenda-vertical span{display:grid;grid-template-columns:10px auto;gap:2px 8px;color:#435466}.ec-legenda-vertical i{width:10px;height:10px;margin-top:4px;border-radius:50%}.ec-legenda-vertical strong{grid-column:2}.ec-legenda-vertical .recebido i{background:#20ad67}.ec-legenda-vertical .receber i{background:#f0aa32}.ec-legenda-vertical .vencido i{background:#d7353f}.ec-leitura>p{line-height:1.65;color:#405367}.ec-recomendacoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.ec-recomendacoes button{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:13px;border:1px solid #dce5ec;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.ec-recomendacoes button>span{grid-row:1/3;font-size:24px;color:var(--ec-cliente-secundaria,#168f50)}.ec-recomendacoes small{color:#6b7c8b}.ec-posicao{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#edf3f7;font-weight:800}.ec-ranking-barra{width:100%;min-width:120px;height:9px;border-radius:999px;background:#ecf1f4}.ec-ranking-barra i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ec-cliente-secundaria,#1ca563),#40c884)}.ec-atraso{color:#c02732;font-weight:800}.ec-mini-vazio{padding:28px;text-align:center;color:#168653}.ec-evolucao svg{width:100%;height:210px;margin-top:20px;overflow:visible;border-bottom:1px solid #dce5eb;background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,#eef2f5 50px)}.ec-evolucao polyline{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.ec-evolucao polyline.recebido{stroke:#20ad67}.ec-evolucao polyline.receber{stroke:#f0aa32}.ec-evolucao polyline.vencido{stroke:#d7353f}.ec-evolucao-meses{display:flex;justify-content:space-between;margin-top:7px;color:#647688;font-size:10px}.ec-alertas>div:not(.ec-painel-cab){display:flex;align-items:center;gap:13px;padding:15px 4px;border-bottom:1px solid #e6ecf0}.ec-alertas>div>span{font-size:24px}.ec-alertas p,.ec-alertas strong,.ec-alertas small{display:block;margin:0}.ec-alertas small{margin-top:4px;color:#687a8a}
.ec-identidade-modal{width:min(920px,100%);max-height:94vh;overflow:auto;border-radius:22px;background:#f6f8fa;box-shadow:0 30px 90px rgba(3,22,40,.38)}.ec-identidade-modal>header{display:flex;justify-content:space-between;gap:20px;padding:26px 30px 20px;background:#fff;border-bottom:1px solid #e3e9ee}.ec-identidade-modal header small{color:#168b52;font-weight:900;letter-spacing:.1em}.ec-identidade-modal header h3{margin:6px 0 4px;font-size:24px}.ec-identidade-modal header p{margin:0;color:#617386}.ec-identidade-modal header button{align-self:flex-start;border:0;background:none;font-size:28px;cursor:pointer}.ec-identidade-modal form{display:grid;grid-template-columns:330px 1fr;gap:24px;padding:24px 30px}.ec-identidade-preview{position:sticky;top:0;align-self:start;min-height:350px;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,var(--preview-p),color-mix(in srgb,var(--preview-p),#000 28%));color:#fff;box-shadow:0 18px 38px color-mix(in srgb,var(--preview-p),transparent 68%)}.ec-identidade-preview:after{content:"";position:absolute;right:-65px;bottom:-90px;width:230px;height:230px;border:42px solid color-mix(in srgb,var(--preview-s),transparent 72%);border-radius:50%}.ec-preview-topo{display:flex;align-items:center;gap:14px;padding:25px}.ec-preview-topo strong,.ec-preview-topo small{display:block}.ec-preview-topo strong{font-size:19px}.ec-preview-topo small{margin-top:4px;opacity:.72}.ec-preview-logo{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--preview-s);border-radius:15px;background:rgba(255,255,255,.1);color:var(--preview-s);font-size:22px;font-weight:900}.ec-preview-menu{display:grid;gap:11px;padding:28px 25px}.ec-preview-menu i{display:block;width:75%;height:13px;border-radius:8px;background:rgba(255,255,255,.16)}.ec-preview-menu i:first-child{width:92%;background:var(--preview-s)}.ec-identidade-preview>span{position:absolute;left:25px;bottom:24px;font-size:11px;letter-spacing:.09em}.ec-identidade-campos{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ec-identidade-campos label{display:grid;align-content:start;gap:7px;font-weight:800}.ec-identidade-campos input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cad6df;border-radius:10px;background:#fff;font:inherit}.ec-identidade-campos input:focus{outline:3px solid rgba(36,198,111,.15);border-color:#27b96d}.ec-identidade-campos label.largo,.ec-cores{grid-column:1/-1}.ec-identidade-campos label>small{color:#748492;font-weight:400}.ec-cores{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ec-cores label span{display:flex}.ec-cores input[type=color]{flex:0 0 48px;height:45px;padding:4px;border-radius:10px 0 0 10px}.ec-cores input[data-cor]{border-left:0;border-radius:0 10px 10px 0}.ec-identidade-modal footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:5px}
.ec-banco-recebimentos{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;padding:22px 25px;background:linear-gradient(120deg,#061f39,#0c3d5a);color:#fff}.ec-banco-principal{display:flex;align-items:center;gap:17px}.ec-banco-marca{display:grid;place-items:center;width:62px;height:62px;border-radius:16px;background:rgba(39,205,119,.16);font-size:29px}.ec-banco-marca.vazio{border:1px dashed rgba(255,255,255,.45)}.ec-banco-dados small{color:#50db91;font-weight:900;letter-spacing:.08em}.ec-banco-dados h3{margin:6px 0}.ec-banco-dados p{margin:4px 0;color:#d8e4ec}.ec-banco-acoes{text-align:right}.ec-homologacao{display:inline-block;padding:5px 9px;border-radius:999px;background:#fff2d8;color:#8b5900;font-size:10px;font-weight:900}.ec-banco-acoes>div{display:flex;justify-content:flex-end;gap:6px;margin:10px 0}.ec-banco-acoes>div span{padding:4px 7px;border:1px solid rgba(255,255,255,.25);border-radius:6px;font-size:10px;color:#cddae3}
@media(max-width:900px){.ec-resumo-kpis{grid-template-columns:repeat(2,1fr)}.ec-dashboard-executivo{grid-template-columns:1fr}.ec-identidade-modal form{grid-template-columns:1fr}.ec-identidade-preview{position:relative;min-height:250px}.ec-banco-recebimentos{align-items:stretch;flex-direction:column}.ec-banco-acoes{text-align:left}.ec-banco-acoes>div{justify-content:flex-start}}@media(max-width:600px){.ec-resumo-kpis,.ec-identidade-campos,.ec-cores{grid-template-columns:1fr}.ec-identidade-campos label,.ec-cores{grid-column:1}.ec-composicao-corpo{align-items:flex-start;flex-direction:column}.ec-identidade-modal form{padding:18px}.ec-banco-principal{align-items:flex-start}.ec-banco-acoes>div{flex-wrap:wrap}}

/* V21.4.5 — apresentação fiel da importação documental */
.ec-meta-arquivo{display:block;margin-top:3px;color:#5f7186;font-size:11px;font-weight:500}
.ec-abccmm-previa .ec-tabela-scroll{max-height:560px;overflow:auto}
.ec-abccmm-previa .tabela-geral{min-width:1320px}
.ec-abccmm-previa .tabela-geral th{position:sticky;top:0;z-index:2;white-space:nowrap}
.ec-abccmm-previa .tabela-geral td{vertical-align:top}
.ec-abccmm-previa .tabela-geral td:nth-child(2){min-width:250px}
.ec-abccmm-previa .tabela-geral td:nth-child(3){min-width:190px}

/* V21.4.6 — formulários de homologação veterinária, reprodução e equipe */
.ec-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.ec-form-grid label,.ec-campo-largo{display:flex;flex-direction:column;gap:6px}.ec-form-grid label span,.ec-campo-largo span{font-size:13px;font-weight:700;color:#23415f}.ec-form-grid input,.ec-form-grid select,.ec-form-grid textarea,.ec-campo-largo input,.ec-campo-largo textarea,.ec-form-linha input{width:100%;border:1px solid #c8d6e5;border-radius:9px;padding:11px 12px;background:#fff;color:#102a43;font:inherit}.ec-form-grid input:focus,.ec-form-grid select:focus,.ec-form-grid textarea:focus,.ec-campo-largo textarea:focus,.ec-form-linha input:focus{outline:0;border-color:#22c878;box-shadow:0 0 0 3px rgba(34,200,120,.12)}.ec-campo-largo{margin-top:14px}.ec-form-acoes{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.ec-form-linha{display:grid;grid-template-columns:1fr auto;gap:10px;margin:12px 0}.ec-lista-consulta{display:grid;gap:8px;margin-top:12px}.ec-item-consulta{width:100%;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(220px,1fr) auto;align-items:center;gap:14px;text-align:left;border:1px solid #d5e1ec;border-radius:10px;background:#fff;padding:13px 15px;color:#102a43}.ec-item-consulta:hover{border-color:#22c878;background:#f3fff8}.ec-item-consulta strong{font-size:15px}.ec-item-consulta span{color:#587089;font-size:13px}.ec-item-consulta em{font-style:normal;font-weight:800;color:#0b8f58}.ec-ficha-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ec-ficha-resumo div{border:1px solid #dbe5ef;border-radius:9px;padding:11px;background:#f8fbfd}.ec-ficha-resumo small{display:block;color:#6c8297;text-transform:uppercase;font-size:10px;font-weight:800;margin-bottom:4px}.ec-ficha-resumo strong{font-size:14px}.ec-prontuario h3{margin-top:22px;padding-bottom:8px;border-bottom:1px solid #d9e4ee}.ec-prontuario h3:first-child{margin-top:0}.ec-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}.ec-check-grid label{border:1px solid #dbe5ef;border-radius:8px;padding:10px;background:#f8fbfd;font-size:13px}.ec-check-grid input{margin-right:7px}@media(max-width:850px){.ec-form-grid,.ec-ficha-resumo,.ec-check-grid{grid-template-columns:1fr}.ec-item-consulta{grid-template-columns:1fr}.ec-form-linha{grid-template-columns:1fr}}
.ec-titulo-compacto{padding-top:10px!important;padding-bottom:8px!important}.ec-titulo-compacto h2{font-size:24px!important;line-height:1.1}.ec-titulo-compacto p{font-size:12px!important;margin-top:3px}.ec-resumo-compacto{padding:12px!important}.ec-fonte-12,.ec-fonte-12 input,.ec-fonte-12 select,.ec-fonte-12 textarea,.ec-fonte-12 button{font-size:12px!important}.ec-ficha-resumo input{width:100%;border:1px solid #d4dfeb;border-radius:7px;padding:7px;background:#fff}.ec-ficha-resumo label small{display:block}.ec-ficha-resumo .wide{grid-column:1/-1}.ec-acoes-topo{display:flex;gap:8px}@media print{aside,.topo,.ec-acoes-topo,.ec-form-acoes{display:none!important}main,#conteudo{margin:0!important;padding:0!important;width:100%!important}.painel{box-shadow:none!important;border:1px solid #bbb!important}.ec-prontuario{font-size:11pt!important}}
.ec-acoes-tabela{display:flex;gap:6px;flex-wrap:wrap}.ec-btn-mini{border:1px solid #cbd8e6;background:#fff;border-radius:7px;padding:5px 8px;font-size:11px;cursor:pointer}.ec-btn-mini.perigo{color:#a71919;border-color:#e6bcbc}.ec-permissoes-grid{overflow:auto}.ec-permissoes-grid table{min-width:760px}

/* V21.4.8 — prontuários compactos, históricos e carteirinhas */
.ec-form-compacto{padding:14px!important}.ec-form-compacto h3{font-size:14px;margin:14px 0 8px!important;padding-bottom:5px!important}.ec-form-compacto .ec-form-grid{gap:8px;margin-top:8px}.ec-form-compacto .ec-form-grid label,.ec-form-compacto .ec-campo-largo{gap:3px}.ec-form-compacto .ec-form-grid label span,.ec-form-compacto .ec-campo-largo span{font-size:11px}.ec-form-compacto input,.ec-form-compacto select,.ec-form-compacto textarea{padding:7px 8px!important;border-radius:6px!important;line-height:1.25}.ec-form-compacto .ec-campo-largo{margin-top:8px}.ec-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.ec-check-compacto{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:8px 0}.ec-check-compacto label{padding:6px;font-size:11px}.ec-abas-saude{display:flex;gap:6px;margin:10px 0}.ec-abas-saude button{border:1px solid #cbd9e6;background:#fff;border-radius:8px;padding:8px 14px;font-weight:800;color:#163650}.ec-abas-saude button.ativo{background:#062a4b;color:#fff;border-color:#062a4b}.ec-bloco-titulo{display:flex;align-items:center;justify-content:space-between;gap:10px}.ec-bloco-titulo h3{margin:0!important}.ec-historico-cards{display:grid;gap:7px}.ec-historico-cards article{display:grid;grid-template-columns:1fr minmax(220px,2fr) auto;gap:10px;align-items:center;border:1px solid #dbe5ef;border-radius:8px;padding:9px 10px}.ec-historico-cards article strong,.ec-historico-cards article span{display:block}.ec-historico-cards article span,.ec-historico-cards article p{font-size:11px;color:#587089;margin:0}.ec-tabela-compacta{overflow:auto;margin-top:12px}.ec-tabela-compacta table{width:100%;border-collapse:collapse;font-size:11px}.ec-tabela-compacta th,.ec-tabela-compacta td{padding:7px;border-bottom:1px solid #dbe5ef;text-align:left}.ec-tabela-compacta td small{display:block;color:#6c8297}
@media(max-width:1050px){.ec-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ec-check-compacto{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-historico-cards article{grid-template-columns:1fr}}
@media print{.ec-nao-imprimir,aside,.topo,.ec-acoes-topo,.ec-form-acoes,.ec-abas-saude{display:none!important}body{font-size:10pt!important}main,#conteudo{margin:0!important;padding:0!important;width:100%!important}.painel{box-shadow:none!important;border:0!important;padding:6px!important;margin:0!important;break-inside:auto}.ec-prontuario{font-size:9pt!important}.ec-form-compacto input,.ec-form-compacto select,.ec-form-compacto textarea{border:0!important;border-bottom:1px solid #bbb!important;padding:2px!important}.ec-form-compacto textarea{min-height:34px!important;height:auto!important}.ec-form-grid{gap:4px!important;margin-top:4px!important}.ec-campo-largo{margin-top:4px!important}.ec-form-compacto h3{margin:7px 0 4px!important}.ec-tabela-compacta table{font-size:9pt}.ec-historico-cards article{break-inside:avoid;padding:5px}.ec-resumo-compacto{display:none!important}@page{size:A4;margin:9mm}}

@media print {
    body {
        padding-bottom: 15mm !important;
    }

    .ec-autoria-global {
        position: fixed !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        display: block !important;
        min-height: 0 !important;
        padding: 3mm 0 0 !important;
        border-top: .25mm solid #8d99a6 !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #333 !important;
        font-size: 7.5pt !important;
    }

    .ec-autoria-global strong,
    .ec-autoria-global span {
        display: inline !important;
    }

    @page {
        size: A4;
        margin: 9mm 9mm 17mm;
    }
}


/* V21.5 - padrão compacto, temas e identidade por empresa */
:root{--ec-cliente-primaria:#082B50;--ec-cliente-secundaria:#22C76B}
html[data-ec-tema="escuro"] body,html[data-ec-tema="escuro"] #appSistema{background:#061221;color:#eef7ff}html[data-ec-tema="escuro"] .topo{background:#071b33}html[data-ec-tema="escuro"] .menu{background:#071426}html[data-ec-tema="escuro"] #conteudo{background:#061221}html[data-ec-tema="escuro"] .painel,html[data-ec-tema="escuro"] .ec-kpis article,html[data-ec-tema="escuro"] details{background:#0b1b2f;color:#eef7ff;border-color:#20344f}html[data-ec-tema="escuro"] input,html[data-ec-tema="escuro"] select,html[data-ec-tema="escuro"] textarea{background:#07172a;color:#eef7ff;border-color:#20344f}
#conteudo{font-size:12px}.titulo-pagina{margin-bottom:12px}.titulo-pagina h2{font-size:25px}.painel{padding:14px}.ec-kpis{gap:8px}.ec-kpis article{padding:12px}.ec-tabela th,.ec-tabela td,.tabela-geral th,.tabela-geral td{padding:7px 8px;font-size:11px}.ec-fold{padding:0;margin-bottom:10px}.ec-fold summary{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;border-bottom:1px solid #dce5ef}.ec-fold summary span{font-size:10px;color:#718096}.ec-fold-body{padding:12px}.ec-form-compact{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ec-form-compact label{font-size:10px;font-weight:700}.ec-form-compact input,.ec-form-compact select,.ec-form-compact textarea{width:100%;padding:8px;margin-top:4px}.ec-form-compact .span2{grid-column:span 2}.ec-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ec-upload{border:1px solid #dce5ef;border-radius:10px;padding:10px;display:grid;gap:8px}.ec-media-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.ec-media-list article{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:8px;border:1px solid #dce5ef;padding:7px;border-radius:9px}.ec-media-list img{width:56px;height:42px;object-fit:cover;border-radius:6px}.ec-compact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ec-compact-cards article{border:1px solid #dce5ef;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:4px}.ec-toolbar-compact{display:flex;gap:8px}.ec-toolbar-compact input{flex:1}.ec-acoes-linha{display:flex;gap:4px}.ec-btn-tabela.perigo{background:#fff1f1;color:#b42318;border-color:#f3b2ad}
.tela-login{--login-p:#082B50;--login-s:#22C76B}.tela-login[data-tema="escuro"]{background:#03101f}.tela-login[data-tema="escuro"] .login-acesso{background:#071426}.tela-login[data-tema="escuro"] .login-formulario{background:#0b1b2f;color:#eef7ff;border-color:#20344f}.login-identidade{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--login-p),#0b4160)}.login-identidade:after{content:"";position:absolute;inset:0;background-image:var(--watermark);background-repeat:no-repeat;background-position:88% 85%;background-size:38%;opacity:.08;pointer-events:none}.ec-logo-cliente{max-width:130px;max-height:54px;object-fit:contain;display:block;margin-top:12px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}.ec-login-carrossel{position:absolute;inset:0;z-index:0}.ec-login-carrossel figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s}.ec-login-carrossel figure.ativo{opacity:.22}.ec-login-carrossel img{width:100%;height:100%;object-fit:cover}.ec-login-carrossel figcaption{display:none}.login-marca,.login-apresentacao{position:relative;z-index:2}
@media(max-width:900px){.ec-form-compact{grid-template-columns:1fr 1fr}.ec-upload-grid,.ec-media-list,.ec-compact-cards{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ec-form-compact,.ec-upload-grid,.ec-media-list,.ec-compact-cards{grid-template-columns:1fr}.ec-form-compact .span2{grid-column:auto}}

/* Recuperação de senha segura — modal isolado do login homologado. */
.ec-reset-fundo{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(3,19,35,.72);backdrop-filter:blur(4px)}
.ec-reset-card{position:relative;width:min(440px,100%);box-sizing:border-box;padding:30px;border-radius:18px;background:#fff;color:#102a43;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.ec-reset-card>small{color:#168755;font-weight:900;letter-spacing:.12em}.ec-reset-card h2{margin:7px 0 8px}.ec-reset-card p{margin:0 0 20px;color:#5f7184;line-height:1.55}
.ec-reset-card label{display:grid;gap:7px;margin:13px 0;font-size:13px;font-weight:800}.ec-reset-card input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #c8d5df;border-radius:9px;font:inherit}
.ec-reset-card input:focus{outline:3px solid rgba(34,199,107,.16);border-color:#22c76b}.ec-reset-card footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.ec-reset-card button{padding:10px 14px;border:1px solid #c8d5df;border-radius:9px;background:#fff;font-weight:800;cursor:pointer}.ec-reset-card button:disabled{cursor:wait;opacity:.65}
.ec-reset-card .ec-reset-confirmar{border-color:#22c76b;background:#22c76b;color:#062239}.ec-reset-fechar{position:absolute;top:13px;right:15px!important;padding:3px 8px!important;border:0!important;background:transparent!important;font-size:24px!important;color:#66788b}
.ec-reset-mensagem{min-height:20px;margin-top:12px;font-size:12px;color:#42576b}.ec-reset-mensagem.erro{color:#b4232d}.ec-reset-mensagem.sucesso{color:#087b49;font-weight:750}
