label:has(input[name="type"][value="PF"]){display:none!important}
.v160-password-panel{grid-column:1/-1;border:1px solid #d9e6ee;background:linear-gradient(135deg,#f8fcff,#f3fbf8);border-radius:16px;padding:16px;margin-top:4px}
.v160-password-panel .v160-password-title{font-weight:900;color:#0b2f4d;margin-bottom:5px}
.v160-password-panel .v160-password-note{font-size:12px;line-height:1.5;color:#62778a;margin:0 0 13px}
.v160-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.v160-password-hint{font-size:11px;color:#72869a;margin-top:8px}
.v160-editable-hint{font-size:10px;color:#5d758a;margin-top:5px}
.v160-portal-password{margin:22px auto;max-width:760px;padding:22px;border:1px solid #dce8ef;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(10,45,75,.06)}
.v160-portal-password h3{margin:0 0 6px;color:#0b2f4d}
.v160-portal-password p{margin:0 0 14px;color:#6c7e90;font-size:13px}
.v160-portal-password .v160-password-grid{margin-bottom:13px}
.v160-portal-result{font-size:12px;margin-top:10px}
.v160-portal-result.ok{color:#087a55}.v160-portal-result.bad{color:#c43b32}
.v160-login-help{margin-top:14px;font-size:12px;line-height:1.45;color:#6c7e90}
@media(max-width:720px){.v160-password-grid{grid-template-columns:1fr}.v160-password-panel{padding:14px}.v160-portal-password{margin:15px 12px}}

/* VTTECH-HF3-RESPONSIVE-BEGIN */
/* Remove overflow acidental sem impedir rolagem quando o conteúdo realmente precisar. */
html{max-width:100%;overflow-x:clip}
body.page-login,body.page-portal{max-width:100%;overflow-x:hidden}
body.page-login,body.page-portal{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
body.page-login::-webkit-scrollbar,
body.page-portal::-webkit-scrollbar{width:0;height:0;display:none}

/* LOGIN: ocupa somente a área abaixo do cabeçalho.
   Corrige o padrão "header + 100vh", responsável pela barra vertical extra. */
body.page-login{
  min-height:100dvh;
  height:100dvh;
  overflow:hidden;
}
body.page-login .x-auth{
  width:100%;
  max-width:100%;
  min-height:calc(100dvh - 65px)!important;
  height:calc(100dvh - 65px)!important;
  overflow:hidden!important;
}
body.page-login .x-auth-panel,
body.page-login .x-auth-side{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}
body.page-login .x-auth-card{
  max-width:100%;
  max-height:100%;
  box-sizing:border-box;
}
body.page-login .x-auth-side>img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  display:block;
}

/* PORTAL: elimina overflow horizontal causado por cards/inputs maiores que o viewport. */
body.page-portal{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.page-portal main,
body.page-portal section,
body.page-portal article,
body.page-portal form{
  max-width:100%;
  box-sizing:border-box;
}
body.page-portal input,
body.page-portal select,
body.page-portal textarea,
body.page-portal button{
  max-width:100%;
  box-sizing:border-box;
}
body.page-portal .v160-portal-password{
  width:min(760px,calc(100% - 24px));
  max-width:calc(100% - 24px);
  box-sizing:border-box;
}

/* Telas menores: layout vira uma coluna e a imagem lateral deixa de consumir espaço. */
@media (max-width:900px){
  body.page-login{
    height:auto;
    min-height:100dvh;
    overflow-y:auto;
  }
  body.page-login .x-auth{
    height:auto!important;
    min-height:calc(100dvh - 65px)!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
  }
  body.page-login .x-auth-panel{
    width:100%;
    min-height:calc(100dvh - 65px);
    height:auto;
  }
  body.page-login .x-auth-side{display:none!important}
  body.page-login .x-auth-card{
    width:min(100%,560px);
    margin-inline:auto;
  }
}

/* Viewports baixos: reduz respiros para caber sem criar barra desnecessária. */
@media (min-width:901px) and (max-height:700px){
  body.page-login .x-auth-panel{padding-top:22px!important;padding-bottom:18px!important}
  body.page-login .x-auth-card{padding-top:0!important;padding-bottom:0!important}
  body.page-login .x-auth-step h1{margin-top:12px!important;margin-bottom:8px!important}
  body.page-login .x-auth-step .x-sub{margin-top:0!important;margin-bottom:16px!important}
  body.page-login .x-field{margin-bottom:10px!important}
  body.page-login .v160-login-help{margin-top:10px!important;line-height:1.35}
}
/* VTTECH-HF3-RESPONSIVE-END */

/* VTTECH-HF3B-STICKY-MENU-BEGIN */
/* Mantém a navegação pública visível durante a rolagem da landing page. */
.site-header.v14-site-header{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
}

/* Ao clicar em Soluções/Benefícios/Como funciona/FAQ,
   o início da seção fica abaixo do menu sticky. */
#solucoes,
#beneficios,
#como-funciona,
#faq{
  scroll-margin-top:92px;
}

/* Overflow fica restrito às telas em que o HF3 precisava dele.
   Na landing pública não criamos um novo scroll container. */
body:not(.page-login):not(.page-portal){
  overflow-x:visible;
}
/* VTTECH-HF3B-STICKY-MENU-END */
