/* ==========================================================
   EMPRESAS
========================================================== */

.empresa-card{

    display:flex;

    flex-direction:column;

    height:100%;

    background:#fff;

    border:1px solid #e9eef5;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 24px rgba(15,23,42,.06);

    transition:.25s ease;

}

.empresa-card:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 42px rgba(15,23,42,.12);

}

.empresa-card .card-body{

    flex:1;

    display:flex;

    flex-direction:column;

    padding:24px;

}


/* ==========================================================
   CABEÇALHO
========================================================== */

.empresa-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:22px;

}

.empresa-info{

    flex:1;

    min-width:0;

}

.empresa-nome{

    font-size:1.08rem;

    font-weight:700;

    line-height:1.4;

    color:#16324f;

    margin-bottom:8px;

    word-break:break-word;

}

.empresa-cnpj{

    display:flex;

    align-items:center;

    gap:8px;

    color:#6b7785;

    font-size:.88rem;

    margin-bottom:6px;

}

.empresa-fantasia{

    color:#8b97a4;

    font-size:.86rem;

}

.empresa-status{

    flex-shrink:0;

}


/* ==========================================================
   EXECUÇÃO
========================================================== */

.empresa-execucao{

    display:flex;

    flex-direction:column;

    gap:14px;

    padding:18px 0;

    border-top:1px solid #edf2f7;

    border-bottom:1px solid #edf2f7;

}

.empresa-item{

    display:flex;

    align-items:flex-start;

    gap:14px;

    min-width:0;

}

.empresa-item i{

    flex-shrink:0;

    font-size:1.15rem;

    color:#0d6efd;

    margin-top:2px;

}

.empresa-item small{

    display:block;

    color:#8a96a3;

    font-size:.75rem;

    text-transform:uppercase;

    letter-spacing:.05em;

    margin-bottom:2px;

}

.empresa-item strong{

    display:block;

    color:#16324f;

    font-weight:600;

    word-break:break-word;

}


/* ==========================================================
   INDICADORES
========================================================== */

.empresa-indicadores{

    margin:22px 0;

}

.empresa-indicador{

    border-radius:14px;

    padding:14px;

    text-align:center;

    transition:.2s;

}

.empresa-indicador.success{

    background:#eefaf3;

}

.empresa-indicador.warning{

    background:#fff8e8;

}

.empresa-indicador.danger{

    background:#fff1f2;

}

.empresa-indicador .numero{

    font-size:1.45rem;

    font-weight:700;

    line-height:1;

}

.empresa-indicador.success .numero{

    color:#198754;

}

.empresa-indicador.warning .numero{

    color:#d38b00;

}

.empresa-indicador.danger .numero{

    color:#dc3545;

}

.empresa-indicador .titulo{

    margin-top:6px;

    font-size:.75rem;

    text-transform:uppercase;

    font-weight:700;

    letter-spacing:.04em;

    color:#6c757d;

}


/* ==========================================================
   AÇÕES
========================================================== */

.empresa-acoes{

    margin-top:auto;

}

.empresa-acoes .btn{

    min-height:46px;

    border-radius:12px;

    font-weight:600;

}

.empresa-acoes .dropdown-menu{

    border:none;

    border-radius:14px;

    padding:8px;

    box-shadow:0 16px 36px rgba(15,23,42,.12);

}

.empresa-acoes .dropdown-item{

    border-radius:10px;

    padding:10px 12px;

    transition:.15s;

}

.empresa-acoes .dropdown-item:hover{

    background:#f5f8fc;

}


/* ==========================================================
   FILTROS
========================================================== */

.empresa-filtros{

    display:grid;

    grid-template-columns:1fr 180px 160px 160px;

    align-items:center;

    gap:14px;

    padding:18px;

    margin-bottom:28px;

    background:#fff;

    border:1px solid #e9eef5;

    border-radius:18px;

    box-shadow:0 8px 24px rgba(15,23,42,.06);

}

.empresa-pesquisa{

    position:relative;

}

.empresa-pesquisa i{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#7d8895;

    pointer-events:none;

}

.empresa-pesquisa input{

    width:100%;

    height:50px;

    padding-left:46px;

    border:1px solid #d9e2ec;

    border-radius:12px;

    background:#fff;

    transition:.2s;

    box-shadow:none;

}

.empresa-pesquisa input:focus{

    border-color:#0d6efd;

    box-shadow:0 0 0 .20rem rgba(13,110,253,.12);

}

.empresa-select select{

    width:100%;

    height:50px;

    border:1px solid #d9e2ec;

    border-radius:12px;

    background:#fff;

    transition:.2s;

}

.empresa-select select:focus{

    border-color:#0d6efd;

    box-shadow:0 0 0 .20rem rgba(13,110,253,.12);

}

.empresa-filtros .btn{

    height:50px;

    border-radius:12px;

    font-weight:600;

    white-space:nowrap;

}


/* ==========================================================
   RESPONSIVO
========================================================== */

@media (max-width:992px){

    .empresa-filtros{

        grid-template-columns:1fr;

        padding:16px;

    }

    .empresa-filtros .btn{

        width:100%;

    }

}

@media (max-width:768px){

    .empresa-header{

        flex-direction:column;

        align-items:stretch;

    }

    .empresa-status{

        width:100%;

    }

}