/* =====================================================
   ESCOLA ANTÔNIO JOAQUIM LUSTOSA
   LOGIN.CSS
===================================================== */


/* ================= BODY ================= */

body{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;

    background:
        linear-gradient(
            135deg,
            #eef4f9 0%,
            #f7f9fc 100%
        );
}


/* ================= CONTAINER ================= */

.container{
    width:100%;
    max-width:460px;
    padding:25px;
}


/* ================= CABEÇALHO ================= */

header{
    background:#fff;
    border:1px solid var(--borda);
    border-radius:18px 18px 0 0;
    padding:32px;
    text-align:center;
    box-shadow:var(--sombra);
}

.logo{
    margin-bottom:18px;
}

.logo-escola-principal{
    width:95px;
    height:95px;
    object-fit:contain;
    background:#fff;
    padding:8px;
    border-radius:12px;
    border:1px solid #e3e8ee;
    box-shadow:
        0 8px 22px rgba(15,76,129,.10);
}

header h1{
    color:var(--azul-principal);
    font-size:30px;
    margin-bottom:8px;
}

header p{
    color:#6b7280;
    font-size:15px;
}


/* ================= FORMULÁRIO ================= */

.formulario{
    background:#fff;
    border:1px solid var(--borda);
    border-top:none;
    border-radius:0 0 18px 18px;
    padding:35px;
    box-shadow:var(--sombra);
}

.formulario h2{
    text-align:center;
    margin-bottom:28px;
    color:#1f2937;
}


/* ================= MENSAGENS ================= */

#mensagem{
    margin-bottom:18px;
}

#mensagem:empty{
    display:none;
}

#mensagem .erro,
#mensagem .sucesso{
    width:100%;
    padding:14px 16px;
    border-radius:10px;
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    font-weight:500;
    line-height:1.5;
    animation:aparecerMensagem .25s ease;
}

#mensagem .erro{
    background:#fdecec;
    color:#b42318;
    border:1px solid #f5c2c0;
    border-left:4px solid #dc3545;
}

#mensagem .sucesso{
    background:#eaf7ef;
    color:#1f6b3a;
    border:1px solid #bfe4cb;
    border-left:4px solid #198754;
}

#mensagem i{
    margin-top:3px;
    flex-shrink:0;
}

@keyframes aparecerMensagem{
    from{
        opacity:0;
        transform:translateY(-6px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* ================= LABELS ================= */

label{
    display:block;
    margin-bottom:8px;
    margin-top:18px;
    font-weight:600;
    color:#374151;
}


/* ================= INPUTS ================= */

input{
    width:100%;
    height:50px;
    padding:0 16px;
    border:1px solid #d7dde5;
    border-radius:10px;
    background:#fff;
    transition:.25s;
    font-size:15px;
}

input:focus{
    border-color:var(--azul-principal);
    box-shadow:
        0 0 0 4px rgba(21,101,192,.10);
}


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

button{
    width:100%;
    height:50px;
    margin-top:28px;
    border:none;
    border-radius:10px;
    background:var(--azul-principal);
    color:#fff;
    font-size:15px;
    font-weight:600;
    transition:.25s;
}

button:hover{
    background:var(--azul-hover);
    transform:translateY(-2px);
}

button:disabled{
    background:#8b98a5;
    cursor:not-allowed;
    transform:none;
}

button i{
    margin-right:8px;
}


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

.botao{
    width:100%;
    height:48px;
    margin-top:20px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:.25s;
}

.botao.branco{
    background:#fff;
    color:var(--azul-principal);
    border:1px solid #cfd7df;
}

.botao.branco:hover{
    background:#f5f8fb;
    border-color:var(--azul-principal);
}


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

@media(max-width:500px){

    body{
        align-items:flex-start;
        padding:18px 0;
    }

    .container{
        width:94%;
        padding:0;
    }

    header{
        padding:25px 20px;
    }

    .formulario{
        padding:25px 20px;
    }

    header h1{
        font-size:26px;
    }

    #mensagem .erro,
    #mensagem .sucesso{
        font-size:13px;
        padding:13px 14px;
    }
}