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

.painel{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:18px;

margin-bottom:30px;

}

.painel-card{

background:white;

border:1px solid #ececec;

border-radius:16px;

padding:22px;

box-shadow:0 8px 20px rgba(0,0,0,.04);

transition:.25s;

}

.painel-card:hover{

transform:translateY(-4px);

}

.painel-card span{

display:block;

font-size:12px;

text-transform:uppercase;

color:#6b7280;

margin-bottom:8px;

}

.painel-card strong{

font-size:24px;

color:#111827;

}
















/*==============================
HEADER
==============================*/

.app-header{

background:#ffffff;

border:1px solid #ececec;

border-radius:18px;

padding:28px;

margin-bottom:30px;

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:25px;

box-shadow:0 15px 35px rgba(0,0,0,.05);

}

.header-left{

display:flex;

align-items:center;

gap:18px;

}

.logo-vpm{

width:64px;

height:64px;

background:#111827;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

color:white;

font-size:20px;

font-weight:700;

letter-spacing:1px;

}

.header-left h1{

font-size:28px;

margin:0;

color:#111827;

}

.header-left p{

margin-top:4px;

color:#6b7280;

font-size:14px;

}

.header-right{

display:flex;

flex-direction:column;

align-items:flex-end;

gap:10px;

}

.status-badge{

background:#ecfdf5;

color:#047857;

padding:8px 16px;

border-radius:999px;

font-size:13px;

font-weight:600;

}

#dataAtual{

font-size:13px;

color:#6b7280;

}

@media(max-width:700px){

.app-header{

padding:22px;

}

.header-right{

align-items:flex-start;

}

}







/* RESET */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;
    background:#f4f4f4;
    color:#111;
    padding:40px;

}

.container{

    max-width:1100px;
    margin:auto;

}

header{

    text-align:center;
    margin-bottom:40px;

}

header h1{

    font-size:40px;
    margin-bottom:10px;

}

.subtitulo{

    color:#666;

}

.bloco{

    background:white;

    border-radius:18px;

    padding:30px;

    margin-bottom:25px;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

    transition:.25s;

}

.bloco:hover{

    transform:translateY(-2px);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.bloco h2{

    margin-bottom:25px;
    font-size:28px;

}

.grid2{

    display:grid;

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

    gap:20px;

}

label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

.checklist label,
.radio-group label,
.servico label{

    display:flex;

    align-items:center;

    gap:10px;

}

input,
select,
textarea{

    width:100%;

    padding:14px;

    border:1px solid #ddd;

    border-radius:10px;

    font-size:16px;

    font-family:inherit;

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:#111;

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

}

textarea{

    resize:vertical;

}

.checklist{

    display:grid;

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

    gap:15px;

}

.checklist label{

    display:flex;

    gap:10px;

    align-items:center;

    font-weight:400;

}

.radio-group{

    display:flex;

    gap:30px;

    margin-bottom:25px;

}

.radio-group label{

    display:flex;

    gap:8px;

    align-items:center;

    cursor:pointer;

}

.resultado strong{

    display:block;

    margin-top:5px;

    font-size:30px;

    font-weight:700;

}


.resultado{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

.resultado div{

    background:#fafafa;

    border:1px solid #e5e5e5;

    border-radius:14px;

    padding:25px;

}

.resultado span{

    display:block;

    color:#777;

    font-size:14px;

    margin-bottom:8px;

}



.acoes{

    display:flex;

    gap:15px;

    justify-content:center;

    margin-top:35px;

}

button{

    padding:15px 30px;

    border:none;

    border-radius:12px;

    background:#111;

    color:white;

    cursor:pointer;

    font-size:16px;

    font-weight:600;

    transition:.3s;

}

button:hover{

    background:#333;

    transform:translateY(-2px);

}

hr{

    margin-top:20px;

    border:none;

    height:1px;

    background:#ddd;

}

@media(max-width:900px){

body{

padding:20px;

}

.grid2{

grid-template-columns:1fr;

}

.checklist{

grid-template-columns:1fr;

}

.acoes{

flex-direction:column;

}

button{

width:100%;

}

}

.servicos-grid{

display:grid;

gap:18px;

margin-top:25px;

}

.servico{

display:grid;

grid-template-columns:1fr 120px;

gap:20px;

align-items:center;

padding:18px;

border:1px solid #e8e8e8;

border-radius:12px;

}

.servico input[type="number"]{

width:110px;

text-align:center;

padding:10px;

font-size:16px;

}

h3{

margin-top:20px;

margin-bottom:20px;

font-size:22px;

font-weight:600;

}