/* Ajustes finais da Área Reservada autenticada.
   Apenas apresentação: não altera funções, BO/DB ou fluxo de autenticação. */

.vemp-page-162,
.vemp-page-162 main,
.vemp-page-162 .main,
.vemp-page-162 .home_page,
.vemp-page-162 .col-center2,
.vemp-page-162 .main_content,
.vemp-page-162 .main_content .content{
    overflow:visible!important;
}

.vemp-page-162 .main_content{
    min-height:calc(100vh - 80px)!important;
    padding:0!important;
}

.vemp-page-162 .main_content > .content,
.vemp-page-162 .main_content .content{
    width:min(calc(100% - clamp(32px,4vw,80px)),1440px)!important;
    max-width:1440px!important;
    margin:34px auto 64px!important;
}

/* Saudação / cabeçalho interno original. */
.vemp-page-162 .titulo-edit{
    margin:0 0 12px!important;
    padding:0!important;
    color:#667085!important;
    background:transparent!important;
    border:0!important;
    font-size:13px!important;
    line-height:1.5!important;
    font-weight:600!important;
    text-align:center!important;
}
.vemp-page-162 .titulo-edit b{
    color:#102957!important;
    font-weight:900!important;
}

/* Cartão principal. */
.vemp-page-162 #tabs-edit{
    max-width:1360px!important;
    margin:0 auto!important;
    padding:36px 38px 42px!important;
    border-radius:24px!important;
    box-shadow:0 18px 52px rgba(16,41,87,.09)!important;
}

.vemp-page-162 #tabs-edit .titulo_d,
.vemp-page-162 #tabs-edit h1.titulo_d{
    margin:10px 0 34px!important;
    padding:0 0 19px!important;
    font-size:clamp(30px,2.4vw,38px)!important;
    letter-spacing:-1.1px!important;
}

/* Navegação interna. */
.vemp-page-162 .main_content ul:has(> li.t > a){
    gap:8px!important;
    margin-bottom:22px!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a{
    min-height:42px!important;
    padding:0 20px!important;
    color:#fff!important;
    background:#1768e8!important;
    border-color:#1768e8!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a:hover{
    color:#fff!important;
    background:#0f52bd!important;
    border-color:#0f52bd!important;
    box-shadow:none!important;
}

/* Mensagem myspace. */
.vemp-page-162 .text_login_vaga{
    margin:0 auto 32px!important;
    padding:16px 22px!important;
    text-align:center!important;
}

/* Secções dos formulários. */
.vemp-page-162 #tabs-edit .subtitle,
.vemp-page-162 #tabs-edit .subtitulo_d,
.vemp-page-162 #tabs-edit h2,
.vemp-page-162 #tabs-edit h3{
    margin-top:26px!important;
    margin-bottom:16px!important;
    color:#102957!important;
    font-size:17px!important;
    line-height:1.3!important;
    font-weight:900!important;
}

.vemp-page-162 #tabs-edit .row{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
}

.vemp-page-162 #tabs-edit .form-group{
    margin-bottom:16px!important;
}

.vemp-page-162 #tabs-edit .form-control,
.vemp-page-162 #tabs-edit input[type="text"],
.vemp-page-162 #tabs-edit input[type="email"],
.vemp-page-162 #tabs-edit input[type="password"],
.vemp-page-162 #tabs-edit input[type="tel"],
.vemp-page-162 #tabs-edit input[type="number"],
.vemp-page-162 #tabs-edit select,
.vemp-page-162 #tabs-edit textarea{
    min-height:52px!important;
    background:#f8fafc!important;
    border-color:#dfe5ee!important;
}

/* Remove amarelo do autofill/password imposto pelo browser/tema antigo. */
.vemp-page-162 #tabs-edit input:-webkit-autofill,
.vemp-page-162 #tabs-edit input:-webkit-autofill:hover,
.vemp-page-162 #tabs-edit input:-webkit-autofill:focus,
.vemp-page-162 #tabs-edit input[type="password"]{
    -webkit-text-fill-color:#172033!important;
    -webkit-box-shadow:0 0 0 1000px #f8fafc inset!important;
    box-shadow:0 0 0 1000px #f8fafc inset!important;
    background:#f8fafc!important;
    transition:background-color 99999s ease-out 0s!important;
}

/* Upload de CV. */
.vemp-page-162 #tabs-edit input[type="file"]{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:52px!important;
    padding:6px!important;
    color:#667085!important;
    background:#f8fafc!important;
    border:1px solid #dfe5ee!important;
    border-radius:13px!important;
    font-size:12px!important;
}
.vemp-page-162 #tabs-edit input[type="file"]::file-selector-button{
    min-height:38px!important;
    margin-right:12px!important;
    padding:0 15px!important;
    color:#1768e8!important;
    background:#edf4ff!important;
    border:1px solid #cfe0fb!important;
    border-radius:9px!important;
    font-weight:850!important;
    cursor:pointer!important;
}

/* CTA guardar alterações. */
.vemp-page-162 #tabs-edit input[type="submit"],
.vemp-page-162 #tabs-edit button[type="submit"],
.vemp-page-162 #tabs-edit .button3{
    min-height:50px!important;
    margin-top:14px!important;
}

/* Evita que o footer global seja recortado por wrappers do tema. */
body.vemp-page-162 .ve-global-footer{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    transform:none!important;
}

/*
 * Navegação da conta — acabamento final.
 * Remove os fundos/sombras dos LI legados e transforma os quatro links
 * numa única barra segmentada, com estado ativo segundo a secção atual.
 */
