/* Navegação real da Área Reservada.
   O HTML é gerado dinamicamente por menu_reservado no BO/DB:
   #tabs-edit > .row.tabs > .PC > .tab > .button3.titulo-edit */

.vemp-page-162 #tabs-edit > .row.tabs{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    margin:0 0 28px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

/* Saudação. */
.vemp-page-162 #tabs-edit > .row.tabs > .tab:first-child{
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

/* Wrapper dos links gerados pelo menu_reservado. */
.vemp-page-162 #tabs-edit > .row.tabs > .PC{
    width:auto!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0 auto!important;
    padding:5px!important;
    background:#f3f6fa!important;
    border:1px solid #e1e7f0!important;
    border-radius:999px!important;
    box-shadow:none!important;
}

.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab:hover,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab.active{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
}

.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab:before,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab:after{
    display:none!important;
    content:none!important;
    box-shadow:none!important;
}

.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab > .button3.titulo-edit,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab.active > .button3.titulo-edit,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab > .button3.titulo-edit:hover{
    box-sizing:border-box!important;
    min-width:138px!important;
    min-height:42px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0 18px!important;
    color:#4d5c74!important;
    background:transparent!important;
    border:0!important;
    border-radius:999px!important;
    box-shadow:none!important;
    filter:none!important;
    text-shadow:none!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
    transition:color .16s ease,background .16s ease!important;
}

.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab > .button3.titulo-edit:hover{
    color:#1768e8!important;
    background:#fff!important;
}

/* Estado atual, determinado pela própria query string já utilizada no sistema. */
.vemp-page-162.vemp-account-section-conta #tabs-edit > .row.tabs > .PC > .tab:first-child.active > .button3.titulo-edit,
.vemp-page-162.vemp-account-section-preferencias #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_preferencias"] > .button3.titulo-edit,
.vemp-page-162.vemp-account-section-candidaturas #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_candidaturas"] > .button3.titulo-edit,
.vemp-page-162.vemp-account-section-reunioes #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_reunioes"].active > .button3.titulo-edit,
.vemp-page-162.vemp-account-section-favoritos #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_favs"] > .button3.titulo-edit{
    color:#fff!important;
    background:#1768e8!important;
    box-shadow:none!important;
    filter:none!important;
}

/*
 * Sticky footer da Área Reservada.
 * Não usa position:fixed: em páginas curtas o footer encosta ao fundo do viewport;
 * em páginas longas continua depois do conteúdo, sem o sobrepor.
 */
body.vemp-page-162.ve-global-footer-enabled{
    min-height:100vh!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
}
body.vemp-page-162.ve-global-footer-enabled > main,
body.vemp-page-162.ve-global-footer-enabled > main.main{
    width:100%!important;
    flex:1 0 auto!important;
}
body.vemp-page-162.ve-global-footer-enabled > .ve-global-footer{
    flex:0 0 auto!important;
    margin-top:auto!important;
    margin-right:0!important;
    margin-bottom:0!important;
    margin-left:0!important;
}

@media(max-width:620px){
    .vemp-page-162 #tabs-edit > .row.tabs{
        align-items:stretch!important;
        margin-bottom:22px!important;
    }
    .vemp-page-162 #tabs-edit > .row.tabs > .PC{
        width:100%!important;
        justify-content:flex-start!important;
        flex-wrap:nowrap!important;
        overflow-x:auto!important;
        border-radius:16px!important;
        scrollbar-width:none!important;
    }
    .vemp-page-162 #tabs-edit > .row.tabs > .PC::-webkit-scrollbar{display:none!important}
    .vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab{
        flex:0 0 auto!important;
    }
    .vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab > .button3.titulo-edit{
        min-width:132px!important;
        min-height:40px!important;
        padding:0 14px!important;
        white-space:nowrap!important;
    }
}

/*
 * Favoritos — correção de stacking do modal Bootstrap.
 * O modal é renderizado pelo PHP dentro de #tabs-edit; estas regras impedem
 * o clipping e neutralizam os estilos globais aplicados ao <header> interno.
 */
