.obras-table{
    width:100%;
    overflow-x:auto;
    border:1px solid #e1eaf5;
    border-radius:7px;
    background:#fff
}

.obras-table-header,.obra-row{
    display:grid;
    grid-template-columns:minmax(190px,1.65fr) 94px 98px 110px minmax(165px,1.3fr) minmax(185px,1.45fr) 26px;
    gap:12px;
    min-width:980px;
    align-items:center;
    padding:10px 14px
}

.obras-table-header{
    min-height:36px;
    background:#edf3f9;
    color:#264975;
    font-size:10px;
    text-transform:uppercase
}

.obras-table-header>div{
     text-align:left!important
    }

.obras-table-header>div:nth-child(4){
    text-align:right!important
}

.obra-row {
    position: relative;
    min-height: 74px;
    border-top: 1px solid #e6edf6;
    background: #fbfdff;
    transition: background .2s;
}

.obra-row:hover{
    background:#f0f6ff
}

.obra-row.obra-auto-atrasado{
    background:#fff8f9;
    border-left:3px solid #ff344c;
    padding-left:11px
}

.obra-col-obra{
    min-width:0
}

.obra-link{
    display:block;
    text-decoration:none;
    color:#102447
}

.obra-titulo-texto{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    font-weight:700;
    line-height:1.4
}

.obra-meta{
    display:flex;
    gap:7px;
    overflow:hidden;
    white-space:nowrap;
    margin-top:4px;
    color:#45668e;
    font-size:10px
}

.obra-meta span{
    overflow:hidden;
    text-overflow:ellipsis
}

.auto-alert{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:5px;
    padding:3px 5px;
    border-radius:4px;
    background:#ffe5e9;
    color:#ff0101;
    font-size:9px;
}

.auto-atrasada{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:5px;
    padding:3px 5px;
    border-radius:4px;
    background:#ffe5e9;
    color:#ff6200;
    font-size:9px;
}

.status{
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:4px;
    padding:6px;
    font-size:9px;
    white-space:nowrap;
    background:#e7edf5;
    color:#315784
}

.status i{
    font-size:8px
}

.status.em-execucao{
    background:#dceaff;
    color:#065bff
}

.status.concluida{
    background:#dbf7e9;
    color:#00885b
}

.status.suspensa{
    background:#ffeddf;
    color:#f54d27
}

.prazo-principal{
    font-size:11px;
    font-weight:700;
    color:#172d50
}

.prazo-secundario{
    margin-top:5px;
    font-size:10px;
    color:#5d7ca4
}

.prazo-atrasado .prazo-principal {
    color:#ff3645
}

.prazo-suspenso, .prazo-concluido{
    font-size:10px;
    color:#7b91ad
}

.obra-col-money{
    text-align:right
}

.money-value{
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    color:#0f2346
}

.obra-col-financeiro,.obra-col-objetivo{
    min-width:0
}

.financeiro-top,.objetivo-top{
    display:flex;
    align-items:baseline;
    gap:4px;
    white-space:nowrap;
    font-size:10px;
    color:#365b88
}

.financeiro-top{
    justify-content:space-between
}

.financeiro-top strong,.objetivo-top strong{
    font-size:11px;
    color:#132a4f
}

.financeiro-top>span{
    font-size:9px;
    color:#637b9b
}

.financeiro-progress,.objetivo-progress{
    height:6px;
    border-radius:6px;
    background:#e6edf6;
    overflow:hidden;
    margin-top:6px;
    width:100%
}
.financeiro-progress-bar,.objetivo-progress-bar{
    height:100%;
    border-radius:6px;
    background:linear-gradient(90deg,#00b77a,#18baa0);
    max-width:100%
}

.financeiro-progress-bar.faturacao-baixa{
    background:#ff5d43
}

.financeiro-progress-bar.faturacao-media{
    background:#ffad28
}

.financeiro-bottom,.objetivo-bottom{
    display:flex;
    align-items:center;
    gap:4px;
    margin-top:5px;
    min-height:15px;
    font-size:9px;
    color:#41618a
}

.financeiro-bottom strong{
    color:#009464
}

.financeiro-bottom.faturacao-baixa strong{
    color:#f34d36
}

.financeiro-bottom.faturacao-media strong{
    color:#e29213
}

.objetivo-bottom{
    justify-content:space-between
}

.objetivo-atingido{
    display:inline-flex;
    gap:3px;
    align-items:center;
    padding:2px 3px;
    border-radius:3px;
    background:#e0f8e9;
    color:#008a50;
    font-size:8px;
    white-space:nowrap
}

.objetivo-percentagem{
    color:#008a50;
    font-size:9px;
    font-weight:700
}

.sem-objetivo{
    font-size:11px;
    font-weight:600;
    color:#1e3555
}

.sem-objetivo i{
    display:none
}

.obra-action-btn{
    width:26px;
    height:32px;
    border:0;
    border-radius:4px;
    background:transparent;
    color:#245384;
    cursor:pointer
}

.obra-action-btn:hover{
    background:#deebfa
}

.obras-list-footer{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:14px;
    font-size:11px;
    color:#5d7594
}

.obras-pagination{
    display:flex;
    gap:4px;
    margin-left:auto
}

.obras-pagination button,#obrasPageSize{
    height:30px;
    border:1px solid #dce6f2;
    border-radius:5px;
    background:white;
    color:#355677;
    padding:0 9px
}

.obras-pagination button{
    cursor:pointer
}

.obras-pagination button.active{
    background:#e6f0ff;
    color:#06f;
    border-color:#8dbaff
}

.empty-state{
    text-align:center;
    padding:35px;
    color:#5d7594
}

.empty-state[hidden]{
    display:none
}

@media(max-width:700px) {
    .obras-list-footer {
        flex-wrap: wrap;
    }

    .obras-pagination {
        order: 3;
        width: 100%;
        margin: 0;
        justify-content: center;
    }

    #obrasPageSize {
        margin-left: auto;
    }
}