.vemp-page-162 .main_content ul:has(> li.t > a){
    width:auto!important;
    max-width:760px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(135px,1fr))!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:4px!important;
    margin:0 auto 28px!important;
    padding:5px!important;
    background:#f3f6fa!important;
    border:1px solid #e1e7f0!important;
    border-radius:999px!important;
    box-shadow:none!important;
    list-style:none!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t,
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t:before,
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t:after{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 16px!important;
    color:#52617a!important;
    background:transparent!important;
    border:0!important;
    border-radius:999px!important;
    box-shadow:none!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a:hover{
    color:#1768e8!important;
    background:#fff!important;
    box-shadow:none!important;
    transform:none!important;
}
.vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a b{
    display:none!important;
}

/* Estado ativo. */
.vemp-page-162.vemp-account-section-conta .main_content a[aria-label="link para perfil"],
.vemp-page-162.vemp-account-section-preferencias .main_content a[aria-label="link para vagas preferencias"],
.vemp-page-162.vemp-account-section-candidaturas .main_content a[aria-label="link para vagas candidaturas"],
.vemp-page-162.vemp-account-section-favoritos .main_content a[aria-label="link para vagas favoritos"]{
    color:#fff!important;
    background:#1768e8!important;
    box-shadow:none!important;
}
.vemp-page-162.vemp-account-section-conta .main_content a[aria-label="link para perfil"]:hover,
.vemp-page-162.vemp-account-section-preferencias .main_content a[aria-label="link para vagas preferencias"]:hover,
.vemp-page-162.vemp-account-section-candidaturas .main_content a[aria-label="link para vagas candidaturas"]:hover,
.vemp-page-162.vemp-account-section-favoritos .main_content a[aria-label="link para vagas favoritos"]:hover{
    color:#fff!important;
    background:#0f52bd!important;
    box-shadow:none!important;
}

/* O HTML autenticado atual usa div.tab > .button3.titulo-edit em vez da lista acima.
   Neutraliza a sombra que chega das regras genéricas .button3 do tema antigo. */
.vemp-page-162 #tabs-edit .row.tabs > .tab,
.vemp-page-162 #tabs-edit .row.tabs > .tab:hover,
.vemp-page-162 #tabs-edit .row.tabs > .tab.active,
.vemp-page-162 #tabs-edit .row.tabs > .tab .button3,
.vemp-page-162 #tabs-edit .row.tabs > .tab .button3:hover,
.vemp-page-162 #tabs-edit .row.tabs > .tab.active .button3{
    box-shadow:none!important;
    filter:none!important;
}

/*
 * Registo — consentimentos.
 * O PHP continua a gerar e validar os mesmos campos/URLs. Esta camada é
 * exclusiva de ?registar=1 e elimina a repetição visual do nome do documento.
 */
body.vemp-page-162.vemp-account-register label[for="m_termos"] > span:not(.mandatory),
body.vemp-page-162.vemp-account-register label[for="m_termos1"] > span:not(.mandatory){
    font-size:0!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] > span:not(.mandatory):after{
    content:"Li e aceito os Termos e Condições";
    color:#172033;
    font-size:13px;
    font-weight:700;
}
body.vemp-page-162.vemp-account-register label[for="m_termos1"] > span:not(.mandatory):after{
    content:"Li e aceito a Política de Privacidade";
    color:#172033;
    font-size:13px;
    font-weight:700;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > b,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > b{
    display:none!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:28px!important;
    padding:0!important;
    margin:0 0 0 8px!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > a.fancy_content,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content{
    display:inline-flex!important;
    align-items:center!important;
    min-height:28px!important;
    padding:0 10px!important;
    color:#1768e8!important;
    background:#edf4ff!important;
    border:1px solid #d5e5fc!important;
    border-radius:999px!important;
    font-size:0!important;
    line-height:1!important;
    font-weight:900!important;
    text-decoration:none!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > a.fancy_content:after,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content:after{
    content:"Consultar";
    font-size:11px;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > a.fancy_content:hover,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content:hover{
    color:#fff!important;
    background:#1768e8!important;
    border-color:#1768e8!important;
}

@media(max-width:900px){
    .vemp-page-162 #tabs-edit{
        padding:30px 24px 34px!important;
    }
    .vemp-page-162 .main_content ul:has(> li.t > a){
        max-width:680px!important;
        grid-template-columns:repeat(4,minmax(120px,1fr))!important;
    }
}

@media(max-width:620px){
    .vemp-page-162 .main_content > .content,
    .vemp-page-162 .main_content .content{
        width:calc(100% - 28px)!important;
        margin:20px auto 42px!important;
    }
    .vemp-page-162 #tabs-edit{
        padding:26px 18px 28px!important;
        border-radius:18px!important;
    }
    .vemp-page-162 .titulo-edit{
        text-align:left!important;
    }
    .vemp-page-162 .main_content ul:has(> li.t > a){
        width:100%!important;
        max-width:none!important;
        display:flex!important;
        justify-content:flex-start!important;
        gap:4px!important;
        overflow-x:auto!important;
        margin-bottom:20px!important;
        padding:5px!important;
        border-radius:16px!important;
        scrollbar-width:none!important;
    }
    .vemp-page-162 .main_content ul:has(> li.t > a)::-webkit-scrollbar{display:none!important}
    .vemp-page-162 .main_content ul:has(> li.t > a) > li.t{
        flex:0 0 auto!important;
    }
    .vemp-page-162 .main_content ul:has(> li.t > a) > li.t > a{
        min-width:132px!important;
        min-height:40px!important;
        padding:0 15px!important;
        white-space:nowrap!important;
    }
    body.vemp-page-162.vemp-account-register label[for="m_termos"] + span,
    body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span{
        margin-left:0!important;
        margin-top:6px!important;
    }
}