body.vemp-page-162.vemp-account-section-favoritos #tabs-edit{
    overflow:visible!important;
}

body.vemp-page-162.vemp-account-section-favoritos .ve-favs-heading{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:auto!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
}

body.vemp-page-162.vemp-account-section-favoritos .ve-favs-modal{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    max-height:none!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    z-index:20050!important;
    transform:none!important;
}

body.vemp-page-162.vemp-account-section-favoritos .ve-favs-modal .modal-dialog{
    position:relative!important;
    z-index:1!important;
}

body.vemp-page-162.vemp-account-section-favoritos .ve-favs-modal .modal-content{
    position:relative!important;
    z-index:1!important;
}

body.vemp-page-162.vemp-account-section-favoritos > .modal-backdrop,
body.vemp-page-162.vemp-account-section-favoritos .modal-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    z-index:20040!important;
}

body.vemp-page-162.vemp-account-section-favoritos.modal-open{
    overflow:hidden!important;
}

/* Registo — links dos consentimentos integrados diretamente na frase. */
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"!important;
    color:#172033!important;
    font-size:13px!important;
    font-weight:700!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos1"] > span:not(.mandatory):after{
    content:"Li e aceito a"!important;
    color:#172033!important;
    font-size:13px!important;
    font-weight:700!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] > .mandatory,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] > .mandatory{
    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:0!important;
    margin:0 0 0 4px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
}
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 > a.fancy_content,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content{
    display:inline!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    color:#1768e8!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:0!important;
    line-height:1.4!important;
    font-weight:800!important;
    text-decoration:none!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > a.fancy_content:after{
    content:"Termos e Condições"!important;
    color:#1768e8!important;
    font-size:13px!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content:after{
    content:"Política de Privacidade"!important;
    color:#1768e8!important;
    font-size:13px!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span:after,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span:after{
    content:" *"!important;
    color:#e5484d!important;
    font-size:13px!important;
    font-weight:800!important;
}
body.vemp-page-162.vemp-account-register label[for="m_termos"] + span > a.fancy_content:hover:after,
body.vemp-page-162.vemp-account-register label[for="m_termos1"] + span > a.fancy_content:hover:after{
    color:#0f52bd!important;
    text-decoration:underline!important;
}

@media(max-width:620px){
    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:4px!important;
        margin-top:0!important;
    }
}

/* Badges de reuniões por aceitar — tab e botão Minha conta */
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_reunioes"] > .button3.titulo-edit,
.vemp-modern-header .ve-account-notifications{
    position:relative!important;
    overflow:visible!important;
}
.vemp-page-162 #tabs-edit .ve-meetings-count,
.vemp-modern-header .ve-account-notifications-count{
    position:absolute!important;
    top:-7px!important;
    right:-7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:22px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 4px!important;
    border:2px solid #fff!important;
    border-radius:50%!important;
    background:#e02436!important;
    color:#fff!important;
    font:900 11px/1 Arial,sans-serif!important;
    letter-spacing:0!important;
    box-shadow:0 0 0 0 rgba(224,36,54,.55)!important;
    animation:ve-meetings-pulse 1.7s ease-out infinite!important;
    z-index:12!important;
    pointer-events:none!important;
}
@keyframes ve-meetings-pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(224,36,54,.55)}
    55%{box-shadow:0 0 0 7px rgba(224,36,54,0)}
}
@media(prefers-reduced-motion:reduce){
    .vemp-page-162 #tabs-edit .ve-meetings-count,
    .vemp-modern-header .ve-account-notifications-count{animation:none!important}
}

/* O wrapper em forma de cápsula recortava a notificação na extremidade. */
.vemp-page-162 #tabs-edit > .row.tabs > .PC,
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_reunioes"],
.vemp-page-162 #tabs-edit > .row.tabs > .PC > .tab[onclick*="show_reunioes"] > .button3.titulo-edit{
    overflow:visible!important;
}
.vemp-page-162 #tabs-edit .ve-meetings-count{
    top:-5px!important;
    right:-5px!important;
    box-sizing:border-box!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    border-radius:50%!important;
}
