/* =====================================================
   ESCOLA ANTÔNIO JOAQUIM LUSTOSA
   CADASTRO DE SERVIDOR
===================================================== */


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

body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px 0;
    background:
        linear-gradient(
            135deg,
            #edf3f8 0%,
            #f8fafc 100%
        );
}


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

.container{
    width:100%;
    max-width:720px;
    padding:24px;
}


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

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

header::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    background:
        linear-gradient(
            90deg,
            #263746,
            var(--azul-principal)
        );
}

.logo{
    margin-bottom:18px;
}

.logo-escola-principal{
    width:95px;
    height:95px;
    object-fit:contain;
    background:#ffffff;
    border:1px solid #e3e8ee;
    border-radius:12px;
    padding:8px;
    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:#ffffff;
    border:1px solid var(--borda);
    border-top:none;
    border-radius:0 0 18px 18px;
    padding:36px;
    box-shadow:var(--sombra);
}

.formulario h2{
    text-align:center;
    color:#1f2937;
    margin-bottom:30px;
    font-size:24px;
}


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

#mensagem{
    margin-bottom:22px;
}

#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:#166534;
    border:1px solid #bfe4cb;
    border-left:4px solid #198754;
}

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

#mensagem span{
    flex:1;
}

@keyframes aparecerMensagem{

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

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

}


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

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


/* ================= CAMPOS ================= */

input{
    width:100%;
    min-height:50px;
    padding:0 16px;
    border:1px solid #d7dee6;
    border-radius:10px;
    background:#ffffff;
    color:#1f2937;
    font-size:15px;
    transition:
        border-color var(--transicao),
        box-shadow var(--transicao);
}

input::placeholder{
    color:#9ca3af;
}

input:focus{
    border-color:var(--azul-principal);
    box-shadow:
        0 0 0 4px rgba(15,76,129,.10);
}


/* ================= BOTÃO CADASTRAR ================= */

button{
    width:100%;
    min-height:50px;
    margin-top:28px;
    border:none;
    border-radius:10px;
    background:#263746;
    color:#ffffff;
    font-size:15px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    transition:
        background var(--transicao),
        transform var(--transicao),
        box-shadow var(--transicao);
}

button:hover{
    background:#17232d;
    transform:translateY(-2px);
    box-shadow:
        0 10px 22px rgba(38,55,70,.18);
}

button:disabled{
    background:#9ca3af;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}


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

.botao{
    width:100%;
    min-height:48px;
    margin-top:20px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:600;
    transition:
        background var(--transicao),
        color var(--transicao),
        border-color var(--transicao);
}

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

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


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

@media(max-width:600px){

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

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

    header{
        padding:26px 20px;
    }

    .formulario{
        padding:26px 20px;
    }

    header h1{
        font-size:26px;
    }

    .formulario h2{
        font-size:21px;
    }

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

}