.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
}

.login-card{
    width:min(100%, 430px);
    padding:34px;
    border-radius:32px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.86);
    box-shadow:var(--shadow);
}

.login-card img{
    width:86px;
    height:86px;
    object-fit:contain;
    margin-bottom:18px;
}

.login-card h1{
    color:#7b087c;
    font-size:34px;
    font-weight:900;
}

.login-card p{
    margin:8px 0 24px;
    color:var(--muted);
    font-size:14px;
    font-weight:700;
}

.btn-login{
    width:100%;
    min-height:52px;
    border-radius:999px;
    color:white;
    background:linear-gradient(135deg, var(--rosa-1), var(--rosa-3), var(--lilas-2));
    font-size:14px;
    font-weight:900;
    box-shadow:0 16px 34px rgba(217,70,196,.28);
}

.login-erro{
    min-height:18px;
    margin-top:14px !important;
    color:#b91c1c !important;
    font-size:13px !important;
    font-weight:900 !important;
}

.login-card .campo{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:18px;
}

.login-card .campo label{
    color:var(--texto);
    font-size:14px;
    font-weight:900;
}

.login-card .campo input{
    width:100%;
    height:52px;

    padding:0 18px;

    border:none;
    outline:none;

    border-radius:18px;

    background:white;

    color:var(--texto);

    font-size:15px;
    font-weight:700;

    box-shadow:
    0 10px 25px rgba(217,70,196,.08);

    transition:.25s;
}

.login-card .campo input:focus{
    box-shadow:
    0 0 0 4px rgba(217,70,196,.16);
}