/* ==========================================================
   RESET
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f4f6f9;

    color:#333;

}


/* ==========================================================
   CONTAINER
========================================================== */

.container{

    width:95%;

    max-width:1200px;

    margin:35px auto;

}


/* ==========================================================
   CABEÇALHO
========================================================== */

header{

    background:#0d6efd;

    color:#fff;

    padding:25px;

    border-radius:10px;

    margin-bottom:25px;

    box-shadow:0 4px 10px rgba(0,0,0,.10);

}

header h1{

    font-size:30px;

    margin-bottom:8px;

}

header p{

    font-size:15px;

    opacity:.95;

}


/* ==========================================================
   CARDS
========================================================== */

.card{

    background:#fff;

    border-radius:10px;

    padding:25px;

    margin-bottom:25px;

    box-shadow:0 2px 8px rgba(0,0,0,.08);

}

.card h2{

    color:#0d6efd;

    margin-bottom:20px;

    font-size:22px;

    border-bottom:1px solid #ddd;

    padding-bottom:10px;

}

.card h2 i{

    margin-right:8px;

}


/* ==========================================================
   DADOS DO ALUNO
========================================================== */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

}

.campo{

    display:flex;

    flex-direction:column;

}

.campo label{

    font-weight:bold;

    color:#666;

    margin-bottom:6px;

}

.campo span{

    background:#f8f9fa;

    border:1px solid #dee2e6;

    border-radius:6px;

    padding:12px;

    font-size:15px;

}


/* ==========================================================
   ESTATÍSTICAS
========================================================== */

.estatisticas{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.estatistica{

    flex:1;

    min-width:250px;

    background:#f8f9fa;

    border:1px solid #dee2e6;

    border-radius:10px;

    padding:20px;

    display:flex;

    align-items:center;

    transition:.25s;

}

.estatistica:hover{

    transform:translateY(-3px);

    box-shadow:0 6px 12px rgba(0,0,0,.10);

}

.icone{

    width:60px;

    height:60px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:22px;

    margin-right:18px;

}

.total{

    background:#dc3545;

}

.primeira{

    background:#198754;

}

.ultima{

    background:#0d6efd;

}

.conteudo{

    display:flex;

    flex-direction:column;

}

.titulo{

    font-size:14px;

    color:#666;

    margin-bottom:5px;

}

.valor{

    font-size:22px;

    font-weight:bold;

    color:#333;

}


/* ==========================================================
   TABELA
========================================================== */

.tabela{

    overflow-x:auto;

}

table{

    width:100%;

    border-collapse:collapse;

}

thead{

    background:#0d6efd;

    color:#fff;

}

thead th{

    padding:14px;

    text-align:left;

}

tbody td{

    padding:14px;

    border-bottom:1px solid #e5e5e5;

}

tbody tr:nth-child(even){

    background:#fafafa;

}

tbody tr:hover{

    background:#eef5ff;

}


/* ==========================================================
   SEM REGISTROS
========================================================== */

.sem-registro{

    text-align:center;

    padding:25px;

    color:#888;

    font-style:italic;

}


/* ==========================================================
   BOTÕES
========================================================== */

.acoes{

    display:flex;

    justify-content:center;

    margin-top:30px;

}

.btn{

    display:inline-block;

    padding:12px 25px;

    border-radius:6px;

    text-decoration:none;

    color:#fff;

    font-weight:bold;

    transition:.3s;

}

.btn i{

    margin-right:8px;

}

.voltar{

    background:#6c757d;

}

.voltar:hover{

    background:#5a6268;

}


/* ==========================================================
   ANIMAÇÃO
========================================================== */

.card{

    animation:fadeIn .35s ease;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:900px){

    .estatisticas{

        flex-direction:column;

    }

}

@media(max-width:768px){

    .grid{

        grid-template-columns:1fr;

    }

    header h1{

        font-size:24px;

    }

    .valor{

        font-size:18px;

    }

    table{

        font-size:14px;

    }

}

@media(max-width:500px){

    .container{

        width:98%;

    }

    .card{

        padding:18px;

    }

    .btn{

        width:100%;

        text-align:center;

    }

}