/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f4f6f9;

    color:#333;

}

/* ==========================================================
   CABEÇALHO
========================================================== */

.cabecalho{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:20px;

    margin-bottom:30px;

}

.cabecalho h1{

    color:#0d6efd;

    font-size:34px;

    margin-bottom:8px;

}

.cabecalho p{

    color:#666;

}


/* ==========================================================
   BOTÃO LISTAR OCORRÊNCIAS
========================================================== */

.btn-listar{

    background:#198754;

    color:#fff;

    text-decoration:none;

    padding:14px 22px;

    border-radius:8px;

    font-weight:bold;

    display:flex;

    align-items:center;

    gap:10px;

    transition:.30s;

    box-shadow:0 4px 10px rgba(0,0,0,.12);

}

.btn-listar:hover{

    background:#157347;

    transform:translateY(-2px);

    box-shadow:0 8px 15px rgba(0,0,0,.15);

}

.btn-listar i{

    color:#fff;

}


/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:768px){

    .cabecalho{

        flex-direction:column;

        align-items:flex-start;

    }

    .btn-listar{

        width:100%;

        justify-content:center;

    }

}



/* ==========================================================
   FORMULÁRIO
========================================================== */

.formulario{

    width:95%;
    max-width:1100px;

    margin:35px auto;

    background:#fff;

    padding:35px;

    border-radius:12px;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

}


/* ==========================================================
   CABEÇALHO
========================================================== */

.formulario h1{

    color:#0d6efd;

    font-size:30px;

    margin-bottom:8px;

}

.formulario p{

    color:#666;

    margin-bottom:30px;

    font-size:15px;

}


/* ==========================================================
   LINHAS
========================================================== */

.linha{

    display:flex;

    gap:20px;

    margin-bottom:20px;

    flex-wrap:wrap;

}

.campo{

    flex:1;

    display:flex;

    flex-direction:column;

}

.largura100{

    width:100%;

}


/* ==========================================================
   LABELS
========================================================== */

label{

    margin-bottom:8px;

    font-weight:bold;

    color:#444;

}


/* ==========================================================
   INPUTS
========================================================== */

input,
select,
textarea{

    width:100%;

    padding:12px;

    border:1px solid #ced4da;

    border-radius:6px;

    font-size:15px;

    transition:.25s;

    background:#fff;

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:#0d6efd;

    box-shadow:0 0 8px rgba(13,110,253,.20);

}


/* ==========================================================
   TEXTAREA
========================================================== */

textarea{

    resize:vertical;

    min-height:130px;

}


/* ==========================================================
   DIVISÓRIAS
========================================================== */

hr{

    border:none;

    border-top:1px solid #ddd;

    margin:30px 0;

}


/* ==========================================================
   TÍTULOS
========================================================== */

h2{

    color:#0d6efd;

    margin-bottom:20px;

    font-size:22px;

}


/* ==========================================================
   CHECKBOX GRID
========================================================== */

.checkbox-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:12px;

}


/* ==========================================================
   ITEM CHECKBOX
========================================================== */

.checkbox-item{

    display:flex;

    align-items:center;

    gap:10px;

    padding:14px;

    border:1px solid #dee2e6;

    border-radius:8px;

    background:#fafafa;

    cursor:pointer;

    transition:.25s;

}

.checkbox-item:hover{

    background:#eef5ff;

    border-color:#0d6efd;

    transform:translateY(-2px);

}

.checkbox-item input{

    width:18px;

    height:18px;

    cursor:pointer;

    accent-color:#0d6efd;

}


/* ==========================================================
   BOTÃO
========================================================== */

button{

    display:block;

    width:260px;

    margin:35px auto 0;

    padding:14px;

    border:none;

    border-radius:8px;

    background:#0d6efd;

    color:#fff;

    font-size:16px;

    font-weight:bold;

    cursor:pointer;

    transition:.30s;

}

button:hover{

    background:#0b5ed7;

    transform:translateY(-2px);

    box-shadow:0 6px 12px rgba(13,110,253,.25);

}


/* ==========================================================
   PLACEHOLDER
========================================================== */

::placeholder{

    color:#999;

}


/* ==========================================================
   ANIMAÇÃO
========================================================== */

.formulario{

    animation:fadeIn .35s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:900px){

    .linha{

        flex-direction:column;

    }

    .checkbox-grid{

        grid-template-columns:1fr;

    }

    button{

        width:100%;

    }

}

@media(max-width:600px){

    .formulario{

        padding:20px;

    }

    .formulario h1{

        font-size:24px;

    }

    h2{

        font-size:20px;

    }

}