/* ==========================================================
   DASHBOARD
========================================================== */

.dashboard{

    display:flex;
    flex-direction:column;
    gap:20px;

}

/* ==========================================================
   CARDS
========================================================== */

.cards{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;

}

.card{

    background:#FFF;
    border-radius:14px;
    padding:18px 22px;
    min-height:95px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    box-shadow:0 4px 12px rgba(0,0,0,.05);

    transition:.2s;

}

.card:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.card span{

    font-size:13px;
    color:#6B7280;
    margin-bottom:6px;
    font-weight:500;

}

.card h2{

    font-size:34px;
    color:#111827;
    font-weight:700;

}


/* ==========================================================
   PAINEL
========================================================== */

.painel-principal{

    background:#FFF;

    border-radius:14px;

    padding:24px 28px;

    display:grid;

    grid-template-columns:1fr auto;

    gap:30px;

    align-items:center;

    box-shadow:0 4px 12px rgba(0,0,0,.05);

}

.painel-info h2{

    font-size:28px;

    margin-bottom:8px;

    color:#111827;

}

.painel-info p{

    color:#6B7280;

    line-height:1.5;

    font-size:15px;

}


/* ==========================================================
   BOTÃO
========================================================== */

#btnNovoOficio{

    width:220px;

    height:56px;

    background:#2563EB;

    color:#FFF;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:17px;

    font-weight:600;

    transition:.2s;

}

#btnNovoOficio:hover{

    background:#1D4ED8;

    transform:translateY(-2px);

}


/* ==========================================================
   HISTÓRICO
========================================================== */

.historico-card{

    background:#FFF;

    border-radius:14px;

    padding:22px;

    box-shadow:0 4px 12px rgba(0,0,0,.05);

}

.historico-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}

.historico-header h3{

    font-size:20px;

    color:#111827;

}

.historico-header span{

    font-size:13px;

    color:#6B7280;

}


/* ==========================================================
   TABELA
========================================================== */

table{

    width:100%;

    border-collapse:collapse;

}

thead{

    background:#F8FAFC;

}

thead th{

    padding:14px;

    text-align:left;

    font-size:13px;

    font-weight:600;

    color:#64748B;

}

tbody td{

    padding:15px 14px;

    border-top:1px solid #ECECEC;

    font-size:14px;

    color:#374151;

}

tbody tr{

    transition:.15s;

}

tbody tr:hover{

    background:#F8FAFC;

}


/* ==========================================================
   STATUS
========================================================== */

.status{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:6px 12px;

    border-radius:20px;

    font-size:12px;

    font-weight:600;

}

.status.ativo{

    background:#DCFCE7;

    color:#166534;

}

.status.cancelado{

    background:#FEE2E2;

    color:#991B1B;

}


/* ==========================================================
   RESPONSIVO
========================================================== */

@media(max-width:1200px){

    .cards{

        grid-template-columns:repeat(2,1fr);

    }

}


@media(max-width:900px){

    .painel-principal{

        grid-template-columns:1fr;

        text-align:center;

    }

    #btnNovoOficio{

        width:100%;

    }

}


@media(max-width:700px){

    .cards{

        grid-template-columns:1fr;

    }

    .card{

        min-height:80px;

    }

    .card h2{

        font-size:28px;

    }

    .painel-info h2{

        font-size:22px;

    }

    table{

        display:block;

        overflow-x:auto;

        white-space:nowrap;

    }

}