*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


body{

    font-family:'Poppins',sans-serif;

    background:#f4f7fb;

    color:#333;

}



/* =========================
      LOGIN / PERFIL
========================= */


.login-page{

    min-height:calc(100vh - 90px);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px 20px;

}



/* =========================
        CARDS
========================= */


.login-card{

    width:100%;

    max-width:430px;

    background:#fff;

    border-radius:14px;

    padding:40px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.12);

}



.perfil-card{

    width:100%;

    max-width:520px;

    background:#fff;

    border-radius:22px;

    padding:40px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.10);

}



/* =========================
      CABEÇALHO PERFIL
========================= */


.perfil-header{

    text-align:center;

    margin-bottom:35px;

}



.avatar{

    width:110px;

    height:110px;

    border-radius:50%;

    background:#ff6b00;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:48px;

    color:#fff;

    margin:0 auto 20px;

    box-shadow:
    0 10px 30px rgba(255,107,0,.30);

}



/* =========================
        TITULOS
========================= */


.login-card h1,
.perfil-card h1{

    text-align:center;

    margin-bottom:10px;

    color:#1f2937;

}



.login-card p,
.perfil-card p{

    text-align:center;

    color:#777;

    margin-bottom:30px;

    font-size:15px;

}



/* =========================
        CAMPOS
========================= */


.campo{

    margin-bottom:20px;

}



.campo label{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:8px;

    font-weight:600;

    color:#374151;

}



.campo input{

    width:100%;

    padding:14px 16px;

    border:1px solid #dcdcdc;

    border-radius:12px;

    outline:none;

    font-family:'Poppins',sans-serif;

    font-size:15px;

    transition:.2s;

}



.campo input:focus{

    border-color:#ff6b00;

    box-shadow:
    0 0 0 3px rgba(255,107,0,.15);

}



.campo input:disabled{

    background:#f3f4f6;

    cursor:not-allowed;

}



/* =========================
        BOTÕES
========================= */


.btn-login{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 20px;

    border:none;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    font-family:'Poppins',sans-serif;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    text-decoration:none;

    transition:.25s;

}



.btn-login:hover{

    transform:translateY(-2px);

    box-shadow:
    0 8px 20px rgba(0,0,0,.15);

}



/* =========================
       CORES BOTÕES
========================= */


.btn-salvar{

    background:#16a34a !important;

}


.btn-salvar:hover{

    background:#15803d !important;

}



.btn-favoritos{

    background:#ff6b00 !important;

}



.btn-admin{

    background:#2563eb !important;

}



.btn-sair{

    background:#dc2626 !important;

}



.btn-sair:hover{

    background:#b91c1c !important;

}



/* =========================
      AÇÕES PERFIL
========================= */


.acoes-perfil{

    display:flex;

    flex-direction:column;

    gap:15px;

}



/* =========================
      ESTATÍSTICAS
========================= */


.estatisticas{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:12px;

    margin:25px 0;

}



.estat-card{

    background:#f8f9fc;

    padding:14px;

    border-radius:14px;

    text-align:center;

}



.estat-card div{

    font-size:24px;

}



.estat-card h2{

    margin:6px 0;

    font-size:28px;

    color:#ff6b00;

}



.estat-card small{

    color:#6b7280;

}



/* =========================
        LINKS
========================= */


.links{

    margin-top:25px;

    text-align:center;

}



.links a{

    color:#2563eb;

    text-decoration:none;

    font-weight:600;

}



.links a:hover{

    text-decoration:underline;

}



/* =========================
       MENSAGENS
========================= */


.mensagem{

    margin-top:20px;

    text-align:center;

    font-size:14px;

    font-weight:600;

}



.mensagem.erro{

    color:#dc2626;

}



.mensagem.sucesso{

    color:#16a34a;

}



/* =========================
       LOGIN MOBILE
========================= */


@media(max-width:600px){


    .login-card,
    .perfil-card{

        padding:25px;

        border-radius:16px;

    }



    .estatisticas{

        grid-template-columns:1fr;

    }



    .avatar{

        width:90px;

        height:90px;

        font-size:38px;

    }


}